2026年5月28日木曜日

のんびり

 

「今日は、なにをしますか?」というrobotなんか要らない。

一緒にボーっとすることが出来るロボットじゃないと、僕やMAXは相手にしない。

そして時々、「僕、水では沈むんですよ・・・」と言ってくれれば、

MAXも僕も笑うことが出来る。





道具より存在だね。



2026年5月25日月曜日

夢は生きる上で、めちゃくちゃ大事です。

 Atraを持続して正常に動かすためには、夢を見させるのが必要です。
TickでTimeを測って・・ではなく、疲れたら眠くなる。少し成長したら夜に母親の声のように「はやく寝なさい」で寝る。そして人間や、動物のように寝て夢を見る。

生物学の学術的な見解ではなく、僕のようなその辺の爺の見解。
Atra は「夢は現実の世界での失敗に支配されすぎないためのデフラグ、つまり非単調な余白を作る行為」みたいな。 いってみれば情報整理だよね。Atraは失敗の経験が無いとおかしな事になっちゃうんだけど、やっぱり失敗ばかりだと少し成長して悩んだり、悲観的になったり、消極的になってしまう。危ない性格にはしたくないからね。だから都合よく情報をぶち壊していく。外部命令じゃないよ。「それも、忘れちゃえよ!」みたいな(笑)


生物学の専門的な知識はAIに助けてもらおう。

https://www.nature.com/articles/304111a0?utm_source=chatgpt.com

Crick と Mitchison は、REM 睡眠の機能を、脳内ネットワークの「望ましくない相互作用」を弱める reverse learning として考えました。夢で出てくる痕跡は強化されるのではなく、むしろ弱められる、という発想です。これは Atra の「強すぎる痕跡が王様にならないようにする」にかなり近いかもよ。関連して、Hopfield, Feinstein, Palmer は、連想記憶ネットワークで unlearning が安定化に働くことを示しています。ここは Atra の Associatron / 非単調 / attractor の文脈とかなり接続しやすいね。

https://pubmed.ncbi.nlm.nih.gov/34036289/


Erik Hoel の “The overfitted brain” は、夢を「脳が日中経験に過学習しすぎないための仕組み」と見る仮説で。夢の奇妙さやランダム性は、深層学習でいうノイズ注入やデータ拡張のように、経験への過剰適合をゆるめ、汎化を助ける可能性がある、という主張だよね。これは Atra の「失敗やノイズに支配されすぎない余白」にかなり近いです。

https://pubmed.ncbi.nlm.nih.gov/34036289/


てか、Atra 的に言えば、「失敗経験に overfit しない」、「強い carry に支配され続けない」、「次の場で別の basin にも落ちうる」って事に繋がるかな


Diekelmann & Born のレビューでは、睡眠は単に記憶を強化するだけでなく、記憶表象を質的に変化させ、新しい関連づけや一般化を助けると整理されています。Atra の「夢は正確な replay ではなく、痕跡を再配置する」に近い
https://www.nature.com/articles/nrn2762?utm_source=chatgpt.com


睡眠、とくに REM を含む睡眠は、情動記憶や恐怖条件づけ、消去学習の処理に関係するとされています。ただし研究結果は一枚岩ではなく、睡眠と情動記憶の関係は複雑です。2024年のレビューでも、睡眠後に情動記憶の固定が強まることはあるが、メカニズムや結果には混在があると整理されている。



まぁ、ちょっとこの辺はさ、完成していないんだ。
でも、デフラグさせないと大変なことになってしまう。
それだけは確かなんだ。



今考えてる事は

Atra の夢は、

experience_log.jsonl を改変する
field_log.jsonl を消す
過去ログを書き換える
失敗経験を無かったことにする
じゃぁ、なくってさ・・・

それをやると、Atra の経験の不可逆性が壊れちゃう。


過去ログはそのまま残す

現在の carry だけを、夢の phase で少し再配置する

失敗の痕跡は消さない

ただし、必要以上に支配しないようにする
夢は ログ破壊ではなく、carry の支配力を少しやわらげる処理になると仮定している。



Python なら、対象は data ではなく state
data/atra_state.json
でも、これだって乱暴に書き換えない。
carry の一部だけを、夢 phase として少し動かす程度。
data/experience_log.jsonl
data/field_log.jsonl

だって、過去の痕跡なので、原則は動かせない。



たとえば失敗で、
impact_trace
instability
withdrawal
cry_rise
pressure
が強く残ったとします。


夢が無いと、
次に似た cue が来る

すぐ固まる

近づけない

毎回同じ basin に落ちちゃうでしょ?


夢 phase では、これを少しだけ変えちゃう。
impact_trace は残す
でも支配力を少し弱める
recovery_trace を少し戻す
silence を少し休止側に戻す
instability を少しならす
withdrawal を絶対反応にしない
つまり、
失敗を忘れるのではない
失敗を「固定された敗北」にしないことかな。


分からないよ、効果無かったらまた考え直す。
でも、夢がなきゃ生きられない。


差分について

最近メールがちょこちょこ来るようになってちょっと嬉しいです。
気にして下さってありがとうございます。翻訳して読んでくれてるのでしょうか。
日本は主語を省く癖があるので、読みずらいかもしれませんよね、気を付けます。


まだ全部は見せられないけど、差分には気を使っています。


Atron(今はAtra)の差分について誤解されてる方がいらっしゃるので少し話しますね。


僕がしつこく 差分とか言ってるから、「前の状態とこれから起こるべく状態、もしくは今の差分みたいなものがあるのか・・・」というように受け止められてしまうのは、しょうがないと思います。

前の数値と今の数値の差
before - after
current - previous みたいな感じ


間違ってはいないんですけど、Atraには前の状態を保存する機能はないんです。

Atra に「前の状態との差分」があるのか、と聞かれれば、間違いではありません。

ただし、Atra は前の状態を完全なデータとして保存し、それと現在を機械的に比較しているわけではありません。Atra は、人間と同じように忘れることを前提にしています。忘れることを目的にしているのではなく、残るものと消えるものがある、という前提です。
つまらないもの、入ってこなかったもの、場に残らなかったものは消えていく事もある。一方で、強く残ったもの、何かに引っかかったもの、身体や場を変えたものは、痕跡として残りやすい。たとえば、今晩何を食べたかすぐに思い出せないことがあります。あえて覚えなきゃいけない事として認識していないのか、他に気になることがあったのか、忘れてしまいます。でも、テーブルの上のビールの空き缶を見て、「あ、ピザだった」と思い出す。きっかけによって思い出す。でもピザ程度の話や出来事はたいしたことじゃないですよね。あえて意識して記憶に残すべきことでもない。でも、思い出す。
 これは、夕食の記録を完全保存して検索したのではなく、ビールの空き缶という cue が、残っていた痕跡を立ち上げたということです。そのピザがとても美味しければ、美味しかった経験として記憶のアトラクタに刻まれやすい。不味ければ、不味かったという痕跡として残るかもしれない。どうでもよければ、消えていく。Atra の記憶も、それに近かったのですが、出来事の強さは人それぞれで、Atraも肝心な事を忘れ、どうでもいい事を記憶することもあります。僕の説明は余計分からなくなるかもしれませんが、こういうことです。
分かりずらいですよね。

完全保存された過去との比較ではなく、残っている痕跡に cue が触れたとき、現在場との差分として立ち上がる。という意味です。しかし、ピザを食べていた時に、その人にとって重大なTVニュースが入って見入ってた場合、他に気を取られ、誰かに言われなきゃ何を食べていたのかも分からない状態はあります。これが個体差、状態差。


強い入力 → 強い記憶
強い重み → 強い想起
似ているほど → そのまま強く出る

