提案:gaussian modelとhopfield modelを1つのコードに統合する
Closed this issue · 4 comments
keisuke-yanagisawa commented
Hopfield型NNはGaussian Machineの出力分散 σ=0 のケースで、その他は変化はないはず。コードはなるべく小さくした方が今後の開発のために有利なのと、主にGaussian Machineを使う、という議論になったので、
Hopfield型NNはσ=0にしたGaussian Machineとして対応する方が良いのではないか。
- Advantage
- 保守性:コード修正のポイントが減少する
- DIsadvantage
- 速度:Hopfield型NNの実行時にも(不要な)乱数生成が発生するので、速度が低下する
- ただし、計算がO(N^2) (実際には疎結合なのでO(N)程度かもしれないが)なのに対し、乱数生成回数はO(N)で定数項もそこまで大きくないので、ほとんど速度性能に現れないかも?
- 速度:Hopfield型NNの実行時にも(不要な)乱数生成が発生するので、速度が低下する
Tab-Ki commented
ありがとうございます。
src/hopfield_model.hpp
, src/hopfield_model.cpp
を削除し、optionにてhopfieldが指定された場合はノイズの分散σ=0
としてGaussian Machineを実行するようにしました。
keisuke-yanagisawa commented
次回以降からで良いので、Issueに関するcommitを行う際にはコミットタイトルの一番最初に #4 のようにIssueの番号を付与すると良いと思います。そうすると自動的にこのIssueに、Commitが紐づいてくれます。
「#4 remove hopfield_model.cpp
」とか。
Tab-Ki commented
ありがとうございます。
pd-blast2の時にそういった練習をしていたはずなんですが、完全に忘れてました…。以降は付けようと思います。
keisuke-yanagisawa commented
いえいえ。よろしくお願いします 👍