AIを知りたい!「人工ニューロン」と「パーセプトロン」

こんにちは、Coffeeさんです。

前回は、まずは触ってみよう!ということで、ソニーネットワークコミュニケーションズ社の「Nural Network Console」というGUIツールを、用語や理論などわからない状態で、いきなり試してみちゃいました。(前回記事

今回は、GUIツールから離れて、深層学習やAIの基本になっている考え方について学んでいきます。

・・・とはいえ何から学んだらいいのやら。

いろいろ調べてみましたがこちらのオンライン書籍(無料※)を参考に学習をはじめました。
※「無料」という点、すごくありがたいです(笑)

ニューラルネットワークと深層学習
http://nnadl-ja.github.io/nnadl_site_ja/index.html

■人工ニューロン


巷で話題のディープラーニングは多層のニューラルネットワークによる機械学習手法です。

機械学習とは、人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法のことです。

で今回は、このニューラルネットワークについてお勉強です。

ニューラルネットワークとはこんなイメージです。これが人工ニューロンと呼ばれているものです。

nn01

なんですかこれ?ってなると思います。Coffeeさんもなりました。はい。
ここで、人間が自然に行っている学習能力と同様のという意味を思い出してください。
nn02

そうです!ニューロンとかシナプスがつながるとか呼ばれている脳の活動を抽象化して表しています。

では、その辺を詳しく見ていきましょう。

nn03

■温泉に行こう!


今年は寒いですね。あまりの寒さに温泉でも行ってゆっくりしたいです。
そこで「温泉に行くかどうか決める」ということを表してみます。

まず温泉に行くかどうか決めるのに影響を及ぼす要因が3つあるとします。

・「家族も行きたがっているか」
・「2時間以内で行ける距離にあるか」
・「旅行費用は予算内か」

これらを人口ニューロンに当てはめます。色は黄色から青にしましたww

2018-02-16_13h45_39

このように人工ニューロンを表すことが出来ました。
見ようによっては3つの要員がINPUTになって、「温泉に行く」がOUTPUTされているように見えますね。

さて、ここで私たち人間とって大事な要素が抜けています。

例えば、旅行費用が考えていたよりも高くなってしまっても温泉に行きたい人もいます。
例えば、飛行機に乗って2時間以上かかってもいいから温泉に行きたいと思う人もいます。
例えば、家族がなんと言おうと温泉に行きたいと思う人もいると思います。(強引)

■パーセプトロン


パーセプトロンとは、人工ニューロンの1種です。
パーセプトロンは複数の二進数を入力に、ひとつの二進数を出力します。
さきほどの「温泉に行く」人工ニューロンをパーセプトロンにすると・・・。

(INPUT)

家族も行きたい     ⇒ 1
家族は行きたくない   ⇒ 0

2時間以内で行ける距離  ⇒ 1
2時間以上の距離     ⇒ 0

旅行費用は予算内    ⇒ 1
旅行費用は予算を超える ⇒ 0

(OUTPUT)

温泉に行く     ⇒ 1
温泉に行かない   ⇒ 0

このように表現することが出来るパーセプトロンは、
「温泉に行く」意思決定を表現することができます。

たとえば、家族も行きたがっているが、2時間以上の距離で、旅行費用は予算を超える とします。

2018-02-16_13h45_53

ですが、あなたは2時間以上の距離がある温泉には絶対に行きたくないとします。
いくら家族が言っても、旅行費用が安くても、遠い温泉はめんどくさくて行きたくない!とします。
つまり、あなたにとって2時間以内の距離は温泉に行く意思決定に対して大きな影響を与える要因になるわけです。
これをパーセプトロンは「重み」として表すことができます。

2018-02-16_13h46_06

さて、温泉に行く!という意思決定のパーセプトロンが見えてきました。
さらに、温泉に行く!という決定を下すための閾値を設定します。

2018-02-16_13h46_20

閾値を3に設定しました。

ここでINPUTの計算をしてみます。

家族も行きたい 1 × 2 ⇒ 2
2時間以上の距離 0 × 3 ⇒ 0
旅行費用は予算を超える 0 × 1 ⇒ 0

INPUTの総和は2です。

閾値 > INPUT (3 > 2)となり、「つまり温泉に行かない!」という意思決定になります。

2018-02-16_13h46_32

重みと閾値を変化させることで、「温泉に行く」という意思決定も下せます。

当然ながらパーセプトロンは人間の意思決定を完全に再現したものではありません。
しかし、複数の入力情報に重みを付けて判断を下すことが出来ました。
ということは、パーセプトロンを複雑に組み合わせたネットワークなら、かなり微妙な判断も出来るようになりそうです。

nn04

■まとめ


今回は、人工ニューロンの一種であるパーセプトロンをみてきました。
パーセプトロンは機械学習の基礎となっているみたいです。

ディープラーニングやAI、機械学習、ニューラルネットワークなど、関連する用語がたくさんあります。
私も勉強しながらですが、皆さんにわかりやすいように解説出来たらいいなーーっと思っています。

ではでは