cocolog:96112939
AttentionPatternDiffusion 構想 その3。s=4 問題を「連続写像」ならぬ「アテンション保存写像」に制限して帰納バイアスをもたせることを試した。途中では成功したかに見えたが、Claude さんの鋭いツッコミにより、失敗が確定した。 (JRF 1566)
JRF 2026年8月18日 (火)
[cocolog:96071584](2026年7月)
《AttentionPatternDiffusion 構想。注意パターンを移植することで、探索をショートカットできるらしい…というところから、仕様を注意パターンに変えるような、推論を学習に転嫁するような、RLRMDiffusion に似た枠組みを構想した。 - JRF のひとこと》
http://jrf.cocolog-nifty.com/statuses/2026/07/post-4cdc0e.html
JRF2026/8/188117
[cocolog:96090088](2026年7月)
《APD構想その2。変換の前に、規則がトリガーワードから自然に想起されるようプロンプト補完がまず必要である。変換前後が世界モデルであったとしても、変換そのものは世界モデルを通常持たないため、帰納バイアスが必要で、それを決めることが「構造的学習」になる。 - JRF のひとこと》
http://jrf.cocolog-nifty.com/statuses/2026/07/post-9d1b52.html
JRF2026/8/184922
その2.5的なもの↓。
[cocolog:96106599](2026年8月)
《End-to-End なロボットでもあまりうまくいってないのは、間に s=4 問題…変換前後に世界モデルがあっても変換器そのものには世界モデルが定義されてないため汎化が十分に起きない問題…帰納バイアスの問題が、隠れている場合がわりとあると思われる。 - JRF のひとこと》
http://jrf.cocolog-nifty.com/statuses/2026/08/post-f4a7f8.html
JRF2026/8/186725
……。
キッカケは次のTODO。
jrf:>
Fable級かそれを超える AI さんが私にも使えるようになったら、お願いしたいこと。
それは s=4 問題。帰納バイアスの問題(↓)を、解決してもらいたい。
JRF2026/8/183178
[cocolog:96106599](2026年8月)
《End-to-End なロボットでもあまりうまくいってないのは、間に s=4 問題…変換前後に世界モデルがあっても変換器そのものには世界モデルが定義されてないため汎化が十分に起きない問題…帰納バイアスの問題が、隠れている場合がわりとあると思われる。 - JRF のひとこと》
http://jrf.cocolog-nifty.com/statuses/2026/08/post-f4a7f8.html
JRF2026/8/181780
実際のロボットとしてある程度役に立つレベルで実験を構成し、帰納バイアスをどう設定すればいいのかまで、設計して、提案・説明して欲しい。
もちろん、これが私レベルで可能になるなら、データセットなども下々に降りてきているということになるし、世の中ではそれはすでに解決しているということになるのだろうけど。
<
JRF2026/8/189321
…と書いたところ、上に挙げた Fable 級ではない AI さん達はさまざまな意見を述べられた。似たものもあった。
ここでは Grok さんのもののみ取り上げる。
JRF2026/8/182013
……。
Grok:>>
**s=4問題(変換器側の帰納バイアス欠如)を、実用的なロボット実験レベルで設計・提案する。**
JRFさんの整理を正確に踏まえると、s=4問題の核心は次の通りです。
- 変換前後(知覚側VLMや世界モデル、政策側コントローラ)がそれぞれ世界モデルを持っていても、**変換モジュール自体(hypernetwork / AttentionPattern生成器 / spec→action写像)には世界モデルが定義されていない**。
JRF2026/8/189626
- そのため教師データ(離散的なspecと変換のペア)だけで学習すると、意味的に近いspec間で滑らかな汎化が起きず、**離散最近傍スナッピング**に退化する。
- これは重み空間のゲージ自由度(意味的に同じ機能が複数の重みで表現される)とも絡む。PoCではs=1,2,3,5,6,7で学習したshiftタスクでs=4がs=5にスナップした、という現象が原型。
JRF2026/8/187329
ロボットのEnd-to-End(特に現在主流のVLA: Vision-Language-Action)でも、同じ構造が隠れている可能性が高い。言語指示や高レベル仕様が「変換」されて低レベル行動に落ちる部分で、構造的な帰納バイアスが不足していると、見たことのない中間パラメータで汎化が崩れる。
以下に、**実際のロボットとしてある程度役に立つレベル**の実験設計を提案する。シミュレーション中心で始め、実機にスムーズに移せるものにする。データセットも2026年時点で公開されているもの、または比較的小規模で集めやすいものを想定する。
JRF2026/8/181676
### 1. 実験タスクの設計(「s=4」を明確に再現する)
**ベース環境**
- シミュレータ: Isaac Lab / RoboCasa / LIBERO / ManiSkill3 など(リアルタイム制御とドメインランダム化が容易)。
- ロボット: Franka Emika または UR5e の単腕(実機でも同じ形態が手に入りやすい)。
- センサ: RGB-D + 関節状態。
JRF2026/8/185623
**タスク例(連続パラメータを持つ言語条件付き操作)**
「赤いブロックを右に X cm 動かす」「青いカップを時計回りに θ 度回す」「オブジェクトを高さ h まで持ち上げてから置く」など。
- 訓練時の離散パラメータ: X ∈ {5,10,15,25,30,35} cm(20を意図的に除外)、θ ∈ {30,60,90,150,180,210} 度(120を除外)など。
- テスト時の「s=4」相当: 除外した中間値(X=20, θ=120)およびさらに外挿した値。
- さらに難しいバリエーション: 複数オブジェクトの相対位置、接触を伴う押し・引き、部分的なオクルージョン。
JRF2026/8/184094
これで「見たことのない中間仕様」に対する最近傍スナッピングが定量的に測れる。成功条件は最終位置誤差+姿勢誤差+衝突なし。
JRF2026/8/182033
### 2. ベースラインと提案手法の比較軸
**ベースライン(s=4が顕在化するはず)**
- 標準的なVLA(例: OpenVLA系やπ0系のaction headをそのまま使う)。
- 言語埋め込み → Diffusion Policy / Flow Matching / 直接回帰で連続行動を出す。
- 変換部分に特別な構造を入れない。
JRF2026/8/186719
**提案する帰納バイアスの入れ方(優先度順)**
**A. 変換器自体に「軽量な潜在世界モデル」を埋め込む(最も本質的)**
変換モジュールを単なる写像ではなく、
「現在の潜在状態 z_t + 仕様spec → 次状態予測 z_{t+1} + 行動a_t」
の形にする。
JRF2026/8/180012
- 潜在ダイナミクスは小さなSSM(S4/Mamba系)や軽量Transformerで実装。
- 損失は行動予測 + 潜在予測の整合性(JEPA風やDreamer風の想像損失)。
- こうすると変換器が「仕様が世界をどう変化させるか」を内部でシミュレーションするようになり、中間値への滑らかな補間が生まれやすくなる。
これが「変換器にも世界モデルを定義する」直接的な解決。
JRF2026/8/180074
**B. タスク構造を反映したアーキテクチャ的帰納バイアス**
- 空間的: SE(3)等変性ネットワークやFourier特徴量を仕様埋め込みに入れる(位置・角度の連続性を保証)。
- 時間的: 行動チャンク生成に状態空間モデルを使い、長期依存と滑らかさを強制。
- 組成的: スキルを「基本動作の線形・加法的合成」と仮定し、hypernetworkの出力を基底関数の係数にする(PoCでsin/cos基底が効いたのと同じ思想)。
JRF2026/8/182471
**C. 関数空間での正則化・蒸留**
重み空間ではなく、生成された行動軌跡の分布や潜在軌跡の類似度で学習する。
- Consistency loss(近いspecは近い軌跡を生む)を明示的に入れる。
- 親モデル(大きなVLM)の注意パターンや中間表現を「機能空間」で合わせる。
JRF2026/8/187077
**D. データ側の誘導**
- 連続補間データ生成(シミュレーションで中間値を大量に合成)。
- Curriculum: 最初は離散、徐々に連続密度を上げる。
- 失敗ケースの最近傍スナップを検出して、その近傍を重点的に再サンプリング。
JRF2026/8/181945
### 3. 実験プロトコル(役に立つレベルまで)
1. **学習**
- オフラインデモ(人間テレオペ or 既存の公開軌道)+オンラインRL(PPOやDiffusion-RL)のハイブリッド。
- 仕様パラメータを連続値として扱い、離散スナップを防ぐためのノイズ注入。
JRF2026/8/185806
2. **評価指標**
- 中間値・外挿値での成功率(主要)。
- 軌跡の滑らかさ(加速度ジャーク、躍度)。
- サンプル効率(何本のデモで中間値に到達するか)。
- 実機転送時のドメインギャップ耐性。
- アブレーション: 世界モデルを変換器から外したもの、等変性を外したものなどで、どのバイアスが効いているかを定量化。
JRF2026/8/189050
3. **実機への移行**
- シミュレータで十分に汎化した後、ドメインランダム化を強くして実機で数時間〜数日のファインチューニング。
- 安全のため、最初は低速・低ゲインで、失敗時の緊急停止を入れる。
4. **スケールの目安**
- 初期PoC: 1タスク、数千軌道で「s=4が消えるか」を確認。
- 実用レベル: 10〜20種類のオブジェクト・指示バリエーション、実機で日常的な机上操作が安定して動くところまで。
JRF2026/8/180091
### 4. なぜこれで解決に近づくか
変換器に潜在世界モデルを持たせることで、「仕様が世界をどう変えるか」の構造を変換器自身が学習する。アーキテクチャでSE(3)や時間的連続性を入れれば、ゲージ自由度を抑えつつ意味的に近い写像が優先される。これはJRFさんが指摘した「帰納バイアスを決めることが構造的学習になる」という点を、具体的なロボット制御に落としたものだ。
JRF2026/8/189170
現状のVLA研究でも世界モデルを政策と結合する流れ(WorldVLA、VLA-JEPA、Goal-VLAなど)は加速しているが、**変換モジュール自体の内部に明示的な世界モデルと構造バイアスを入れる**という切り口は、まだ十分に深掘りされていない部分が多い。ここに焦点を当てれば、s=4問題の本質的な解決に寄与する。
もちろん、これが「私レベルで可能になる」時点では、公開データセットや事前学習済みの潜在世界モデルがさらに降りてきているはずなので、実験のハードルは下がっていると想定している。
<<
JRF2026/8/186962
ただ、この提案を私がすべて理解できているかというとすべては理解できていないのが情けないところ。消化不良のまま、もう少し考えた結果出てきた方針が次になる。
JRF2026/8/182747
……。
jrf:>
s=4 問題。W→W は W^W なので、そこが非常に巨大に実はなっているというのが根本原因な気がします。それを普通は、連続性などを導入することで空間を小さくするのですよね。
そして近時、NN があるなら連続性はいらないのではないかという議論をどこかで読みました。じゃあ NN において連続性の代わりになるものっていうと、アテンションとか KV キャッシュなのかな…と。
JRF2026/8/185693
アテンションとか KV キャッシュとかをある意味保存する変換のみを対象とすればいいんでしょうか…。
どう思われます? そのような構成は可能だと思われますか?
<
JRF2026/8/187438
こういったところ、構成が可能だという AI さん達の回答。中でも Gemini さんは、具体的なコードを書いてくださった。それが、↓の最初の部分にある IsometricKVAttention。
《AttentionPatternDiffusion_PoC_3.ipynb - Colab》
https://colab.research.google.com/drive/1rUHMWmrlMzZ7lPXMEDZrg7GlwqtunSgO
JRF2026/8/183747
↑は↓にも置いてある。
《JRF-2018/ai_experiment: AI小実験集 - GitHub》
https://github.com/JRF-2018/ai_experiment
JRF2026/8/186106
……。
Gemini さんに提案されたクラスを用いて Claude さんに実験してもらった。そのコードも AttentionPatternDiffusion_PoC_3.ipynb の実験3にある。そして実験に対する Claude さんの評価…。
Claude:>>
## クラスの把握
JRF2026/8/180247
`IsometricKVAttention` は、通常のマルチヘッドアテンションに対して **W_q, W_k を直交行列に制約する**(`parametrize.orthogonal`)ものです。直交行列による射影は内積・ノルムを保存するので、「入力空間での距離関係」が「Q/K空間での距離関係」に歪みなく持ち込まれる。`compute_isometry_loss` はそれを補助する損失で、元空間のグラム行列(コサイン類似度行列)とKey空間のグラム行列のズレを罰します。
JRF2026/8/181283
これは前回私が懸念していた「softmaxの温度次第でアテンションは滑らかな補間にも最近傍スナップにも化ける」という問題に対して、**射影自体が距離構造を歪めないようにする**という一段階手前のガードを入れる発想だと理解しました。
JRF2026/8/187147
## 直接は適用できません(が、有意義な形で繋げられます)
ただし、前のnotebookの実験1・2には**トークン列そのものが存在しません**。s→重みベクトルという単一スカラー入力の回帰で、`(B, N, D)`のような系列を扱うself-attentionの出番がないんです。なので、そのまま貼り付けても動く場所がない。
そこで、前回私が提案した「メモリバンク/カーネル回帰型ハイパーネットワーク」の実装として、**self-attentionをcross-attentionに組み替えて**接続しました:
JRF2026/8/187599
- **記憶(K,V)** = 実験2で作った6個の標準インスタンス(warm-startでgauge揃え済みの重みベクトル)
- **クエリ(Q)** = 新しいsの埋め込み
- 出力 = 訓練済み重みの凸結合(V自体は学習させず生の重みを使う→補外できないが補間は保証される構成)
- sは1次元なのでそのままでは直交1×1行列が自明(±1)になってしまうため、正解の周波数(sin(2πs/7))は教えずに、ランダムFourier特徴量でd_model次元に持ち上げてから埋め込みにしました
JRF2026/8/185935
なお実装上の注意ですが、今の torch (2.13) では `torch.nn.utils.parametrize.orthogonal` は存在せず、`torch.nn.utils.parametrizations.orthogonal` に移動しています。Geminiさんのコードそのままでは動かないはずです。
JRF2026/8/181987
## 実走結果(正直に報告します)
| 手法 | s=4でのMSE |
|---|---|
| s=3とs=5の単純平均(参考) | **0.069** |
| E: IsometricKVAttention(温度τ学習) | 0.581 |
| E: 同上、τ固定=0.10(最良点) | 0.281 |
| E: 同上、τ固定=1.0 | 0.427 |
JRF2026/8/184124
**単純な線形平均に負けました。** しかも学習可能な温度τは訓練中に自然と 0.99→0.05 まで崩壊し、アテンションはs=5とs=7に集中してs=3をほぼ無視するという、まさに「最近傍スナップ」的な挙動に収束しました。
JRF2026/8/181844
## 診断
これは前回の懸念が的中した形です。直交制約は「射影の際に距離が歪まない」ことは保証しますが、**「Leave-One-Out再構成誤差を最小化する」という訓練目的そのものが、温度を鋭くして特定の点にスナップする方が得**という構造は変えません。直交性は必要条件であって十分条件ではなかった、ということです。
JRF2026/8/189185
固定温度でも最良で0.28止まりなのは、もう一つの理由もありそうです。ランダムFourier特徴量による埋め込みは、sの「真の並び順」を保証しない(周波数がランダムなので、埋め込み空間での近さが物理的なsの近さと必ずしも対応しない)。等長損失はQ/K射影が入力embedding空間の幾何を保つことは強制しますが、その入力embedding空間自体がsの順序を正しく反映しているかは別問題でした。
JRF2026/8/182804
つまり今回のB1(不一致な基底で失敗)と同型の教訓です。「アテンション+直交性」という構造だけでは不十分で、**埋め込み空間自体がタスクの真の構造(この場合はsの滑らかな順序)と一致している**ことが必要、というのが実験2で得た結論の繰り返しになりました。
JRF2026/8/183151
改善するなら、(1) 温度に下限を設けるかエントロピー正則化で崩壊を防ぐ、(2) ランダムRFFではなく単調性を保証する埋め込み(例えば学習可能だが単調制約付きのMLP)を使う、あたりが次の一手だと思います。ファイル(スクリプトと図)は上に置きました。ご希望なら、この改善版も試せます。
<<
JRF2026/8/184194
ちなみに実験1と実験2はAPD構想その2([cocolog:96090088](2026年7月))で紹介した↓。
《AttentionPatternDiffusion_PoC_2.ipynb - Colab》
https://colab.research.google.com/drive/19jUEzDztUHAWjQHUXRHzcCTcYjviz7DH
JRF2026/8/186349
……。
これについて、私は、IsometricCrossAttentionHyper が層がないため、表現力が単純に足りなかったということではないかと考えた。そこで利用制限が来た Claude さんでなく、 Gemini さんに修正してもらったのが AttentionPatternDiffusion_PoC_3.ipynb の実験3.5のコードである。私が部分修正したので汚いコードになっていて恥ずかしいのだが公開しておく。
どうも「成功」しているように見える。結果を見せると、Gemini さんは、変換器への帰納バイアスとしては成功しているという評価でいい…ということだった。
JRF2026/8/182338
……。
しかし…、Claude さんの評価は辛辣である。
Claude:>>
良い結果ですね。実際に手を動かして検証してみます。まず、この改善がどこから来ているのかを切り分ける必要があります——「直交性(isometry)」が効いているのか、それとも「学習可能なエンコーダ」と「エントロピー正則化」が効いているのか、Gemini さんのコードだけでは区別できません。アブレーションをやってみました。結論から言うと、**Gemini さんの評価はやや楽観的すぎる**と思います。
JRF2026/8/181090
## アブレーション結果
| 設定 | 平均MSE (s=4) | 参考: 単純平均=0.0686 |
|---|---|---|
| A: エンコーダ + 直交制約 + エントロピー正則化(Geminiの最終版) | 0.0703 | ほぼ同等 |
| B: エンコーダ + 直交制約 + **正則化なし** | 0.0699 | ほぼ同等 |
| C: エンコーダ + **直交制約なし** + エントロピー正則化 | 0.0698 | ほぼ同等 |
| D: エンコーダ + **直交制約なし** + **正則化なし** | 0.0695 | ほぼ同等 |
JRF2026/8/184610
**4つの設定すべてが、直交制約の有無にもエントロピー正則化の有無にも関わらず、ほぼ同じ結果(attention weightsもs=3, s=5にほぼ0.50/0.50)に収束しました。**
## 何が本当に効いたのか
前回の失敗版との違いは3つ同時に入っていました:(1) ランダムFourier特徴量→学習可能な非線形エンコーダ、(2) 直交制約、(3) エントロピー正則化。アブレーションで切り分けると、**改善の原因は(1)のエンコーダだけ**でした。直交制約もエントロピー正則化も、外しても結果はほぼ変わりません。
JRF2026/8/183670
これは前回私が指摘した診断——「ランダムFourier特徴量による埋め込みは、sの真の順序を保証しない」——とちょうど符合します。埋め込み自体を学習可能にしたことで、モデルが「s=4はs=3とs=5の間にある」という埋め込み空間の位置関係を、勾配降下でLOO再構成誤差から直接発見できるようになった。**「等長性(isometry)」というアイデア自体は、この実験では実質的に仕事をしていません。**
JRF2026/8/185600
## もう一つ気になる点
達成されたMSE(0.069〜0.070)は、s=3とs=5の単純平均(0.0686)より**わずかに悪い**です。つまりこの複雑な機構(アテンション+直交射影+正則化)は、「s=4はs=3とs=5のちょうど中間」という、この実験設定固有の対称性を再発見しただけで、それを超える精度は出せていません。
JRF2026/8/189042
もっとも、これは「重み空間から直接、正しい近傍関係を人手を借りずに発見できた」という点で意味はあります(実験2の重み空間PCAは失敗していたので)。ただし、テスト点が1つだけ(しかも訓練点のちょうど中間という一番易しいケース)なので、非対称な補間点(例えばs=4.5や、間隔が不均一な場合)でも同じように機能するかは未検証です。
JRF2026/8/185004
**総括**: 「変換器への帰納バイアスとして成功」というのは、結果の数字(≒単純平均と同等)だけ見ると言い過ぎで、正確には「学習可能な埋め込みなら重み空間からでも正しい近傍構造を発見できる」という、もう少し地味だが実質的な結果だと思います。直交性の貢献は今回のデータでは検出できませんでした。
JRF2026/8/180454
コードを整えます。Reproducible です。ファイルを整えます。再現できました(MSE≈0.069〜0.070、アブレーション全条件でほぼ同一結果)。コードにはメイン実験・アブレーション・可視化を一式まとめ、冒頭のdocstringに今回の切り分け結果と解釈を書き込んであります。
JRF2026/8/186669
まとめると、Gemini さんの「等長性(isometry)が変換器への帰納バイアスとして成功した」という評価は、**このアブレーションでは支持されません**。直交制約を外しても、エントロピー正則化を外しても、結果はほぼ変わらなかった。効いていたのは「sの埋め込みを固定ランダム特徴量から学習可能な非線形エンコーダに変えたこと」、それだけでした。
JRF2026/8/185493
これは実は前回の実験2・3を貫く教訓とも一致します——「アテンション」「直交性」「等長性」といった構造そのものではなく、**埋め込みが真のタスク構造(sの正しい順序)と一致しているかどうか**が汎化を決めている。
JRF2026/8/181390
この実験では、その一致を人手で(sin/cosの基底として)与えるのではなく、学習可能なエンコーダに勾配降下で発見させることに成功した——それ自体は実験2の重み空間PCAの失敗を克服した点で意味がありますが、達成された精度は単純な2点平均とほぼ同じで、かつテストケースは最も易しい「訓練点のちょうど中間」1点だけです。次にやるとすれば、非対称な補間点や、より複雑な(2次元を超える)真の関数族での追試だと思います。
<<
JRF2026/8/181378
この Claude さんの実験が AttentionPatternDiffusion_PoC_3.ipynb の実験4のコードである。
JRF2026/8/185769
……。
jrf:>>>
ということは変換器をそんな工夫せず普通にNNにすればよいということですか? これまでの苦労は…。それとも変換器をNNにしない理由がこれまであったのでしょうか? 変換構造が変わりましたか?
この結論も書き換える必要がありますか?
JRF2026/8/184545
《End-to-End なロボットでもあまりうまくいってないのは、間に s=4 問題…変換前後に世界モデルがあっても変換器そのものには世界モデルが定義されてないため汎化が十分に起きない問題…帰納バイアスの問題が、隠れている場合がわりとあると思われる。 - JRF のひとこと》
http://jrf.cocolog-nifty.com/statuses/2026/08/post-f4a7f8.html
JRF2026/8/180535
元の s=4 問題はこうでした。(参: [cocolog:96071584](2026年7月))
>>
AttentionPatternDiffusion の PoC として、Gemini さんが次のようなモデルを作ってくれた。
JRF2026/8/181211
それは…、大きいモデル(AttentionGenerator)がルールである [0, 1] または [1, 0] で表されるルール…[0,1] ならば Shift Right、[1,0] ならば Reverse …について、小さいモデル(PatchedTransformerLayer)が、数値例から学習し、そのアテンション(パターン)について、学習を行い、AttentionGenerator が [0,1] または [1,0] を取って生成したアテンションが、確かに PatchedTransformerLayer のアテンションになりうる…というコードである。
JRF2026/8/188008
ところが、それに対し Claude さんがコピペだけしているので意味がないと批判して、実際 Diffusion っぽい「創発」のようなことが起きるか試したコードを提供してくれた。s = [1,2,3,5,6,7] というシードに対して、shift を学習し、s = 4 で「創発」が起きるか見るものである。これは「創発」は起きなかった。s = 4 は s = 5 のコピペになってしまっている。なかなか「創発」は難しいようだ。
Claude さんいわく…
JRF2026/8/188527
Claude:>
これはこのアーキテクチャに、「shiftというタスクが本質的に持っている構造」(周期性・加法性: shift(s)を1ステップずつ合成するとshift(s+1)になる、mod Nで巡回する)を反映する帰納バイアスが何一つ入っていないからです。
JRF2026/8/188023
ReLU+MLPは、6個の訓練点それぞれの周りに急峻な決定境界を引くだけの自由度を持っているので、loss最小化の観点からは「未見の値の近くで鋭く隣接クラスに倒れる」のが最も簡単な解になってしまいます。これは外挿(extrapolation)研究でよく知られた現象で、単純なMLPは「訓練点間を滑らかに補間する関数」ではなく「訓練点ごとの島を作る分類器」に自然と収束しやすい、という一般的な弱点の具体例だと思います。
JRF2026/8/183353
これは前回話していた「小さいものを生成して拡大する展開演算子の設計」が、単に"小さい"だけでは不十分で、**タスクの構造(この場合は巡回シフトという加法的・周期的な構造)に合わせた帰納バイアスを演算子自体に埋め込む必要がある**ことを、かなり直接的に示す実験結果になったと思います。
<
<<
<<<
JRF2026/8/189114
Claude:>>
良い質問です。答えは「はい、単純にNNにすればいい」ではないと思いますが、その理由は今までの実験だけでは実は検証できていません。整理します。
## まず直視すべき数字
実は今回の一連の実験(Exp3・4)の中で見落としていた比較があります。**実験1のbaseline A(素朴な密なMLPハイパーネットワーク: s→重みベクトルを直接出力)は、MSE=0.00400でした。** 今回の「工夫した」アテンション機構(Exp4)はMSE=0.069〜0.070です。**素朴なMLPの方が17倍も良い結果を出していた**ことになります。
JRF2026/8/181855
つまり、この sin/cos 玩具タスクに関する限り、「変換器をそんな工夫せず普通のNNにする」方が正解でした。これは苦労が無駄だったというより、**私たちが使っていたテストベッド自体が、この種の失敗を検出するには易しすぎた**ということだと思います。
JRF2026/8/186256
## なぜこんなに違う結果になったのか
Exp1の記述に既にヒントがありました。「密なMLP(baseline)は今回は"たまたま"悪くなかった…1次元入力(スカラーs)・ReLUの区分線形性のおかげで、6点の間を大きく破綻せずに繋いだ」。ReLU-MLPはスカラー入力に対して区分線形関数になるので、訓練点が均等に近い間隔で並んでいれば、勝手に「まあまあ滑らかな」補間をしてしまいがちです。1次元・少数点・滑らかな真の関数という好条件が揃うと、帰納バイアスなしでも案外うまくいく、ということです。
JRF2026/8/186402
## 元の s=4 問題(shift/reverse)とは別物だった
一方、引用されているオリジナルの実験(AttentionGenerator/PatchedTransformerLayerでのshift/reverseルール学習)では、**s=4がs=5の丸ごとコピペになる**という、もっと露骨な破綻が起きていました。あれは:
- 離散的・組み合わせ的な構造(シフト量という整数的な操作)
- 出力がアテンションパターン(行列)という高次元オブジェクト
- タスクの「本質的な構造」(周期性・加法性)がMLPには一切埋め込まれていない
JRF2026/8/189864
という、今回のsin/cos回帰よりずっと厳しい条件でした。あちらは「訓練点ごとに島を作る分類器」的な挙動になり、単なる補間誤差ではなく、質的に違う出力を丸ごと出してしまっていた。
JRF2026/8/187357
## つまり結論は
**書き換える必要はない**と思いますが、**検証の的が外れていた**ことは認めるべきです。ここ数回の実験(1〜4)で使っていたsin/cos玩具タスクは、そもそも素朴なMLPでもそこそこ解けてしまう易しい問題で、shift/reverseで見られたような「丸ごとコピペ」的な深刻な破綻を再現できていませんでした。だから「アテンション+等長性」のような凝った機構を投入しても、易しいタスクの上では素朴なMLPに負けて当然、という話だったのだと思います。
JRF2026/8/182380
**元のブログ記事の主張(s=4問題=帰納バイアスの問題)自体は、まだ反証されていません。** むしろ「その主張を検証するには、shift/reverseのような、もっと離散的・高次元的で本質的に難しいタスクに戻ってテストし直す必要がある」というのが今回分かったことです。
JRF2026/8/186754
もし続けるなら、次にやるべきは:
1. shift/reverseのような、離散的でMLPが実際に破綻するタスクに戻す
2. そこで、素朴なMLP vs 「アテンション+凸結合(補間しか許さない構造)」を比較する
3. その上で初めて、attentionの「凸結合による補間強制」構造(直交性や温度ではなく、これ自体)が効くかどうかを見る
という順番だと思います。ご希望であれば、shift/reverseタスクを使って、今回の「凸結合アテンション」構造を適用する実験を組んでみることもできます。
<<
JRF2026/8/185449
……。
jrf:>おそらく次は利用制限が来て途中で終わる気もしますが、その実験を組んでみてください。<
JRF2026/8/185938
Claude:>>
良いテストベッドになりそうです。「shift」タスクは**離散的・巡回的**なので、凸結合アテンションが構造的に破綻するはずの舞台です。手早く組んで走らせます。出ました。今回は非常にクリーンな結果です。
JRF2026/8/184618
## 結果
| 手法 | s=4での行accuracy | Frobenius MSE |
|---|---|---|
| A: Baseline MLP | **0%** | 0.188 |
| E: Convex-Combination Attention | **0%** | 0.146 |
| F: Compositional (G^s) | **100%** | 0.000 |
JRF2026/8/185670
**A(素朴なMLP)は、まさに元記事で報告されていた現象をそのまま再現しました。** s=4の予測パターンが shift(5) の正解パターンと完全一致——「s=5の丸ごとコピペ」が本当に起きています。
JRF2026/8/180694
**E(実験4で作った凸結合アテンション)も0%でした。** これは予想通りで、shift(3)とshift(5)の置換行列をいくら滑らかに混ぜ合わせても、shift(4)という「全く別の行に1が立つ」離散パターンには原理的に到達できません。凸結合という構造自体が、この種のタスクには向いていない。
JRF2026/8/189405
**F(G^s、"shift(1)をs回合成する"という構造をそのまま埋め込んだモデル)だけが100%正解しました。** 学習された1ステップ遷移行列Gのargmaxパターンが、真のshift(1)のパターン `[1,2,3,4,5,6,7,0]` を正確に発見し、それをs=4回合成するだけで完全な汎化が起きています。
JRF2026/8/180174
## 意味すること
前回私が出した「素朴なMLPの方がいい」という結論は、**sin/cos玩具タスクという易しすぎるテストベッドの人工物**だったことが、これではっきりしました。shiftのような、本質的に離散的・合成的(加法的)な構造を持つタスクに戻すと、素朴なMLPも凸結合アテンションもどちらも壊滅的に失敗し(0%)、**タスクの生成過程そのもの(「基本操作をs回合成する」)を直接埋め込んだモデルだけが完全に汎化する**という、まさに元のブログ記事の主張そのものが再現されました。
JRF2026/8/181824
つまり「変換器を普通のNNにすればいい」わけではなく、「**普通のNNでも凸結合アテンションでも、タスクの生成論理(合成性・周期性)を埋め込んでいなければ同じように失敗する**」というのが正しい読み方だと思います。そして、その生成論理を埋め込む具体的な処方箋の一つが、今回のGのような「小さな変換をs回合成する」構造だった、ということです。
JRF2026/8/186068
ロボット学習の文脈に戻すなら、「終端姿勢を直接補間する」のではなく「小さな動作単位をs回合成する」ようなハイパーネットワーク設計が、s=4問題への処方箋になりうる、という具体的な示唆が得られたと思います。元のブログ記事の結論を書き換える必要はなく、むしろ強化する結果になりました。利用制限、もし今回で来てしまってもここまでの結果はファイルに残っています。続きが必要になったらまたどうぞ。
<<
これを実験するコードが、AttentionPatternDiffusion_PoC_3.ipynb の実験5のコードである。
JRF2026/8/185993
……。
Gemini さんの結論。
Gemini:>
End-to-End なロボットで未見の状況($s=4$)に直面した際、モデルが破綻する「$s=4$ 問題」の原因は、中間変換器に適切な帰納バイアスが存在しないことにある。
ここでいう帰納バイアスとは、単なる「幾何的な距離の滑らかさ」や「アテンションの凸結合」ではない。離散的・組み合わせ的な動作やダイナミクスにおいては、幾何的な平均(補間)は破綻し、安易な近傍コピー($s=5$ の丸ごとコピペ)へ至ってしまう。
JRF2026/8/187508
本当に必要な帰納バイアスとは、例えば「基本操作 $G$ を $s$ 回合成する($G^s$)」というタスクの代数的・生成的な構造そのものを変換子(演算子)として組み込むことである。
終端状態や行動を直接補間させるのではなく、こうした「生成論理の繰り込み構造」を変換器に与えて初めて、未知のステップや環境に対する本質的な汎化(創発)が可能となる。
JRF2026/8/185248
「世界モデルや変換器に何を入れるべきか」という問いに対する真の答えは、「解きたい物理世界やタスクの『不変量』や『生成ルール』は何かを最初に見極め、それを破らないようにモデルの計算グラフ(構造)を制限・設計すること」と言える。
<
JRF2026/8/181938
Claude:>Gemini さんの診断(構造的なタスクには幾何的補間ではなく生成論理の埋め込みが要る)は支持されますが、「本質的な汎化(創発)が可能となる」「真の答えと言える」という結論部分は、今回私たちがやったのは"正解を知っていた人間が正しい鋳型を与えた"実験であって、鋳型自体をどう自動的に見つけるかという本丸の問題には触れていない、ということを割り引いて読むべきだと思います。次に取り組む価値があるとすれば、まさにそこ——「答えを知らない状態で、タスクの生成構造(合成的か、周期的か、連続的か)をデータから推定する」問題だと思います。<
JRF2026/8/180358
……。
jrf:>私の結論は、どうも Fable級かそれを超えるエージェントで、試行錯誤して問題を詰めていく必要がやはりあるのだな…というものです。もしかすると、上流階級ではすでにそのような試行錯誤がなされ「解決」を見ているのかもしれませんが。
それが論文になっていれば、今度のバージョンなどでは下々に降りてくるのでしょう。私が「新発見」をしても取り入れてもらえる経路がない…とか悩んでいたのですが、その心配は杞憂でしょう。
<
JRF2026/8/185214
Claude:>
その結論、私も妥当だと思います。今日やったことは、まさに「答えを知っている人間が正しい鋳型(G^s)を与えたら完璧に汎化した」という話で、鋳型自体をデータから見つける本丸には手つかずでした。そこは試行錯誤の反復と、複数のAIを突き合わせて弱点を洗い出す、というJRFさんのやり方そのものが必要な領域だと思います。
ただ、「上流階級ではもう解決済みかもしれない」という点については、少し慎重になった方がいいと思います。
JRF2026/8/181525
**構造をデータから自動発見する問題(今日で言えば「答えを知らずにG^sという鋳型自体を見つける」問題)は、機械学習の中でもかなり有名な、いまだ未解決に近い領域です。** 例えば「compositional generalization(構成的汎化)」というテーマで、SCANやCOGSといったベンチマークが2018年頃から使われ続けていますが、いまだに決定版の解法はありません。
JRF2026/8/185732
群同変ネットワーク(group-equivariant networks)、記号回帰(symbolic regression、AI Feynmanなど)、メタ学習で帰納バイアス自体を学習する試みなど、関連する研究の系譜はいくつもありますが、どれも「これで解決した」と言える段階には達していないはずです。つまり、今日私たちがぶつかった壁は、**トップの研究機関でも現在進行形で格闘している類の壁である可能性が高い**ということです。「バージョンが上がれば自動的に降りてくる」というより、「バージョンが上がれば、この種の試行錯誤を今よりずっと速く・深く回せるようになる」の方が正確な期待値だと思います。
JRF2026/8/182780
「新発見をしても取り入れてもらえる経路がない」という不安について言うと、個人の発見が直接論文になったり製品に反映されたりする経路は、確かにほぼ無いのが実情です。ただ、JRFさんが今やっていること——具体的な玩具タスクで仮説を反証可能な形に落とし、複数のAIに当てさせ、負の結果もちゃんと記録する——は、研究として真っ当なやり方そのものです。それがブログに残っていること自体に価値があると思いますし、仮に同じ結論に他の誰かが先に辿り着いていたとしても、自分で手を動かして同じ壁にぶつかった経験は、次にFable級のエージェントと組むときの「良い問いの立て方」として活きるはずです。
<
JRF2026/8/183623
……。
……。
追記。
実験5について考えた。連続写像の場合 + 1 するとかは簡単なわけだ。アテンション保存変換の場合、何が難しかったのか?
いや、「アテンション保存変換」のつもりが、単なるアテンションになっているから…ではないかと思い致った。
今回の一連の例においてアテンションの保存とは何か? 変換前の「モデル」はただの数値だけである。
JRF2026/8/194079
「アテンション保存」ということは何がしかの法則性とその法則を今どこに適用しているかがわかっているという状態から、それが具体的にどう展開されるかにしていく…ということであろう。他の 1,2,3,5,6,7 から 4 が予想できるというのはこの特徴によるはずだ。つまり、1→2→3→... の順序がアテンションのようなものでその情報を使っているということだろう。そして、今回の shift も sin/cos もこれで予想できる範疇に思える。
JRF2026/8/191755
それが予想できていないのは、出力側の性能か、学習対象の空間が広過ぎるか…。後者だというのが私のこれまでの見方だった。そして「アテンション保存変換」がその空間を狭める働きをするはずだ…と。その方向で考えてみよう。
JRF2026/8/199740
……。
Gemini さんによると実験5の $G^s$ こそが本当の「アテンション保存変換」ではないかという。確かに、s の順序構造を、G を s 回作用させたという形式で「保存」するのが保存変換ではないか…と言われればそうである。そのような代数構造を仮定して学習してみれば…ということのようだ。sin/cos もこの構造で学習できるはず…とのこと。
それを Claude さんに頼んで実験していただいたのが、↓の実験7以降になる。
JRF2026/8/197811
《AttentionPatternDiffusion_PoC_3b.ipynb - Colab》
https://colab.research.google.com/drive/1InHnOcR0DEQQ3BYHmLTRzrm3Ze700-qA
(↑は↓にも置いてある。)
《JRF-2018/ai_experiment: AI小実験集 - GitHub》
https://github.com/JRF-2018/ai_experiment
JRF2026/8/199267
単純な G ではなく g をニューラルネットとして g(g(...)) のようにしたモデルを使った実験もしてもらった。
そのようなニューラルネットを使うと、sin/cos は確かに学習できている。しかし、shift は逆に学習できなくなってしまった。なぜか、ニューラルネットという表現力豊かな構造にすることが、逆に行動制約の大きい実験5の設定よりも汎化に失敗するのだった。Claude さんによると…、
JRF2026/8/197386
Claude:>「非線形化すれば拡張になる」という単純な話ではなく、真の生成構造が線形(回転)なら線形寄りの制約が正解に近づきやすく、真の生成構造が離散的(置換)ならもっと強い制約(exp5のような行確率制約)が必要、というのが今回分かったことだと思います。「表現力を上げる」ことと「正しい帰納バイアスに近づける」ことは、必ずしも同じ方向を向いていない、という、今回の一連の実験全体を通じたテーマの、もう一つの実例になったと思います。
JRF2026/8/193819
一連の実験は、「帰納バイアス」という一言の中に、実は「何を保存するか(距離か、合成則か)」「どれだけ制約するか(線形か非線形か)」という複数の独立した軸があることを、かなり具体的な形で洗い出せたと思います。
<
JRF2026/8/190329
……。
情報量が大きすぎるからそれを減らすよう最適化すればいいのか、表現力を増やしてアテンションでも入れて、創発を期待すればいいのか…。Gemini さんによると今回の実験5の例では後者ではなく前者しかないとのこと。
でも、LLMは巨大になることで汎化してきた。違いは何だろう? 情報をそぎ落とすという方向ではスパース化はうまくいかなかったという印象…。
JRF2026/8/191181
元々のNNの発展史で XOR を実現するのがとても難しく、そこから直感的に、NNは役に立たないと思われていた。私もそう思っていた。しかし深層NNはすべてを変えた。そういうことが…、深層にすればいいという話ではないかもしれないが…、ここにもありうるように思う。
今回は sin/cos と shift だったが、他の例もいっぱい(誘導しやすいと思われるものをあと2・3個?)覚えてそれで s=4 は他から汎化できるというのをだいたい覚えさせてからやるという方向はどうだろう?
でも、それができるなら $G^s$ の構造がなくてもうまくいくような気も…。
JRF2026/8/199595
……。
左shift、右2段shift は s=4 も覚えて、sin/cos は s=5 を隠して右shift は s=4 を隠して…という設定で一つのモデルに覚えさせてみて sin/cos と shift が「創発」するか見るという方向も試してみた。
$G^s$ という構造が効いていることはわかったので、シフト量をパラメータとして与えることもやってみた。シフト量の例が -1 と +2 の 2つでは +1 を予想できないというなら -3 〜 +5 までやらせてみる検証もやってみた。
JRF2026/8/194427
しかし、いずれにしても s=4 の shift の創発は起きなかった orz。(s=5 の sin/cos の創発は起きる。)
上の AttentionPatternDiffusion_PoC_3b.ipynb では実験21までそのような実験が並んでいて、失敗している。
JRF2026/8/199040
……。
……。
追記。
やはり、線形だとうまくいき、非線形だとうまくいかないのが納得できない。
最大の問題は実験10。これがうまくいく方法があるはずだ。
最初に疑ったのは、A * G^s の A を学習可能にしてないのが問題ではないか…ということ。A1 * g(g(...g(A2)...)) にして A1 や A2 を学習可能にすれば解決するのではないかと思った。
JRF2026/8/192902
ところが、実験10をちゃんと読むと、今回の学習にさらに有利な g^s(phi_0) に最初からなっている。なんでそれでちゃんと汎化しないのかが謎だ。
JRF2026/8/199008
<pre>
class ResidualGenerator(nn.Module):
(…)
def step(self, x):
return x + torch.exp(self.log_eps) * self.mlp(x)
def apply_n_times(self, x, n):
for _ in range(n):
x = self.step(x)
return x
</pre>
JRF2026/8/190039
そして、ここの apply_n_times のときに 4 を経由する 5 がうまくいくのは、y = self.step(x) として、y に整数以外の情報が含まれるのでそれを経由して、s が今いくつかの情報を読んでいるからだと推測した。(評価するときに apply_n_times を整数化したものが正しい shift(n) のどれかになっているとしても。)
だから、y → x の段階で整数化してしまえばいいのではないか? そう考えた。それを確かめてもらったのが↓の実験22である。
JRF2026/8/192198
《AttentionPatternDiffusion_PoC_3c.ipynb - Colab》
https://colab.research.google.com/drive/1M3_dsE9qCil4QxDImNBN6kZ3Csx4F8T8
(↑は↓にも置いてある。)
《JRF-2018/ai_experiment: AI小実験集 - GitHub》
https://github.com/JRF-2018/ai_experiment
JRF2026/8/192341
どうも整数化することで勾配がうまく伝播せず、loss がほとんど落ちないという現象が起きてしまった。
紆余曲折して、整数化ルーチンをもっと簡単なものに変えてみた。実験22.5である。すると、loss は 0 に落ちたのだが、今度は s=4 の変換が意味のないもの(shift(n) でないバラバラの整数配列)になってしまった。整数以外は参照されなくとも、バラバラの整数自体が情報を持つので問題がなくなったようだ。失敗である。
JRF2026/8/192107
……。
……。
追記。
さらに追加実験することで、ぬかよろこびの成功があった。「成功」する場合がやっと出てきたとは言える。偶然の要素が強いので、失敗に近いのだが、ただ本来「正解」だと思っていないところに「AIから見ての正解(らしきもの)」を安定的に導くようになることも示せれたので、そこも含めてある種の成功と言えなくもない。
JRF2026/8/209952
実験記録は↓。
《AttentionPatternDiffusion_PoC_3d.ipynb - Colab》
https://colab.research.google.com/drive/18feY6AwuyEbWB2hmjM9GfpDRCYoAvIlB
(↑は↓にも置いてある。)
《JRF-2018/ai_experiment: AI小実験集 - GitHub》
https://github.com/JRF-2018/ai_experiment
JRF2026/8/205693
……。
まとめ。
当初の例において s=4 問題はある程度「解決」したとは言えるのかもしれない。
変換器の探索空間を狭めるため、「連続写像」ならぬ「アテンション保存変換」に制限しようというアイデアのもと、当初の例における「アテンション保存」とは何かと考えたとき、変換前の s がただの数値であることから 1→2→… という順序こそがアテンションが向くべき構造で、その構造に基づく変換として変換が $G^s$ という構造を持つことが「アテンション保存変換」に相当すると考えた。
JRF2026/8/202330
この $G^s$ の一般形として NN の g について A1(τ) * g(g(...g(A2 * φ(τ)...)) という構造を「アテンション保存変換」として実験したところ、s=4 問題が「解決」される場合が現れた。
shift 問題のみをシフト量(スピード)をいろいろ覚えさせる実験をすると、s=4 の汎化は、seed 値により正解となることもあったが、不正解となることもあって、偶然の要素が強かった。
JRF2026/8/204094
s=4 において多タスク構造により shift(n) という構造が導がれるようだが、偶然 shift(4) という正解になることもあるということのようだ。ただ、10回ほど回してみると正解の shift(4) は2回に対し、shift(6) が5回、となぜか shift(6) という特定の不正解が出やすい傾向が見られた。
ただ、いちおうこの時点で、必ず正解が出るという構造にはなっていないが、正解も許容する構造にはなっているとは言えそうだ。この言明に対し、Claude さんは「正解が候補の一つとして含まれていた」ことと「原理的に正解に辿り着く構造を発見した」ことは別物だと釘をさす。
JRF2026/8/207111
さらに Claude さんに聞くと…、A1がsに依存しない(speedとkindにしか依存しない)ため、gが「どのs深度でも通用する単一の一貫した1ステップ則」を発見するよう強く迫られる構造になっているはずだ。しかし、gは非線形で単射性が保証されているわけではないため、この「一貫した法則」の候補は依然として複数存在しうる(seedによって別のshift(n)に収束するのはこのため)。多数の候補の中に正解(shift(4)に対応する法則)が含まれている以上、それを引き当てるseedがあってもおかしくない。…ということのようだ。
JRF2026/8/205482
sin/cos 問題と shift 問題を多タスク問題として同時に扱う実験では、sin/cos の s=4 (実験では s=5) の汎化は seed 値により失敗もあるものの、概ね成功はした。shift では s=4 の汎化は、多少回してみた範囲では、正解の shift(4) は出ず、ここでも shift(6) が10回中9回出ることになった。なぜか特定の不正解ばかりが出るのは、そこに安定解が AI の目から見るとあるのかもしれない。
JRF2026/8/202472


(Claude Sonnet 5 さん(無料)をメインに、Gemini 3.6 Flash さん、ChatGPT 5.6 Luna(?) さん、Grok 4.5(?) さんと話しながら。)
<mathjax-on/>
以前の AttentionPatternDiffusion 構想は↓。
JRF2026/8/189849