ゼファーネットのロゴ

ディープラーニングモデルに対するハイパーパラメータの影響

日付:

 この記事は、の一部として公開されました データサイエンスブログソン

はじめに-ニューラルネットワークのハイパーパラメータ

複数のレイヤーの組み合わせ:入力レイヤー、XNUMXつまたは複数の非表示レイヤー、および出力レイヤー。 これらの各層を微調整できるように、とりわけ活性化関数、バッチサイズ、および学習率を開発するため。

ハイパーパラメータはndバイアスを制御し、その結果、モデルのパフォーマンスに影響を与えます。 ほとんどの場合、これらのハイパーパラメータを微調整することで、機械学習モデルの精度が向上します。 したがって、それは 機械学習 これらのハイパーパラメータをよく理解するための研究者。

この記事では、上記のハイパーパラメータのいくつかを深く掘り下げ、それらを変更するとモデルのパフォーマンスにどのように影響するかを見ていきます。

データセット

私たちは考慮しました ピマインディアン糖尿病データセット ここには、米国アリゾナ州フェニックス近郊の人口からの768人の女性に関する情報が含まれています。 ここでの従属変数は糖尿病です。 268人の女性のうち768人が「ポジティブ」クラスに属し、残りの500人は「ネガティブ」クラスに属しています。 データセットには、妊娠、OGTT(経口ブドウ糖負荷試験)、血圧、皮膚の厚さ、インスリン、BMI(ボディマス指数)、年齢、および血統糖尿病機能の8つの属性があります。

ネットワークの構造

使用したニューラルネットワークの構造は、8ノードの入力層で構成されていました。 これに続いて、12個のノードを持つ最初の隠れ層がありました。 8番目の隠れ層にはXNUMXつのノードがあり、それらはすべて出力層のXNUMXつのノードに接続されていました。 出力層は、二項分類問題を扱っていたため、シグモイド活性化関数を使用して二項出力値を生成するためのものでした。

実験

次の表は、モデルのパフォーマンスに対するハイパーパラメータの影響を調査するために実行したさまざまな実験の設定を示しています。

バッチサイズの影響

勾配降下法は、ニューラルネットワークをトレーニングするために使用されます。 この手法では、トレーニングデータセットのサブセットに基づく誤差(実際の変数と予測変数の差)の推定値を使用して、反復ごとに重みを更新します。 バッチサイズは、エラー勾配を推定するためにトレーニングデータセットから使用される例の数として定義され、学習アルゴリズムのダイナミクスに影響を与える重要なハイパーパラメーターです。 ミニバッチ最急降下法では、バッチサイズは、トレーニングデータセット内の例の総数よりも多く、少ない数に設定されます。

Pythonでは、モデルのトレーニング中にバッチサイズを次のように指定できます。

history = model.fit(X_train、y_train、validation_data =(X_test、y_test)、epochs = NB_EPOCHS、batch_size = BATCH_SIZE、verbose = 0、shuffle = False)

上記のプロットは、ミニバッチ最急降下法を使用した場合の、バッチサイズが異なるトレインおよびテストデータセットを使用したモデルの分類精度を示しています。

バッチサイズの影響|ハイパーパラメータ

プロットはそれを示しています–

  • バッチサイズが5と10と小さいと、一般に迅速な学習(0.72エポック内で100を超えるトレーニングデータセットの精度を達成)が得られますが、分類精度の分散が大きい不安定な学習プロセスになります。
  • バッチサイズを16と32にすると、学習プロセスが遅くなります(0.72エポック内のトレーニングデータセットで精度が低くなります(<100))が、最終段階(80〜100エポック)では、分類の分散が低くなるなど、モデルがより安定します。正確さ。

活性化関数の効果

ニューラルネットワークの活性化関数は、入力の加重和をネットワークのレイヤー内のノードからの出力に変換します。 活性化関数を使用しない場合、ニューラルネットワークは線形回帰モデルになります。これらの関数を使用すると、入力の非線形変換が可能になり、より複雑なタスクを学習して実行できるようになります。 シグモイド、tanh、ReLUなどの一般的に使用される非線形活性化関数がいくつかあります。

活性化関数の効果|ハイパーパラメータ

