スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.1207
ニューラルネットワークにおいて、各層の線形変換の後に非線形な活性化関数を適用する理由として、適切なものはどれか。

【正解の解説】

非線形な関数を挟まないと、何層ネットワークを深く重ねても、結局は単一の線形変換と同じ表現力しか持たなくなってしまうため。

非線形な関数を使わないと、どんなに層を重ねても、結局は掛け算と足し算だけの単純な式(線形変換)にまとめられてしまいます。非線形な関数を入れることで、初めて複雑なデータのパターンを表現できるようになります。

スポンサーリンク

【その他の選択肢の解説】

各層の出力値を常に一定の範囲に正規化して計算のオーバーフローを防ぐため。

活性化関数は数値を特定の範囲に限定する効果を持つものもありますが、それは副次的な効果であり、主たる目的は計算のオーバーフローを防ぐことではありません。

誤差逆伝播法において、すべての層の勾配の値を常に1に固定し、計算を高速化するため。

活性化関数の目的は計算の高速化ではありません。むしろ、関数によっては計算量が増える場合もありますが、それ以上にデータの表現力を獲得することが重要です。

入力データの次元数を自動的に削減し、重要な特徴量だけを次の層に引き継ぐため。

次元の削減を目的とする層もありますが、活性化関数そのものの役割は、各ノードの出力に対して「スイッチのオンオフ」のような非線形な変換を加えることにあります。