G検定 練習問題 #0370・全結合層

全結合層の重みの初期化

ディープラーニングの要素技術 › 全結合層 単一選択 難易度 標準

ある物流会社のエンジニアが、配送の遅延の有無を予測するため、全結合層を3層重ねたネットワークを作った。隠れ層の活性化関数はReLU関数である。重みをすべて0.01、バイアスをすべて0で初期化して学習させた。学習後、重みの値は0.01から変化していたが、各隠れ層では、どのユニットもほかのユニットとまったく同じ重みを持っていた。この原因と対処として、最も適切なものを1つ選べ。

正解と解説を見る

解説

正解 A

この問題の論点:全結合層の重みの初期化

ポイント

同じ層のユニットの重みを同じ値で初期化すると対称性が崩れず、全ユニットが同じ働きのまま学習が進みます。重みは乱数で初期化します。

選択肢ごとの解説

  1. A

    適切 正解

    同じ入力に同じ重みを掛けるため、同じ層のユニットは同じ値を出力します。誤差逆伝播法で求まる勾配も同じなので、更新後もそろったままです。乱数で初期化すればこの対称性が崩れ、ユニットごとに別の特徴を学べます。

  2. B

    不適切

    重みは0.01から変化しているため、更新は行われています。同じ層のユニットは同じ勾配を受けるので、学習率を大きくしても全ユニットが同じだけ動くだけで、ユニットどうしの差は生まれません。

  3. C

    不適切

    出力が0のまま勾配が流れないユニットは、重みが更新されなくなります。この事例は、更新されたうえで全ユニットがそろっている状況です。活性化関数を変えても、同じ値から始めた対称性は崩れません。

  4. D

    不適切

    バイアスも学習で更新されるため、0で初期化するのは一般的な設定です。バイアスをすべて同じ1にしても、同じ層のユニットは同じ入力と同じ重みを持つままなので、出力も勾配もそろったままです。

試験での狙われ方

重みの初期値をそろえたときの問題を、学習率や活性化関数による不具合と見分けさせる形で問われます。

参考

表示設定

テーマ
文字の大きさ
問題演習