"0"からAI~ふらっとどうぞ~

自分は独学でゼロからAIについて学んでいる学生です。このブログは主にAIやネットワークの基本を理解できるようにブログという形で分かりやすくアウトプットしたものです。AIについて学びたいなと思っている方。ぜひこのブログで勉強して見てください!またある程度AIについて知識がある方も何かをを得るヒントにしてくてくれれば幸いです。Twitterアカウントもあるので是非フォローお願いします!

基礎の基礎の基礎。コンピューターからニューロンのモデル化

 

みなさんこんにちは、あけましておめでとうございます

今日も張り切って活きましょう。

 

 

かなり前のことですが、前回は一旦AIから離れて情報伝達の仕組みを生物学的な観点から勉強しました。

まだ見ていない方は是非確認してみてください。

zawapython.hatenablog.com

 

今日は学んだ生物学の知識を組み合わせてコンピューター上でモデル化された

AN(Artificail Neuron)=人口ニューロンについて説明します。

神経伝達の基本的な仕組みをちょっと理解するだけでかなり自分の理解が深まっている

と感じられると思います。

 

〜今日の内容・参考文献〜

・まずはANの入力から出力までの流れを理解しよう

・意外と簡単?数式での理解。

・参考文献

 

ANの入力から出力までの流れを理解しよう

 

ニューロンはこのようにモデル化されます。

 

f:id:zawapython:20190104141440p:plain

 

ニューロンが情報を多く受け取るための枝分かれした樹状突起があるように、

モデル化されたニューロン(AN)でも多くの情報が受け取れるように

入力が複数存在します。この場合だと3つですね!

 

受け取った入力それぞれには結合荷重とも言われる「重み」をかけます。

この重みはニューロンで言うところのシナプスの伝達効率に例えられます。

重みの値が大きいほど伝達効率がいい=出力する上で重要な要因となる

と言えてニューロンの表現力を決定する大切な要因です。

 

入力と重みを掛け合わせた値の総和に「バイアス」を足します。

「バイアス」とはニューロンで言うところのニューロンの感度に例えられ

バイアスの大きさに応じてニューロンの興奮しやすさが設定されます。

 

これらの値を「活性化関数」へと代入します。活性化関数とはニューロンを興奮させる関数で出力への最終段階であり、ニューロン複雑な表現をするために必要不可欠な存在です。(今後活性化関数についてブログをあげる予定です。)

 

こうしてようやく出力を得られ、次のニューロンに入力値として伝達されて行きます。

 

ニューロンの入力から出力までの流れを理解した上で次は数式で理解しましょう。

 

 

 意外と簡単?数式での理解。

次にこれらを数式として捉えてみましょう。

ゴールはこの式です。

f:id:zawapython:20181203204503p:plain・・むずそう

(ちなみに左辺はYです)

複雑そうですが大丈夫です。さっきのことを理解していれば楽勝ですよ!!

早速式を組み立てて行きます。

 

:入力にそれぞれ重みをかける(入力をX、重みをWとします。)

              f:id:zawapython:20181203205003p:plain

重みとはシナプスの伝達効率のことでしたね。

 

:掛け合わせた値の総和をとる

             f:id:zawapython:20181203211434p:plain

 (k とは添字でk種類の入力と重みをかけたものが存在しています。)

 

 

3:その総和にバイアスを加える

           f:id:zawapython:20181203211724p:plain

バイアスはニューロンの感度でした。

4:活性関数に代入(活性関数をf(x)とする。)

              f:id:zawapython:20181203211904p:plain

 活性化関数に代入して複雑な表現をしています!

 

完成です!!なんとかニューロンのモデルを数式に変換することができました! 

一見難しそうな数式でも原理を理解していれば頭に入りやすいですね

 

参考文献

 

 





 

当ブログはAmazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。