全結合層の重みの初期化

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

正解と解説を見る

解説

正解A

ポイント

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

選択肢ごとの解説

  1. A

    適切 ◯ 正解

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

  2. B

    不適切

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

  3. C

    不適切

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

  4. D

    不適切

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

試験での狙われ方

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

関連用語

誤差逆伝播法、ReLU関数、Leaky ReLU関数、多層パーセプトロン

参考

オリジナル問題(過去問ではありません) AIで作成 人による確認:未 誤りを報告

出典と作成について

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合。手順は編集方針)

公開日: 最終更新日: 最終確認日:

シラバス第1.4版 技術17「全結合層」の問題です。

改訂履歴

表示設定

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