トピックス プログラム、シミュレーション

複数の情報から判断するシステム

投稿日:

本日から機械学習の一部である「ニューラルネットワーク」の話を何回かに分けてします。「ニューロン」は神経のことですね。次の資料ご覧ください。

資料はこちら → ニューラルネットワーク

Excelファイルです → 活性化関数

p.1 左上は神経細胞の一つです。他の感覚器官からの入力信号を受けた神経細胞はある「閾値」を超える刺激を受けると、電気信号として、別の細胞に出力します。 これと同様な信号処理を電子機器の中で実現しようというアルゴリズムが「ニューラルネットワーク」と言います。右図がそのモデルですが、入力信号は2つだけでなく複数存在し、これに対して出力は0か1のような信号になります。 例えば、猫の写真入力データとすると、形、色など数多くのデータが入力となります。これらのデータに重みwを掛けた信号を処理して、犬ではなく「」という出力が得る必要があります。もっと進んで「シャムネコ」と出力されるかもしれません。 人間は一瞬のうちに複数の情報から判断して認識しています。 これをAIにさせようと種々のアルゴリズムが開発されています。

簡単なモデルで説明します。という入力を考えます。組み合わせは(0,0)(0,1)(1,0)及び(1,1)の4種類あります。×という「論理積」と+という「論理和」を考えます。上の表が論理積、下の表が論理和です。計算結果をそのまま出力とできます。

p.2 神経細胞では閾値を超えた場合に出力しますので、上述の論理積あるいは論理積をそのまま出力するのではなく、閾値という概念を加えます。活性化関数s=w+w-θを用います。重みw及びは各々0.5等しくし、閾値θ論理積の場合0.6論理和の場合0.4にします。sが負の場合、出力y=0sが0以上の正の場合出力y=1として、各組み合わせについてsを計算します。出力yは論理積及び論理和と同じ値になります。

p.3 横軸x縦軸xとした時、(0,0)(0,1)(1,0)及び(1,1)の4つの点を●で書き入れてあります。ピンク論理積の活性化関数緑線論理和の活性化関数です。(0,0)及び(1,1)の点は、何れの活性化関数を用いても必ず出力yは0か1になりますが、(0,1)及び(1,0)の点は閾値の値により出力は0にも1にもなり得ます。 今回用いた活性化関数は右下のグラフです。 今回及びは4つの点を代表していますが、実際は無数の組み合わせがあります。それらの点を閾値を調整しながら識別していくことになります。

p.4 実際は複数のデータがあるので、一般式を書いておきます。活性化関数sは、シグモイド関数、ハイパボリックタンジェントあるいはランプ関数などが使われているようです。

本日はここまでです。 いろいろなWebsiteを見ながら、p.4のグラフに考えをまとめるのに苦労しました。

-トピックス, プログラム、シミュレーション

Copyright© 進化するガラクタ , 2019 All Rights Reserved Powered by STINGER.