Help us understand the problem. What is going on with this article?

図で理解!”学習”の基盤:ニューラルネットワークの”逆伝搬”と”更新”

ネットワークの逆伝搬とは?

これまでの記事では、
・ニューラルネットワークとは何者で、どんな処理をしているのか(図で理解!ニューラルネットワークとは?
・各ネットワーク層での処理を一部紹介しました。
Affine層:図で理解!ニューラルネットワークとは?
Convolution層:図で理解!畳み込み処理?Convolution層?畳み込みニューラルネットワーク(CNN)の基礎

しかし、”入力になんらかの計算処理を加えて出力を得る”だけでは何の意味もありません。

重要なのは”逆伝搬”です!!!(以下図)

逆伝搬.png

↓↓↓↓↓もっと詳しく↓↓↓↓↓

Affine計算グラフ逆伝搬.png

勘がいい方はもう分かりました?

”誤差を小さくするように各ネットワーク層のパラメーターをそれぞれ更新”を”繰り返す” = ”学習”

です。

パラメーターとは?

・Affine層で言うW(重み)とb(バイアス)
・Convolution層で言うK(カーネル)

つまり、”入力に対して掛けたり足したりする値”のことです。

ハイパーパラメーター (←重要)

パラメーターを適当に変えるわけではありません。
Wをどれだけどう変更するか、の調整をしてくれるのが”ハイパーパラメーター”です。

ハイパーパラメーターを使ってパラメーターを更新することを総称して
”ネットワークの更新”や”パラメーターの更新”と言います。

この更新方法は複数あるので、別途記事にします。
<更新方法の種類>
・SGD
・Momentum
・AdaGrad
・Adam

ゼロから作るDeepLearning にも載っています。)

が、イメージを付けてもらうためにコードを乗せておきます。

//SGDでAffine層のWを更新
var ep = 0.001 //学習率 //(余談)任意の値だが、大体0.1,0.01,0.001辺りが多い
W = W - dW * ep //パラメーターWを更新 //dW:以下に説明 

ep と言うのがハイパーパラメーターの一種で”学習率(epsilon)”と呼ばれるものです。

”一種”と言いましたが、
更新方法によって、それぞれで使用するだけのハイパーパラメーターが存在します。

逆伝搬の計算

上のコードのコメントアウトにしれっと”dW”と書きましたが、
逆伝搬の計算方法をAffine層の処理を例に記載します。

Affine計算グラフ.png

Affine計算グラフ逆伝搬.png

まとめ:学習の基盤:ニューラルネットワークの”逆伝搬”と”更新”

要は、入力を渡し、得た結果と期待する出力との”差異”を逆伝搬するだけなんですが、
それだけでは値が行ったり来たりしているです。

誤差をなるべく小さくできるようにパラメーターを更新してあげることで、
”計算結果の出力を、本来期待する出力に近づけよう”という訳で、
これが”学習の概念”です。

長々とありがとうございました。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away