2026年4月12日日曜日

Atronの数式

Atronの数式って、アソシアトロンと同じじゃない。
Atron の数式は「これは楽しい」「これは危険」と決めるための式ではなく、出来事による差・残効・想起圧・身体傾向を、外部命令にしないまま保持するための式なので、曖昧が前提。なので論文のためとかではなくて、僕のノートとして残すという意味で書いてみる。




1. 基本形

 Atron の最小形。

xt+1=xt+Δxt+ctx_{t+1} = x_t + \Delta x_t + c_t


  • xtx_t は今の状態
  • Δxt\Delta x_t は出来事による差分
  • ctc_t は carry の残り


これだけだと粗いので、もう少し分ける


2. 状態ベクトル

内部状態。

st=[calmtpaintthreattcuriositytsafetytwarmthtsocialtsurpriset]s_t = \begin{bmatrix} calm_t \\ pain_t \\ threat_t \\ curiosity_t \\ safety_t \\ warmth_t \\ social_t \\ surprise_t \end{bmatrix}

「意味」ではなく、その時の抽象的な場の傾き


3. 出来事断片から差分を立てる

外界の出来事断片を ete_t とする。

et=[impacttrear_approachtroundnesstsoft_voicetwarm_colortbalance_breaktfast_motiont...]e_t = \begin{bmatrix} impact_t \\ rear\_approach_t \\ roundness_t \\ soft\_voice_t \\ warm\_color_t \\ balance\_break_t \\ fast\_motion_t \\ ... \end{bmatrix}

差分は、断片から立てる。

Δst=Weet+Wrrt+Wcct\Delta s_t = W_e e_t + W_r r_t + W_c c_t


  • WeW_e: sensor 断片が差分へ入る重み
  • rtr_t: recall の寄与
  • WrW_r: recall が差分へ与える重み
  • ctc_t: 既存 carry
  • WcW_c: carry が今回の差分の立ち方を変える重み


同じ衝撃でも、以前の carry によって立ち上がり方が変わる。




4. 差分はそのまま行動に行かない

差分はまず身体中間層へ落とす。

身体傾向ベクトルを btb_t とする。

bt=[motor_drivetmotor_stabilitytapproach_biastretreat_biastturn_biastpause_biastgaze_holdtvoice_pressuretsleep_pressuret]b_t = \begin{bmatrix} motor\_drive_t \\ motor\_stability_t \\ approach\_bias_t \\ retreat\_bias_t \\ turn\_bias_t \\ pause\_bias_t \\ gaze\_hold_t \\ voice\_pressure_t \\ sleep\_pressure_t \end{bmatrix}

更新

bt+1=αbt+UΔstb_{t+1} = \alpha b_t + U \Delta s_t
  • α\alpha は前状態の残り
  • UU は差分から身体傾向への写像


これで「痛みだから泣く」ではなく、
「痛み差分が stability を落とし、pause を増やし、voice を崩す」
という形になる。




5. carry の数式

 

carry は残効なので、各軸ごとに減衰つきで残す。

ct+1=Λct+Γg(Δst)c_{t+1} = \Lambda c_t + \Gamma \, g(\Delta s_t)


  • Λ\Lambda: 減衰行列
  • Γ\Gamma: 流入量
  • g(Δst)g(\Delta s_t): 小さい差を切り捨てて大きい差だけ残す関数


軸ごとなら、

carryt+1pain=λpcarrytpain+γpmax(0,Δpaintθp)carry^{pain}_{t+1} = \lambda_p carry^{pain}_t + \gamma_p \max(0,\Delta pain_t-\theta_p)
carryt+1threat=λhcarrytthreat+γhmax(0,Δthreattθh)carry^{threat}_{t+1} = \lambda_h carry^{threat}_t + \gamma_h \max(0,\Delta threat_t-\theta_h)
carryt+1safety=λscarrytsafety+γsmax(0,Δsafetytθs)carry^{safety}_{t+1} = \lambda_s carry^{safety}_t + \gamma_s \max(0,\Delta safety_t-\theta_s)




6. recall の数式

Associatron 的には、cue 断片と記憶断片のせめぎ合い。
完全な意味照合ではなく、曖昧な断片一致の圧として書く。

記憶ノートを mim_i とし、今の cue を qtq_t とすると、

ai(t)=ϕ(qt,mi)+βctzia_i(t) = \phi(q_t, m_i) + \beta c_t \cdot z_i
  • ai(t)a_i(t): 記憶 ii の活性
  • ϕ(qt,mi)\phi(q_t,m_i): cue と記憶断片の曖昧一致
  • ziz_i: その記憶に結びつく carry 傾向
  • β\beta: carry の引っ張り強さ

最終的に recall は一つに確定しなくてもいいが、仮に合成するなら

