深層学習
機械学習 ML machine Learning
深層学習 DL Deep Learning
深層ニューラルネットワーク DNN Deep Neural Network
ニューラルネットワーク(Neural Network)による入力値の分類の仕組みについて見ていく。
参照 https://hinaser.github.io/Machine-Learning/ TensorFlow Playgroundの仕組み
X1 を 横方向
X2 を 縦方向
の XY座標と考える
+の点(青) と ーの点(橙) を X1とX2を用いて分類するモデル(NNのパラメータ)を学習を通してフィードバックで調整する。
学習開始前(初期状態のモデル)
X1とX2の値にほとんど影響されずに全体的に やや+(薄い青) と分類(背景の色を観察してみよう)
学習終了後
X1とX2が両方 + なら +
X1とX2が両方 ー なら ー
下図で モデルのパラメータは2個あり、青(+)の2本の線で表現されている
パラメータの符号
+ 入力値をそのまま反映
ー 入力値を+ー逆転して反映
パラメータの大きさ
1付近 強く反映
0.5 やや反映
0付近 ほどんど反映しない
入力値X1とX2の特徴を変えて+とーの性質を変えてみる。
X1^2 横方向両端が+ 中央は 0
X2^2 縦方向両端が+ 中央は 0
学習前
横方向両端が+ 上下方向の両端がー
学習後
X1^2 と X2^2 の両方が 0 なら +
X1^2 と X2^2 の両方が + なら ー
つまり中心付近が + 周辺が ー。
ここでパラメータ(2本線)が橙のーであることに注意する。
つまりX1とX2で+と評価されない部分が逆転して+として評価するように学習できた
一部分だけしか分類できない。右下のー部分を間違って+と分類している。学習できない。
うまく分類できた場合
分類に失敗した場合
入力層のニューロンを増加すると複雑なパターンに対応できる。以下の図では入力層は8個のニューロン。
入力値を2つだけにして、XY座標だけを入力として与える。
学習前の段階でヒントを出さない。(入力の特徴として中央と端に着目するのを止める)
ニューラルネットワークが学習の過程で見つけた特徴だけを使って分類する。
多数の直線を組み合わせて分類しようとしてもうまくいかない
3019エポック(学習回数)の結果
中間層を多層化する。
これが、深層学習、ディープラーニング、ディープニューラルネットワーク、DNNと呼ばれる仕組み。
以下の様な学習済みのDNNを「モデル」という。
1890エポック