G検定

2021年第3回G検定 振り返り 第6問(勾配消失問題、ReLU関数)

2021年11月28日

シラバス分野:ディープラーニングの概要 勾配消失問題、ReLU関数からの出題です。

勾配消失問題とは何か

勾配消失問題とは、誤差の勾配を逆伝播する過程において、勾配の値が消失してしまい、学習が進まなくなるディープニューラルネットワーク特有の現象のこと。

ニューラルネットワークを多層化すると、誤差逆伝播法では各々の層で活性化関数の微分がかかり、勾配が消失しやすくなります。

層が深いほど起こりやすく、ディープラーニングにおいては、過学習と並び、注意すべき課題として知られています。

回避する方法はあるのでしょうか?

活性化関数の工夫で対処

活性化関数が何度も作用することにより勾配が小さくなりすぎることが、勾配消失の原因。

かつてはニューラルネットワークの活性化関数として使われていたシグモイド関数で見てみましょう。

(出典:ICHI.PRO)

シグモイド関数の微分は最大値が0.25とかなり小さく、勾配消失を起こしやすい関数でした。

そこで使われるようになったのがReLU関数です。

ReLU関数

式で表すとy=max(0,x)非常にシンプル

(出典:Python 数値計算入門)

ReLU関数の場合、入力が0を超える限り、微分値は常に値1が安定して得られるため、誤差逆伝播の際に勾配が消失しにくい

画像データの特徴量を形成する画素数には負の値がないので、ReLU関数との相性はよい

しかし、負の値が存在する場合や、ネットワークが複雑すぎる場合では依然として勾配消失の発生は防ぎきれません

  • この記事を書いた人

NISHIBIZ

・JDLA G検定 2021 #3 合格者
・令和3年度 中小企業診断修得者
記事は資格取得情報(ディープラーニング検定と中小企業診断士試験)他、
エンタメ(音楽・アニメ・テレビ)と時事/雑学。
Apple Musicを愛用。NISHIBIZでプレイリスト「私的ベスト」検索。
音楽の嗜好はエレクトロ/エモ

-G検定