fullseye

graph_conductance_states — CONNGRAPH circuit op

使い方

配線 W をそのまま回路として回した膜電位の時系列 (T, n)(matrix、学習なし)。

ハエの視葉で「掛け算」に見えていた非線形の正体は、樹状突起のコンダクタンス比だった (Groschner ら 2022: 定常では Vm = Σgᵢ Eᵢ / Σgᵢ)。同じ形の式が、コネクトームを 配線として固定した全脳モデルの標準形でもある(Lappalainen ら 2024: τᵢ V̇ᵢ = −Vᵢ + Σ sᵢⱼ + V_rest)。この op はその動的な版を、conn_graph 1 枚と外部入力 1 枚だけで回す:

τ dVᵢ/dt = −(Vᵢ − e_rest) + g⁺ᵢ (e_exc − Vᵢ) + g⁻ᵢ (e_inh − Vᵢ)

g⁺ は W の正の重み、g⁻ は負の重みの絶対値を、前シナプス側の 放出 f(V) で重みづけて足したもの(drive の正負も同じ向きに足す)。重みは 与えられたまま使う —— 学習も当てはめも一切しない。時定数が入力で縮む (実効 τ = τ/(1+g⁺+g⁻))ので、これは liquid time-constant 型の力学そのものだが、 パラメータは配線と定数だけで、勾配で決めた数は 1 つも無い。

W: (n, n) の重みつき隣接行列(W[pre, post]、正 = 興奮性、負 = 抑制性)。 drive: (T, n) の外部入力。正はそのノードを e_exc へ、負は e_inh へ引く コンダクタンスとして入る(電流ではない —— 電流だと下の有界性が壊れる)。 dt_s / tau_s: 刻みと膜時定数[秒]。e_rest / e_exc / e_inh: 静止電位と 2 つの反転電位。 release: 前シナプス放出 f(V)。"relu" は gain·max(V, 0)、"sigmoid" は gain/(1+exp(−slope(V−v_half)))。どちらも非負で、負のコンダクタンス (物理的に存在しない)を作らない —— それが下の有界性の前提。 v_half / slope: シグモイドの半値と傾き。gain: 放出の利得(非負)。 v0: 初期状態 (n,)。既定は全ノード e_rest。

各段はコンダクタンスを固定した厳密解で進める(V ← V∞ + (V − V∞)e^{−dt·g_tot/τ}) ので、刻みを粗くしても発散しない。

閉じた式で検査できること:

ValueError: 正方でない / 非有限の W、(T, n) でない drive、 非正の dt_s / tau_s、負の gain、未知の release、長さの合わない v0。

詳しい使い方ガイド

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(matrix を入力に取れる)

reservoir_states · reservoir_encode · ridge_readout · ridge_predict · graph_activation_latency · graph_activity_spread · points_activity_video · graph_layer_propagate

同カテゴリ(circuit)

—


Provenance: conngraph.py — CONNGRAPH operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.