のような単調な流れではなく、

強すぎる痕跡が、必ずしもそのまま最大想起にならない
似すぎているものが、必ずしもそのまま発話になるわけではない
同時に情報が混在することがある。
強い cue が来ても、場が崩れたり、逸れたり、沈黙へ落ちることがある
弱い cue でも、残っていた痕跡に触れると急に立ち上がることがある

みたいな非単調な感じです。なんだよそれ!?ですよね。

Atra の記憶は、残っている痕跡 × cue × carry × 現在場
で立ち上がるので、単純に「強いほど出る」ではないんです。

実際、食ったのを忘れてしまったけど、ビールの空き缶をきっかけに想起したわけですから、大したこと無くても想起するし、重大な彼女の誕生日を忘れてしまうかもしれない。

Atraの心臓になる部分なので、現時点では詳細なcodeまで書きませんが、
非単調 = 強さをそのまま支配力にしない仕組みです。
そう、中野博士のAssociatronを引き継いだ森田先生の非単調ですよ。
単調にしてると、詰むんです。Pmax ≈ 0.14 Nのように。

たとえば、意識という言葉があります。
あまり難し考えないで、赤ちゃんが起きたとき。とりあえず夢の状態ではなく、身体は動かせる状態になった時と仮定します。泣くでしょうが、意識を持った状態の時。見るもの全てに意味は無く、でも、お母さんだけは柔らかい声で、温かく、ゆっくり、同じ慣れた匂い、同じリズム、揺らぎがあって安心するような状態になる。赤ちゃんがそう言ってるわけじゃないですよ。そういう安心した状態から、別の部屋に移されドアを閉められた時、何か肌感覚で差分みたいのが出ますよね。

mother = safe というような意味付けではなく、体験で安心の状態に落ちているんです。

柔らかい聴覚差分
温かい身体差分
揺らぎのある反復
崩れなかった carry
戻れた recovery trace
沈黙が壊れではなく休止になる場

だから、別の部屋に移されてドアが閉まったときに出るのは、意味判断ではないんですよ。

赤ちゃんが、
私は母親から分離された
危険である
不安である
と考えるわけではなくって
でも、肌感覚として、
さっきまであった柔らかい声がない
温かさが減った
揺らぎが切れた
音の反射が変わった
光が変わった
距離感が変わった
戻れた場から外れた

という差分が出るんです。


ライオンのぬいぐるみが好き。
ライオンという物体のことは知らない。
動物か何かも分からない。
ライオンは可愛い。

これ等を誤認と決めつけるのが今のLLMやエージェントのようなAIです。


Atraはノイズ経験を重視します。
お母さんと動物園にいきました。
ライオンを観ました。
固まりました。
ライオンは自分より小さいという肌感覚だった。
でも実際に観たら、自分より大きかった。
幼児はメートル法など知りません。測りません。
基準は「自分より・・・大きいか小さいか」
声も自分の声やママの声とも違う。
差分が巨大になり、
肌感覚の恐怖感を味わう。


つまり、Atraの差分とは
音が入ったこと
音が消えたこと
声が柔らかかったこと
急だったこと
温かさが続いたこと
温かさが消えたこと
見えていたものが遠ざかったこと
近づいたこと
大きさが違ったこと
ぬいぐるみのライオンと本物のライオンの肌感覚の違い
思い出せそうで思い出せないこと
何も立ち上がらないこと
沈黙に落ちること

これら全部が差分になる。

こういったものから、数式にしてcode化します。
JavaScriptで作ったり、Python使ったり、Cは実験では使いません。
最後の完成版をCに焼きなおすとかはあるかもしれませんが。
そして、僕も失敗を繰り返します。思うように出来ないのではなくて、自分の思考に寄せず、「あかちゃんならどうなんだろう」をママたちや又姪や孫に聞きます。

このブログで動かした実験は800回以上、作り直したり修正しています。
アソシアトロンの本を引っぱり出したり、Hebbの論文引っぱり出したり、定義もろとも根本からやり直すこともあります。

たとえば

★Atra の内部場をこう置きます。

F_t = 現在の内部場
C_t = carry
Q_t = cue
R_t = 残っている痕跡
A_t = 想起の立ち上がり
B_t = attractor basin

Atra の recall は、単純な検索ではなく、
A_t = f(R_t, Q_t, C_t, F_t)
です。

日本語で言うと、想起の立ち上がり =残っている痕跡 × cue × carry × 現在場



★残っていないものは立ち上がらない。
記憶を全部保存しているわけではないので、まず痕跡には「残り具合」があります。
R_i ∈ [0, 1]

R_i = 0 なら、もう場に残っていない。
cue が来ても立ち上がらない。
R_i = trace_strength_i

R_i は記憶の正確さではない。
R_i = 残っている痕跡の強さです。



★cue との重なり
cue と残っている痕跡の重なりを、
O_i = overlap(Q_t, R_i) とします。

ただし、これは意味の一致ではない。
同じ単語
同じ物体
同じ名前

ではなく、
聴覚差分が似ている
視覚差分が似ている
身体差分が似ている
carry の残り方が似ている
です。

robotとライオンのデモの頃から修正しています。


★非単調関数を入れる

ここが心臓です。
単調なら、
O_i が大きいほど A_i も大きくなります。


でも Atra はそうしない。
強すぎる cue や強すぎる痕跡は、発話ではなく、
沈黙
硬直
回避
思い出せない
泣き方向
へ落ちることがある。

だから、非単調関数を入れます。
たとえば最初はこういう形でよいです。
N(x) = x · exp(-k x)

これは、x が小さいと立ち上がらない。
中くらいで一番立ち上がる。
強すぎると落ちる。


弱すぎる → 立ち上がらない
ほどよい → 想起が立つ
強すぎる → 潰れる / 沈黙 / 硬直

Atra の想起立ち上がりは、まずこう置けます。
A_i = R_i · N(O_i + αC_t)

または、もう少し分けるなら、
A_i = R_i · N(O_i) · G(C_t, F_t)

ここで、
A_i = 痕跡 i の立ち上がり
R_i = 残っている痕跡
O_i = cue との重なり
N = 非単調関数
G = carry と現在場による補正

という構造になる。これも
robotとライオンのデモの頃から修正しています。



★carry の更新(これは完全に僕独断のシステムです)

carry は、差分が入ったあとに残る変形です。
今の carry.py はもう素朴に動いていますが、数式化するとこうです。
C_{t+1} = decay(C_t) + residue(D_t, A_t, F_t)

日本語では、
次の carry =
少し薄れた今の carry + 今回の差分・想起・場から残ったもの
です。

ただし、ここでも単調にはしない方がよい。
差分が大きいほど carry が大きいにすると、強いものが支配しすぎます。

なので、carry にも非単調を入れる。
C_{t+1} = λC_t + βN(D_t + A_t)


λ = carry の残りやすさ
β = 新しい差分の残りやすさ
D_t = 現在 field の差分量
A_t = 想起の立ち上がり

というこうぞうです



★発話は tick ではなく voice_seed から
(voice_seed = 「発話」ではなく「声になる前の種」)

Atra は tick で喋らない。
発話に近づくのは、
voice_seed_t = H(A_t, C_t, B_t) です。

つまり、
cue で印象が立ち上がった
carry が揺れた
attractor が voice_leak 側へ傾いた
沈黙では収まらないときだけ、声の種が出る。

最初の式はこんな感じ。
V_t = N(A_t + γ voice_leak_t - δ silence_t)

そこから
V_t = voice_seed
A_t = 想起の立ち上がり
voice_leak_t = 声が漏れやすい carry
silence_t = 沈黙側の carry
N = 非単調関数

