ラビットチャレンジ【深層学習day1】~出力層~

概要

NNにおいて出力層は最終層となり、中間層のから受け取った値を人間が欲しい値に変換する

また予測した値はと正解を比較されて誤差関数としてパラメータの学習に使用される

出力層では、中間層の活性化関数とは異なる活性化関数も使用されている

この章では以下の項目を学んだ

・誤差関数(確認テスト1つ含む)

・活性化関数(確認テスト2つ含む)

・ハンズオン

誤差関数

出力層はNNの最終層にあたる

出力と正解ラベルを比較して誤差関数を求める

その誤差関数を用いてパラメータ(w,b)を補正していく

誤差関数に二乗法を適用した場合、以下のように表すことができる


E_{n}(w) = {1\over2}\sum_{j=0}^J(y_{i} - d_{i})^{2} = {1\over2}||(y-d)||^{2}

<<確認テスト>>

①上記の式で引き算ではなく二乗する理由を述べよ

引き算だけ行うのでは、各ラベルでの誤差が正負両方発生し、全体の誤差を正しく表すのに都合が悪い。二乗することで誤差を正の値にしている

②上記の式中の1/2の意味を述べよ

実際にNNの学習を行う際には誤差逆伝播の計算で誤差関数の微分を用いるため、その計算を楽にするため。本質的な意味はない

活性化関数

中間層と出力層の活性化関数の違いは以下である

中間層⇒閾値前後で信号の強弱を調整

<出力層⇒信号の大きさは、そのままで人間がわかる形に変換(総和が1になるように変換)/p>

出力層の活性化関数は用途(回帰or分類)で以下の表のように使い分ける

f:id:Maruring:20210716090813p:plain

<<確認テスト>>

①以下の数式の①~③に該当するコードを示し、1行づつ処理の説明をせよ

f:id:Maruring:20210716093034p:plain

①以下の数式の①~②に該当するコードを示し、1行づつ処理の説明をせよ

f:id:Maruring:20210716092946p:plain

ハンズオン

多クラス分類において総数とレイヤー数を変更した

各重みとバイアス、クロスエントロピーを確認することができた

f:id:Maruring:20210716094220p:plain

f:id:Maruring:20210716094231p:plain