ニューラルネットワークで使われる関数の形と、それが学習に与える影響に関する説明として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 A
この問題の論点:活性化関数の形と勾配の伝わり方
ポイント
学習に使う関数には、勾配を伝えられるなめらかさが必要です。ステップ関数の代わりにシグモイド関数を、最大値だけを選ぶ処理の代わりにソフトマックス関数を使います。
選択肢ごとの解説
- A
適切 正解
ステップ関数は0を境に値が跳ぶため、微分は0以外の点で常に0、0では定義できません。重みを少し変えたときの影響が勾配として伝わらないので、なめらかに変化するシグモイド関数に置き換えられました。
- B
不適切
0を中心とする出力は、次の層への入力の偏りを減らす利点です。しかし入力の絶対値が大きいと出力が−1や1に張り付き、導関数は0に近づきます。この飽和はシグモイド関数と同じで、勾配消失問題は起こりえます。
- C
不適切
出力が常に正なので、次の層への入力の平均は正の側にずれます。同じユニットに入る重みの勾配の符号がそろいやすく、更新が遠回りになる一因とされます。0を中心とするtanh関数が好まれた理由の1つです。
- D
不適切
最大の値だけを1にするのはargmaxの考え方で、微分がほとんどの点で0になり勾配を伝えられません。ソフトマックス関数はこれをなめらかにした関数で、どの出力も0より大きく、合計は1になります。
試験での狙われ方
関数の出力の範囲や形を、勾配の伝わり方や次の層への入力の偏りといった学習への影響と結びつけて問う形が考えられます。
参考
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目12 活性化関数)
- Rumelhart, Hinton, Williams, Learning representations by back-propagating errors (1986)
- LeCun, Bottou, Orr, Müller, Efficient BackProp, Neural Networks: Tricks of the Trade, LNCS 1524 (1998)
- Goodfellow, Bengio, Courville, Deep Learning (2016) (6.2.2.3 Softmax Units for Multinoulli Output Distributions、6.3.2 Logistic Sigmoid and Hyperbolic Tangent)