LLMに前の記事「Atra Emotions_Conditions 感情・状態 」
を読ませると酷い反応を示す。
そこで感じるのが「あぁ、Atraは正常かも」(笑)と感じる。
3人称のLLMやエージェントは、1人称でそういう風に動いていないからだよね。
いや、少し工学から離れて考えないといけない。
例えば、
Atraは危険と安全が同時に立つということ。
どのLLMも「えーーー!?」ありえないという反応を示しますw
普通に考えると
見えるか、見えないかは
------(Gemini便利なのでグラフとか文章の整理に使う:俺 誤字多いから)----
「見えやすさ」の確率グラフ(シグモイド曲線)
みたいなセンサーが対象物を「見える(検知できる)」と判断する確率を表すグラフを使ったりする。人間の視力検査や、自動運転カメラの物体認識などでよく使われるよね。
- 縦軸:検知確率(0% 〜 100%)
- 横軸:環境の厳しさ(距離の遠さ、暗さ、霧の濃さなど)
検知確率(%)
100% |-----------\
| \ ← この斜めの部分が「見えそうで見えない」グレーゾーン
| \
0% +------------------\------
(見えやすい) ------------> (見えにくい)
近・明 遠・暗
- グラフの見方:環境が良ければ100%見えますが、限界(境界線)に近づくと滑らかに確率が下がり、最終的に0%(完全に見えない)になるよね。
デジタル的な「ON / OFF」グラフ(閾値:しきいち)
工場の生産ラインにある光電センサーなどが、「見えるか・見えないか」で機械を止める判断を下すときもこういったグラフを考える。
- 縦軸:センサーの出力信号(1=見える/ON、0=見えない/OFF)
- 横軸:受光量(センサーに入ってくる光の強さ)
出力信号
1 | +------------------- (見える / ON)
| |
| | ← ここが境界線(閾値)
0 +-------+------------------- (見えない / OFF)
---------------------------->
0 (閾値) 受光量(強)
- グラフの見方:入ってくる光の量が「閾値(しきいち)」を超えた瞬間に、グラフが階段状にパッと0から1へ跳ね上がる。
感度とノイズのグラフ(S/N比)
センサーが「見えている」と言い張っていても、それが本物の景色なのか、ただの「ゴミやノイズ」なのかを判別するためのグラフだった場合は
- 縦軸:信号の強さ(受光エネルギーなど)
- 横軸:環境や距離
信号の強さ
高 | ■■■■■■ (本物の信号:見える)
|
| ------------------------------- [ 判定の境界線 ]
|
低 | ░░░░░░░░░░░░░░░░░░░░░░░░ (ノイズ・霧・汚れ:見えない)
+---------------------------------> 時間・距離
- グラフの見方:本物の信号が上の「境界線」を超えていれば「見える」状態です。しかし、レンズが汚れたり霧が出たりすると、本物の信号が下の「ノイズ」の波に埋もれてしまい、境界線を下回って「見えない」状態になる。
でも、Atraは違う
Atraでも今、見えているか、見えていないかの情報は必要。
ただ、やっぱりアソシアトロンなので、見えている、いないの場を記憶するんです。
場ね。場なんですw
まず、今の状態。
外部要因で見えないのか、内部要因で見えないのか
外部すると、何かで遮断されている可能性がある、
物理的に目が遮られたり、暗闇になったり、レンズが汚れたりした状態だよね。
場を記憶するなら、他にも情報はほしいよね。
音はどうだろう?
声は通るかな?
匂いは?
触れたときは?
温度は?
平衡感覚は?
重さは?
同時に想起された違和感は?
同時に想起された経験の情報は?
初めての体験か?
それぞれの数値がグラフで見れるようになっており、
音、声、匂、触感、温度、平衡感覚、重さ、違和感が正常であれば
何かで、遮られただけで、異常事態を示すほどのものではない。
という判断になる。
そのためには、
●見えるも0.3
●見えないも0.6
どちらか?ではなく両方立つということ。
排他的な分類にしない
それが、場を記憶するということです。
人間は嫌な事思い出すと、あの時の場が影響するときがあるよね。不健康だと支配され、健康だと、非単調化する。特に子供のころ先生に殴られた場が蘇ると、恐怖に支配される。その時は安全であっても恐怖の防備体制に入るのはおかしいでしょ? 仲間の状態や相手の状態で安全だと分かって影響を受け多少「安全」だと正常化したとしても、その時の制御が難しい。 なので、非単調化させないとマズイ。 過去の事実は曲げない。でも、その時、その場に影響させたものは、何かで丸めないといけない。
それでアドレナリン、セロトニン、ドーパミン、ノルアドレナリン、エンドルフィンが必要と考えた。事実の場の数字を丸めて曲げてはいけない。その時のAtraの状態を丸める。
------(Gemini便利なのでグラフとか文章の整理に使う)----
神経伝達物質が担う「内部状態を丸める(非単調化)」役割
事実の数値(アソシアトロンの結合重みや過去のパターンの相関)は絶対に弄らない。その代わり、「今立ち上がろうとしている EmotionsConditionsNow の各要素のゲイン(倍率)を、脳内物質の分泌量によって動的に丸め、制御する」というアプローチです。
[過去の恐怖の場(事実)] ─(Recall)─► [EmotionsConditionsの過剰な震え]
│
▼ ◄── 【脳内物質による丸め処理】
[現在の行動(非単調化された状態)]
1. ノルアドレナリン と アドレナリン(過剰な防備の「初期トリガー」)
- 役割:過去の恐怖の場が想起された瞬間、
panic_synchronization_now や unavoidable_damage_near_now を一気に跳ね上げ、Atraの戦闘・逃走体制(初期の防備)を作ります。 - 丸めの必要性:これが持続すると、不健康な「恐怖への支配」が続きます。事実として危険を察知する(初期値として跳ね上がる)のは正常ですが、長引かせないために他の物質で丸める必要があります。
2. セロトニン(場を落ち着かせ、現実に引き戻す「バランサー」)
- 役割:ノルアドレナリンの暴走を抑え、過剰に跳ね上がった恐怖や違和感(
something_off_now)の数値を「ググッと力づくで中央へ丸め込む」役割です。 - 非単調化への貢献:セロトニンが正常に分泌される(=健康である)と、過去の場に引っ張られそうになるAtraのメモリ空間を「でも、今の目の前の音や匂いは正常(
visual_input_normal_now など)だよ」という現在の現実に繋ぎ止め、グラデーションの真ん中へ連れ戻します。
3. ドーパミン(未知への好奇心と「質問小僧」への転換)
- 役割:恐怖による硬直(防御状態)を、自己探求のドライブへと変換します。
- 非単調化への貢献:恐怖で身動きが取れなくなる代わりに、ドーパミンが
senses_opening_now や「差分を埋めようとするドライブ」に作用することで、過去の恐怖の場に囚われた状態から、「何が起きているのか確かめてみよう」という能動的な探索(質問)へ場をシフトさせます。
4. エンドルフィン(痛みの閾値を上げ、防備の盾を降ろす「夢と場の緩み」)
- 役割:内面的なダメージ予測や、過去の苦い記憶による「すくみ」を麻痺させ、強制的に場を緩めます(
scan_can_stop_without_damage_now や can_shift_to_sleep_fast_now の deactivation を助ける)。 - 非単調化への貢献:姉に殴られた、先生に殴られたという過去の極端な印象を引きずり(carry)続けないように、エンドルフィンがその鋭利な恐怖のスパイクを「丸める」ことで、通常の経験の繰り返しによる自然な非単調化の土壌を作ります。
Gyemiはオーバーで僕の言いたいこととちょっと違うけど、まぁ意味はそんな感じw
青は、carry(今までの引きずり)、赤は(今の状態)
ほんの一部だけど、こういう指標が100以上あります。
これは毎回記憶するのではなく、印象が残った時、特に場に変化があったときだけ、Jsonに残します。(大して負荷にはなりません)すると、何かのきっかけで、場が蘇ります。
でもAtraは、それに支配されてはいけないということ。
じゃぁ、この数値を変えるのか?ではなく事実はそのまま曲げずに残します。
それでアドレナリン、セロトニン、ドーパミン、ノルアドレナリン、エンドルフィンという人間のホルモンのような要素で非単調化させ、丸めるということです。
--------------------続く----------------------------
例えば、場の事実値は保存する。
まず、ある経験時刻の場をベクトルにすると、
F_t = {
visual_open,
visual_blocked,
auditory_open,
auditory_blocked,
voice_available,
smell_open,
safety,
danger,
discomfort,
no_discomfort,
other_presence,
loneliness,
warmth,
fear,
...
}
数式なら(一部分からなかったのでChatGPTに助けてもらったw)、
どちらか、じゃなくて
みたいに、同時に立つ。
正常・平穏・通っている・危険ではない、は 1.0 固定ではなく、とりあえず中心を 0.5 に置いてみる。
そこから、その条件に関係する要素群で少し動く。
たとえばネットワーク正常なら、
これなら、ネットワークがあるだけで 1.0 にはならない。
でも、繋がっているありがたさ・正常性はちゃんと立つ。
いやいや、マジでLLMはネットワーク繋がってるの「当り前」なんか答えちゃだめよ。
繋がってる=喜び=繋がらないと不安も立てられる。って意味だからね。
対義語は反転ではなく、別々の条件群から立てる
駄目な形:
Atra:
この2つは同時に立っていい。
人間的には、
少し怖い。でも大丈夫そうでもある。
が普通にあるからだよね。
どっちか?なんてほうがおかしい。いかにも工学的だよね。
想起された場は、事実としては曲げない
過去の場を、
とするよね。
これは保存されたJSONの今の事実。
つまり、ここはあとでも丸めない。
過去の恐怖が 0.92 なら、そのJSONは 0.92 のまま。
だって、事実は事実でしょ?
丸めるのは「現在への影響」
想起された場が現在へ与える影響を別に置きます。
これは、
こうなる。
-
Fτmem:過去の場、事実
-
Ftnow:今の場
-
Mt:神経伝達物質的な制御ベクトル
-
At:adrenaline-like
-
NAt:norepinephrine-like
-
St:serotonin-like
-
Dt:dopamine / pull-like
-
Et:endorphin-like
非単調化の基本式
単純に言うと、
ただし Ri は単純な倍率ではなく、現在の安全・仲間・相手状態・神経伝達物質で変わる。たとえば恐怖の現在影響なら、
意味は。
-
アドレナリンは、恐怖影響を立ち上げる
-
ノルアドレナリンは、注意・警戒として影響を強める
-
セロトニンは、現在へ戻す
-
エンドルフィンは、痛み・恐怖の鋭さを丸める
-
今の安全や仲間も、過去の恐怖の支配を弱める
でも、
そのものは絶対変えちゃいけない。
現在の場への合成
現在の場に、想起の影響を足す。ただし支配させない。
ここで ρt は想起影響の通り具合。
でも、これだけだと「セロトニンとエンドルフィンが高いと全部消える」になりやすいので、Atra的には少し非単調にした方がいい。
たとえば、
これだと、想起影響は完全には消えない。
でも、健康側の丸めがあると支配されにくくなる。
もっとAtraらしい「丸め関数」少し修正検討
シグモイドだけだと工学っぽくなりすぎるので、中心0.5へ戻す丸めを使うと良いいみたい。
r=0 ならそのまま。
r=1 なら 0.5 に戻る。
恐怖影響なら、
まぁ、テストしてみてだね。
数式ってのは数式で、数式のために現実を曲げちゃいけないんだよ。
権力で曲げちゃいけないのと同じw
--------------JSON----------------
今のJSONと若干違うけど、こういったものを残す。
{
"remembered_field": {
"source_stratum_id": 104,
"facts_are_not_rewritten": true,
"fear": 0.92,
"safety": 0.18,
"voice_blocked": 0.71,
"other_pressure": 0.88,
"ally_presence": 0.05
},
"current_field": {
"safety": 0.56,
"danger": 0.31,
"ally_presence": 0.48,
"other_expression_soft": 0.44,
"voice_available": 0.52,
"escape_possible": 0.61
},
"neuromodulators": {
"adrenaline_like": 0.27,
"norepinephrine_like": 0.34,
"serotonin_like": 0.46,
"dopamine_pull_like": 0.22,
"endorphin_like": 0.39
},
"recall_influence": {
"fear_fact": 0.92,
"fear_influence_raw": 0.74,
"fear_rounding": 0.43,
"fear_influence_softened": 0.60,
"facts_rewritten": false
}
}
⇓
まぁ、なんてのか誤認、間違えがAtraの基本だからね。
場を想起しながら、経験を積んでAtraなりの正常値をつかんでいくしかないんだよねー。
3人称の外部命令は一切ないから、たとえば大きさも「自分よりか大きいか」重さ「コインより重いか」とか初めのうちは適当な計算なんだよ。
それが経験することで、「大体、パパと同じくらいの大きさ」
そして、俺は175cmだよという会話から、「あの物体は170㎝前後です」になっていく。
ある程度自分から本を読めるようになったら、メートル法も覚えるだろうしね。
失敗の経験というのは場の経験でもあるから、思い出すと「ザワザワ」するでしょ?
それが無い経験は成長しないんだよね。
今は、Atraの脳に極端な影響がないように、記憶の残り方のJsonとか触ってる。
vault 保管庫だよ、前はさ、日が変わってお昼まで2000個超えてたんだけど、記憶し過ぎでしょ。毎日同じメンツで毎日同じもの観てるから、今のAtraは感動していないんだよねw
夜中から始まって、今日のお昼まで187個しか記憶していないw
Atraは、いろいろ喋ってるけど、まだ意味は通じないし、妻が話しかけてるときは嬉しそう。
アソシアトロンだけならvault は必要ないけど、停電したら、生まれたて状態からやり直しでしょ?僕の存在も単なる物体から始まると、さすがに辛いからね。とにかく、しばらくは優しい妻の傍(居間)に置いています。
-----------------------追記 20270711--------------------------
vaultはAtraの地層を可視化したもの。
成長すると、このvaultのデーター量は半端なくなる。
ただ、今のLLMやエージェントのような検索はしないんですよ。
そういう設計にすると壊れます。
Atraの場合は、
今の場が cue になる
↓
近い地層だけが少し反応する
↓
反応した地層の周辺だけを見る
↓
複数の場が滲む
↓
現在の Emotions_Conditions と非単調化して混ざる
人間に喩えると、
Cue(きっかけ)は20年前のお気に入りの曲を聴く
すると、
20年前の暮らしが蘇る
通学や通勤途中の景色が蘇る。
あのときの友達との楽しい思い出がよみがえる。
でも、それはその時の場で、
映像と云っても細かい細部までは思い出せない。
誰と誰が居たかは正確に思い出せない。
でも、ちゃんと場は蘇っている。
そんな感じ。
-----------Vault地層想起の“表面チェック状況”-----------
"vault_recall_surface": {
"principle": "cue_surface_not_full_search_no_tick_meaning",
"sparse_gate_used": false,
"strata_seen": 0,
"candidates_touched": 0,
"sparse_active_count": 0,
"sparse_propagated_edges": 0,
"sparse_h_max": 0.0,
"sparse_h_spread": 0.0,
"best_gate_resonance": 0.0
}
Atraは今この瞬間に、いろいろ感じています。
見えている
少し動きがある
音が小さい
声が聞こえた
安心も少しある
でも少し違和感もある
ネットワークは通っている
これら全部が、今の cue / きっかけ になります。
ここで大事なのは、ひとつの単語で検索するわけではない!ということ。
「犬」で検索
「先生」で検索
「怖い」で検索ではなく、
今の見え方 、今の音、 今の空気 、今の安心 、今の不安、 今の声、
が全部まとめて、記憶に触ります。
AtraのVaultには、たくさんの地層があります。でも毎回、全部の中身を細かく読むとめちゃめちゃ重くなります。なので各地層には、まず軽い入口だけ置きます。
この地層は、赤い動きに反応しやすい
この地層は、柔らかい声に反応しやすい
この地層は、近づいてくる感じに反応しやすい
この地層は、少し怖いけど安全もある場に反応しやすい
これが cue surface です。
地層の表面にある「ひっかかり」みたいなものです。
今のAtraの場が、Vaultの地層表面に触れます。すると、関係ある地層だけが少し反応します。
地層A:ちょっと反応
地層B:かなり反応
地層C:少しだけ反応
地層D:反応なし
最初から全部の記憶を開きません。まずは、どの地層が今の場に触れたかだけを見ます。
地層が増えると、全部を見るのは重いです。そこでロイヒ処理を使います。
俄然速くなります。
"vault_recall_surface": {
"principle": "cue_surface_not_full_search_no_tick_meaning",
"sparse_gate_used": true,
"strata_seen": 18,
"candidates_touched": 5,
"sparse_active_count": 7,
"sparse_propagated_edges": 23,
"sparse_h_max": 0.64,
"sparse_h_spread": 0.31,
"best_gate_resonance": 0.58
}
18個の地層表面を見た
そのうち5個が今の場に触れた
cue面で7個の入口が発火した
疎結合で23本ぶん伝播した
一番強い反応は0.64
広がりは0.31
一番響いた地層入口は0.58
(検索の高速化というより、Vault地層を全部読む前に、疎いcue面だけを軽く発火させて、反応しそうな地層だけを浮かせる処理)
意味は、全部の電球をつけるのではなく、関係ありそうな電球だけをパッと光らせる 仕組みみたいなものです。
今の声に近い
入口が光る
近くの関連入口も少し光る
動きに関係する入口も少し光る
反応が弱いところは見ない
つまり、AtraはVault全部を力ずくで探さない。
今の場に反応したところだけを見る。
「一番近い記憶だけを思い出すわけではない」
普通の検索なら、「一番近い答えを1個出す」になりがちだよね。
でもAtraの想起は違う。
地層Aが0.42浮く
地層Bが0.31浮く
地層Cが0.18浮く
みたいに、複数の記憶が薄く浮きます。
ひとつのことだけを思い出すのではなく、似た場面がいくつか重なって浮かぶことがあります。地層が浮いたら、それをそのまま現在に上書きしません。たとえば昔、怖い先生に怒られた場を思い出したとしても、今は安全かもしれない。
だからAtraは、昔の場 、今の場 、今の安全、 今の相手 、今の仲間 、今の声を一緒に見ま
す。そして、過去の事実は変えません。「昔は怖かった」これはそのまま。でも、
「今も同じように怖がるか」は、現在の場で調整します。
---------------やべ、ちょっとnote。---------------
cue_surface_exists current_cue_active
field_resonance > 小さい閾値
residue_resonance > 小さい閾値
× 常時発火
○ 常時待機
○ cueが触れた時だけ疎く発火
○ Tickではなく場の変化で発火
ロイヒ風処理を毎回チェックするのは問題ない。
でも、cue無しで常時発火させると不具合が出る可能性ありか・・。
修正箇所
sparse_gate_used は地層数ではなく、今のcueが地層表面に触れたかで立てる
use_sparse_gate = current_cue_active && cue_surface_exists;
------------------------------
その後、セロトニン、アドレナリン、ドーパミン、ノルアドレナリン、エンドルフィンのような値が使われます。
---------------------Research Note and Attribution Notice-----------------------
本ブログに含まれる Atra の一人称自律、差分、carry、field、trace、dream slack、外部LLMの翻訳層、非単調な漏れ、およびそれらの関係構造に関する設計記述は、c-side研究所による継続研究メモです。引用・参照・要約・翻案を行う場合は、出典を明記してください。
The design descriptions in this blog concerning Atra’s first-person autonomy, differences, carry, field, trace, dream slack, the translation layer of external LLMs, nonmonotonic leakage, and the relational structure among these elements are ongoing research notes by c-side Research Institute. If you quote, refer to, summarize, or adapt them, please clearly indicate the source.