メインコンテンツへスキップ
見出し画像
Photo byomori55

Excel に人工知能を実装せよ

     ここで生物の脳が情報を伝達する仕組みを簡単に説明しましょう。
     脳が受け取った 1 次情報は、脳神経細胞ニューロンからニューロンへ次々と伝わる中で次第に集約されて意味ある情報になります。
     その際、すべての情報が同じ強度で伝わるわけではありません。あるものは強く、あるものは弱く伝わることで伝わった情報が意味あるものになるのです。
     さて、情報が伝わる強度は何によって決まるのでしょうか。それは「結果(認知・反応)が最適になるように」決まります。
     では、結果が最適かどうかをどうやって判断するのでしょうか。それは「過去の経験」から判断します。経験する回数が増えれば増えるほど、精度が上がりま す。
     この仕組みを模してコンピュータで実現しているのがニューラル・ネットワークです。人工知能が機械学習する際の根幹をなす仕組みです。
     もう少し詳しく見ていきましょう。

    ① ニューロンからニューロンへの情報の伝わり方は一方通行です。逆戻りはしません。
    ② ニューロン同士のつながり方は多対多です。つまり、1つのニューロンから複数のニューロンに信号を送り、1つのニューロンは複数のニューロンから信号を受け取ります。
    ③ 各ニューロンの状態は on(動)か off(静)かのいずれかです。on ならばその信号が次のニューロン に伝わり、off ならば伝わりません。つまり、ニュー ロンが取り得る値は1か0かのどちらかです。
    ④ ニューロン同士を結ぶ接点をシナプスと呼びます。 シナプスが信号を送る際の強度は、シナプスごとに異なります。
    ⑤ 信号を受け取る側のニューロンは、複数のニューロンから送られる信号の総和を信号として受け取ります。
    ⑥ その値がある値(閾値)より大きければニューロンは on の状態になり、閾値より小さければ off のままです。
    ⑦ シナプスが送る信号の強度、ならびにニューロンが on になるための閾値は、最終的な認知・反応が最適になるように決まります。

    画像1

     以上のことを図にしてみました。
     こうして見ると、あれっ、Excel のシートのように見えませんか?
     ニューロンがセルです。そう言えば、英語の cell は細胞ですね。そう考えると、脳神経細胞ニューロンを Excel のセルに見立てるのは理に適っているような 気がします。
     図中の線分の太さ、シナプスが送る信号の強度ですが、これが関数の係数です。
     では、ニューロンがシナプスを介して信号を送る仕組みを、Excel の関数に落とし込んでみましょう。

    ① A 列→ B 列→ C 列→...と順に値が決まっていきます。
    ② A 列の複数のセルを参照して B 列のそれぞれのセル値が決まります。
    ③ 各セルの値 a1 , a2 , ... , b1 , b2 , ... は1か0かのどちらかです。
    ⑤ 関数式は1次関数「= k1a1 + k2 a2 + …」です。
    ④ 係数 k1 , k2 , ... はつながり(図中の線分)ごとに異なる値を取ります。(ですから本当は ka1b1のように書くべきものです)
    ⑥ その値が β1(各セル=ニューロンに固有の閾値)より大きければセル B1の値 b1が1に、β1より小さ ければ b1 = 0 になります。IF 関数で書けそうです。

     ここまでは何とか Excel に実装できるでしょう。
     こうなると、最後に残るのは⑦です。結果が最適(期待値が最大)になるように「どうやって係数(シナプ ス)k1 , k2 , ...と閾値 β1 , β2...を決めれば良いか」です。
     Excel には「ソルバー」という機能があります。それを使えば、何とかなるかもしれません。
     ソルバーとは「200 個までの変数の値をいろいろ動かして、目的セルの値が最大または最小になるような変数を見つける」機能です。なかなか便利な機能です が、弱点もあります。それは「最大値・最小値を見つける」と言いながら、実は「極大値・極小値を見つけている」にすぎないことです。Excel の内部で「変数 の値をちょっとずつ動かして、目的セルの増減を調べている」ので仕方ないのですが、私がやってみたところ、この点がネックになりました。
     では、以上のことを参考にして「Excel に人工知能(っぽいもの)を実装」してください。
     やれるものなら、どうぞぜひやってみてください。

    ◇      ◇      ◇

     私が小技を駆使して Excel で人工知能「っぽいもの」が何とかできたといえばできたのですが、高校生にやらせられるような難易度のものはまだ未完成です。
     でもまぁいいじゃありませんか。考え方が分かって、チャレンジして、そこそこいいところまでは行けたのなら万々歳だと思いますよ。

    ◇      ◇      ◇

    〜 使える確率の学び方 〜
    ▷ 条件付き確率からベイズ推定へ
    ▷ 期待値から機械学習へ    
    ▷ Excel に人工知能を実装せよ  

     
     
    情報科・数学科教員にして   作家・旅人・芸人 AI評論家・火山ハンター

    あなたへのおすすめ