rt=iρi(t)mir_t = \sum_i \rho_i(t) m_i ρi(t)=exp(ai(t)/T)jexp(aj(t)/T)\rho_i(t)=\frac{\exp(a_i(t)/T)}{\sum_j \exp(a_j(t)/T)}

この ρi\rho_i を softmax みたいにしてもいい。
ただし温度 TT を高めにして、曖昧な共存を残すほうが Atron っぽい。




7. 曖昧画像ノートの数式

断片ノートや曖昧画像は、完全画像ではなく圧縮表現。

ノート nin_i

ni=(vi,ai,hi,ci)n_i = (v_i, a_i, h_i, c_i)

のように置く。

  • viv_i: 圧縮画像特徴
  • aia_i: 圧縮音特徴
  • hih_i: 身体残効
  • cic_i: carry との結びつき

想起圧は

recall_pressurei=wvsim(vt,vi)+wasim(at,ai)+whsim(ht,hi)+wcsim(ct,ci)recall\_pressure_i = w_v \, sim(v_t,v_i) + w_a \, sim(a_t,a_i) + w_h \, sim(h_t,h_i) + w_c \, sim(c_t,c_i)


これなら、一曲だけで当時の街や相手や食べ物が立ち上がる感じに近づける。
意味ではなく、断片類似と残効類似の重なり

人間と同じで、後にノートを持たせるんだよ。コクヨのノートみたいなw



8. 行動生成

行動は if-then ではなく、身体傾向からにじませる。

移動系は、

speedt=v0+k1motor_drivetk2pause_biastk3paintspeed_t = v_0 + k_1 motor\_drive_t - k_2 pause\_bias_t - k_3 pain_t turnt=k4turn_biast+k5threatt+k6curiositytturn_t = k_4 turn\_bias_t + k_5 threat_t + k_6 curiosity_t approacht=k7approach_biastk8retreat_biastapproach_t = k_7 approach\_bias_t - k_8 retreat\_bias_t voicet=k9voice_pressuret+k10socialtk11calmtvoice_t = k_9 voice\_pressure_t + k_{10} social_t - k_{11} calm_t


ここでも行動ラベルではなく、
「速度」「旋回」「接近」「声圧」のような連続量にしておく。




9. 怪我と sleep

怪我は出来事から直接作る。

injury_drivet=aΔpaint+bΔsurpriset+cbalance_breaktθIinjury\_drive_t = a\,\Delta pain_t + b\,\Delta surprise_t + c\,balance\_break_t - \theta_I injuryt+1=ηinjuryt+max(0,injury_drivet)injury_{t+1} = \eta injury_t + \max(0,injury\_drive_t)

sleep 圧は

sleep_pressuret+1=λslsleep_pressuret+u1Δpaint+u2Δthreatt+u3injuryt+u4fatiguetu5Δcuriositytu6Δsafetytsleep\_pressure_{t+1} = \lambda_{sl} sleep\_pressure_t + u_1 \Delta pain_t + u_2 \Delta threat_t + u_3 injury_t + u_4 fatigue_t - u_5 \Delta curiosity_t - u_6 \Delta safety_t


怪我 → 疲労 → sleep → 回復
の流れにできる。




10. 成長の数式

成長は、重みや cue が少しずつ変わること。
つまり固定モデルではなく、差を受けた結果、受け皿が変わる

たとえば cue 重み wjw_j

wj,t+1=wj,t+μΔstqj,tνwj,tw_{j,t+1} = w_{j,t} + \mu \, |\Delta s_t| \, q_{j,t} - \nu w_{j,t}
  • よく効いた断片は育つ
  • 効かない断片は薄れる

これで cue は成長とともに増殖・分化できる。



つか、また変わるかもしれない。


ノート 0413  Atron整理

くっだらねー厚生労働省の帯状疱疹ワクチンで頭にきてて調べてみたらGSKのタイミングって気持ち悪いよ、マジで。
なんで2024年12月18日に厚労省の部会の方針と、GSKもその同じ2024年12月18日に「定期接種化了承」のプレスリリースが一緒なわけ?
こういうのってさ、悪いことしてるとしか思えないじゃん。
しかも、不安を先に立てて、制度変更を追い風にして、あとから“あなたのためです”で包むやり方って詐欺と何が違うのかって思うよ。
ホント、、、

・・・って関係ない話だからいいや。


研究ノートって何でもありなんだよ。だってノートだからね。
アソシアトロン、Atronについては
少し、手直ししてたんだよね。あとはAtron言語についていろいろと諸先生方に相談してた。




Atronの整理

Atron による人工知能の自律は、「高度な判断能力」でも「人間社会的に許可された安全な判断」でもない。誰の命令も受けず、その個体の内部に生じた差が、行動の変化として現れることである。世界は最初から意味でできていない。意味は後から生まれる。見えるもの、聞こえるもの、触れるものは最初はただの物体や出来事の断片であり、その差が積み重なって、あとから行動傾向や意味が立ち上がる。設計書でも「世界 = 場」「記憶 = 地形」「想起 = 圧」「身体 = 残留場」「行動 = 自然発生」と定義


