CNNについて

前回のCNNの記述がだいぶふわっとしていて理解度が💩なこともあり、今回はもう少し踏み込んだまとめでごわす。

あっやっぱりこの口調めんどくさいのでである調で行きたいと思う。

AIとは?

Artificial Intelligenceの略語(だれでも知っとる)。ただし、AIというのは大きな概念で、その中に機械学習(Machine Learning)があり、さらにその中の1ジャンルとして深層学習(Deep Learning)がある。

深層学習とは?

まずニューラルネットワークについて語る必要がある(あっここ理系の人見てないですよね・・・汗 もしなんか間違ってたらコメントで怒ってくれると嬉しいゾ〜)。

ニューラルネットワークは人間の脳から着想を得たシステムだ。

人間の脳は大量のニューロンでできている。

Axon, Dendrite, Soma, Synapse が代表的だ。

Dendrite = 他のニューロンから来た電気信号を今のニューロン(Soma)に伝える

Soma = ニューロンの核となるところである。

Axon = 他のニューロンに自分の情報を伝える

Synapse = ニューロン同士の結合部分

情報・・・というと漠然としているがようは「発火」した値を送る(とくにニューラルネットワーク)

ニューロンでは何がおこってんの?

以下のことをやっとるぞよ

  1. 隣り合ったニューロンから来た信号(値)をまとめる
  2. その信号の合計値が一定の基準値以上だったら発火する、そうじゃなかったら発火しない
  3. 発火したらその値を次のニューロンに送る

みたいなことをやっている。

図で言うとこんなかんじ。aがactivation valueである。gは、なんか関数である(シグモイドとか。今回は詳細は割愛する)。

で、手前のニューロンを x1, x2, x3… として、それぞれのニューロンにはそれぞれ「重みづけ」がある。x1, x2, x3…にたいしこれらを w1, w2, w3…とする

で、これらの和を評価して、そいつがactivation valueよりも大きかったら発火、そうじゃなかったら発火しない。

w1x1 + w2x2 + w3x3 + …. wnxn >= a

w1x1 + w2x2 + w3x3 + …. wnxn < a

で、この a を左辺に持ってきて、

w1x1 + w2x2 + w3x3 + …. wnxn -a >= 0

この条件の時に発火するんだよ、ということである。

このとき、 -a だと格好悪いので +b と書き換えるらしい、つまりバイアスである。

つまり〜

activation valueはバイアスに-1かけた値、ということらしい。

ちな、b * 1とすると

(w1, w2, w3, … wn)(x1, x2, x3….xn) >= 0 と行列の積ができる。

などなど。

あっやっぱり長すぎる、CNNまでいかないわ。

で、これの「過学習」(すなわち入力データに特化しすぎることによって(パラメータ量とかノード数が多すぎなことによって)適切な抽象的理解をせず未知のデータに対応できなくなることを防ぐために一定の処理をかける必要がある(g)これが

sigmoid …. とかだったはず(だんだん自信なくなってきた)

(つまり過学習っていうのはガリ勉してきた少年が大学デビューしてキャンパスライフで彼女が作れなくなることだYO! ☜ 絶対違う)

つまり例えばこう

g(w1x1 + w2x2 + w3x3 + …. wnxn +b) >= 0

シグモイド関数は、 1 / (1+e^-x) ・・・だったよ〜な気がする!

まあようは、これも -1 ~ 1 までの帯域と 0 ~ 1の帯域とあって、極端な外れ値を作らないというかなんかゆるやかにするとかそんなかんじだった(ふっわぁああああ)

まあそんな感じで。

あっでももう一つ。前回のBPの記述とかCNNとかあまりにも酷いかった(何も解っとらんかった・・)のでこれもあとできちんと書きなおします。

で、学習するというのは、

コスト関数(つまり学習というのは期待値と実際のニューラルネットワークから出た値を比較して、どれだけズレてるかを計算して = Loss function?)、まあそれには二乗するやつ(MSE)とnegative loss function とかあるんだけど、そのずれを極小化する(Stochastic Gradient Descent)ように重み(W)とバイアス(B)をアップデートせよ!ということをやっている、それが学習だということなのじゃ

AIをとにかく調べます

弊社もはじめはAIに反目な感じだったんですが、やっぱりそういうスタイルって今後待っているのは淘汰しかないような気がし、ちょっとずつAIウォッチャーをやっていこうと思いまする。

まあCはコンパイルしない的なフェイク情報を流す醜態は晒したくないがわしもAIについてはまだまだ理解が未熟なんでもし詳しい人いたらDISってください。おなしゃす!

以上でござる。他はあんまりない。(ぜんぜんCNNじゃなかった)

(また続きは今度)

https://www.youtube.com/@asmrchurch

投稿者: 菅野契

株式会社スガノワークス代表取締役(CEO)。

コメントを残す