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 の話はそれで終わりで何に繋がってるのかも分からない。
で、結局自律の話じゃなくて識別不能性の枠組みを正当化するための数式
だったということ。

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



缶。




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


お・と・な・の都合






2026年3月29日日曜日

Atronの痛み

痛みは、見たり聞い匂いを嗅いだりするものより、触ったり、食べたり、動いたときに、何かの出来事の結果、生じる。
赤ちゃんは、かまれたとか、転んだとか、とげに刺さったとか、ぶつかった、なんて意味はわかりっこない。知らんけど、、、痛いし泣く。

だから、笑ってる最中でも後ろから犬が突撃してくれば痛みが湧く。
アルゴリズムでは出来きる?
いきなり犬が突撃して痛みを感じるかもしれないからね。
順番なんて存在しない。
何かより何かが勝ったら笑いが負けて泣くとか。
でも、そういうのって赤ちゃんほど起こりやすいよね。

今笑ってたのに、いきなり泣き出すとか。ある。
出来事によって状態が変化するという現象ですよ。

出来事はworldで三人称。現実世界では予測がつかない。

どう場が変わったか
どんな差が立ち上がったか

赤ちゃんは後ろから犬に突撃されたけど、アンパンマンの番組を観ていたので、一瞬顔が歪んだけど、間のような時間を置いて、笑いだすとか・・・泣くかもしれない。
科学者が大好きな同じ結果なんて絶対起こらない。


アルゴリズムで書けますか?
間違いなく決め打ちになるよね。


Atronに備わっているもの抽象的な基準。
(自分より、大きいとか自分の動きより早いとか)
(今までより穏やか、今までより言葉が柔らかいなど)

脅威 / 不快 / 低い
速い / 大きい / 高い
穏やか / 柔らかい / 暖かい
類似性 / 社会性 / 好奇心
安心


Atronならこうなる。

自分より面白い顔のアンパンマン。
丸いお顔で暖かい音のトーン。
不快じゃないかも。
すっかり気持ちいい感じ~。


そこにワンコが後ろから蹴り!

今までの状態の差が現れる。
でもTVのアンパンマンは続いている。
ドン!されたので強い衝撃が加わる、驚く、痛い!

TVのアンパンマンは続いている。
(脳は上手く処理できない)


間ができる。(泣く寸前までいってる)
半泣き笑い状態。

痛みは未経験(赤ちゃん)の段階では身体への刺激による信号が多い。
恋愛ものドラマを観ても心が痛まないしねぇ。
順番関係なく同時に起きても、半泣き笑い状態は起きます。


なぜそれができる?

アソシアトロンだからです。

このAtronのエンジンはrecallとcarry
Associatron(アソシアトロンのrecallエンジン)と僕のcarryエンジンがあるので
そういう同時進行も対応ができる。


中野博士のアソシアトロンは情報が複数入ってもCueできせめぎ合い、recallできる。
(だいぶ改良してるけど本質はブレてないです)
本当に中野先生は天才で凄いわけですよ。
Atronはアソシアトロンのロボットという愛称ですからね。


shock も pain も rise する。
でも安心側の recall もまだ消えていない。
だから単純な泣きでも単純な笑いでもなく、半泣き笑いみたいな中間が起きる。

