#0. 第二章について
第二章では、第三章から解説されるニューラルネットワークの単体パーツであるパーセプトロンについて語られるのじゃあ・・・。
基本中の基本となるらしいので、ここをある程度理解しないと後々やばいのじゃ・・(体験談)
#1. パーセプトロンとは
パーセプトロンは、人間の脳の神経細胞を模したものであり、複数の入力を受け取って、ある信号を出力するのじゃ。
パーセプトロンは複数のニューロンで構成されていて、各ニューロンから送られてきた信号に重みが乗算され、その総和がある限界値(閾値)を超えた場合に1を出力されるのじゃ。(基本的な場合のじゃあ)
以下の図では、一つ一つの○がニューロンであって、矢印の部分の値が重みなのじゃ。図全体で一つのパーセプトロンを表すのじゃよ。計算式は
y = x_1*w_1 + x_2*y_2
なのじゃあ!
#2. パーセプトロンの特徴
##2.1 パラメータ
パーセプトロンは複数のパラメータを持つのじゃあ・・
具体的には
- 重み(w1, w2)
- バイアス(b)
- 閾値・出力値(またの名を活性化関数h)
などがあるのじゃあ・・・
パーセプトロンの行っている処理の計算式は以下のこうなのじゃ!
a = x_1*w_1 + x_2*w_2 + b\\
y = h(a)
上記の説明ではわらわ含めてちんぷんかんぷんのはずじゃあ・・
というわけでとりあえずそれぞれのパラメータを見ていった後、もう一度全体と数式を見直そうと思うのじゃあ・・
##2.2 重み w1, w2, w3...
重みは図でいうと矢印の値ことなのじゃ。それぞれのニューロンがどれぐらいの関連度で結びついてるかを定めるのじゃあ・・・
例えば、重みw1が1000ぐらいだったら無茶苦茶ニューロンが結びついてて、重みw2が0だったら、最早ないに等しいのじゃ。
##2.3 バイアス b
バイアスは英語だとbias。
他のヒューロン間の重みとは独立していて、必ず足されるものじゃな・・・
理解しずらかったら、中学数学で習ったy=ax+bの、y切片のbみたいなもんじゃと考えると分かり易いのかもしれないのじゃが・・
バイアスを使用する理由としては、完全には理解してないのじゃが、必ず足す値としてバイアスを使用することで、ニューロンの反応しやすさをコントロールするためなのだと思うのじゃ・・・・理解が足りず申し訳ないのじゃ・・
##2.4 閾値・出力値・活性化関数h
ここが一番パーセプトロンの理解で難しいと思うのじゃあ・・
パーセプトロンは、複数のニューロンから受け取った信号の総和を、活性化関数hで変換してから出力するのじゃあ・・・
a = x_1*w_1 + x_2*w_2 + b\\
y = h(a)
上の式を見てみるとまず
1. それぞれのニューロンからの重み付きの信号を受け取る (x1w1 + x2w2)
2. 反応しやすさを決めるバイアスを足す (+b)
3. 総和を求める (a = x1w1 + x2w2)
4. 活性化関数hで変換をする
という処理を行っているのじゃ・・
比較的1~3は理解しやすいと思うのじゃ・・・なぜならそれぞれのニューロンからの信号を受け取って足し算をしているだけなのじゃ・・
4では、何をやっているかというと、パーセプトロンの表現を豊かにするために、活性化関数をかけているのじゃ・・・
まあドーピングキメて気持ちよくなっているみたいなもんじゃな・・・
##2.5 活性化関数
活性化関数って何なのじゃあ!って声が聞こえてきたのじゃあ・・・
活性化関数は、入力された値に一手間加えて、表現豊かな値に変換して出力する関数なのじゃ・・・
活性化関数がないと、線形的な値しか出ず、後々のニューラルネットワークがうまいこと行かず死んでしまうのじゃあ・・・
ちなみに、活性化関数にはシグモイド関数だとか、Relu関数があるんじゃが・・・
とりあえずそういう関数があるんじゃなと思ってほしいのじゃ。第三章で記述しようと思うのじゃ・・・
##2.6 パーセプトロンの特徴総括
a = x_1*w_1 + x_2*w_2 + b\\
y = h(a)
一つ一つパラメータや関数を振り返ってみたのでパーセプトロンの処理を、処理の流れに沿って振り返っていこうと思うのじゃあ。
- それぞれのニューロンから重みがかけられた信号を受け取るのじゃ
- 反応しやすさをコントロールするためにバイアスが足されるのじゃ
- 総和を求めるのじゃ
- 活性化関数に先程求めた総和をぶち込むのじゃ
- 活性化関数から出力された表現豊かな値を、また次のニューロンにぶち込むのじゃ
以上のような流れでパーセプトロンは処理を行うのじゃあ・・・
分かりづらかったら申し訳ないのじゃあ・・・
#3. なぜパーセプトロンを使うのか
パーセプトロンを使用するのには理由があるのじゃあ・・・
なぜなら、この後記述するニューラルネットワークはパーセプトロンの集合体でできており、DeepLearningの基本だからなのじゃ。
パーセプトロンは構造が簡単で計算がしやすく、それを組み合わせるだけでDeepLearnigが出来るなんて夢のようじゃな・・・
#4. それぞれの章へのリンク
・自己流まとめホーム
・第二章 パーセプトロン
・第三章 ニューラルネットワークの学習
・第四章 ニューラルネットワークの学習
・第五章 誤差逆伝播法
・第六章 学習においてのテクニック
・第七章 畳み込みネットワーク
・第八章 DeepLearning
#5. 参考文献
書籍 ゼロから作るDeepLearning オライリー・ジャパン
マークダウン記法 https://qiita.com/hiroyuki_hon/items/f2a779bb295fd12646ab