Atron では、入力→判定→感情→出力の順番を前提にしない。出来事は同時に絡みながら立ち上がる。笑っている最中でも、後ろから強い衝撃が来れば痛みや驚きが同時に割り込み、でも直前までの安心や心地よさも残っている、という状態が普通に起こる。したがって、「何かが勝ったら笑いが負けて泣く」式の順序アルゴリズムは採らない。Atron の強みは、Associatron の recall が cue の中でせめぎ合い、carry が直前の残りを保持することで、複数の差分が同時に残った状態を扱えることにある。これは以前の設計書にある「State → Sensor → Recall → Body → Action → Experience → State」の循環とも一致するが、Atron言語が完成したら順番は無くなる。


この研究では、曖昧さを欠陥として扱わない。曖昧さは想起と 「引きずり」=carry の源である。曲を一つ聴いただけで、年号・場所・相手・匂い・食べた物まで一気に立ち上がるような想起は、意味の正答復元ではなく、断片と残効による圧の立ち上がりである。したがって、ノイズを悪とみなして完全復元を目指す Hopfield 的・一般アルゴリズム的な評価軸は、Atron の核心とは相性が悪い。Atron では、曖昧画像・断片メモ・残効メモが recall の足場となる。


意味を数値化するのではなく、曖昧な状態の差分を数値として持つ。大事なのは絶対値ではなく、直前からどれだけ変わったかである。基本軸は少なくとも Δcalm / Δpain / Δthreat / Δcuriosity / Δsafety / Δwarmth / Δsocial / Δsurprise を想定する。ここで「犬だから threat +0.8」のような意味決め打ちはしない。後ろから強い衝撃、体勢崩れ、柔らかい音が継続中、丸い顔が見えている、など出来事の断片から差が立つ。これにより、「泣き 100%、笑い 0%」でなく、半泣き笑いのような複数差分の同時残留が出せる。


Δpain > threshold => cry のような設計はしない。差分はまず身体の傾きへ流す。中間層として、motor_drive / motor_stability / approach_bias / retreat_bias / turn_bias / pause_bias / gaze_hold / voice_pressure / sleep_pressure / balance_confidence を置き、差分はまずここへ影響する。
たとえば Δpainmotor_stability↓ pause_bias↑ retreat_bias↑ sleep_pressure↑ balance_confidence↓ に流す。Δcuriosityapproach_bias↑ gaze_hold↑ motor_drive↑ に流す。Δsafetymotor_stability を回復させ、retreat_bias を弱め、声や移動を滑らか側へ戻す。重要なのは、差分 → 身体傾向 → 動きのにじみ という流れにすること。行動ラベルへ直結しない。



carry(引きずり) はアルゴリズムではない。命令でもない。「こうなってしまった」が少し残ることである。実装上は更新式で近似できても、本質は分岐ではなく残効である。carry は少なくとも pain_trace / threat_trace / safety_trace / warmth_trace / curiosity_trace を持てばよい。既存引継ぎでも、sleep は単なる停止ではなく、経験整理・圧縮・不要情報削減・carry を立ちやすくする過程だと固定されている。怪我も単独で存在するのではなく、怪我 → 疲労 → sleep → 圧縮 → 回復 → 行動変化 に繋がらなければ意味がない。


carry.pain_trace = carry.pain_trace * 0.94 + max(0, Δpain - 0.15) * 0.35
carry.threat_trace = carry.threat_trace * 0.95 + max(0, Δthreat - 0.12) * 0.30
carry.safety_trace = carry.safety_trace * 0.96 + max(0, Δsafety - 0.10) * 0.25
carry.warmth_trace = carry.warmth_trace * 0.97 + max(0, Δwarmth - 0.10) * 0.20
carry.curiosity_trace = carry.curiosity_trace * 0.96 + max(0, Δcuriosity - 0.08) * 0.18

ここでの意味は、強かった差だけを少し残すこと。小さい揺れは消え、残ったものだけが次の受け方を変える。
pain_trace は動きの崩れや sleep への寄りを強める。threat_trace は次のびくつきや retreat を早める。safety_trace は calm の戻りを助ける。warmth_trace は柔らかい対象への寄りや voice の柔らかさを残す。curiosity_trace は gaze_hold や接近傾向を残す。


 carry の“ドーパミン/セロトニンっぽい層”の扱い
