![見出し画像](https://assets.st-note.com/production/uploads/images/43830407/rectangle_large_type_2_5cb2883ac20adcae5381915ae286fa81.jpg?width=1200)
漏れ積分と畳み込み積分、そして神経回路における畳み込み積分の可能性
畳み込み積分がわかりません。
よくpythonでデータをいじったりするのですが、行列の畳み込みがイマイチわからない場合が多くて、その都度調べています。
そうして調べている中で、ツールとして使っていた畳み込み積分が研究内容に関連してきたので、その覚書を書いておこうと思います。
------・・・------
畳み込み積分は、私は「移動平均」を取るのに使います。データのノイズを除去して滑らかにする操作ですね。次のリンクがわかりやすいです。
https://deepage.net/features/numpy-convolve.html
ただ別の説明をみると、移動平均以外にも使われるそうですね。ここが発想の原点でした。
下のリンクでは「ある変数の値が時間に応じて減衰する」といった説明をしているようです。
https://www.yukisako.xyz/entry/tatamikomi
実はここで出てくるグラフ(徐々に減衰するグラフ)が、神経活動のモデルに使われる漏れ積分 (leaky integration)に似ているんです。
下記の英語Wikiのleaky-integrate-and-fire modelがそれです。
https://en.wikipedia.org/wiki/Biological_neuron_model#Leaky_integrate-and-fire
これをみて、畳み込み積分って実は漏れ積分と同じものなのか?という疑問を持ちました。
またさらに調べてみると、畳み込み積分は畳み込み方によって微分のような処理になったりするそうなんです(参考)。
神経細胞も神経間の相互作用によって微分のような計算をする例が知られています。
ここまできて、もしかして神経間の相互作用は「畳み込み積分」の言葉で一般化できるのでは?と思ったわけです。
確かにヒトの脳を模して作られたニューラルネットワークはこの畳み込みを利用しています。ですからその大元であるヒトの脳も畳み込みでモデル化されています。その手の研究に不案内なので、これから調べていく段階です。
ただ僕が知りたいのは、「シナプスレベルの相互作用も畳み込み積分で一般化できるか?」ということです。
先ほどのニューラルネットの話では、脳の領域ごとの処理どうしの関係が畳み込みでモデル化できるという話かと思われます(繰り返しですが、まだ調べられていないので、正確にはわかりません)。
シナプス前の活動を、各シナプスに固有の畳み込み方(これはシナプス前後で使われる分子シグナルに応じて変わるはずです)でシナプス後の活動が表現できる、と統一的に説明できると嬉しいですね。色んなモデルが乱発されるのは状況をややこしくするだけですから。
さて私はこの妄想を元に文献を調べてみるとしましょう。
では今回はこんな感じの適当な妄想の垂れ流しで終わろうと思います。
この辺に詳しい方、コメントなりtwitterのDMなりでご意見もらえると私が喜びます。ぜひぜひ。
(その他、畳み込み積分の説明リンク)
0/1的なズラし関数でのconvolve https://qiita.com/Seiji_Tanaka/items/1b8c7bed7bdffd3c688f
imagingにおけるbinのような説明 https://techacademy.jp/magazine/26420
np.convolveのmodeのイメージ解説 https://compute-cucco.hatenablog.com/entry/2019/03/22/144209
この記事が気に入ったらサポートをしてみませんか?