0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

#Section1:入力層~中間層
入力層の各値(入力値)に重みWを掛けて、バイアスbを足した値が、総和uとして中間層の第1層目の各ノードに渡される。
渡された総和uは、活性化関数fを通して、zが吐き出され(z=f(x))、この値が、ノードの出力値となり、次の層のノードに入力値として渡される。
image.png

#Section2:活性化関数
中間層の活性化関数は、
ReLU、シグモイド(ロジスティック)関数、ステップ関数などがある。
ステップ関数は、0または1しか表現出来ないため、0~1間の数値を表現出来ず線形分離可能なものしか学習出来ない。
シグモイド関数は、ステップ関数に比べて改善はしたが、ものすごく小さな入力値の場合、出力は限りなく0に近い正値になるため、勾配消失問題を引き起こす事がある。
ReLUは、今最も使われている活性化関数(万能という訳ではない)。

出力層の活性化関数は、
ソフトマックス関数、恒等写像、シグモイド(ロジスティック)関数などがある。

活性化関数によって、各ノードの出力は、弱く伝播したり、強く伝播したりする(強い方が、重要な情報)。

#Section3:出力層
出力層の役割は、出力された値を人間が見て、何らかの情報が得られるものになっている(中間層までの出力値は、人間が見ても、どう評価すればいいのか理解出来ない)。
例えば、分類の場合は、各クラスの確率が出力値になっていたりする。

###3-1 誤差関数
正解値と出力値との誤差を評価する関数。
この誤差を小さくしていく事が学習の目標。
回帰問題の場合は、二乗誤差
分類問題の場合は、交差エントロピーなどが使われる。

###3-2 出力層の活性化関数
Section2でも触れたように、中間層と出力層の活性化関数は異なる。
出力層では、恒等写像、シグモイド関数、ソフトマックス関数などが使われる。

中間層では、閾値の前後で、信号の強弱を調整しているのに対して、
出力層では、信号の大きさ(比率)はそのまま変換する。

分類問題では、出力層の出力は0~1の範囲の値で、全ての分類の出力値を合計すると1になるようにする必要がある(確率なので、合計すると100%にしないといけない)。

回帰 二値分類 多クラス分類
活性化関数 恒等写像 シグモイド関数 ソフトマックス関数
誤差関数 二乗誤差 交差エントロピー 交差エントロピー

#Section4:勾配降下法

そもそも深層学習の目的として、学習と通して重みWを調整して、正解との誤差を最小にするネットワークを作成する事になる。
そこで勾配降下法を利用して、重みWを最適化していく事になる。

勾配降下法は、下記の式で定義される:
$w^{(t+1)} = w^{(t)} - \varepsilon \mathrm{\nabla} E$,     $\mathrm{\nabla} E= \dfrac{\partial E}{\partial w} = [\dfrac{\partial E}{\partial w_1},...,\dfrac{\partial E}{\partial w_M}]$

つまり勾配の下がる方向に対して、学習率εを掛けた値を更新する事になる。
εが大きすぎると、更新量が大きすぎて、最小値にいつまでもたどり着けずに発散してしまう。
εが小さすぎると、更新値が小さすぎて、最小値にたどり着くまでに時間が時間がかかる。

また学習率が小さすぎる場合は、大域的極小解までたどり着けず、途中の小さなくぼみで学習が収束してしまう事がある。
image.png

#####確率的勾配降下法(SGD):
勾配を計算して、学習率を掛けて減算するというところは、勾配降下法と同じ。
違いは、勾配降下法では、全サンプルに対して、パラメータの更新を行っていたのに対して、SGDでは、ランダムに抽出したサンプルデータに対して、パラメータの更新を行う。

確率的勾配降下法 勾配降下法
ランダムに抽出したサンプルの誤差 全サンプルの平均誤差

#####SGDのメリット:
・データが冗長な場合に、計算効率が向上し、学習が早く実行出来る
・望まない局所極小解に収束するリスクを減らせる(但し、必ずしもリスクはゼロではない)
・オンライン学習が出来る
・パラメータの更新が小刻みに行われるので、学習の途中経過を確認する事が出来る

#####ミニバッチ勾配降下法:
勾配を計算して、学習率を掛けて減算するというところは、勾配降下法やSGDと同じ。
イメージとしては、勾配降下法とSGDの中間的な処理。
全サンプルを一度に学習するのではなく、サンプルをいくつかの集合(ミニバッチ)に分けて、その集合ごとに学習をしていく。

ミニバッチ勾配降下法 確率的勾配降下法 勾配降下法
ランダムに分割したデータの集合(ミニバッチ)Dtに属するサンプルの平均誤差 ランダムに抽出したサンプルの誤差 全サンプルの平均誤差

#####ミニバッチ勾配降下法のメリット:
・確率的勾配降下法のメリットを損なわず、計算機の並列計算資源を有効利用出来る。

#Section5:誤差逆伝播法
誤差逆伝播法(back propagation)とは、算出された誤差を、出力層側から入力層側に向かって、順番に微分して、前の層→前の層への微分の計算を連鎖律を使って伝播させていく方法。
最小限の計算で、各パラメータの微分値を解析的に計算する方法。
発生した誤差に対して、前層での出力が強いノードが大きく更新される事になる。

訓練データは、入力層→出力層に向かって、計算されて行くのに対して(順伝播)、逆方向に計算が進む事で、逆伝播という言葉で呼ばれる。

0
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?