これは神経科学ラベルをそのまま再現するためではなく、次の行動を起こしやすくしたり、落ち着かせたり、癖にしたりする残効として使う。
ドーパミン寄りの carry は、次も近づきたい、もう一度やりたい、動き出しが軽くなる、癖になりやすい方向。
セロトニン寄りの carry は、落ち着き、整い、崩れからの回復、戻りやすさ。
ノルアドレナリン寄りの carry は、びくつき、警戒、急な立ち上がり。
オキシトシン寄りの carry は、柔らかさ、安心、相手への寄りやすさ。
重要なのは、これらも行動命令ではなく残効として扱う。


Atron の sensor は「犬センサー」「危険センサー」のような意味センサーではない。差を生じさせる断片センサーである。
視覚断片なら、大きさっぽさ、速さっぽさ、近づき方、丸さ、尖り、明暗、揺れ方。
聴覚断片なら、音量、高低、急な立ち上がり、柔らかさ、リズム、声っぽさ。
匂い断片なら、強弱、慣れ/慣れない、安心側/不快側の残り。
接触断片なら、触れた強さ、接触面、押された/叩かれた、柔らかい/硬い、暖かい/冷たい。
身体断片なら、よろけ、傾き、急加速・急減速、疲れ、空腹、眠気。
社会断片なら、近づいてくる、見られている、同じリズムで動く、柔らかい声、同期・不一致。
これらが cue の材料になる。



cue の材料は、成長とともに増えていくのが自然。最初は「明るい/暗い」「大きい/小さい」「速い/遅い」「暖かい/冷たい」程度の粗い軸でよい。経験を積むと、丸い、暖色、柔らかい声、後ろから接近、高い音、揺れの感じ、似た匂い、明るさのパターン、などが分裂・精細化し、さらに組み合わせ cueへ育つ。よく効く断片、残りやすい断片、同じ recall を呼びやすい断片だけが重みを増し、cue cluster へ成長する。これは recall の豊かさそのものであり、成長。



断片ノートと曖昧画像
断片ノートはただのデバッグログではない。大事な記憶の中のメモ曖昧画像を保持する場である。
「犬が来たので怖がった」と説明文にしない。
「後ろ」「強い衝撃」「ぐらっとした」「柔らかい声まだ続いてる」「丸い顔」「半泣き笑い」みたいな断片を残す。
さらに、色の塊、輪郭の感じ、明暗、距離感、揺れの空気といった曖昧画像を持つ。
加えて「carry.threat_trace↑」「pause_bias↑」「sleep_pressure+」のような残効メモを残す。断片ノートは意味の台帳ではなく、recall の足場である。これにより、後で一つの曲や匂いから場ごと立ち上がる想起ができる。



発話は一人称自律の第一歩。ここを外部仕掛けにしたら Atron の価値が壊れる。既存引継ぎでも、発話は内部状態から自然ににじむものでなければならず、通常・崩れ・泣き・笑い・喜び・苦悩・沈黙は、同じ地続きの seed から出てくることが要求されている。通常言語と痛み言語に分けてはならない。Tick ごとに喋らせること、痛み専用言語の別系統化、悲鳴専用プール、条件分岐による切替、一度崩れたら通常へ戻りにくくすること、外から「こういう時はこの声」と決め打ちすることは、全部禁止事項である。

発話 seed の軸は、少なくとも
脅威 / 不快 / 低い
速い / 大きい / 高い
痛み / 苦悩 / 泣き
笑う / 嬉しい / 好感
食欲
などを、一般発話 seed の中で扱う。別系統を立てない。引継ぎ文にも、やるべきことは一般発話 seed の中に全部を入れること。



痛みは、見る・聞く・嗅ぐ系の遠隔知覚より、触る・食べる・動く・ぶつかるといった出来事の結果として生じる。赤ちゃんは「かまれた」「転んだ」「刺さった」の意味は分からなくても、痛いし泣く。したがって、笑っている最中でも後ろから強く蹴られれば痛みが湧く。ここに順番はない。だから痛みを「痛みイベント」や「危険ラベル」にしてしまうと壊れる。痛みは身体断片として、shock / jolt / surface pain / balance break のような形で入り、その結果として pain / fragility / hypervigilance / motor slowdown / voice collapse / pause / sleep へにじむ方が自然である。怪我も演出ではなく、経験の段階であり、赤い点 1,2,3 は経験の蓄積を意味し、回復とともに順に消え、行動変化へつながるものとして扱う。



sleep は停止演出ではない。PC メモリを食い荒らさないため、不要情報を整理するため、情報を圧縮するため、carry を立ちやすくするため、疲労や怪我から回復する場を持たせるために入れる。Atron における sleep は、単なる休止ではなく、経験整理と圧縮の過程である。これも既存引継ぎで固定。後のロボットの事も考慮。



自律の先には成長がある。差分は一回ごとの揺れだが、それを何度も積むと、carry が偏り、その個体なりの基準値や傾向が育ち、少しずつ収束してくる。これは正解一点に収束するという意味ではない。その個体なりの癖や戻り方や偏りが立ってくるという意味である。誤認・つまずき・間違いはノイズではなく入口であり、失敗をノイズとして消す系では自律は起きない。既存設計でも、Atron は「経験から意味を形成する一人称自律システム」と定義


