質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

1回答

1574閲覧

NNの精度が途中で悪くなる現象について

wonwon

総合スコア13

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

0クリップ

投稿2019/04/02 00:38

編集2022/01/12 10:55

「詳解ディープラーニング」という本でニューラルネットワークを勉強しているのですが、p179,p180に書いてある文章の意味がわかりません。

内容としては、DNNで学習し、途中まで検証データに対する精度が上がっていたのに急にガクンと精度が悪くなってしまった。これは勾配消失問題同様、ソフトマックス関数(シグモイド関数)から伝わる勾配の値が小さくなりすぎて、0に丸め込まれて計算されてしまっているからだ。なので交差エントロピー誤差関数の計算の時にlogの中の出力値yに下限値を設定することでこれを防ぐことができると述べられており、実際精度が悪くなることが無くなっています。

勾配消失問題というのは活性化関数を微分する時に値が小さくなってしまうので前半の中間層あたりが更新されなくなってしまう現象のことですよね?

上記の文章全体の意味もわからないし、勾配消失問題と何が同様なのかもわかりません。

誤差関数

python

1def loss(y, t): 2 cross_entropy = \ 3 tf.reduce_mean(-tf.reduce_sum( 4 t * tf.log(tf.clip_by_value(y, 1e-10, 1.0)), 5 axis=1)) 6 return cross_entropy

補足情報

活性化関数はReLUで作られています.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tiitoi

2019/04/02 02:24

勾配消失問題はデルタが逆伝播する過程で0に近くなることで、重みがほとんど更新されなくなってしまう現象なので、「検証データに対する精度が上がっていたのに悪くなった」は勾配消失ではなく、過学習ではないでしょうか。
wonwon

2019/04/02 03:14

でも「勾配消失問題同様」という文言が明記されているんですよね...
guest

回答1

0

これ、おそらく説明が間違っていますね。

clip_by_value を入れて性能の劣化が改善したのは、勾配消失ではなく、勾配爆発を回避したからだと思います。勾配爆発についての説明は、

The curious case of the vanishing & exploding gradient

等を読んでください。

投稿2019/05/20 05:38

MasashiKimura

総合スコア1150

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問