G検定 練習問題 #0354・活性化関数

勾配消失問題への対処

ディープラーニングの概要 › 活性化関数 単一選択 難易度 標準

ある物流会社が、配送遅延の発生を予測するため、隠れ層を12層重ねたネットワークを作った。隠れ層の活性化関数はすべてシグモイド関数である。学習を進めると、出力層に近い層の重みは更新されるのに、入力層に近い層の重みはほとんど変化しなかった。この状況への対処として、最も不適切なものを1つ選べ。

正解と解説を見る

解説

正解 D

この問題の論点:勾配消失問題への対処

ポイント

勾配消失問題の原因は、層をさかのぼるたびに勾配が縮むことです。活性化関数やネットワークの構造を変えて対処し、学習率を下げても解決しません。

選択肢ごとの解説

  1. A

    適切

    シグモイド関数の導関数は最大でも0.25で、層をさかのぼるたびに掛け合わされて勾配が小さくなります。ReLU関数は正の領域で導関数が1なので、層を通っても勾配が小さくなりにくくなります。

  2. B

    適切

    シグモイド関数は入力の絶対値が大きいと導関数がほぼ0になります。バッチ正規化で活性化関数に入る値の分布を整えると、こうした飽和が起きにくくなり、勾配が保たれやすくなります。

  3. C

    適切

    スキップ結合があると、勾配の一部は足し算の経路を通り、途中の層の導関数を掛けられずに入力層側へ届きます。ResNetで広く使われるようになり、100層を超えるネットワークの学習を可能にしました。

  4. D

    不適切 正解

    学習率は勾配に掛ける係数なので、小さくすると入力層側の更新はさらに小さくなります。勾配が層ごとに縮む原因には効きません。学習率を下げるのは、更新が大きすぎて学習が発散するときの対処です。

試験での狙われ方

勾配消失問題の対策として、ReLU関数、バッチ正規化、スキップ結合、重みの初期値の工夫などを選ばせる形が考えられます。

表示設定

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