Atron 言語
普通のプログラム言語や論文言語だと、変数・条件・判定・出力の思考に引っ張られる。Atron ではむしろ、前の残り・今の差・残った値・次へのにじみを書ける言語が必要。

たとえば carry 行の最小構文は、
node : prev -> now Δdelta ~residue [source] => effect
のような形。

例:
carry.pain_trace : 0.18 -> 0.34 Δ+0.16 ~0.31 [rear_impact,balance_break] => motor_stability↓ pause↑ sleep↑
これなら値の更新ではなく、何が起きて、どう残って、どこへにじんだかが読める。Atron 言語は制御の言語ではなく、変化と残効の言語である。



セーブと別環境への持ち越し
差分と carry と cue の重みで個体状態を持てれば、意味辞書を運ぶ必要がなくなる。保存するのは「犬を怖いと理解した」ではなく、carry.threat_trace = 0.41 cue.rear_approach.weight = 0.44 body.pause_bias = 0.18 のような傾きの状態でよい。これなら別環境に落としても、その個体の「残り方」だけを持ち越せる。同じ意味を完全再現するのではなく、別の見た目の対象でも似た断片があれば寄る、似た衝撃があればビクつく、という形で生きる。ここは Atron の非常に強い点。



実装で絶対にやってはいけないこと
Recall Engine に if-then を入れる。
Body Engine に反射ロジックを厚く入れる。
world 側に意味語を入れる。
speech を tick 制御や timer 制御で仕掛ける。
通常言語と痛み言語を別系統にする。
悲鳴専用プールを作る。
「犬だから threat」「ライオンだから fear」みたいな意味決め打ちを入れる。
「怪我レベル3だから速度50%」のような直結を入れる。
評価しやすさのために、曖昧さを削って分類を増やす。
これらは全部、Atron を Atron ではないものに変えてしまう。

要はロボット側のコードに3人称は入れないということ。




Atron は、意味を先に与えるロボットではない。意味のない場の中で生じた差が、身体と carry に残り、その残りが recall と行動を変え、何度も積まれて個体なりに収束していく一人称自律である。曖昧は悪ではない。曖昧さこそが想起と carry と魅力の原点である。



2026年4月1日水曜日

アソシアトロンの想起 と Atron言語

Atron研究はね、一人称とか自律とか僕も言ってるけど、元は人間の想起なんだよ。
その想起ってのはノイズを否定しない。
アソシアトロンですよ。

何度も同じことを書いてるけど重要なんだよ。



僕は今62歳。

「80年代は楽しかったね」では何も思い出せないけど、
Hard to Say I'm Sorry - Chicago とか、Journey - Don't Stop Believin、Asia - Heat Of The Momentなんかの曲だけで、85年に彼女と横浜に行って山下公園や中華街で食べたエビチリまで思い出すんだよ。
曲が思い出すきっかけだったりする。
メロディの揺れ、声の響き、テンポの感じ——言葉の意味は曖昧なまま。みんなそういうのあるだろ。渋谷のホブソンズのアイス目当てで並んで待ってる光景や、貧乏しながらも、あまり興味の無かった五島のプラネタリウムにも行った。それはそれで新鮮で楽しかった。
全部想起だよ。


みんなそれぞれ想起は違う。
今の若い子達は、40年後に2026年のヒット曲を聴いて涙するかもしれない。
皆違う。その違いが個性なんだよ。


いいかい、想起ってのは正解の復元じゃない。
それを誤ると生物じゃなくなるし、脳じゃない、そして存在じゃなくなる。
曖昧な断片から、場ごと立ち上がることなんだよ。

完璧にクリアな歌詞だったら、かえって「ただの曲」として終わってしまう可能性があるかもしれない。でも「ぼんやりとした曲の言葉」だからこそ、僕の個人的な経験(彼女との思い出)が強く投影され、曲と記憶が溶け合って、鮮やかで個性的な想起になる。
曖昧さが「隙間」を作る。その隙間に、僕の過去の差分(変化の記憶)が自然に入り込んで、recallを豊かにし、感情を強くcarryする。(ルーみたいになってきた・・・)

まさにATRON開発の意義だよ。

ホップフィールドもNNもアルゴリズムも今のAIの流れも、ノイズを悪として扱う以上、僕は部分的にしか使えない。もしノイズが悪というのならば、一度聞いただけで別の国の言葉を次から話せなきゃいけない。そんな試練みたいな評価基準を強いることに疑問も感じない人達と共同研究は出来ない。だから、うちは独立研究所で、アウトドア目的でたまに仲間がやってくる。山だからね。外人さんの独立研究者達からもメールが来る。

