- こんな方におすすめ
深層学習・ディープラーニングでも必要な「フィードフォワードネットワーク関数」の基本的な内容について知りたい.
この記事では、フィードフォワードネットワーク関数の基礎概念のまとめる.
キーワード・知ってると理解がしやすい
線形基底関数モデル
Index
線形基底関数モデルからニューラルネットワークモデルへ
テーブルデータ等における予測モデルでは、線形回帰モデルや線形識別モデル、
それを一般化した線形基底関数モデルを用いることがある.
精度を上げるためにデータの情報を増やす(次元を増やす)ことがありますが、それには「次元の呪い」等の問題が生じる.
そこで、事前に基底関数の数を固定し、それらを適応的にしておくという考えがでてくる.
その手法で最も成功したモデルが「フィードフォワードニューラルネットワーク」.
フィードフォワードネットワーク関数
処理の全体象イメージ.
関数全体の定式化の前に、各処理ごとに定式化していく.
活性の計算
入力変数 の線形和を作る.
- : 入力変数
- : 入力変数の次元数
- : 1つ目の層の重みパラメータ
- : 1つ目の層のノード数
- : 活性(と呼ぶようですが、中間出力)
添字 を無くして表現すると、以下の式.
つまり、D個の入力変数に対してM x (D+1) 個の重みパラメータを利用して、M個の出力をするということになる.
これらを行列の計算式で書き表すこともできる.
まとめるとこのようなかんじ.
隠れユニットの計算
は基底関数の出力に相当し、ニューラルネットワークでは隠れユニットと呼ばれている.
非線形活性化関数 には一般に、ロジスティックシグモイド関数やtanh関数が使われることが多い.
出力ユニット活性
次に活性 を計算したときと同様、 を入力と見立てて、同様の線形和を作る.
- : 隠れユニット
- : 1つ目の層のノード数
- : 2つ目の層の重みパラメータ
- : 出力の総数
- : 出力ユニット活性(と呼ぶようですが、中間出力です。)
活性の計算との違いは添字のみ.
出力の計算
最後に出力を計算を行う.
適当な活性化関数 を用いて、変換する.
ネットワーク全体の関数
これらの結果をまとめ、ネットワーク全体の関数は
行列式で整形すると
全体のネットワークイメージ図再掲する.
まとめ
ニューラルネットワークにおけるフィードフォワードネットワーク関数を定式化した.
この関数はネットワーク上の情報の順伝播(forward propagation)と解釈されることが多く、ディープラーニングの基本になる.
参考
- パターン認識と機械学習 上
- 5 ニューラルネットワーク
- 5.1 フィードフォワードネットワーク
- 5 ニューラルネットワーク