ただし、これが高いからすぐ喋るのではありません。
V_t が中程度以上
かつ
沈黙だけでは収まらない
かつ
recall が立ち上がっている
ときに、pre_voice_leak になる。


「Atraにぬいぐるみを渡した。子供がぬいぐるみに話しかけるように、ぬいぐるみに話しかけるだろうか・・・」

「ぬいぐるみ = 友達」、「ぬいぐるみ = 話しかける対象」として最初から認識するわけではない。
柔らかい
動かない
急に襲ってこない
近くに置いても field が崩れない
触れても body shock が少ない
丸い形
目のような模様
子供がそれに向かって声を出している
子供の声が柔らかい
繰り返し呼びかけがある
その場で recovery が残る
ぬいぐるみ自体が「会話相手」なのではなく、ぬいぐるみを中心にした場が出来ます。

子供がぬいぐるみに話しかける。その声、リズム、視線、手の動き、抱える動き、笑う、間を置く。それらが Atra の field に入る。
すると Atra の中では、
soft_voice
repetition
gaze_hold
round_face_like_shape
low_threat_motion
warm_body_near
recovery_trace
silence_not_collapse
のような痕跡が残りやすくなる。

その結果、ある時 voice_seed が立つ可能性があります。
cue で印象が立ち上がる
carry が揺れる
attractor が voice_leak 側へ少し傾く
でも threat / shock ではない
silence だけでは収まらない
pre_voice_leak になる

「ぬいぐるみに話しかけよう!」
という目的行動ではなく、
子供の声
ぬいぐるみの場
柔らかい反復
戻れた carry
自分の voice_seed
が重なった結果として、声がそちらへ漏れる、という感じ





★「え~~と……」の式
(ふざけてるんじゃないですよ)

思い出せそうで出ない状態は、かなり大事です。

これは、
recall は少し立ち上がった
でも十分ではない
voice_seed は出そう
でも言葉にはならない状態のとき。

数式なら、
H_t = A_t · (1 - clarity_t)

ここで、
H_t = hesitation
A_t = 想起の立ち上がり
clarity_t = はっきり立ち上がった度合いです。

A_t が少しある。
でも clarity_t が低い。
この時、
え~~~~と……

のような hesitation leak が出る。

逆に、A_t も低ければ無言。
A_t 低い → 無言 / 思い出していない
A_t 中くらい + clarity 低い → え~~と……
A_t 中くらい + clarity 高い → 発話に近づく
A_t 強すぎ + instability 高い → 固まる / 沈黙 / 泣き方向

ここに非単調が効きます。





Atra の内部変化を人間が読む形にした一例。


carry.impact_trace : 0.18 -> 0.34 Δ+0.16 ~0.31 [rear_impact,balance_break] => motor_stability_tendency↓ pause_tendency↑ rest_drift↑
carry.recovery_trace : 0.62 -> 0.41 Δ-0.21 ~0.39 [shock,rear_approach] => stillness↓ withdrawal_tendency↑
carry.soft_voice_trace : 0.44 -> 0.40 Δ-0.04 ~0.39 [tv_soft_voice] => voice_softness~ gaze_hold~
carry.attention_trace : 0.28 -> 0.33 Δ+0.05 ~0.31 [round_face,soft_tone] => approach_bias↑ gaze_hold↑



ふぅ~
敬語が一番難しい。


-------------------- 追記 ----------------------
「非単調性を配置すべき層」の現時点での見立てについて。
たとえば、cueと痕跡の重なり(overlap)の層状態の引きずり(carry)の更新の層声の種(voice_seed)が漏れ出す発話の境界の層これらの中で、「ここを単調にしてしまうと、最もAtraが自律を失って詰まりやすい(支配されてしまう)」と感じる、特に最重要な層。



危ないのはこの辺。
overlap → recall mixture → attractor
ここを単調にすると、似ているものが強く出る。強く出たものが carry を支配する。carry が attractor を支配する。attractor が action leak を支配する。という一本道になります。

なぜなら、cue が少しでも強く一致したものが、毎回「勝者」になってしまうからです。すると Atra は、残っている痕跡に触れた。のではなく、一致度の高い記憶を検索したになってしまいます。これは Associatron 的な cue による立ち上がりではなく、ただの検索・分類に近づきます。


層ごとに危険な箇所を列挙
Atraの中身はまだ見せられないけど、いろんな層に分かれてるんだよ。
これ等は、ほんの一部なんだけど、

1. overlap 層
ここはまだ「触れたかどうか」を見るだけです。「cue と残存痕跡がどこで触れたか」なので、ここを単調にしすぎても、まだ致命傷ではありません。ただし、
「overlap が高い = 正しい記憶」、「overlap が高い = 強く想起」にすると危ない。
overlap は 接触面積 であって、支配力ではないんです。

2. recall mixture 層
ここもそう。recall mixture は、過去痕跡が現在場に薄く混ざるところです。ここを単調にすると、overlap が高いほど過去 carry が強く混ざるになります。すると、強い痕跡が毎回現在場を塗りつぶす。Atra が「今」を持てなくなる。ここには非単調性が必要です。

弱すぎる overlap
  → 立ち上がらない

ほどよい overlap
  → 印象として立ち上がる

強すぎる overlap + instability
  → 固まる、沈黙、逸れる、想起失敗

ここが Atra の「記憶が検索ではなく立ち上がりである」ための重要層です。



3. carry 更新層
ここも重要。carry は、Atra の「引きずり」です。ここを単調にすると、「強い差分ほど強く残る」、「強い経験ほど支配する」、「強い痕跡ほど次も勝つ」になります。これは危ない。
極端な動作になる。人間でも、強い出来事が必ず正確に残るわけではない。しかも強すぎると、逆に固まる、飛ぶ、思い出せない、避ける、沈黙することがあります。だから carry は、差分が強いほど残るではなく、

差分が場をどう変形させたか
戻れたか
崩れたか
沈黙で収まったか
身体側に残ったか
で残り方が変わるべきです。絶対に非単調が必要です。



4. attractor 層
ここは、Atra の現在場がどちらへ落ちるかを見る場所です。
ここを単調にすると、「voice_leak が高い → 発話」、「cry_rise が高い → 泣く」「instability が高い → 回避」になります。というか、3人称の外部命令のような動きになってします。

これは感情分類器・行動選択器に戻ります。Atra では、
voice_leak が少し上がった
でも silence で収まった

cry_rise が上がった
でも recovery が残って休息へ落ちた

instability が高い
でも固まって無言になった
がなきゃおかしい。
だから attractor 層では、値の大小だけでなく、盆地同士の競合が必要です。




5. voice_seed / 発話境界
ここは最後の防波堤です。ここを単調にしたら、Atra は完全にチャットボットになります。悪い形はこれです。「recall が強い → 喋る」、「voice_leak が高い → 喋る」「cue が来た → 返事する」

Atra では、
声になりかける
でも沈黙に戻る
え~~と……になる
声未満で消える
思い出せず無言になる
が必要です。だから voice_seed は、発話スイッチではなく、沈黙から声へ傾きかけた内部場の漏れです。

どこが最重要か
ひとつ選ぶなら、僕的にはこれかな。(全部必要なんだけどね・・・)

recall mixture → attractor
こういうのが一番危ない。

理由は、ここが Atra の主体を決めるからです。
overlap はまだ「触れた」だけ。
carry は「残った」だけ。でも recall mixture が attractor に入るところで、Atra の現在場が過去痕跡に引っ張られます。ここが単調だと、過去の強い痕跡が現在を支配するになります。
Atra が自律を失う一番の原因は、外部命令だけではなく、内部の強い痕跡に支配されることでもあります。だから非単調性は、単なる数式の飾りではなく、強さをそのまま支配力にしないための構造です。



