人工知能:AND/NAND/ORパーセプトロンの学習

パーセプトロン(「ニューロンの発火」)について述べていこう。これはブール代数と同じように応用できて、しかも深層学習をするには必須の知識らしいが、どうやらパラメータに適合するものを作るのがややこしかった。あと書籍から読み込んでもSpyderのGUIベースからの適合にしなければ出力がめんどくさいのでそうしてみた。左にソースを書いて、右下でアウトプットのためのデータを入れる。

めんどくさいけど、こういうことだ(一度紙に書き出すとよくわかる)。

x1 w1  x2 w2 tmp theta 出力
1 * ○ + 0 * □ = 決 > ◇    1
0 * ○ + 1 * □ = 決 > ◇    1
1 * ○ + 1 * □ = 決 > ◇    1
0 * ○ + 0 * □ = 決<=◇    0

このような条件を満たすw1(○)w2(□)theta(◇)のパラメータを決定する。w1w2が導ければtmpは自動的に決定する。それゆえthetaのパラメータについて考えてほしい。要するにこれは左右対称になっているのがORの条件になっている。だからx1が1もしくはx2が1のときも同じ結果(出力)1になっているのだ。要するにw1とw2に入る条件パラメータは同じ可能性が極めて高い(厳密な数学的な条件を除けば)。論理回路で扱ったように(http://mjdkoisuru.review/2016/08/03/76)NANDですべて代替できるのでこのあたりも踏まえておきたい。

このあたりを考えれば、答えはひとつではなく、またパラメータの与え方もわかるだろう。

marikoi

ここの主筆・共同管理人。ぶっちゃけ狂人。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA