中間発表 ヘッブの法則& ホップフィールドネットワーク 15K0008 門木斗夢 15K0039 山下航 ヘッブの法則 – hebb.py メンバ変数 – memory & memory_size メンバ変数 – memory & memory_size memory = [ ] : 二次元配列 memory_size = 0 : memoryの大きさ メンバ変数 – memory & memory_size メンバ変数 – memory & memory_size オブジェクト生成の際に、 要素がすべて「0」の二次元配列を作成、 その大きさを保存する。 メンバ関数 – learn & remember メンバ関数 – learn & remember 学習データの形式が 無効(sizeが一致しない)の場合、行わない 有効である場合、学習データに基づいて結びつきを学習させる メンバ関数 – learn & remember メンバ関数 – learn & remember 学習データの形式が無効(sizeが一致しない)の場合、行わない 有効である場合、 memory と学習データの内積を求めて 正規化することで現在の memory の状態で 学習データから何を思い出せたかを判別する。 関数 – learn & remember この2つの関数 learn と remember は 同じ名前のメンバ関数の動作を視覚できるようにするもの ホップフィールド – hopfield.py 関数 – learn_event 関数 – learn_event 引数 event は結びつきを変化させたい2つのニューロン 引数 links は今までの学習内容を保存した行列を表す 関数 – learn_event 関数 – learn_event ネットワークのすべてのニューロンの結びつきについて、 結びつきを強めたいニューロン同士なら +1 をして強める 強めたい要素とそうでないニューロンの時は -1 をして弱める そうでないニューロン同士の場合、 +1 をして強める 関数 – run_hopfield 関数 – run_hopfield 刺激を与えたいニューロンが neurons 今までの学習内容を保存した行列 links 行列 links に ベクトル neurons を掛け、 それを正規することで思い出せた結びつきを保存する 関数 – test 関数 – test 関数 test はホップフィールドネットワークの実行を 実際に行なうプログラム print を活用し、視覚化している
© Copyright 2024 ExpyDoc