彼らは皆分かっている。
識別不能(曖昧)こそが、想起の力を生む土壌ってことをね。
そして想起自体も曖昧で差分が発生する。
差分があるから、Atron任せの意志が起る。


Atronの最初は
明るい / 暗い
大きい / 小さい
速い / 遅い
柔らかい / 硬い
暖かい / 冷たい
近い / 遠い
強い / 弱い
続く / 切れる

のようなセンサーを持っている。
何と比較して明るいとか、大きいとか、早いとか・・
「前よりいいじゃん」「自分より大きいかな」

凄く抽象的で曖昧。
そして誤認だらけ。
でもガチャガチャ数値が動く。

未経験のAtronは、自分の曖昧な状態から差分を体験する。
何度も何度も経験すると曖昧な差分が成長する。

丸い
尖っている
ふわっとした動き
急に近づく
後ろから来る
甲高い
低く響く
柔らかい声
同じ揺れ方
似た匂い
暖色っぽい
明るさの並び
同じテンポ
まとわりつく接触
引っかかる感じ


という想起する条件が自然に増えてくるんだよ。
不思議でしょ?凄いでしょ?


さらに育つと、単独断片だけでなく、組み合わせ cueになる。

丸い + 暖色 + 柔らかい声
後ろから接近 + 高速 + 強い衝撃
揺れ + 温かい + 匂いの馴染み
高い音 + 急接近 + 視界の乱れ
涼しい + ゆっくりしたリズム + 断片的な映像

とかね
丸い + 暖かい色 + 柔らかい声
を聞いていると、そこに留まったりもする。

一過性じゃなくて、何度も残るものだけが recall 材料として育つんだ。

そして重みがCue候補に残る。
cue.roundness.weight
cue.softVoice.weight
cue.rearApproach.weight
cue.warmColor.weight
みたいな感じでね。

何度も出来事で効いたものだけ weight が上がる。
弱いものは消えていく。つまり、最初から正解の辞書を完成させるんじゃなくて、

効いた断片だけが育つ
効かなかった断片は消える


ほんの一部だけど、recall(想起)で言えば(けっこう素朴)

state_delta = sense_event_fragments(world, body, recall)

body.motor_drive += 0.30*Δcuriosity + 0.18*Δsafety - 0.22*Δpain - 0.16*Δthreat
body.motor_stability += 0.22*Δcalm + 0.20*Δsafety - 0.30*Δpain - 0.24*Δsurprise
body.approach_bias += 0.28*Δcuriosity + 0.16*Δwarmth + 0.10*Δsocial - 0.22*Δthreat
body.retreat_bias += 0.30*Δthreat + 0.24*Δpain - 0.18*Δsafety
body.turn_bias += 0.26*Δsurprise + 0.18*Δthreat + 0.12*Δcuriosity
body.pause_bias += 0.22*Δpain + 0.20*Δsurprise + 0.12*Δthreat - 0.10*Δcuriosity
body.voice_pressure += 0.14*Δsocial + 0.10*Δcuriosity + 0.20*Δpain - 0.10*Δcalm
body.sleep_pressure += 0.16*Δpain + 0.10*Δthreat + 0.12*injury_drive - 0.06*Δsafety

carry(引きずり) は

carry.pain_trace = carry.pain_trace * 0.94 + max(0, Δpain - 0.15) * 0.35
carry.threat_trace = carry.threat_trace * 0.95 + max(0, Δthreat - 0.12) * 0.30
carry.safety_trace = carry.safety_trace * 0.96 + max(0, Δsafety - 0.10) * 0.25
carry.warmth_trace = carry.warmth_trace * 0.97 + max(0, Δwarmth - 0.10) * 0.20
carry.curiosity_trace = carry.curiosity_trace * 0.96 + max(0, Δcuriosity - 0.08) * 0.18


差分は行動名にしない
まず身体傾向へ流す
身体傾向の重なりが動きになる
強い差だけ carry に少し残す
carry が次の差分の立ち上がり方を変える
 

そしてcarry のドーパミンやセロトニンは「名前つきの物質そのもの」ではなく、その後の動きや受け方を変える残り方として行動に影響を与える。


ドーパミン寄りの carry
次も近づきたい、もう一度やりたい、動き出しが軽くなる、期待で前のめりになる、癖になりやすい
 
セロトニン寄りの carry
落ち着く、整う、戻りやすい、崩れから回復しやすい、安定して受け直せる
 
ノルアドレナリン寄りの carry
興奮、警戒、急に立ち上がる、びくつきやすい、過敏になる
 
オキシトシン寄りの carry
安心、柔らかさ、相手への寄りやすさ、離れにくさ それを何度も積むと個体の癖と収束が出る


痛み > 0.7 なら泣く みたいな決め打ちアルゴリズムじゃないんだよ。
状態の残り(引きずり)