Pythonでは、Kerasを使用してモデルを構築するときに、次のように各隠れ層の活性化関数を指定できます。

from keras.models import Sequential model = Sequential()model.add(Dense(12、input_dim = 8、activation ='relu'、kernel_initializer ='uniform'))model.add(Dense(8、activation ='relu'、 kernel_initializer ='uniform'))model.add(Dense(1、activation ='sigmoid'、kernel_initializer ='uniform'))
Keras|ハイパーパラメータ

上記のプロットは、隠れ層にさまざまな活性化関数を持つトレインおよびテストデータセットを使用したモデルの分類精度を示しています。

  • 隠れ層にシグモイドおよびタン活性化関数があるため、プロットから、エポックではほとんど学習が行われないことがわかります。 シグモイド関数とtanh活性化関数はどちらも勾配消失問題に悩まされていることが知られており、これが隠れ層で使用しているときにこの動作を観察する理由となる可能性があります。
  • ReLUやリークのあるReLUのような活性化関数は勾配消失問題の影響を受けないため、隠れ層でそれらを使用している間、エポックを通じてアクティブラーニングが発生するのを観察しました。

オプティマイザーの効果

トレーニング中 深層学習モデルでは、損失関数を最小化する目的で、レイヤーの各ノードに関連付けられた重みとバイアスが反復ごとに更新されます。 この重みの調整は、オプティマイザーの名前でも知られている確率的勾配降下法などのアルゴリズムによって可能になります。

オプティマイザーの効果| ハイパーパラメータ

適応学習率オプティマイザーのような他のアルゴリズムは、モデルのパフォーマンスに応じてトレーニング全体で学習率を調整します。 おそらく最も簡単な実装は、学習率をXNUMX倍またはXNUMX桁下げるなどして、モデルのプラトーのパフォーマンスが向上したら、学習率を小さくすることです。 すべての問題に最適な単一の方法はありませんが、多くの種類のニューラルネットワークアーキテクチャと問題の種類に対して堅牢であることが証明されている多くの適応学習率の方法があります。 それらはAdaGrad、RMSProp、Adam、AdaMaxであり、すべてがモデル内の各重みの学習率を維持および適応させます。

Pythonでは、次のようにKerasでモデルを構築するときにオプティマイザーのタイプを指定できます。

kerasからインポートオプティマイザーsgd=オプティマイザー.SGD(lr = 0.001)rmsprop =オプティマイザー.RMSprop(lr = 0.001)adagrad =オプティマイザー.Adagrad(lr = 0.001)adam =オプティマイザー.Adam(lr = 0.001)adamax =optimizers.Adamax( lr = 0.001)#モデルmodel.compile(loss ='binary_crossentropy'、optimizer = rmsprop、metrics = ['accuracy'])をコンパイルします
Keras | ハイパーパラメータ

上記のプロットから、次のことがわかります。

  • 学習率が0.001のSGDは、0.7エポックでもトレーニングデータセットで100の精度を達成しませんが、RMSprop、AdaMax、およびAdamは問題を効果的に学習し、100エポックよりずっと前にトレーニングデータセットでこの精度を達成します。
  • RMSprop、AdaMax、およびAdamは、モデルのパフォーマンスへの応答に基づいてモデル内の各重みの学習率を適応させることができる適応学習率オプティマイザーです。

まとめ

この研究では、糖尿病予測のための深層学習モデルのパフォーマンスに対するさまざまなハイパーパラメーター構成の影響を調査しました。

  • 大きなバッチサイズは学習プロセスを遅くすることが観察されましたが、小さなバッチサイズと比較してより安定したモデルを生成します(分類精度の分散が小さいことで例示されます)。
  • 隠れ層でReLUやリーキーReLUなどの活性化関数を使用すると、シグモイドおよびtanh活性化関数を使用しているときに観察された勾配消失問題の解決に役立ちました。
  • RMSprop、AdaMax、Adamなどの適応学習率オプティマイザーは、同じファイルで確率的勾配降下法を使用する場合と比較して、効果的に学習し、より高い精度をより速く達成することがわかりました。

この記事に示されているメディアは Analytics Vidhya が所有するものではなく、著者の裁量で使用されています。

スポット画像

最新のインテリジェンス

スポット画像

私たちとチャット

やあ! どんな御用でしょうか?