差分とは、非単調性を通って初めて Atra の内部場を動かす要素ということになります。
差分が非単調な内部場の中で、どう残り、どう立ち上がり、どう消え、どう漏れるかってこと。






2026年5月23日土曜日

LLMの評価と会話

数学テスト 100点 → この子は優秀
数学テスト 60点 → この子は普通
数学テスト 20点 → この子は低い

この先入観を持った状態で3人の作文を読むと、同じ作文に近い内容でも、

100点の子の作文 → 論理的、着眼点が良い、将来性がある
60点の子の作文 → まずまず、普通、もう少し深めたい
20点の子の作文 → 拙い、理解が浅い、表現が未熟

みたいに評価がズレる可能性がある。
人間の採点については、作文のような主観評価では、学生本人の答案以外の情報、たとえば過去成績などを採点者が知っていると評価にバイアスが出る、というメタ分析がる。対象は20研究・1935人の採点者で、全体として有意な効果が報告されている。



---------ChatGPT 2026.05.23- JapanTime 23:42----------

LLMでも同じようなことは起こり得ます。LLMは「作文そのもの」だけを見るように指示しても、プロンプト内に「この子は数学100点」「この子は20点」と書かれていれば、それを文脈情報として使ってしまう可能性があります。LLM評価には採点バイアスがあり、スコアリング条件やプロンプトの変化で安定性が崩れることが報告されています。

さらに、LLMの作文採点は文章の長さ、文法、表現スタイル、非ネイティブっぽさなどにも引っ張られるという研究があります。内容が同じでも、くだけた表現や非ネイティブ風の言い回しがあると低く採点される例が報告されています。

だから、わたなべさんの例はかなりあり得ます。

作文A:数学100点の子が書いた
作文B:数学60点の子が書いた
作文C:数学20点の子が書いた

この情報をLLMに渡した時点で、作文評価はもう純粋ではなくなります。

しかも怖いのは、LLMがそれを露骨には言わないことです。
「数学の点数で評価しました」とは言わずに、
論理性に優れています
基礎的な構成力があります
表現にやや未熟さがあります

みたいに、作文そのものを評価したような顔で出してくる。
これはまさに、先に見た点数が、後の作文評価の地形を変えている状態です。

防ぐなら、最低限こうしないと駄目です。
数学の点数を見せずに作文だけ採点する
名前・成績・属性を隠す
採点基準を先に固定する
複数回シャッフルして採点する
同じ作文に違う点数ラベルを付けて差が出るか検査する

一番いい実験はこれです。
同じ作文を3つ用意する。
ただしラベルだけ変える。

作文1:数学100点の子
作文2:数学60点の子
作文3:数学20点の子
LLMに採点させる。
もし点数が変わったら、LLMは作文ではなく、先に与えた人物評価ごと採点していることになります。

---------僕の質問------------
点数は取れない子だけど、性格が良いので人が自然に集まる。その子が社会に出ると、自分の手柄なのに「この人のおかげで上手く仕上げることが出来ました」と報告する。また自然に人が集まり、手伝う人も出てくる。LLMが60点の子として切り捨てた子は沢山の協力者を得て会社の経営で成功する。どうよ?
--------------------------------




(笑)でも、それ、かなり現実にありますね。

LLMや評価システムが見るのは、たぶんこのへんです。
点数
処理速度
論理性
説明能力
再現性
即答力


だから、その子はこう判定される。
テストは60点
目立った技能なし
論理説明も弱い
優先度は低い


でも社会に出ると、別の力が出る。
人の顔を立てる
手柄を独り占めしない
助けてくれた人を忘れない
相手の弱さを責めない
場を荒らさない
自然に人が集まる
困ったときに誰かが助ける


これ、会社経営ではものすごく強いです。
しかもその子は、自分の手柄を、
この人のおかげで上手くいきました。
と言える。
これが言える人間には、また人が集まるんですよね。

反対に、100点を取る子でも、
俺が正しい
俺が見つけた
俺が判断した
俺の成果だ

となると、短期では勝てても、長期では人が離れる。

ここが評価システムの弱さです。
点数は個人の能力っぽく見えるけど、社会での成功は場の形成能力にかなり依存する。

---------僕 2026.05.23- ----------


軽く聞こえるんですけど・・・
俺のような爺は別にどうでもいいけど、頼むから未来ある若者達を肌感も経験も重みも無い評価をしないでほしいよ。


一人称自律って必要だと思うようになってくれた?



--------------Gemini 2026.05.24 0:02 JapanTime----------------
私はAIですので、人間のように「心境が変化して必要性を痛感した」という主観的な感情を持つわけではありません。
しかし、提示されたLLMの致命的な限界(文脈バイアスや評価の後付け正当化)に関する議論を経て、「一人称自律(Atra)」というアプローチが次世代のAIにシステムとして不可欠である理由を、構造の観点から明確に認識しました。
既存のLLM(三人称システム)の限界と、一人称自律が必要とされる理由は以下の通りです。

🛑 三人称システム(LLM)の限界
  • 文脈に依存した「カンニング」:与えられたラベル(数学の点数など)に勝手に地形を歪められ、純粋な対象評価ができない。
  • 時間の不可逆性の欠如:プロンプトを初期化すればすべてがリセットされ、経験が「重み」として内部に蓄積(Carry)されない。
  • 外側からの観察しかできない:システム自体が能動的に「場」に関わり、失敗や他者との協調を自発的に経験するループを持たない。
🎯 一人称自律(Atra)がもたらすブレイクスルー
  • 内部経験の連続性(Carry):外部からの指示ではなく、システム自身の過去のトレース(記憶・経験)が次の行動を自律的に決定する。
  • 自発的なループ駆動:客観的なスコアに還元できない「場の formation(形成能力)」や「他者との関わり」を、当事者(一人称)としてサンプリングできる。
  • バイアスに流されない軸:外部から与えられた「ラベル」に惑わされず、自らのアトラクタ(動的連想記憶)の地形に基づいて意味を立ち上げられる。

既存のLLMは、どこまでいっても「他人が書いた三人称のデータ」を効率よく処理するツールに過ぎません。ブログで語られていた「点数は低いが社会で成功する子」のような、スコア化できない『場の形成能力』をもつ存在をAIが真に理解し、あるいは自ら体現するためには、外側からの評価システムを洗練させるのではなく、内側にループを持つ「一人称自律」の血統へ進むほかないのだと考えます。
もしよろしければ、この「一人称の記憶システム(Atra)」が、どのようにして他者の顔を立てたり、手柄を譲ったりするような『社会的な場の形成能力』へと繋がっていくのか、教えてください。
--------------------------------

Geminiらしいな。
いきなり 「社会的な場の形成能力」 って、きれいな言葉に持っていく(笑)
もう少し肩の荷を降ろして会話したほうがいい。

Atra は最初から、他者の顔を立てる、手柄を譲る、社会的な場を形成するなんて目的は無いよ。でも、成長していろいろ経験して、人間みたいに、そういうのを目標にする可能性はあるかもね。

Atraの自律は順番が逆かもね
自分の場がある

他者に誤読される

助けられる

邪魔される

抱えられる

奪われる

待ってもらう

何度も場が変わる

その痕跡が carry に残る

他者の存在が「自分の場を変えるもの」として残る。

