Help us understand the problem. What is going on with this article?

dying ReLU について学ぶ

More than 3 years have passed since last update.

シンプルなNNを実装し 重みの変化 を可視化した所、無反応になるパーセプトロンを観測しました。dying ReLU と呼ばれている現象の様です。

dying ReLU

・活性化関数ReLUは負の領域では値が0=勾配がない。
・学習時に大きく負側に重みが更新された場合、ReLU関数で活性化する事がなくなる可能性がある。

現象の画像

Weight の Epoch 毎の変化画像

  • 画像上に256個ある四角形それぞれが パーセプトロンの重み を示しています。
  • 映像下段の Cnt はminibatch回数を示してます。 600cnt = 1epoch です。

dW の Epoch 毎の変化画像

  • 映像下段の B は、2epoch期間以上 $dw$の値がフラット(最大値=最小値)のまま変化なしのパーセプトロン の数です。
  • 画像上に白四角でB の位置を示してます。

NNの構成

全結合 隠れ層1層 のシンプルなNNです。
01_NN.PNG

  • 上図の赤枠の Waight と 赤矢印の dw を可視化したものが、先の動画です。
  • ガウス分布に用いる乱数の種値 は 先の映像のKで示しています。

正解率

NNL2_L1P256_AF0_20170523-161328-96.png

  • 先の映像での測定データです。
  • グラフ上側は 学習時とテスト時の正解率の推移です。
  • グラフ下側は 先の画像での B の数の推移です。

Wの初期値 ガウス分布に用いる乱数の種値を変えた場合

Matome_RandKey.png

  • 先の映像の種値は 20170523 です。
  • グラフ上側は テスト時の正解率の推移、グラフ下側は B の推移です。
  • 種値を変えると B の推移は変化します。 発生してない場合もあります。

考察

  • B としてカウントするパーセプトロンは、dwがフラット化し、Wが変化しなくなっており、dying ReLU と解釈しています。
  • ReLUが1段のシンプルなNNでも、データや乱数種値によって発生するのですね...。
  • MiniBatchSize で変化するか、LeakyReLU を用いるとどうなるかも 後日みてみます。→dying ReLU について学ぶ (その2) Leaky ReLU

おまけ: 種値を変えた場合の dw の推移映像

種値 20100705

NNL2_L1P256_AF0_20170523-145854-69.png

種値 20120424

NNL2_L1P256_AF0_20170523-142547-134.png

t-tkd3a
機械学習 について実装できる位の理解を目指します。学ぶ過程の資料・成果を公開していきます。 また Linux での 開発環境・ツール類についても忘備録かねて記載していきます。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした