概要
CHATGPTをはじめとした人工知能が驚くぐらいに身近なものになってきたように思います。情報工学を学んでいた〇十年前でも一応知識としては教わったし実際研究室もあったけど
まだまだ夢物語でした。
其の頃から興味はあったもののテキストを読んでもいまいち理解できなかった「ニューラルネットワーク」
様々な本を読み、自分なりに解釈しエクセルVBAでプログラムを組んでみたりして
自分なりに納得ができたので、まとめていきます。
なお、ニューラルネットワークという単語は知っているものの、いまいち理解できていない
という方を対象としています。
ニューラルネットワークとは?
ニューラルネットワークとは何か?を調べると本でもネットでも下のような説明が見つかります。「人の脳の神経細胞ニューロンを真似た、AI技術」
これを読んで、「マジで!!人工知能作れるんじゃん!」と興奮したものの、
読み進めていくと難解で何回も挫折しました。
(中年になると親父ギャグ言いたくなるようです。40過ぎて自覚)
ニューラルネットワークの考え方

これがいわゆる人工知能の基礎の基礎の形なわけで
Yを出すための計算式
各記号の説明X1,X2 | 入力データ |
W1,W2 | 重み |
b | バイアス |
Y | 出力 |
t | 教師データ |
e | 誤差 |
各単語がどういう意味かは効かないでください(汗
そういう名前がついているという認識でとりあえずいいと思います。
Y=(X1*W1)+(X2*W2)+b
e = (1/2)*(t-y)^2
ここで出力されたYの値がtの値に近づくようにWを更新していきます。
eは最小二乗法を使っています。
この重み更新で、自分はいつも挫折していました。更新処理については次に回します。
感想
大学で初めて習ったときに、ニューラルネットワークという単語がめっちゃカッコいい!!と好きになりました。ニューラルネットワークと遺伝的アルゴリズムを理解したい!と思ったものの、全然理解できず卒業
その後も定期的にブームが来て、勉強しては挫折を繰り返しました。
どの本を読んでも自分が疑問に思うところが書かれていなかっったことが原因にあります。具体的に言うと、
どれを読んでもこのあたりのことがわかりませんでした。
ノードや中間層は本では初めから決まっているし、重み更新は怒涛の微分積分で頭が煙を吐き出していました。
文字認識については本では特にデータの説明がなく「例えば”ア”のデータが下記のようなグラフの時」などと説明されており、
そのデータはどうやってでてきたの??と入力するデータがわからず停止。
このあたりも何冊も本を読んで自分なりに納得できるものになったのでまとめていきます。
コメント