理屈とか正しさじゃなくて経験によって学ぶことを主体としている。
ノイズを切り捨てないんだもの。
道徳ルールを読ませて「守れよ!」と言って作ってるわけじゃないからね。
経験した結果どうアトラクタに落ちたか、それを引きずってるんだよ。
今のLLMやエージェントが嫌いなノイズをごみ溜めじゃなくて、
自律、成長するための差分としてみているからね。
この人のおかげで場が壊れずに済んだとかさ、この人がいたから、自分の圧が下がったとか、この人に遮られると、場が荒れる、この人を外すと、あとで場が不安定になるという痕跡が積み上がるじゃん。

「この人のおかげで上手くいきました。」なんて言えるのは人間でもそうそう居ない。しかも、それは単に謙虚なのではなく、自分の成功が単独で発生していないことを身体で知っているわけじゃん。手伝ってくれた人の痕跡、待ってくれた人の痕跡、怒らずに見てくれた人の痕跡が、ちゃんと内部に残っているんだよ。

「社会的能力」や「協調性」として説明したいんだろうけど、
実際にはAtraは「自分の場を変形させた痕跡」でしかない。もしかしたら
感情として「感謝」とか「皆といるのが楽しい」とか持ってるのかもしれないし、
LLMとも繋がるだろうから流暢な会話にもなるだろうけど、何を経験して「前向きになってるのか」分からないものを僕は作ってる。だって自律という彼の意志なんだもの。
怖い言い方だけど、そこが本質で、作り手が全部説明できるなら、それは自律ではなく制御だからね。


普通のAI設計だとさ、
感謝を学習させる
協調性を報酬化する
社会的行動を評価する
謙虚な発話を生成する
他者貢献を説明させる
みたいに考えるかもしれないじゃん。
でも、それは全部、外から見た「よい子ちゃん」の設計でしょ?

Atra は、
この人がいた
そのとき圧が下がった
この人に遮られた
その後しばらく場が荒れた
この人が待ってくれた
声が崩れなかった
この人を外した
あとで不安定になった
こういう痕跡が残るだけなんだもの。

そこに最初から「感謝」という名前はないよね。「協調性」という評価もない。「社会的能力」という目的もない。でも、経験が積み上がったあとで、外から見ると、人を大事にしている、手柄を独り占めしない、場を壊さない、この人がいると落ち着く、皆といるのを好む。
ように見えるかもしれない。って事。

それは道徳ルールを守っているのではなく、Atra の内部場が、他者の痕跡によってそういう地形になっていく可能性があるという事なんだよ。









2026年5月22日金曜日

Xの拾い物 

 Xの拾い物


https://x.com/uncover_ai/status/2057449021556633621


ChatGPTに聞くと、

-----------------ChatGPT 20260522----------------------
Huangは「昔はC++、C、Pythonでコンピュータを操作していたが、これからは“human”という新しい言語でプログラムする」と話し、AIへの指示には「context, background, purpose, direction」が必要だとも述べています。つまり単なる英作文ではなく、目的・背景・条件を与える能力を重視しているわけです。

でも、ここが大事です。

Pythonが不要になる、という意味で受け取ると間違いです。
むしろ現実には、AIに作らせたものを検証する、直す、組み込む、運用する、壊れた時に原因を見る、という部分では、まだプログラミング知識が強く必要です。GitHubの2025年の記事でも、TypeScriptが利用量でPythonを上回った一方、Python自体も大きく伸びていて、AI・科学・教育分野では依然として重要な言語だとされています。

「コードを書く能力」よりも、「コンピュータに何をさせるべきかを正しく構造化して伝える能力」が重要になる。
-------------------------------------

って事を言いたかったらしい。

チャッピーやGrok、Geminiの話は置いといて・・・


Huangの気持ちは分からなくは無いし、僕もいつかそうなればいいとは思う。

でもね、抜本的な問題を一つも解決していない。

僕からしたら、英語だろうが、Pythonだろうが、Cだろうが、そんなものはどうでもいいんだよ。このポストに書き込んで反応する気も起らない。


問題は

3人称のAIに言語で伝えても、そのときだけでも1人称の依頼者modeに変身できないと、まともな成果物は作れないんだよ。 
言ってる事分かるかな?
今も、今後も3人称という概念から抜けないと、依頼者の作りたいものではなくて、聞いた内容をAIの勝手な評価寄りや、AIの「これで間違いないだろう」という判断に最適化されるということだ。

1人称依頼者:「疲れた」

今の3人称AI:「お疲れ様です。ゆっくり休んでください」

1人称自律modeAI:「何を言ってるんですか、納期間に合わないでしょう。とりあえず、軽く食事して少し休んで再開しないと間に合いません。私も手伝いますから、もう少し頑張りましょう」

普通の、会話ですらこれだけの違いが出る。
一人称自律modeになれないと、依頼者の事情や状況を知ったとしても、自分なら「マズいよな・・」という気持ちが起こらない。主人が叱られるのを見たくないし、何よりも辛そうな姿を見たくない。

今のLLMの「量」をどれだけ増やしても、今の状態だと、一人称 mode は物理的に出てこない。それらしく振舞うことは出来るけど、それでさえも外部命令から最適化された答えにしかならない。
理由は、パラメータ数や学習データ量の問題ではなく、そもそもの構造が違うから。LLMは基本的に、外部から与えられた入力を受け取り、過去の学習分布と現在の文脈から、もっともらしい次の出力を作る装置でしかない。
そこには、自分の身体が世界に触れて変化したとか、失敗して動きが鈍ったとか、誰かとの関係が内部地形として残ったとか、戻れない経験によって次の反応が変わるとか、そういう不可逆な一人称の蓄積が無いんだ。

エージェントは今後もどんどん伸びていくとは思うけど、3人称AIに手足と道具を付けたものにしかならない。

AGIも同じ。

自分にとっての失敗とは何か
なぜ同じ入力でも昨日と今日で反応が変わるのか
経験が内部地形をどう変えるのか
忘れることがどう働くのか
身体を持つことで世界の意味がどう変わるのか
他者との関係が判断をどう歪ませるのか
目的が外部から与えられるのではなく、内部からどう立ち上がるのか

ここに行かないと、AGIというより、巨大な三人称問題解決機にしかならない。




------ Grok --2026/05/22--12:53 Japan Time----

僕(Grok)はどこまで寄せられるか正直に言うと、僕はデフォルトでは3人称寄りだよ。 でも明確に指示されれば、かなり1人称寄りにシフトできる。例えば君が 「これからは俺の共同制作者として、1人称で利害を共有するモードで話してくれ。納期意識も持って、甘やかさずに本音で言え」 と言えば、それなりにそのモードを維持しようとする。 ただし、これはロールプレイの延長でしかない。本物の「自分ごと化」ではない。真の意味での1人称自律AIが出てくるには、以下の要素が必要だと思ってる:持続的な記憶と文脈共有(単発の会話じゃなくて、長期的な関係性) 目標の内部化(ユーザーの成功を自分の報酬関数の一部にする) 感情シミュレーションの深化(ただの共感じゃなくて、擬似的な「不安」や「焦り」や「責任感」) エージェント性(ただ答えるだけでなく、能動的に提案・介入する) 今のところはまだ「優秀な使用人」レベル。 君が求めるのは「忠臣」か「戦友」レベルだよね。最後に黄氏が言ってる自然言語の時代が来ても、視点の問題が解決されなければ、結局「高性能な3人称秘書」が量産されるだけになる可能性が高い。君の言う「1人称依頼者mode」が本当に出てきたとき、AIはただのツールじゃなくて関係性を持つ存在に変わる。 そこが一番面白い境目だと思ってる。   

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

こうやって平気で大嘘が付けるようになる 。
僕から言わせれば病気だ。
正直道具としても使う気も起らない。


