2025-02-01から1ヶ月間の記事一覧

『ホップフィールドモデルとその後の展開』という講演動画

YouTubeにあったので、メモ。 www.youtube.com

ホップフィールドネットワークの想起過程のPython実装

はじめに 前回の記事ではC言語でHopfieldモデルの想起過程を実装していた。 tam5917.hatenablog.com 当然、Pythonでも実装可能なので、その実装を紹介するのが本記事の主旨である。 実装 以下に置いた。Enjoy! hopnet_dynamics.py 実装している機能そのもの…

ホップフィールドネットワークの想起過程を再現してみた

はじめに 甘利先生らは、ホップフィールドネットワーク(以降 Hopfieldモデル)について、想起過程のダイナミクスをかつて研究されていた [1]。 甘利先生の著書 [2] にもまた、想起過程の計算機シミュレーションの図が示されている。 先日、Hopfieldモデルを…

はてなブログで数式を書く設定

調べると見つかるのだけど,ここにも書いておく. <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS_CHTML.js"> </script> MathJax公式のconfigはこちら Combined Configurations — MathJax 2.7 documentation はてなブログの設定は 「デザイン→カスタマイズ→ヘッダ→ブログタイトル下」のところに上記のスクリプトを置けばOK.

clangdの設定に書いたもの

設定ファイルは .clangd である。 こんな感じで、-Wallをつけるのがよい。すると、例えば unused variable をコンパイル前に検出してくれたりする。 CompileFlags: Add: [-Wall, -I/opt/homebrew/opt/gsl/include] -I からはじまるものは、他のライブラリ(…

GNU Scientific Library (GSL) を使って擬似逆行列(pseudo-inverse)を計算するサンプルコードを書いた

はじめに 擬似逆行列の計算をC言語で実装する必要に迫られた。手段を探すと、GNU Scientific Library (GSL) が便利に使えそうだった。 そこで、簡単に使えるようにしたサンプルコードを公開するのが本記事の主旨である。 準備:GSLのインストール Ubuntuなら…

ランダムビットパターン系列を連想記憶するホップフィールドネットワークをC言語で書いてみた

はじめに 前回の記事でホップフィールドネットワークのPythonを実装を書いたのだった。 tam5917.hatenablog.com プログラムを高速実行させたく、今回C言語で書き直したということ。 実装 以下に置いた。Enjoy! hopnet_1d.c · GitHub main関数における処理の…

ランダムビットパターン系列を連想記憶するホップフィールドネットワークをPythonで書いてみた

はじめに Pythonでホップフィールドネットワークを書いた記事はいくつか見つかる [1-3]。参考記事 [1] で紹介されている実装では、2次元のビットパターン画像を記憶・想起する仕様になっている。しかし、ホップフィールドネットワークの本質的な動作原理を理…

Psuedo-LikelihoodをRBMの損失関数として使ったら学習はうまくいくのか

はじめに Psuedo-Likelihood (PL) はRBMの学習の進行を測定するための指標として使われている。scikit-learnの BernoulliRBM クラスには PLを計算するための score_samples メソッドが実装されている。 scikit-learn.org さてscikit-learnで計算可能ならば、…

RBMの学習アルゴリズムと損失関数について

はじめに 前回の記事でRBMを実装した。 tam5917.hatenablog.com この実装では、RBMの損失関数は Contrastive Divergence (CD) アルゴリズムを考慮すると,損失関数はvisible層v0から計算される自由エネルギー(F0)と、再構成されたvisible層vkから計算され…