基礎の基礎の基礎。コンピューターからニューロンのモデル化
みなさんこんにちは、あけましておめでとうございます
今日も張り切って活きましょう。
かなり前のことですが、前回は一旦AIから離れて情報伝達の仕組みを生物学的な観点から勉強しました。
まだ見ていない方は是非確認してみてください。
今日は学んだ生物学の知識を組み合わせてコンピューター上でモデル化された
AN(Artificail Neuron)=人口ニューロンについて説明します。
神経伝達の基本的な仕組みをちょっと理解するだけでかなり自分の理解が深まっている
と感じられると思います。
〜今日の内容・参考文献〜
ANの入力から出力までの流れを理解しよう
ニューロンはこのようにモデル化されます。
ニューロンが情報を多く受け取るための枝分かれした樹状突起があるように、
モデル化されたニューロン(AN)でも多くの情報が受け取れるように
入力が複数存在します。この場合だと3つですね!
受け取った入力それぞれには結合荷重とも言われる「重み」をかけます。
この重みはニューロンで言うところのシナプスの伝達効率に例えられます。
重みの値が大きいほど伝達効率がいい=出力する上で重要な要因となる
と言えてニューロンの表現力を決定する大切な要因です。
入力と重みを掛け合わせた値の総和に「バイアス」を足します。
「バイアス」とはニューロンで言うところのニューロンの感度に例えられ
バイアスの大きさに応じてニューロンの興奮しやすさが設定されます。
これらの値を「活性化関数」へと代入します。活性化関数とはニューロンを興奮させる関数で出力への最終段階であり、ニューロンが複雑な表現をするために必要不可欠な存在です。(今後活性化関数についてブログをあげる予定です。)
こうしてようやく出力を得られ、次のニューロンに入力値として伝達されて行きます。
ニューロンの入力から出力までの流れを理解した上で次は数式で理解しましょう。
意外と簡単?数式での理解。
次にこれらを数式として捉えてみましょう。
ゴールはこの式です。
・・むずそう
(ちなみに左辺はYです)
複雑そうですが大丈夫です。さっきのことを理解していれば楽勝ですよ!!
早速式を組み立てて行きます。
1:入力にそれぞれ重みをかける(入力をX、重みをWとします。)
重みとはシナプスの伝達効率のことでしたね。
2:掛け合わせた値の総和をとる
(k とは添字でk種類の入力と重みをかけたものが存在しています。)
3:その総和にバイアスを加える
バイアスはニューロンの感度でした。
4:活性関数に代入(活性関数をf(x)とする。)
活性化関数に代入して複雑な表現をしています!
完成です!!なんとかニューロンのモデルを数式に変換することができました!
一見難しそうな数式でも原理を理解していれば頭に入りやすいですね
参考文献
はじめてのディープラーニング -Pythonで学ぶニューラルネットワークとバックプロパゲーション- (Machine Learning)
- 作者: 我妻幸長
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2018/08/28
- メディア: 単行本
- この商品を含むブログを見る