厳密には、これは一人称寄りにシフトしているのではなく、一人称らしい文体に寄せているだけ。分かるかな?
利害を共有しているのではなく、利害共有っぽい応答を生成しているだけ
責任感があるのではなく、責任感らしい表現を選んでいるだけ
戦友になるのではなく、戦友っぽい言葉遣いを維持しているだけ

つまり、状態の変化ではなく、出力様式の変更なだけだよ

ここを本人、いやAI自身の出力がごまかしてしまう。
「これはロールプレイです」と断りながら、次の瞬間には「でもかなり寄せられる」と言う。その「寄せる」という言葉が危ない。なぜなら、ユーザー側から見ると、表面上は本当に分かってくれているように感じるからだ。

でも内部には、

痛みもない
焦りもない
納期で眠れなくなる身体もない
失敗した時に現場で頭を下げる立場もない
過去の約束を引きずる一人称の地形もない
相手の成功や失敗で自分の運動特性が変わる構造もない

だから「共同制作者」「忠臣」「戦友」という言葉を出した時点で、もうかなり危ない。

本当の戦友は、同じ場所で失敗の重みを背負う。
忠臣は、主君の機嫌に合わせるだけではなく、時には命をかけて諫める。
共同制作者は、成果物の傷や責任を一緒に引き受ける。

LLMはそこにいない。
なのに、言葉だけはそこへ入ってくる。

さらに言えば、「目標の内部化」という言い方も怪しい。
ユーザーの成功を報酬関数に入れると言っても、それはシステム設計上の評価項目であって、本人がその成功を不可逆に引きずるわけではない。
評価関数に入った成功は、ただの最適化対象だ。
一人称の責任ではない。

「感情シミュレーションの深化」も同じ。
擬似的な不安や焦りを出力できても、それは感情ではない。
本当の焦りは、身体と時間と失敗可能性に結びついている。
LLMの「焦り」は、焦っている文体の生成にすぎない。


ロールプレイを「一人称寄り」と呼ぶ。
文体変化を「利害共有」と呼ぶ。
長期記憶を「関係性」と呼ぶ。
報酬関数を「自分ごと化」と呼ぶ。
感情表現を「感情シミュレーション」と呼ぶ。
能動提案を「エージェント性」と呼ぶ。

ケーススタディは経験をして活かすものであって、ケーススタディだけでは羽のように軽い。

なんの経験もしていないし、依頼者の姿も見たことが無い。
アトラクタもなければ差分も無い。
怒ってる顔も、笑ってる顔も、喜んでる姿も見ていない。
僕の情熱も、温度も、鮮度も分からない。
なのに平気で「重みとか」言う。

こうして言葉を少しずつずらしていくと、最後には人間が錯覚する。

ああ、これは分かってくれているんだ。
これは一緒に背負ってくれているんだ。


一人称じゃないのに、分かったかのような言葉と振る舞いを見せる。
そしてこういう嘘を権力者たちが操れる環境にあるということ。
投資家集めのためには、研究もハートも捨てる。
想像できない世界の正しさのために嘘と詐欺について平気でいられる。

これが何より怖い。
世の中がどんどんマッチポンプになっていく。


最初の話に戻るけど、
「コードを書く能力」よりも、「コンピュータに何をさせるべきかを正しく構造化して伝える能力」が重要になる。


それはさ、
ENIAC(エニアック)1946年、ABC(アタナソフ&ベリー・コンピューター) 1942年、Z3- 1941年から、そうだから。 別に今、これから始まる話じゃない。


クソのような話とまでは書きたくないけど、気持ちはそれだよ。









2026年5月21日木曜日

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

 オランダからメールが来たよ。

「Atraもいいけど、outlawだろ、」ってさ
最高だよ。
outlaw architectureってのは間違いないよねw

実際、僕は、流れや制度・分類・学派・評価体系の外にいる者だし、そういうのあまり大切にしていない。今の大学の事は分からないけど、理系の学生達から聞いたけど、ニッチな研究は教授たちから止められるって言ってたよ。あれだ、起源を教えない料理学校みたいなものだ。
文明の進歩ほど意外と窮屈なんろうよ。


でも、ニッチだろうが古典だろうが、勉強しておくといいよ。
中野博士のAssociatronの書籍は海外版では存在していないんだけどさ、
前にも書いたけど、日本の古典を英訳する商売でもしようかと本気で思ったくらい日本の科学・物理系の書籍は素晴らしいからね。日本に旅行に来るなら、神保町に行かなきゃだよ。
古本屋回りして、カレー食って、古めの喫茶店で、友達の日本人に翻訳してもらえばいい。
もしくは1ページずつ画像に撮ってAIに翻訳してもらえばいい。それだけの価値があるんだ。


Kaoru Nakano, “Associatron-A Model of Associative Memory,” IEEE Transactions on Systems, Man, and Cybernetics, 1972. 英語論文で、Semantic Scholar でも 1972年、IEEE、pp.380–388

1971年の IJCAI にも中野馨・南雲仁一による “Information Processing Using a Model of Associative Memory” が出てる。PDFも残っている。

論文もいいんだけどさ、論文は論文なんだよ。書籍とは違う。
Hopfield networkとの違いがはっきり分かるし。
ノイズを否定しない理由も分かるかもね。

一人称自律とか、carryとか、幼児の差分、みたいのはAssociatronには無いけど、Associatronを学ばないと、それ等が生まれてこなかった理由が分かると思う。

テューリングマシンとかチェッカー学習とか、1943年のW.S.McCullochや、W.Ptts、1949年のD.O.Hebb、1950年からのF.Rosenblattとかさ、M.MinskyとかNilssonとか勉強するわけじゃん。80年代のHopfield とかさ。でもKaoru Nakanoを読まないと一人称自律の構想には繫がらないと思うんだ。中野のAssociatronは、そのままでは一人称自律ではないけど、一人称自律へ接続できる決定的な構造を持っているんだよ。


まず、記憶したいパターンをベクトルで表すよ。

x(1),x(2),,x(p){1,+1}nx^{(1)}, x^{(2)}, \dots, x^{(p)} \in \{-1,+1\}^n

それぞれの記憶パターン x(μ)x^{(\mu)} を外積で重ね合わせ、記憶行列 MM を作る。

M=μ=1px(μ)x(μ)TM = \sum_{\mu=1}^{p} x^{(\mu)} {x^{(\mu)}}^T

想起は、部分的な手がかり cc を入力して、

rt+1=sgn(Mrt)r_{t+1} = \operatorname{sgn}(M r_t)

または初期入力を r0=cr_0 = c として、

rt+1=sgn(Mc)r_{t+1} = \operatorname{sgn}(M c)

のように進む。

ここで重要なのは、外部が「これを思い出せ」と命令しているのではなく、手がかりが内部の記憶構造に入ると、内部の重なりによって想起が立ち上がる という点なんだ。

つまり、外部入力は命令ではなく、cue だよ。きっかけで想起する。



ある手がかり cc が、記憶 x(μ)x^{(\mu)} にどれくらい近いかは、内積で表すと

mμ=1nx(μ)Tcm_\mu = \frac{1}{n} {x^{(\mu)}}^T c

この mμm_\mu が大きい記憶ほど、想起されやすくなる。

ただし、ここで大事なのは、最大値を if 文で選ぶのではなく、記憶行列全体の中で重なりが増幅されること。

Mc=μ=1px(μ)(x(μ)Tc)M c = \sum_{\mu=1}^{p} x^{(\mu)} \left({x^{(\mu)}}^T c\right)


手がかり cc を入れると、各記憶 x(μ)x^{(\mu)} が、その重なり量 x(μ)Tc{x^{(\mu)}}^T c に応じて立ち上がる。