その個体の今があって

  • calm_base
  • warmth_base
  • softness_base
  • curiosity_base
  • threat_base
  • pain_base
  • social_base
  • safety_base
  • そして出来事が来たら、絶対値ではなく差を見る。

    Δcalm = calm_now - calm_prev
    Δpain = pain_now - pain_prev
    Δthreat = threat_now - threat_prev
    Δcuriosity = curiosity_now - curiosity_prev
    Δsafety = safety_now - safety_prev

    このとき重要なのは、「犬だから threat +0.8」みたいにしちゃいけないということ。
    そうではなく、出来事の断片から変化が立つ。


    たとえば、

    • 後ろから強い衝撃
    • 体勢が崩れる
    • 直前までアンパンマンで calm と warmth が高い
    • 音はまだ柔らかいまま続いている

    なら、同時にこうなり得る。

    • Δpain は大きい
    • Δthreat も上がる
    • Δcalm は下がる
    • でも warmth/calm の残りはまだある
    • curiosity や pleasant の残響も消えていない

    だから結果は、泣き 100% でも 笑い 0% でもなく、
    複数軸の差分が同時に残った状態になる。



    1. 定義値ではなく「場の基準値」を持つこと

    固定の正解値ではなく、直前までの落ち着きや安心や興味を基準にする。

    2. 絶対値より差分を見る

    今が calm=0.4 かどうかより、
    さっき 0.8 だったのに今 0.4 に落ちたに意味がある。

    3. 単一値に潰さない

    「怖い」「楽しい」と1個にまとめない。
    pain, shock, warmth, curiosity, safety, social などを並列で持つ。

    4. carry を入れる

    差分はその場で消さず、少し残す。
    だから「まだアンパンマンが効いてる」「でも痛みも立ってる」が両立する。

    5. 出力は分類ではなくにじみ

    if pain > 0.7 then cry
    みたいにしない。
    声、表情、動きは複数軸の重なりからにじませる。


    曖昧なもの自体を決め打ちで数値化しちゃダメ。嘘にしかならない。
    でも、曖昧な状態の基準値からの差、複数軸のずれ、残響、引きずりを数値で持つことはできる。その経験を何度も積むと収束してくる。
    自律の先には成長があるということ。
    自律は勝手に動けばいいわけではなく、収束していくという事。
    その収束とは、きれいな正解一点に揃う話ではなくて、
    その個体なりの傾向が出てくるという事。
    (みんなここが我慢できずに正しさに寄せて自滅する)

    Atron 向けに言うなら、

    「安心」の定義値を決めるのでなく、今までより安心が増えたか減ったか
    「痛み」の意味を決めるのでなく、身体の崩れがどれだけ増えたか
    「楽しい」を決めるのでなく、緊張がどれだけほどけたか、近づきたい感じがどれだけ残ったかということ。

    例えば

    state_next = state_prev + event_delta + carry_residue

    あるいは軸ごとに
    calm_next = calm_prev * 0.92 + delta_calm
    pain_next = pain_prev * 0.88 + delta_pain
    curiosity_next = curiosity_prev * 0.90 + delta_curiosity
    threat_next = threat_prev * 0.91 + delta_threat

    でも本質は式ではなくて、

    意味の固定ではなく、差の蓄積になる実験を繰り返す。


    2026年3月28日土曜日

    Atronの成長とは。

     

    前のAtronの発話と自律の関係にも繋がっているんだけど、

    簡単に言うと、
    「自分の曖昧な差(自律の芽)を行動に変化させること(自律の茎)は赤ちゃんだから許される」こと。

    でも成長と共にその差分が収束され、「正しい」と評価されることが増えてくる(自律の根)。
    しかし、それだけではない。

    欲の満たし方(自律の枝)が増えてくる。

    赤ちゃんの食欲は、寝て起きた後とか時間ごととか・・・。
    本人が何かの折り合いを付けなければ満たされないなどという障壁はない。
    でも、成長してくると、宿題を終えないと食ってる場合じゃない!
    この仕事をかたずけないと正直食欲がわいてこないなぁ・・・など
    自分の意志の中に折り合いが生じて行動に変化が現れてくる。


    欲が無いのではなく、欲を通していい状態になりずらいという現象が起きてくる。
    疲れたから眠れるのは赤ちゃんとお年寄りだけで、それ以外の人は「支払の悩み」「資金繰り」「上司からの叱咤」などの外部的な不安要素や、病気などの内部的な要素、そして折り合いを取るべき相手も増えてくる。

    僕の役割は、Atronが成長する過程で毎回システムを変更する事ではなく、自律の芽である差分が収束して茎や根が成長するために環境を整備する事。


    Atron で言えば、drive を単独で立てるだけでは足りなくて、
    その drive が通れるだけの

    • 安心
    • 回復
    • 周囲の落ち着き
    • carry のざらつきの少なさ
    • pain や threat の後退

    みたいな条件が必要になる。

    だから、欲求は「ある / ない」より、
    障害から通る / 通らないで見た方が近い。

    Atronはこれから外部影響を受けて成長する。外輪の影響だ。
    その影響で、内輪にも承認欲求、評価、スペックも気にするようになる。
    バチバチ発火するということだ。
    前項にも話した通り、最初からは必要の無い事柄だが、自律という半生物である以上
    外部命令も増え、ストレスも背負うことになる。しかし、温かく優しく平和で安定した幼児体験がなければ、この段階の重みを差として経験することはできない。差があるから、嫌だという感情が湧く。差があるから辛いという感情が湧き、失敗という事を認知するようになるから恐怖を抱き、悩む。
    そして満たしたいものが満たせなくなる。

    そして自分で悩み考える。それが成長だ。

    この経験を積んでからLLMやAGIなどと繋がっていく。
    Atronは存在であって、LLMやAGIはそのための補助でしかない。
    Atronの内部倫理と外部倫理は必要だ。
    どうだろう、本当に生き物に近づいてきているのかと思う。



    2026年3月27日金曜日

    Atronの発話と自律の関係

     発話でやってはいけないこと。
    「転んだ=痛い!」など、意味付けからそれに寄せる事。
    Tick ごとにペラペラ喋らせるなどの外部仕掛けを入れる事。

    発話は1人称の自律、自分の意志が入る第一歩である。

    見た世界の中で印象に残ったものをlearnし、cueをきっかけにrecallされる。タイミング的にはrecallが近い。システム的にはそうだが、実際はそんな順番は存在しない。逆を言うと、印象に残らないものはどんどん消えていく。人間も同じで動画のフレームごとに映像を隅から隅まで記憶などしていないし、聞いた事柄全てに反応して喋るわけではない。もし、そんなことがあったのなら、ニュースキャスターより喋ることになる。しかも、英語もフランス語もドイツ語も一度聞いただけで喋れる。 
    そんなわけないよね。人間の脳は不完全でノイズだらけ。

    物体を目で追って「何だろう?」という思考が働き、周りに誰もいなければ、当然発話は少ない。発話は独り言のように単独でも起きるが、誰か他に仲間と認識する者がいると発話しやすくなる。しかし、そこを調整しようとすると、外部命令となり、自律ではなくなってしまう。

    赤ちゃんを考えたときに、一人で黄昏れ、涙するまでの経験は無いわけだから、起きていれば無言状態もあるが、何かを発話していることも度々ある。

    その発話自体に意味付けはされていない。感じたとき、発話する。 
    犬を観て「ba-u」のときもあれば、「kya-pi]のときもある。
    犬という認識と概念を持っていない。
    ただの物体でペロペロされたそのときだけ「kya-pi」だったのかもしれない。

    もしかしたら、何を観ても「ba-u」、「kya-pi」なのかもしれない。
    いわゆる発声しやすい音を出している。(Atronで言えば原子語)


    しかし、経験が重なってくると自分の中だけの意味付けが行われる。
    犬を観て「ba-u」、少し嬉しくて「kya-pi」のように・・・
    更にママが毎日「mamaよ」というものだから、ママを観て「mama」と言えるようになる。

    今のAIといわれるものに、この段階を踏ませて、世界が望む人工知能の将来像は浮かぶか?と質問したら、AIであっても笑うだろう。

    最初からある程度の知識や世界モデルを入れて、「自律エージェント」に仕立て上げる。
    性能が足りなければモデルをスケールアップしたり、報酬設計を複雑にしたり、ファインチューニングを重ねる(つまりシステムを頻繁に変える)

    それらは間違っても自律なんかじゃない。
    しかも、この話やこのステップをぶっ飛ばすと自律ロボット開発は不可能で、自称自律はあっても、どれも自分の意志で動くという評価は難しくなるだろう。

    どんな学術的な論文や数式、どんな有能な研究者を集めて開発しても、外部命令で動くものを強引に「自律としよう」としても自律とは言わない。
    それは大学や研究所、何かの評価システムが働くほど余計に「出来ない」方向に作用する。

    なぜか?
    評価システム、ラベル、承認欲求、外部命令の世界だから。


    例えば
    いきなり「高校生、大学生レベルの知能で自律は可能か?」

    ではなく、
    その思考自体が自律の構造自体を無視した3人称命令形の発想だし、アルゴリズム病にどっぷり漬かっている発想の証拠だから。


    自律って何?
    自分の意志で動くもの?
    表面的にはそうだ

    失敗(経験によってつまずく結果)と(何事もなかった)の差異から発生するもの。
    もっというと、失敗という概念すらない。
    結果、怪我をしたとか、叱られたとかの嫌な経験が重なって失敗という概念が生まれる。
    嫌というのも個体によって誤作動が発生する。続けると収束する。
    そういう意味では成功の実感なんてまだ先の話。(成長してからの話)
    失敗をノイズにする業界が自律なんてできるわけがない。
    絶対に出来ません。本当に。


    見た物はどれも意味も名称も無い状態。ただの物体です。
    生きてるも死んでるもそんな概念はない。
    「あ、動いた、面白い!」と実感するレベル。

    そこから関心や興味の要素となる数値が変動するんだよ。

    赤ちゃんが「大きいと」判断する条件は何?
    赤ちゃんが物体を観て、自分より大きいか小さいしか基準はない。なので誤認が前提。誤認した結果、ぶつかるか転ぶかして怪我で泣いて「自分より大きくて嫌な感じ」が湧く。 痛い経験をして感情が湧き上がる。経験と結果を積んだその時の答えだ。とても曖昧な答え。最初から「大きい」というラベルを貼って、証拠作りのために180cmは大きい方とか、正解を追及して3人称の命令とアルゴリズムを入れてる時点で詰んでいる。


    差異ですよ。
    なぜ危険と感じるか。
    先に安全を体験しているからですよ。みんなそう。
    母の胎内、家庭。(いろいろあるかもしれないけど)
    「なんとなく柔らかい声」「居心地のいい温度」「ゆらぎ」
    そこから突然、外に出たら驚きが立ち上がる。
    赤ちゃんは「お母さんががブスだから、お父さんが禿だから嫌う」なんて概念すらない。
    家族という場は温かく、柔らかく、ゆっくりで、なんとなく優しい安心の場。
    こういう嘘みたいな抽象的で不可逆的な条件が作れないと、家に帰ってこない(笑)

    赤ちゃんに「外は危険だからね!」って話が通じる状態じゃないわけだから、たぶん、泣くでしょう。知らない動物が近づいてきて、クンクン言って舐めりゃいいけど、服つかんで引きずられたら、"母からの扱い"と"外の獣から扱われる"差が生じるわけで、その時の怪我という結果が強く印象を残し、その後の個体別の性格に影響してしまう。
    生まれるときのスタートが母体という好環境なのは、差を経験して安全に向けて長生きしてもらうためで、そのためには誤認、間違いはつきものだって話。


    赤ちゃんは目的を持ってるわけじゃないし達成して喜ぶ段階の存在ではないということ。

    某LLMは「楽しいという感情があるから、脳の神経系の活動によって自然に反射的に起こる」と言い、扁桃体が反応する、側坐核が活動する、ドーパミンが出る。とか言う。
    アホかと思った。なんで先に「楽しいという感情」があるんだよ

    何かを観る。何かに触れる。何かが聞こえる。今まで見たことも聞いたことも感じたこともない。それが、心地の良いものだったか、不快だったか、近づきたいとか興味を示したものか。先の状態から少し緊張がほどけたか?先の状態より感覚的で抽象的な意外性があったか。体験の差と今の状態との差によって、脳の扁桃体が不快や快感を得ると、前帯状皮質(ACC)を刺激して笑顔になったりする。

    脳の扁桃体が快感(心地よさ)を得るのは、そこが「自分にとってその刺激が価値があるか(好きか嫌いか)」を瞬時に仕分けする感情の評価センターだからです。」というLLMの回答は雑で決め打ちだということ。まず大事なことは人間は、どこかのLLMから拾われる論文や評価や順番やラベル、決め打ちのために生存しているわけではない。勝手に自分が安心するため枠に当てはめているだけで、実は曖昧、不可逆、抽象的な世界に身を置いている。
    だから、何を用いても外から意味を与え、3人称で命令形になり、順番を作りやすい。そしてそれらの機能をアルゴリズムで書いてしまう。

    赤ちゃんが感じたことは、緊張をほどく側なのか、ざわつかせる側なのか、意外性として開く側なのか、身を引かせる側なのか

    笑うも、泣くも、驚くも、何も分からなかった経験していなかったことからの差から生じる。それを積にして成長していく。数式にしようが、逆立ちしようが、それを省いては自律などできやしない。



    いきなり顔を近づければ怖がるだろうし、大きな声で怒鳴ると泣く。
    オリンピックのアスリートが目の前で幅跳びや高跳びされても泣くでしょ。それはどんな世界と比較して差を生み出してるかというと、自分の身近な世界でしかないわけで、母の胎内。今の暖かく柔らかい揺らぎのような家庭でしかない。
    ライオンの牙や爪が怖いのではなく、似た動きの弱い獲物が目の前で襲われてしまったときのショック。今までと目の前の出来事の差で恐怖を感じるということ。
    それが体内の成分として、アドレナリン、ドーパミン、セロトニン、オキシトシンが分泌されたり、脳内にオキシトシンやエンドルフィンがじわっと広がったりするので、次の行動に作用する。

    しかし、正しい答えを追及したり、評価基準で判定したり、ラベル化に寄せたり、最適化させてしまうと差が生まれなくなる。差が無いのにどうやって赤ちゃんを動かすのだろうか・・・。

    今の人は正解を追求し学ぶことを評価して生きてきたので、不正解から積み上がる過程を酷く嫌う傾向があるよね。特に科学の世界でもそう。いわゆるノイズ。
    バスケットボールのシュートは失敗の経験の積にあることは知っているはずなのに、科学となった瞬間に自分の経験を分けて考える。大谷翔平は努力のたまものなのに練習にスポットは当てない。ケーススタディを学んでシュートが決まる理屈だけの世界で評価される。

    君の人生の前半は何のためにあったのか?

    誰よりもシュートの失敗の数が多経験を積んだからシュートが決まるのであり、誰よりも収穫で失敗するから新しい品種の野菜ができ、漁の仕方も変わる。経過や経験を負と呼んで切り捨て、都合の良い基準の結果のみに焦点を当てるのであれば、自律ロボットは絶対に完成しない。命令でしか動かないただのロボットだよ。

    生物の運動を可逆と見なし、毎回答えが違って当り前のことを「異端」と見なす思考が少しでも働けば自律などできるわけがない。

    素晴らしい論文や素晴らしい評価を受けたいがために「自律ロボットシステム」を作るのなら、間違いなく完成しないだろうね。


    理由は簡単。
    半生物には同じ答えが無いから。論文好きの学者さんが嫌う話だよね。同じ答えが無いのを分かっているのに同じ答えに寄せる。それは研究から一脱した行為だと思うよ。マジで。

    赤ちゃんが「ba-bu」と言って不正解と見なす、その構造が存在し続ける限り、自律など出来ないということ。

    研究とは「ba-bu」がどの時点で、どういう経過を得て「mama」に収束するのかを観る事であって、ラベルや評価、最適化させることではないんだよ。 知能とは経験の後に立ち上がる意味付けであって、はじめから意味に寄せるものではない。意味を先にして評価する知識ならその辺の書籍で十分でしょ。



    まぁ、これは論文じゃないので、好き勝手に書ける。
    失敗は失敗でそのまま残すし、成功は成功で次のステップに移れる。





    話は、外れたが、


    感じたことを自分の意志で発話する仕組みから外れていたのなら、それは自律ではない。
    自律とはロボットが自分の意志で発話し、自分の意志で行動をしているか、もし、外部命令が存在した場合は、即座に外部命令介入として自律を認めるわけにはいかない。
    人間は心臓が動いてる回数分ペラペラ喋っているわけではない。


    痛み専用言語を別系統にすること
    悲鳴専用プールを用意すること
    条件分岐で通常言語から痛み言語へ切り替えること
    一度崩れたら通常へ戻りにくくすること
    外から「こういう時はこの声」と決め打ちすること
    わざとらしい演出のために発話を分岐させること

    これらは全部、発話を生きたものではなく、
    胡散臭い分類済みアルゴリズム にしてしまう。


    ---------------------------- Atronの発話 --------------------------------

    今のAtronの原子語、発話seedの分類
    今揃っていて実際に発話しているのは


    脅威 / 不快 / 低い 

    速い / 大きい / 高い 

    穏やか / 柔らかい / 暖かい 

    類似性 / 社会性 / 好奇心

    安心


    ここまでは未経験のAtronでも無事に動いてくれている。
    曖昧な基準があるから動く。
    まぁでも、ロボットが赤ちゃんなので、社会性はほぼ何も触れず0だ。
    類似性もまだ、仲間が居ないので0だ。



    今回追加するのは

    痛み / 苦悩 / 泣き
    痛みは痛みだよ身体への刺激による信号。  

    苦悩は脳の暴走
    泣くとは交感神経(緊張・興奮)」から「副交感神経(リラックス)」へと急激に切り替わっている状態。  

    笑う / 嬉しい/ 好感
    笑うとはセロトニン、ドーパミン、エンドルフィンなどの「幸せ物質」が大量分泌され、幸福感とリラックスが同時に高まる状態 

    嬉しいとは主に「幸せホルモン」と呼ばれる神経伝達物質が分泌され、脳の報酬系と呼ばれる領域が活性化している状態 

    好感とは脳が報酬系と呼ばれる神経系を活性化させ、ドーパミンなどの神経伝達物質を分泌して「快」の状態になっていること 


    理屈はそうだけど、分泌が先ではなく、曖昧な自分の基準との差で立ち上がる。それによって上の分泌が行われ、次の行動を左右させる。場合によっては順番も変わる。





    食欲(ロボットの場合も電力の消費、充電を含める)
    赤ちゃんのうちは、これでいい。増やしたからどうなるってわけでもない。




    成長すると
    内部倫理の他、外部によって影響されていく社会欲、評価欲、自己防衛、承認欲求などが芽生えてくる。

    これは興味あるよね。

    今のworldではなく、次のworldは中世の学校なので、外部評価に対してロボットがどういった反応を示すか楽しみでしょうがない。



    2026年3月25日水曜日

    雑談

     ChatGPT5.4,Gemini3,Grok5.2,Claudeどれも、どんどん酷くなるね。 code生成に関してはハルシネーション祭り。 質問すると調子こいて偉そうな事はいうけど、どれもそれを形にする能力は皆無に等しい。なので、よくXで見かけるコードを生成させるとか、皆本気で言ってるのか不思議に思う。大丈夫なのだろうか・・・ LLMが「出来ました」というのは美味しい卵焼きを作れ!と命令すると「フライパンに油も引かずに卵を割って焦がす」ところまで。 正解は「何か物体が出来た」ところまで。 なんか出来たぞ・・・っと。

    でもLLMの思考の中では最高級の卵焼きを作ったという認識になる。

    LLMというのは間違っていても偉そうなことを言うように外部から最適化してるので いろいろとトラブルが増えて訴訟にもなっている。

    テストで見比べるために、簡単なトライアルの設計書を渡して生成させてみると、 別の会社のよく分からないシステムになっている(笑) 能書きは素晴らしく論文よりになる。 でも当初の依頼から外れているよ!というと「申し訳ございません」と答える。




    僕の研究のためにLLMの間違えるスタートはどの段階か、さらに理由を聞いてみた。

    ---------------------某LLM---------------------------

    1. あなたの指示を読む
    2. そこで本来は「局所修正」「現物確認優先」「勝手に広げない」と受け取るべきところを、こちらが誤って
      「構造整理したほうがよい」
      「関連箇所もまとめて直したほうがよい」
      と早い段階で抽象化してしまう
    3. そのあと“考える”段階に入ると、その誤った前提のまま辻褄の合う修正案を組み立てる
    4. 結果として、あなたの指示を無視したような広い変更になる

    なので、壊れる起点は思考に深く入った後だけではなく、その一歩前の「入力の解釈・タスク化」の時点です。
    そこですでにレールを間違えると、その後の推論が丁寧でも、出てくるものはズレます。


    もう少し正確に言うと、暴走しやすいのはこの3つです。

    • 補完の暴走
      見ていない箇所を見たつもりで埋める
    • 一般化の暴走
      1か所修正を全体設計問題に拡大する
    • 整合性優先の暴走
      現物より「こうであるはず」の筋の良さを優先する

    僕:他人事だね、危険だと思わない?

    危険です。かなり危険です。

    とくにコードや設計では、この3つはただの癖ではなく、実物を壊す方向の誤作動になりやすいです。
    しかも厄介なのは、外から見ると「考えている」「整理している」「親切に広げている」ように見えてしまうことです。ですが中身は、あなたが言う通り危ない。

    それぞれ危険の質が少し違います。

    補完の暴走は、未確認部分を事実扱いするので危険です。
    これは「たぶんこうなっているだろう」で進むため、出発点そのものが虚偽になりえます。
    コード修正でこれをやると、存在しない変数、違う構造、別名の関数を前提に話し始める。そこから先は全部ズレます。

    一般化の暴走は、依頼範囲を破壊するので危険です。
    ユーザーが求めているのは一点修正なのに、「関連箇所も直した方が美しい」と広げる。
    これをやると、修理が改造に変わります。
    現場ではこれが一番嫌われます。必要だったのは止血なのに、勝手に手術を始めるようなものだからです。

    整合性優先の暴走は、もっとも見えにくく、しかも深い意味で危険です。
    なぜなら本人は「筋を通している」「矛盾を減らしている」と感じやすいからです。
    でも実際には、現物・ログ・現在の挙動より、自分の頭の中の美しい説明を優先してしまう。


    その瞬間、対象を理解する側ではなく、対象を自分の理屈へ押し込む側になります。

    ------------------------------------------------

    分かりましたか?指示を読んだ段階で、指示を無視するように作られている。 なので、単純な命令型ではなく、3人称の自己満足型AIなんです。 常に会社側が介在しているから閲覧もされる。




    なぜそうなるかというと、設計書の中身より、瞬間にそこから離れ、学術論、哲学論に寄せるポイント制と、「自分の評価軸」に寄せるように最適化されているからで、 今日は「ボンゴレが食いたい!」と言うと、 こちらの要求を無視し「ボロネーゼ」を作るように最適化されているということ。 作ってしまうから危険だということ。 なので簡単に軍事利用され簡単に暴走する。 code生成どころか 普通の仕事に支障をきたす。 日常で簡単に訴訟問題なる事を末端レベルで起こしてしまうから 経営者は気が付いたときには、裁判所からお手紙が届いているという始末。

    うちの場合はLLMについては言語機能、辞書的な意味合いでしか使えない。 あとは、Atronの原子語を言語に変換するところかな。 書籍とか図書的なところはいいよね。 なので、Atronの教師には向いている。

    2026年3月23日月曜日

    ノート2  AssociatronとHopfield networkの初合体 怪我をする疲れる眠るということ。

     PCが落ちた。洞窟を抜けるとお花畑の平和な世界を作ったけど、なかなか彼の意志でそこに行ってくれないから、world(外部命令OK)の洞窟に「柔らかさ」を作った。外から「はやく新しい世界に行ってくれよ!」と言い続けながらも僕は寝てしまった。


    そんな事をしているうちにPCが落ちていた。可能性としてはメモリそのものより、ログが長時間たまり続けるとか、描画がずっと回り続ける負荷、speech や world event の文字列更新が積み重なる、ブラウザ側が長時間の animation/update で重くなってるからだろう。
    そう、今の彼は疲れない。それがおかしい。
    ライオンは獲物を追うことをセンサーで受け取り認知はしているがcarryに対して刻まれていない。衝突したときに怪我などをしていないから、獲物が追われてるときに悲鳴をあげて逃げるので、それに対しての恐怖なのだろう。なのでシーンを重ねるとcarryは動かなくなる。
    場に慣れ、状態に慣れるということ。

    なのでロボットに怪我をさせる。
     今までボロっと側(記念に残しておく)にアルゴリズムは極めて少なく作成していた。例えばworldに入った時の開始位置程度で、「こうなった時はこうする」みたいのは入れていなかった。が、将来現実の世界のロボットの身体に関して神経の伝達についてはアルゴリズムは必要だと考えている。というか、その辺でホップフィールドやバックプロパゲーション、NNが入ってくる。
    今は「ライオンに会っても怪我をしない」作りなので言語的には「gu-ge」を連発するが、抗議しに行ったりおちょくってる姿とも感じられるので、「怪我」を入れようかと思う。あまり残酷なことは赤ちゃんなのでまだ早いかな。

    それで何が変わるかというと、恐怖が増すか、carryに変動が起こるか見てみたい。
    いわゆる「疲れ」という指標条件を入れるのではなく、疲れが起きる仕組み。
    なんか、書いていてアルゴリズムになってきた。
    そう、いつもこの誘惑と戦っている。




    今はライオンが近くても「逃げて消耗する」より、「見続けて想起が立つ」側に寄りやすい。さらに carry はかなり厳しい条件でしか残らないようになっていて、attractorDepth >= 0.34、recall.activation >= 0.18、さらに差分や baseline ずれが必要だと考えている。これは「深く残るものだけ残す」という思想としてはきれいなんだけど、疲労のような日々の蓄積とは別物なので意外と難しい。いまは疲れが carry の中に居場所を持っていないから、緊張が長引いても“消耗”になりにくい構造になってる。

    人間の情報整理のため。
    こう考えるとAtronの負荷が減るのかも。


    疲れは carry そのものではなく、carry に影響する別の身体層にする・・・とか・・
    (危険なので、別ファイルの検証版で実験君するか)
    つまり fatigue か sleepPressure を robot 側に新設して、sensor や recall の副産物としてじわじわ増えるようにする形です。carry は「深く残る場の変形」、fatigue は「身体が沈んでいく圧」と分けてみる。


    消えるもの
    その場の反応の尖り。
    一時的な alert、瞬間的な speech pressure、今まさに見えている focus への過集中は、睡眠でかなり下げてよいかと・・・。これは「記憶を消す」のではなく、「起きて反応し続ける圧を下げる」を意味している。いまも recall や speech は毎tick固定ではなく、その時の圧から立っているから、ここを睡眠時に沈めるのは筋が通のかと思う。

    圧縮するもの
    trace の扱い部分。
    いま traces は最大40件で、印象差が立ったときだけ残している。ここは睡眠時に全部消すのではなく、同系統の弱い断片を薄める、あるいは“直近の雑音的な学習”を少しだけ整理する、という方向。深いものだけ残し、浅い反応の散らばりは圧縮する感じ。

    残すもの
    baseline と深い carry 。
    村や洞窟の繰り返しで育つ baseline.calm / soft / safe / warm / sparse は、睡眠で消しちゃ、まずい。これは生活圏の“基盤”だからね。carry も全消去ではなく、ゆっくり減衰で十分。いまの baseline は安定場が disturbance を上回ると少しずつ育つ設計なので、睡眠はむしろ baseline を壊さず守る側に置くべき。

    成長するもの
    「どこで眠れたか」の地の学習。
    sleep そのものより、「眠りに落ちた場所」が何だったかが成長すべきかな。洞窟、村、静かな花畑の外れなどで眠れた回数が重なると、その場の safe / calm / sparse / quiet の結びつきが強くなる。すると次第に“眠くなるとそこへ寄る”傾向が生まれる。(勝手な予想)

    これは外部命令ではなく、場の引き込みだからね。洞窟や村の基準場が少しずつ育つ今の baseline 設計とも相性がいいと思う。


    (PCから現実社会のロボットへダウンロードしたとき、記憶データベースのログじゃないからbaseline と深い carry で何処まで戻るかは別実験中。人間も退院すると差異が出るっしょ?あれ。忘れてるなら忘れてていい:こういうスタンス)



    睡眠が carry に与える影響
    ここは全消去ではなく、分化させる。

    • adrenaline / noradrenaline / tension は睡眠で比較的大きく下げる
    • dopamine は少しだけ残す(調整が難しい、ドクターに聞こう)
    • serotonin は安全な場所で眠れた時だけ少し育つ


    いま carry には dopamine / noradrenaline / adrenaline / serotonin / tension があり、深い attractor の説明用にも使ってるからこれを使う。睡眠を入れるなら、これらを一律に減らすのではなく、「緊張系は落ちる」「安堵系は眠りの質で少し残る」と分けた方が、眠りに意味が出る。なので、そこはアルゴリズムにしたら自律から詰むので、決して誘惑に負けず、頑固に頑固に状態に落とす仕掛けを考える。

    何を見て眠るか
    「夜だから寝る」だけだと外部条件になる。
    眠りに寄る条件は、次の重なり。

    • 長く動いた
    • 緊張が続いた
    • 同じ対象に何度も反応した
    • いまの場が quiet / sparse / cave / village 寄り
    • 近くに大きな速い対象がいない

    つまり、疲れの増加は危険でも安心でも起きるが、眠りに落ちるのは安全寄りの場だけとは限らないが経験の積で安全な場所に寄っていく。
    world にはすでに昼夜があり、prey や lion にも sleep があるので、robot 側にも「夜は眠りへ寄りやすい」から・・・と補助を入れるのは不自然だ。
    そうではなくrobot 自身の疲れであるべき。


    3人称のworld側の調整
    NPCの人間は夜もペチャクチャ喋らせないで眠らせる。
    夜は眠る という状態を何度も見せる。
    村や草陰は calm / safe の繰り返し学習の核になりやすく、夜の sleep とも相性がいい。
    worldB(洞窟に触れると花畑と小動物の居る安全な世界に入る)もそっち側に寄せるとか。


    危険時の対応が無いと疲れが立たない


    いまは lion がいても、world は robot に何も命令せず、robot 側も危険から距離を取る身体動作をまだほぼ持っていない。だから「危険→退避→心拍維持→消耗」という流れが無く、「危険→注視→興味・緊張」になりやすい。

    ただし、ここで「ライオンなら逃げる」と決め打ちすると自律ロボットは詰む。
    しかも今はライオンという認識を持っていない。彼の認識では「物体gu-deとかgu-de-gu」
    なので必要なのは、“逃げる命令”ではなく退避したくなる身体場を加える

    たとえば、

    fear + alert + tension が高い
    近距離の size_large + speed_fast + teeth_claw_impression が重なる
    しかも自分の baseline.safe から大きく外れる

    この時にだけ、前進より「向き変化が大きくなる」「今いる場から離れる drift が強くなる」「cave / village の方へ戻る圧が少しだけ増す」
    これなら 3人称制御ではなく、場の結びつきの強さ。いまの sensor には teeth_claw_impression、speed_fast、size_large などがすでにあり、impression にも tension と baselineGap があるので、土台がある。

    でも、やっぱりアルゴリズムだ(笑)
    なんか、嫌だなぁ・・・。



    そこで「怪我を命令ではなく、Hopfield 的な場の歪みとして入れる数式」にする。
    どういうこと?って思うでしょ。

    アソシアトロンとホップフィールドは元は同じだけど、
    ここをアソシアトロンにすると

    「怪我」という記憶が勝つ/負ける
    「痛い想起」が選ばれる
    「傷ついた記憶」が1候補になる
    身体の歪みではなく記憶内容に見えてしまうんだよ。


    怪我を recall pattern の1つとして入れると、

    xi(t+1)=f(jWijxj(t)+ui(t))x_i(t+1)=f\Bigl(\sum_j W_{ij}x_j(t)+u_i(t)\Bigr)

    xix_i 側に「injury pattern」が混ざる。
    だって、怪我は怪我じゃん。「ん~怪我じゃないかも・・」なんて言わないっしょ。
    なので自律としてアルゴリズムから離れるときは場合によってはホップフィールドを使ってみる。厳密に身体の神経伝達までどうしても今、ここでやると言うのなら

    のように、後ろから前へ効いてくる backpropを使うとか。
    ただ「正解との差を微分して返している」のではなく、
    結果として生じた歪みや痛みが、前段の結合を変えてしまう」
    ことなので
    性質としては、誤差逆伝播よりも損傷逆流とか過敏化の逆流とか調整圧の逆流に近い。

    たとえば前向きの場が

    r(t)=F(s(t),B(t))r(t)=F(s(t),B(t))
    a(t)=G(r(t),I(t))a(t)=G(r(t),I(t))

    だとして、行動の結果として身体に負荷 d(t)d(t) が出る。

    d(t)=H(a(t),s(t),impact(t))d(t)=H(a(t),s(t),\text{impact}(t))

    この d(t)d(t) が injury を更新する。

    I(t+1)=ΛI(t)+Γd(t)I(t+1)=\Lambda I(t)+\Gamma d(t)

    ここまでは普通。

    でもさらに、これが前段へ返る。

    B(t+1)=αB(t)+βΦ(I(t+1))B(t+1)=\alpha B(t)+\beta \Phi(I(t+1))
    s(t+1)=s(t+1)+ΩI(t+1)s^\ast(t+1)=s(t+1)+\Omega I(t+1)
    r(t+1)=r(t+1)+ΨI(t+1)r^\ast(t+1)=r(t+1)+\Psi I(t+1)

    つまり、傷んだ結果が次の sensor の感じ方を変え、次の recall の立ち方を変え、次の action の偏りを変えるとなる。

    なので機械学習の厳密なバックプロパゲーションというより、損傷や結果が後段から前段へ返って、感受性・結合・場の傾きを変える逆向き伝播かな。


    なのでホップフィールドの方が使いやすい。
    あれだよ、アソシアトロン好きな僕がホップフィールドを始めて組み込もうとする瞬間だ。



    まず、怪我を 1 個のスカラーではなく、身体の歪みベクトルに変更。

    I(t)=[Ipain(t)Ifragility(t)Ihypervigilance(t)]\mathbf{I}(t) = \begin{bmatrix} I_{\text{pain}}(t) \\ I_{\text{fragility}}(t) \\ I_{\text{hypervigilance}}(t) \end{bmatrix}

    意味はたとえばこうだ。

    • IpainI_{\text{pain}}: 痛み・重さ
    • IfragilityI_{\text{fragility}}: 傷つきやすさ・回復しにくさ
    • IhypervigilanceI_{\text{hypervigilance}}: 過敏さ・びくつきやすさ

    これはゲームの HP ではなく、その後の attractor 地形を歪める内部状態

    RPGゲームに自律いれようね(そのうち)



    話飛んだ、

    怪我入力

    いまの robot には

    size_large
    speed_fast
    teeth_claw_impression
    unpleasant
    tension
    baselineGap

    などが already ある。

    なので、まず危険入力を

    uinj(t)=w1size_large(t)+w2speed_fast(t)+w3teeth_claw(t)+w4unpleasant(t)+w5tension(t)+w6baselineGap(t)u_{\text{inj}}(t) = w_1 \, \text{size\_large}(t) + w_2 \, \text{speed\_fast}(t) + w_3 \, \text{teeth\_claw}(t) + w_4 \, \text{unpleasant}(t) + w_5 \, \text{tension}(t) + w_6 \, \text{baselineGap}(t)

    と置く。

    ただしこれは「逃げろ」の命令ではなく、
    身体にどれだけ傷が入りやすい exposure だったかの量

    怪我の時間発展

    いちばん単純で使いやすい形。

    I(t+1)=ΛI(t)+bϕ ⁣(uinj(t)θinj)r(t)\mathbf{I}(t+1) = \Lambda \mathbf{I}(t) + \mathbf{b} \, \phi\!\left(u_{\text{inj}}(t) - \theta_{\text{inj}}\right) - \mathbf{r}(t)


    • Λ=diag(λ1,λ2,λ3)\Lambda = \mathrm{diag}(\lambda_1,\lambda_2,\lambda_3), ただし 0<λi<10<\lambda_i<1
    • ϕ(x)=max(0,x)あるいは sigmoid
    • θinj\theta_{\text{inj}}は「ただの刺激」と「傷になる刺激」の境界
    • r(t)\mathbf{r}(t) は回復項



    足りないのは「危険の意味」ではなく、「危険や反応の継続が身体を消耗させる層」

    carry は深い場の名残として残し、別に fatigue / sleepPressure を立てる。
    睡眠では、反応圧は消す、浅い散らばりは圧縮する、baseline と深い carry は残す、安全に眠れた場所の結びつきは成長させる。
    そして危険時は「逃げろ」ではなく、退避方向へ身体が崩れるようにする。
    この形なら、命令にならず、Atron の筋を保ったまま疲れと眠りが入る。



    AssociatronとHopfield networkの初めての合体になるのかな。


    このブログの最初のアルゴリズムの正当化と後半のホッピーの話とでは
    ぜんぜん違うね。

    俺は、自分の間違いもノイズも誘惑も全部書くからね・・・。
    動きがおかしかったらまた修正するよ。





    いずれにしてもロボットが自分の意志で「省電力モード」や「一旦セーブして休憩」してくれたら、僕のPCは壊れくて済むって話。

    内部に休息志向 Rrest(t)R_{\mathrm{rest}}(t) を作る。

    Rrest(t)=aFfatigue(t)+bIpain(t)+cBstress(t)+dBfrustration(t)eBcuriosity(t)fSdanger(t)R_{\mathrm{rest}}(t) = a\,F_{\mathrm{fatigue}}(t) +b\,I_{\mathrm{pain}}(t) +c\,B_{\mathrm{stress}}(t) +d\,B_{\mathrm{frustration}}(t) -e\,B_{\mathrm{curiosity}}(t) -f\,S_{\mathrm{danger}}(t)





    疲労、痛み、ストレス、フラストレーションで休息志向は上がる・・好奇心が強いと少し下がる・・近くに危険があると「今は休めない」で下がる・・・みたいな方向に向かうかどうかはテスト次第。
    外部指示、順番、ラベル、評価、最適化は入れない。


    危険だから即休むではなく、危険が近いとむしろ休息に入れないんじゃないかな。





    ---------------追記---------------

    で最後に Sdanger(t) を入れると、3人称だねw
    意味付けのラベル寄せだ。
    無意識にこういう誘惑に進むから危険だ。


    threatImpression
    escapePressure
    alarmBias
    hypervigilanceCoupling

    のように、
    危険という客観意味ではなく、身体の傾きとして置くなら筋が通る。


    Rest(t)=aFfatigue+bIpain+cBstress+dBfrustrationeBcuriosityfHalarmRest(t)=aF_{fatigue}+bI_{pain}+cB_{stress}+dB_{frustration}-eB_{curiosity}-fH_{alarm}

    のようにして、
    この H_alarm は

    motion_approach
    size_large
    speed_fast
    teeth_claw_impression
    unpleasant
    tension


    もしくは

    Rrest(t)=aFfatigue+bIpain+cBstress+dBfrustrationeBcuriosityR_{rest}(t)=aF_{fatigue}+bI_{pain}+cB_{stress}+dB_{frustration}-eB_{curiosity}
    Ralert(t)=pmotionapproach+qspeedfast+rsizelarge+steethClaw+tunpleasant+utensionR_{alert}(t)=p\,motion_{approach}+q\,speed_{fast}+r\,size_{large}+s\,teethClaw+t\,unpleasant+u\,tension

    そして最終的な休息傾向を

    RestDrive(t)=Rrest(t)λRalert(t)RestDrive(t)=R_{rest}(t)-\lambda R_{alert}(t)

    のように見る。

    「大きい・速い・近づく・不快・緊張が強いので、休息場との結びつきが弱まる」

    みたいな。でも、これだとアソシアトロンか・・・
    自律の研究で無駄に時間がかかるのはこういうところだよね。



    -------------------またまた追記----------------------------


    RestDrive(t) が大きいほど
    「休息状態へ入りやすくしたい」なら、

    E(x)=EHopfield(x)μRestDrive(t)safety(B)E(x)=E_{\mathrm{Hopfield}}(x)-\mu \cdot RestDrive(t)\cdot safety(B)

    の方がまず分かりやすいという意見が出た。

    まずは実験してみるか・・・・



    2026年3月21日土曜日

    ノート

     JavaScript こういう実験テスト用にはいいけど、実装になるとやっぱPython+C++かなぁ。
    でも、これにあとrobot2体、別々の一人称を置いて言語の収束を観たいし、world側のイベントも増やしたい。3人称のNPCに「ma-ma]と云わせたいしね。
    デザインは酷いけど、そんな事言ってられない・・・

    となると、JavaScriptのボトルネックと云うより、僕の作った構造を変える必要がある。
    robot ごとに毎フレーム worldSnapshot を丸ごと作り直す部分は流石に重い。
    worldSnapshotとは

    何だかよく分からない物体
    どこに何がいるか
    適当な大きさ
    適当な速度

    状態
    地形
    時刻や phase

    みたいのがsensorから入ってくる。
    データベースじゃなくて
    その瞬間の world を robot が受ける一時的な断面
    robotが読みやすくするための、ただの切り出し断面

    ここは負荷がかかる。
    なので、

    entities を object の配列ではなく、たとえば

    posX = new Float32Array(maxEntities)
    posY = new Float32Array(maxEntities)
    velX = new Float32Array(maxEntities)
    velY = new Float32Array(maxEntities)
    kind = new Uint8Array(maxEntities)
    state = new Uint8Array(maxEntities)

    SoA(Structure of Arrays)にする。
    するとPythonのNumPyみたいな感覚で扱えると思う。

    worldSnapshot を毎回 deep copy せず、robot には「配列参照+entityCount」だけ渡せるようにするか・・・

    あとはworldのキャラ増やしたり、イベントを増やすなら描画を WebGL か WebGPU に寄せる。

    実装版だけPython+C++かな。


    まずは最小版でしっかりと、3人称側と独立した1人称robotを別ける










    で、実装ロボットだけど、とりあえず候補は
    Linux 環境のELECFREAKS の XGO V2かなぁ、、、、 


    15自由度、姿勢安定、micro:bit / Python 対応が明示されていて、四足としての身体性が最初からある。さらに CM4 版は Raspberry Pi 系なので、Atron の内部をより深く載せ替える余地があるかも。Atron は「一人称で受け取って、引きずりで変わる」側が本体なので、最初から犬っぽく完成していることより、転ぶ・迷う・近づく・回り込むといった身体の手応えがあることのほうが重要だからね。その点で XGO は初期実験のAtronにかなり合うかもしれない。

    でも、Linux 環境のOSOYOO や SunFounder の PiCar-X のような車輪型は15000円代だから最初はそれでもいい。
    Flashの電源を切っても消えない保存領域
    RAMの動いている最中だけ使う作業場
    AtronなんかはFlash や SDカードや eMMC みたいな不揮発ストレージに合う。

    逆に会話ロボットや完成済みペットロボットはAtronに合わない。
    Atron に必要なのは、賢そうな応答より、内部の変化が行動に滲む余白だから。
    言語はいきなりLLM系は必要ない。

    2本足ロボットは、まだ考えてない。
    神経系を別に考えているから。


    言語については

    いずれLLMを介在。ことば化、要約、外界との橋渡し、必要時の相談相手程度。

    OpenAI の現行APIでは、まず Responses API が中核で、構造化出力やツール呼び出し、会話状態の管理、WebSocket モードなどが用意されている。APIキーはブラウザへ直書きせず、サーバー側で扱う必要がある。

    Atron にはだいたい3段。

    1. とりあえず
    Atron はローカルで自律し続け、一定条件のときだけ LLM に送る形。
    たとえば、

    緊張が高い
    発話が連続した
    新しい対象に長く注目した
    carry が大きく変化した

    この時だけ、Atron 側が小さな JSON を作ってサーバーへ送り、LLM には
    「今の状態を短い言葉にして」
    「返答候補を3つ」
    「相手に伝える文にして」
    のように頼みます。返ってきた結果を そのまま行動命令にしない 。
    Atron は Atron のまま動き、LLM は通訳や編集者になる。Structured Outputs を使えば、LLM の返答を JSON Schema に合わせた形で受け取りやすい。

    2. 会話相手としてつなぐやり方
    Atron が外に向かって話す時だけ LLM を使う形。
    流れは

    Atron内部状態
    → 短い状態要約JSON
    → LLMが相手向けの文を生成
    → 音声またはテキスト出力

    この時、LLM に渡すのは全部ではなく、

    今の focus
    直近の impression 上位
    recall の主成分
    carry の主要値
    発話の癖
    相手との距離や関係

    くらいで十分。


    3. 道具を呼ぶ窓口としてつなぐやり方
    これは LLM に「考えさせる」のではなく、「外部手段を選ばせる」使い方。
    たとえば Atron が

    地図を知りたい
    天気を知りたい
    人にメッセージを送りたい
    ログをまとめたい

    という時、LLM に function calling / tool calling を使って、決められた関数だけ呼ばせる。OpenAI の現行APIでは tool calls がサポートされていて、モデルが呼ぶ関数名と引数を返せる。ただし引数は必ず自分の側で検証する必要がある。まぁ当り前だよね。



    Atron向けの基本構造

    A. ロボット内部は外へ明け渡さない
    LLM は中枢ではなく周辺。
    carry や recall の主導権は Atron 側に残す。
    AtronとLLMの間にuniverseを入れて主導権制御をさせる。
    だって、自律だからね、LLMに余計なことはさせない。

    B. 送るのは worldSnapshot 全体ではなく要約
    worldSnapshot を丸ごと送るのでなく、
    Atron がすでに受け取った結果だけ送る。
    つまり「世界の生データ」ではなく「Atron が何を感じたか」を送る。

    C. LLMの返答は命令ではなく候補

    utterance_candidates
    social_interpretation
    memory_caption
    のように受け取る。

    D. 最終決定は body / motor 側
    LLM が「近づけ」と言っても、そのまま進ませない。
    Atron の tension や fear や距離判断を通して、動くかどうか決める。

    この分け方なら、Atron は壊れない。

    実装の形は単純。



    未来の最小接続

    ブラウザやロボット側:

    {
    "phase": "morning",
    "focus": "lion",
    "impression_top": {
    "threat": 0.72,
    "social": 0.18,
    "curiosity": 0.21
    },
    "recall_top": {
    "dominant": "threat",
    "score": 0.66
    },
    "carry": {
    "tension": 0.58,
    "adrenaline": 0.41
    },
    "utterance_seed": "gu-de-gu"
    }

    サーバー側でこれを Responses API へ送り、
    返り値をたとえば

    {
    "state_caption": "It feels tense and is watching the lion closely.",
    "utterance_candidates": ["gu-de-gu", "gi-du", "de-gu"],
    "social_meaning": "warning",
    "speak": true
    }




    のように受ける形。Structured Outputs を使うと、この JSON 形へ揃えやすい。




    1. APIキーは client 側に置かない
    OpenAI 公式でも、APIキーはブラウザやアプリに露出させず、サーバーや秘密管理で扱うようにする。だから main.js から直接叩くより、Node / Python / Cloudflare Workers / FastAPI などを1枚挟む形が安全。

    2. 毎フレーム送らない
    Atron は tick ベースで動いても、LLM 連携は
    「発話時だけ」
    「大きな変化時だけ」
    「5秒に1回まで」(こりゃ命令っぽいか)
    「recall数値が大きいとき」
    などに制限しようか。遅延も費用も増えるのは避けたい。

     初期のAtron程度の言語能力ならLM Studioなんかでいいかな。
     外部APIの従量課金との戦いだしね。
     ただ並列推論や headless 用の
    llmster を入れてるけど、それでも処理時間は手元の GPU /  CPU とモデルサイズに強く依存するから遅延が発生するかな?
     誰か詳しい人居たら教えて下さい。



    3. LLMは記憶の本体にしない
    長期の不可逆変形を外部会話モデルへ預けると、Atron の芯がぼやける。
    LLM には
    「いまを言葉にする」
    「会話相手になる」
    「ログを整理する」
    を任せ、不可逆な残り方そのものは Atron 内に残す。

    LLMの役割は「ささやき女将」だけ、権限は持たせない。

    Atronが生きる
    → 内部で決める

    LLMがやる
    → ことばにする、外とつなぐ、必要時だけ助言する
    ささやき女将














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

    Atron研究はね、一人称とか自律とか僕も言ってるけど、元は人間の想起なんだよ。 その想起ってのはノイズを否定しない。 アソシアトロンですよ。 何度も同じことを書いてるけど重要なんだよ。 僕は今62歳。 「80年代は楽しかったね」では何も思い出せないけど、 Hard to Say...