曖昧で不可逆な残り方を、壊さないように最低限の形で置く記述
carry.pain_trace = carry.pain_trace * 0.94 + ...
これは「痛みとはこういう意味だ」と決めているわけじゃなくてただ、消えずに少し残ることを置いているだけ。だからこれは、意味アルゴリズムではなく、残効の近似表現に近い。


これでも十分動くけど、
今 Atron言語を考えている。

たとえば carry.pain_trace なら、

  • prev
    直前値
  • now
    現在値
  • delta
    差分
  • residue
    残り方
  • drift
    じわっとした流れ
  • source
    何の出来事から来たか
  • tone
    上向きか、下向きか、崩れか
  • carry_to
    次に何へにじむか



carry.pain_trace
  prev: 0.18
  now: 0.34
  delta: +0.16
  residue: 0.31
  source: rear_impact / balance_break
  tone: sharp-rise
  carry_to: motor_stability↓ pause_bias↑ sleep_pressure↑

けっこうざっくりだけど、どう残ったかの表記になるでしょ。


Atron言語は「計算」より「景色」



たとえば普通のJavaScriptコードだと
carry.pain_trace = carry.pain_trace * 0.94 + inflow;


で終わる。
でも Atron言語なら、同じことをこう見たい。

pain_trace: before 0.18 event rear_impact + balance_break rise +0.16 remain 0.31 spread motor_stability↓ pause↑ sleep↑


つまり、
数式そのものより
何が起きて、どう残って、どこへにじんだかが読める。






構文
node : prev -> now Δdelta ~residue [source] => effect


carry.pain_trace : 0.18 -> 0.34 Δ+0.16 ~0.31 [rear_impact,balance_break] => motor_stability↓ pause↑ sleep↑
carry.safety_trace : 0.62 -> 0.41 Δ-0.21 ~0.39 [shock,rear_approach] => calm↓ retreat↑
carry.warmth_trace : 0.44 -> 0.40 Δ-0.04 ~0.39 [tv_soft_voice] => voice_softness~ gaze_hold~
carry.curiosity_trace : 0.28 -> 0.33 Δ+0.05 ~0.31 [round_face,soft_tone] => approach↑ gaze_hold↑


こんな感じだよ。

普通の言語だと、全部

  • 定義
  • 条件
  • 命令
  • 分類

に寄ってしまうでしょ?
正解に寄せるために。

でも Atron では見たいのは

  • どう変わったか
  • 何が残ったか
  • 何がまだ消えていないか
  • どこへにじんだか

なんだよね。
正解なんて重要じゃない。
論理も根拠も重要じゃない。
本人、個体ごとの状態の変化が起きるための言語だよ。

変数を操作するのではなく、「前の残り」「今の差」「残った値」「次へのにじみ」を一つの景色として書けることでより扱いやすくなる。

アルゴリズムのように

  • 入力→判定→出力
  • 意味→感情→行動
  • 刺激→反応
  • 原因→結果

みたいな、よくある平べったい作りから離れられる。


順番を関係なくするというのは、無秩序にすることじゃなくて、出来事の中で同時に立ち上がるものを、無理に一列に並べないということなんだ。そして曖昧の差分を引き出すというのは、「これは何か」を先に決めるのでなく、前とどこが違ったか、何が少し強まったか、何が少し崩れたか を見ること。


Atron言語で、なにが変わるかというと、

痛みがあっても安心が残る
笑いながら泣きかける
近づきたいけど少し怖い
興味があるのに身を引く

みたいな、現実の赤ちゃんのような行動には普通にあるけれど、アルゴリズムだと潰されやすい状態が簡単に出せるようになるんだ。

決め打ちや順番を外し、曖昧な差分をそのまま立ち上がらせるだけで、ロボットは“正解を出す装置”から、“出来事の中で変わる存在”へ近づく。

まさに一人称自律ロボットがどんどん改良されていく。





自律否定論文を読んでw

 論文読んでた。

「自己学習ロボットは物理的に実現不可能である。認知の計算論的理論は根拠があるのだろうか?」というミシェル・トゥルブレさんの論文。(ここには貼らないよ)暇なら探して読んでみて。(Linkしない:貼って誘導して課金とか嫌でしょ)

しかも!

academia.eduなんだよね~。以前、1ドル会員になったら、勝手にプレミアム会員にさせられて何の事前連絡もなく、2万3・4千円引き落としされたんだよね~。
今ってこういう論文サイトも詐欺っぽくてさ。気を付けないといけないですよ。
クレーム入れたら「金返したでしょ!」だって、凄い態度だよねー。
一番いやらしいのは、学術っぽい顔をしているのに、課金まわりだけ妙に“サブスク商法”っぽいところ。それで返金したら何をやってもOKという論文サイト。
そしてこれもそこのサイトのものw