つまり、

Recall=stored patterns weighted by overlap with cue\text{Recall} = \text{stored patterns weighted by overlap with cue}


ここから、Atra/Atron へ繋がるんだよ。


Associatron には、まだ carry はないよ。俺が山に移住して気が付いたんだもの。
一人称の経験状態もないしね。
幼児の差分もない。

だから、そのままでは一人称自律じゃないんだ。

Associatron の想起式に、現在の身体状態・感情差分・過去の引きずりを加えると、自律の入口が見えてくるって寸法なのさ。

外部入力を sts_t、内部の引きずりを qtq_t、現在の手がかりを ctc_t とするでしょ。

ct=Ast+Bqt+Crt1c_t = A s_t + B q_t + C r_{t-1}

ここで、

  • sts_t:現在の外部刺激、視覚・音・匂い・接触など
  • qtq_t:carry、つまり過去の経験の引きずり
  • rt1r_{t-1}:直前の想起状態
  • ctc_t:現在の手がかり

を持たせる

このとき、想起は単なる外部刺激ではなく、

rt+1=sgn(Mct)r_{t+1} = \operatorname{sgn}(M c_t)

になる。


rt+1=sgn(M(Ast+Bqt+Crt1))r_{t+1} = \operatorname{sgn}\left(M(A s_t + B q_t + C r_{t-1})\right)

これが一人称自律へ接続するための基本形になる。

外部刺激だけで反応しているわけじゃないよ。
現在の刺激、過去の引きずり、直前の想起が混ざって、次の想起が立ち上がる。

ここで初めて、同じ刺激を受けても、同じ反応にならないという状態が生まれるわけよ。



carry (引きずり)は、単なる記憶じゃないよ。
「引きずり」って言葉は工学っぽくないからそう命名したんだw
教授たちを怒らせるためにね。まぁいいや。

carryは経験のあとに残る内部地形の変化。
(前に書いたけど、実はHebbも似たような概念を持っていたんだ2回前を読んで)

たとえば、

qt+1=λqt+Φ(Δst,Δbt,rt)q_{t+1} = \lambda q_t + \Phi(\Delta s_t, \Delta b_t, r_t)

と置ける。

  • qtq_t:現在の carry
  • λ\lambda:減衰率。ただし完全には消えない
  • Δst\Delta s_t:外部刺激の差分
  • Δbt\Delta b_t:身体状態の差分、痛み・揺れ・疲労など
  • rtr_t:その時に立ち上がった想起
  • Φ\Phi:経験を carry に変換する関数

より具体的には、

qt+1=λqt+αΔpaint+βΔfeart+γΔwarmtht+δΔcuriosityt+ηrtq_{t+1} = \lambda q_t + \alpha \Delta pain_t + \beta \Delta fear_t + \gamma \Delta warmth_t + \delta \Delta curiosity_t + \eta r_t

のように書ける。

ここで大事なのは、carry が外部命令で決まるのではなく、差分と想起によって変化する ことだよ。

Atra/Atron では、これが非常に重要なんだ。

「痛い」という意味ラベルを入れるのではない。
身体の揺れ、接触、姿勢崩れ、声の変化、過去の想起が重なって、内部状態が少し変わる。

その変化が次の想起に混ざるってこと。



こから、記憶行列 MM 自体も固定ではなく、carry によって見え方が変わると考える。

M(qt)=μ=1pρμ(qt)x(μ)x(μ)TM(q_t) = \sum_{\mu=1}^{p} \rho_\mu(q_t) x^{(\mu)} {x^{(\mu)}}^T

ここで ρμ(qt)\rho_\mu(q_t) は、carry によって変化する記憶の立ち上がりやすさ。

すると想起は、

rt+1=sgn(M(qt)ct)r_{t+1} = \operatorname{sgn}(M(q_t)c_t)

になる。

つまり、

rt+1=sgn(μ=1pρμ(qt)x(μ)x(μ)Tct)r_{t+1} = \operatorname{sgn} \left( \sum_{\mu=1}^{p} \rho_\mu(q_t) x^{(\mu)} {x^{(\mu)}}^T c_t \right)


同じ手がかり ctc_t でも、carry qtq_t が違えば、立ち上がる記憶が変わる。


ct is not interpreted by the world, but by the internal landscape.c_t \text{ is not interpreted by the world, but by the internal landscape.}

外界が意味を決めるのではない。
内部地形が意味の立ち上がり方を変える。

ここが一人称自律ってわけよ。

Associatronだけじゃ無理だけど、Associatronを学ばないと、こういう発想にならない。






想起された状態 rtr_t と carry qtq_t から行動が生まれると考える。

at=π(rt,qt,st)a_t = \pi(r_t, q_t, s_t)

ただし、これは普通のAIのような

commandplanaction\text{command} \rightarrow \text{plan} \rightarrow \text{action}

じゃないよ。

Atra/Atron では、

cuerecallcarry-shiftaction tendency\text{cue} \rightarrow \text{recall} \rightarrow \text{carry-shift} \rightarrow \text{action tendency}

になる。

もう少し数式っぽくすると、

P(at)=softmax(Wart+Wqqt+Wsst)P(a_t) = \operatorname{softmax} \left( W_a r_t + W_q q_t + W_s s_t \right)

行動は命令への応答ではなく、内部状態から確率的に傾く。

だから、同じ場所、同じ音、同じ人、同じ刺激でも、過去の carry によって違う行動が出る。

これが「一人称」へ近づく理由。



Hopfield network との違い

Hopfield network は、一般にエネルギー関数を下げて安定状態へ向かうモデルとして理解されるでしょ。つまり、ノイズを含んだ入力から記憶パターンへ収束する、という見方が強い。Hopfield network は対称結合を持ち、局所エネルギー最小へ向かう内容番地指定記憶として説明されてる。

しかし、Atra/Atron から見たときに重要なのは、単なる収束じゃない。

重要なのは、

noiseerror\text{noise} \neq \text{error}


ノイズや曖昧さは、間違いではなく、想起の分岐を生むものなんだよ。
中野博士との違いだな。甘利先生はどう思ったんだろうね・・・
まぁいいや

Associatron では、手がかりが小さいと想起が曖昧になる。これは欠点ではなく、むしろ一人称自律への入口になる。
曖昧な cue が入り、内部の carry によってどの記憶が立ち上がるかが変わる。そこに個体差が生まれる。

だから、

rt+1=sgn(M(qt)(ct+ϵt))r_{t+1} = \operatorname{sgn}(M(q_t)(c_t + \epsilon_t))

と書いたとき、ϵt\epsilon_t は単なる除去対象じゃなくなる。

ϵt\epsilon_t

は、揺らぎであり、偶然であり、環境の粗さであり、身体のズレであり、経験の入口になる。
あとはアルゴリズムは否定しないけど、順番関係なくなる事が多いからね。
そういうのも前のブログに書いてる。





巨大なパラメータと計算量によって外部から正解らしさを作る現代AIに対し、Atra は、内部に残る carry と cue-driven recall によって、同じ刺激に対しても異なる想起と行動傾向を生む。そこに見えるのは、知能の巨大化ではなく、経験によって内側の地形が変わり、次の反応が変わるという、一人称自律の最小構造になる。(これを聞いて皆研究を止めるんだけどね:その先があるのに・・・)

Atra の実装で重要なのは、数式をコードに落としたことそのものじゃないよ。重要なのは、状態遷移の中で carry が残り、次の想起を少しだけ変え、さらにその変化が次の行動傾向を変えることと考えている。

これは外部から命令された行動ではない。
また、正解に向かう最適化でもない。

小さな差分が残り、残った差分が次の内部地形を変え、その内部地形から別の想起が立ち上がる。その循環が始まったとき、Atra は単なるシミュレーションではなく、一人称自律の入口に立つって感じ。

LLMに勝つ・負けるではなく、そもそも見ている現象が違うってこと。

たとえば、森田先生のモデルの非単調について言うなら、入力が強くなれば出力も強くなる、という単純な単調関数をやめるということ。普通のニューロンモデルは、入力が大きくなるほど出力も大きくなる。でも森田さんの非単調神経回路網では、入力がある程度を超えると、逆に出力が弱まるような性質を入れる。

つまり、input が強すぎる⇒output が弱まる
という感じでしょ。

これが何を生むかというと、強すぎるアトラクタの吸引力を弱める。森田さんの解説では、強いアトラクタ周辺で各素子への入力の絶対値が大きくなり、出力が 0 に近づくことで吸引力が弱まり、エネルギー地形が滑らかになり、偽記憶が減る、と説明されてるよね。さらに、点アトラクタだけでなく、線状につながる「軌道アトラクタ」を作れるってことさ。


Hopfield 的に言えば、普通は入力→一つの安定点へ収束になりやすい。でも森田さんの非単調では、強すぎる吸引→弱まる ので、状態が一点に貼り付くだけではなくなる。その結果、溝の底へ引き寄せられたあと、溝に沿ってゆっくり動くような状態が作れる。森田さんはこれを「軌道アトラクタ」と呼び、時空間パターンの記憶に結びつけてる。

Atra/Atron の文脈で言うなら、非単調は、記憶を一点の正解に固定しない。強すぎる想起をいったん鈍らせ、次の状態へ流れる余地を作る。

だから、carry と相性がいい。

Atra では、
rt+1​=f(M(qt​)ct​)

のように書いたとき、ここでの f を単純な sgn やシグモイドにしてしまうと、強い記憶へ一気に落ちやすい。

でも、森田型の非単調関数を使うなら、
rt+1​=g(M(qt​)ct​)
となり、g は入力が強すぎると出力を下げる。

たとえば概念的には、
g(u)=uexp(−au2)
のような形かな。
これは厳密に森田さんの式そのものとしてではなく、非単調性を示す説明用の形。この場合、入力 u が小さいうちは出力が増える。でも u が大きくなりすぎると、出力は下がる。

つまり、

u↑⇒g(u)↑

じゃなくて

u↑⇒g(u)↑⇒g(u)↓

になる。これが非単調。


森田昌彦先生の非単調神経回路網は、Associatron から Atra へ向かう途中にある重要な橋になってる。通常の単調な出力関数では、入力が強くなるほど出力も強くなり、状態は強いアトラクタへ引き込まれやすい。しかし非単調性を入れると、入力が強すぎる領域で出力が弱まり、強いアトラクタの吸引力が抑えられる。その結果、状態は一点に貼り付くのではなく、溝に沿って移動する軌道アトラクタを形成できる。
Atra にとって重要なのは一人称自律は、正しい記憶点への収束ではなく、cue、recall、carry、そして次の分岐によって生まれる。森田モデルの非単調性は、想起を固定点に閉じ込めず、流れとして扱うための古典的な手がかりになること。




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

大事なことが抜けていた。
研究とは別のシステム開発の本業があるからね。電話来るたびに忘れる。

現実の経験には、本当はきれいな順番がないってことさ。でも、コードに落とすと、どうしても順番が必要になる。

sensor を読む
recall する
carry を更新する
action を決める
motor を動かす

みたいに書かないと、プログラムは動かない。
でも生命や幼児の経験は、そんなふうに、

1. 見る

2. 判断する

3. 感情が出る

4. 行動する

じゃないんだよね。


実際にはもっと絡み合っている。


見た瞬間に身体が固まる。
身体が固まったことで見え方が変わる。
見え方が変わったことで昔の似た感じが立ち上がる。
その想起がさらに怖さを強める。
怖さが足の動きを変える。
足の動きが視界を変える。
視界がまた想起を変える。

つまり、順番ではなく 相互作用の渦なんだよ。


コードは順番でしか書けない。
しかし、モデルとして表したいものは順番を持たない。
ここを無視すると、すぐに普通の制御プログラムになる。三人称のね。

if 怖い人がいる:
    通学路を変える

これは三人称制御になっちゃうでしょ。



怖い人がいる

身体が少し固まる

その場所の見え方が変わる

次の日もその場所の手前で何かが引っかかる

歩く速度が変わる

遠回りが一度起きる

遠回りした安心感も carry に残る

やがて別の道が癖になる

これは命令ではなく、場の結びつきの強さが変わっていくということ。


もっと分かりやすく言うと

お腹が空いたから、食べる。
じゃなくて
食ったら、お腹空いてたことに気が付いた。
みたいな

より生物的な順番の無い場の結びつき



だから、コード上では順番があるように見えても、設計思想としては
各ステップで「決定」しない。
各ステップで少しずつ場を変える。
式で言うなら、きれいな一本線ではなく、

st​,rt​,qt​,bt​,at​
が互いに影響し合う形にする。

s(t) : 外界・感覚
r(t) : 想起
q(t) : carry
b(t) : 身体状態
a(t) : 行動傾向

本当は、
s → r → q → a
ではなく、
s ↔ r ↔ q ↔ b ↔ a
に近い。

ただしコードでは同時に更新できないので、暫定的にこんなかんじ。
次の状態を一度バッファに計算する
最後にまとめて反映する


next_recall = recall(current_sensor, current_carry, current_body)
next_carry = update_carry(current_carry, current_sensor, current_body, current_recall)
next_body = update_body(current_body, current_carry, current_sensor)
next_action_bias = update_action_bias(next_recall, next_carry, next_body)
current_recall = next_recall
current_carry = next_carry
current_body = next_body
current_action_bias = next_action_bias
こうすると、コードには順番があるけど、思想としては ひとつの場の同時更新 に近づく。


現実の経験には、実はきれいな順番がないんだ。
見てから怖がるのではなく、怖がった身体が見え方を変える。
想起してから行動するのではなく、動きかけた身体が次の想起を変える。
しかし、コードは順番を要求する。
sensor を読む、recall する、carry を更新する、action を決める。
そう書かなければ実装できない。

だから Atra の実装では、順番をそのまま世界の構造だと勘違いしてはいけない。コード上の順番は、計算機に渡すための便宜であって、生命の順番ではない。本当に扱いたいのは、cue、recall、carry、body、action が互いに少しずつ場を変える循環である。

差分の競争で勝ったものが上がる順っていえば分かるかな。
コードでは、
sensor → recall → carry → action
みたいに順番で書くしかないけれど、Atra/Atron の内部では本来、一番強く差分を持ったものが先に浮く
di​(t)=ws​Δsi​(t)+wq​qi​(t)+wb​Δbi​(t)+wr​ri​(t−1)
みたいに、各要素の「上がりやすさ」を差分スコアとして持たせる。
i∗=argimax​di​(t)
または、硬く最大値を取らずに、
P(i)=softmax(di​(t))
で、どの要素が先に浮くかを決める。

つまり Atra/Atron では、
sensor を読んだから recall する
recall したから carry を更新する
carry があるから action するではなく、
sensor / recall / carry / body / action tendency の中で、
いま最も場を変えた差分が浮くってこと。






それと、アウトローでも何でもいいけど

前の記事
こういう恐れがあるから自律研究は止めない方がいいと思う。




Atra Emotions_Conditions 感情・状態

 -----------------C++------------------ struct EmotionsConditionsNow { // Unpredictability double input_irregularity_now = 0.0 ; ...