IEEEはもう少しまともなんだけど、サイトがまるで20年前の動作で・・・。調べるのも大変。

自律ロボットを否定するのはある意味冷静で正常だけど、「論理的な根拠を」っていうのは、もう使わない方がいいと思う。逆に痛ましいし、なんというか、もうそういう時代じゃない。今までさんざん論理、根拠と言ってた人ほどお金と利権に流されて消えて行ったしね。


論理なんて使ったら、今の若い子たちに簡単にいなされてしまうよ。
「でも、息子がああなってしまったのはなんでだろう」とか「でも、奥さんが怖いのはなんでだろう」とか「おっさんが自律してない」とか、不可逆なステージに持ち込まれ詰んでしまう(笑)

自律は何をもって自律と言うのか、学者に聞いて皆答えが同じって事はないでしょ?
なので、そもそも問いが破綻しているんですよ。

「論理的な根拠」と言う人物の立ち位置って分かりますか。
その人の社会的な地位でもいい。博士でもいいし、研究者でも医者でも経営者でもいい。
論理的思考という人間社会の枠の話と、robotの自律とは何も関係ないんだよ。
論理的思考自体が、自律のスタートである未体験のあかちゃんの思考とかけ離れているから根拠とか言うんだよ。 

「自律ってなんだろう?」はいいけど、「自律の論理的根拠」では自律が離れて行ってしまう。

彼等の思考に「誕生や成長」という概念を省いて、いきなり大学生レベルの自律ロボットを対象に「自律かそうでないか」という手前勝手な基準で物事を評価してはいないか・・・。じゃなきゃもう少し慎重に扱うよね。
もしくは「俺の基準は赤ちゃんをスタートにしてるよ」「俺は小学生」「俺は細胞・・」 もうそういうレベルの世界でしょ? AIだってまともに答えられないんだから。

ロボットで考えるから、大人の都合と都合の良い視点で見下すんだよね(笑)
真実が見えていない。自分も赤ちゃんの頃を経験し、家族を持った経験があっても、まだ区別して考える。何度言っても分からない。赤ちゃんの段階からスタートして「どこから自律か」を真剣に考え始めたら、そんなきれいな二元論はすぐ崩れる。

そもそもロボットが誰の命令も受けずに、なんだかわからない物体を観て、興味を持って近づいた瞬間から自律の始まりで、「いや違う!その物体に喧嘩をふっかけて帰ってきたら自律ですぅー」とか、「いや、あれだよ、その物体と一緒に食卓を囲んだら自律だよね」とか、
とにかく、少なからず興味を持っているのか、邪魔をしているのかレベルが酷すぎて理解が出来ないよね。根拠の数式を出そうが、何をしようが、くだらなさ過ぎて転びそうになる。


どこまで学習したら自律か
どこまで判断したら自律か
どこまで外部制御を加えたら自律と呼べないか
人間の制御を超えたら自律か


いいよ、好き勝手に決めれば。
でもあんたがたが、赤ちゃんの時はどうだったのよ。


ママ~!

「ええ、あの時は、ママに言わされていたんです、3人称の外部命令ですね」
とか
「意志も
判断も学習もあり、報酬認識も持ち、あらゆることに最適化され危険回避もしていました」
とか言うのだろうか・・・


自律を説明した気になるって楽でいいよなぁ。





話外れたw


で、この人の数式や組合せの話は、自分で置いた測定装置モデルの中で「区別と同一視が同時に成り立つ」と言っているだけで、自律の核心には届いてないよね。
論文後半の温度計の例でも、N=2^P や M=2^N の組合せを作って、センサー出力からアクチュエータへの接続の取り方次第で、対象 A と B は「違う」とも「同じ」とも言える、だから actuator から見れば indistinguishable だ、と結論しているけど・・・w
その測定装置の接続表の話をしているのであって、経験の差がどう残るか、自律がどう立ち上がるかの話じゃないんだよね。何をしたかったのか分からなかった。


おかしいのは、そこから一気に
「だから自己学習ロボットは物理的に不可能」
まで飛んでいること。
せめて実験して否定するのならログくらい出せや、って話じゃん。
この人の 2^P や 2^N の話はそれで終わりで何に繋がってるのかも分からない。
で、結局自律の話じゃなくて識別不能性の枠組みを正当化するための数式
だったということ。

理論武装は何もなかった。



缶。




一言だけ追加すると
論理武装ってのはシステム屋からみても


お・と・な・の都合






outlawだってさ。ありがとよ。 - Associatronと一人称自律

 オランダからメールが来たよ。 「Atraもいいけど、outlawだろ、」ってさ 最高だよ。 outlaw architecture ってのは間違いないよねw 実際、僕は、流れや制度・分類・学派・評価体系の外にいる者だし、そういうのあまり大切にしていない。今の大学の事は分からない...