状態:ドラフト(2026-10-18)、実測。 数値は第11〜14話の学習結果(
measure/robot-arm-basics/out/rl/*_s{0,1,2}.json、設定16種類×シード3つ)を読み直して計算しました。 環境はノートPC(Apple M1 Max、macOS 26.5)、Python 3.9.6・numpy 2.0.2です。実際のロボット実験はありません(ハードウェア未実測)。参考資料は2026-10-18に閲覧しました。 作成ルール:実測データが基本であり、測定できなかったものは「未実測」、確認できなかったものは「未確認」と表示します。
目次
- 1. 直感:優れた曲線1つが嘘をつくこともある
- 2. ルール1:学習用ボールと評価用ボールを分ける
- 3. ルール2:複数のシードを実行し、中央値と範囲を記載する
- 4. ルール3:最も良かった瞬間ではなく、最後の値を報告する
- 5. ルール4:ベースラインと並べる
- 6. ルール5:真の目標に向けて、再現できるように
- 7. 次回:実際の卓球アーム
- 8. 制限事項
- 9. まとめ
- 参考文献
1. 直感:優れた曲線1つが嘘をつくこともある
強化学習は、同じコード、同じ設定であっても、乱数シードによって結果が大きく異なります。学習曲線は上下に変動するため、「最も高かった点」を選ぶと実力が過大評価されてしまいます。 また、シミュレータ内で優れた方策が実物でも優れているとは限りません(第14話)。
Hendersonら 2017は、ベンチマーク環境の非決定性と手法自体の分散が深層強化学習結果の再現を困難にしていると指摘し、Agarwalら 2021は、少ない回数の実行で結果を出す際に、区間推定や四分位平均(IQM)といった頑健な指標、パフォーマンス分布の図を使おうと提案しました(両論文ともアブストラクト)。この記事では、本シリーズが守ってきた5つのルールを、第11〜14話の実際の数値で検証します。
2. ルール1:学習用ボールと評価用ボールを分ける
ラケットの円弧付近を通過する7,315個のボールのうち1,000個を最初から除外し、学習には使用しませんでした。学習が完了した方策を、学習用ボール1,000個と評価用ボール1,000個でそれぞれ評価しました。
| 比較 | 値 |
|---|---|
| 学習用ボール − 評価用ボールの成功率の差(成功率が10%を超える学習36回) | 中央値 +0.7%p、範囲 −0.9〜+4.1%p |
| 名目シミュレーション − 「実物」の差(ランダム化のない方策、第14話) | 中央値 +10.2%p |
ボールを分けても差が小さかったのは、2つのボールのセットが同じ分布から生成されたためです。6,315個のボールを1万9千回サンプリングして打撃しているため、方策が個々のボールを記憶することは困難です。 真のリスクは分布が変化するときでした。同じ方策でも、物理定数が少し異なる「実物」では10%p失われました。そのため、評価は両方で行う必要があります。 学習に使用していない同じ分布のボール、そして 意図的に異なる分布(異なる反発係数、遅延、より速いボール、より強い回転)です。
3. ルール2:複数のシードを実行し、中央値と範囲を記載する
| 設定 | シード0 | シード1 | シード2 | 中央値 |
|---|---|---|---|---|
| PPOデフォルト | 82.9% | 76.8% | 90.9% | 82.9% |
| エントロピー 0.01 | 87.7% | 87.5% | 87.8% | 87.7% |
| GAE λ = 1 | 84.2% | 41.9% | 42.6% | 42.6% |
| ハイブリッド(回転を認識する予測器) | 65.6% | 39.0% | 73.8% | 65.6% |
| 広範囲のランダム化(「実物」) | 54.7% | 52.6% | 75.4% | 54.7% |
シード0だけを実行した場合、「GAE λ = 1(84.2%)はPPOデフォルト(82.9%)よりも優れている」と記述していたでしょう。3つのシードを確認すると、λ = 1は2回失敗していました。逆に、エントロピーボーナスは3つのシードが0.3%p以内に収まっており、「安定している」という主張の根拠になります。3つのシードは依然として少ないため、第12〜14話では範囲が重なる設定の間で順位付けを行っていません。
4. ルール3:最も良かった瞬間ではなく、最後の値を報告する
学習中、20回(ハイブリッドは10回)の反復ごとに評価を行いました。その中で最も高い値を選択した場合どうなるかを比較しました。
| 設定 | 最後の値の中央値 | 最も良かった値の中央値 | 誇張 |
|---|---|---|---|
| PPOデフォルト | 82.9% | 82.9% | 0%p |
| ハイブリッド(回転を認識しない予測器) | 46.3% | 47.8% | +1.5%p |
| GAE λ = 1 | 42.6% | 45.6% | +3.0%p |
| 広範囲のランダム化 | 57.4% | 60.3% | +2.9%p |
| ハイブリッド(回転を認識する予測器) | 65.6% | 79.6% | +14.0%p |
学習が着実に向上する設定では差はありませんが、変動する設定では「最も良かった値」によって14%p誇張されていました。より根本的な問題は、その「最も良かった値」を 評価用ボールで選んだという点です。評価用ボールがチェックポイントの選択に使用される場合、それはもはや初見のボールではありません。チェックポイントを選択する必要がある場合は、学習用ボールから別途切り分けた検証用ボールで選び、評価用ボールは最後に1度だけ使用します。
5. ルール4:ベースラインと並べる
| 手法 | 評価用ボールの成功率 |
|---|---|
| ランダム方策 | 1.5% |
| 回転を認識しないモデルでグリッドを探索した古典的プランナー | 40.0% |
| ハイブリッド行動空間の最適定数行動 | 45.9% |
| ハイブリッド行動空間の上界(正解結果により選択) | 85.4% |
| PPO直接制御(シェーピング報酬) | 82.9% |
| PPO直接制御 + 関節限界ペナルティ | 89.2% |
「PPOで83%」という数値だけでは、それが良いかどうかは分かりません。ランダムが1.5%、古典的プランナーが40%、同一行動空間の上界が85%であることを並べて初めて、「間違ったモデルを使用したプランナーの2倍であり、1自由度ラケットで出せる上限に近い」と言うことができます。第13話のハイブリッド(46%)が最適定数行動(46%)と同等であるという事実も、ベースラインがなければ「学習ができた」と読み取られていたでしょう。
6. ルール5:真の目標に向けて、再現できるように
- 真の目標で評価します。 第13話で「当てるだけで賞」を獲得した方策は、報酬基準では98%の成功でしたが、卓球台に入ったボールは0〜9%でした。学習の報酬が何であれ、評価は「相手の卓球台に入ったか」の1点で行いました。
- 評価は確率なしで行います。 学習中の方策は正規分布から行動をサンプリングしますが、評価では平均行動のみを使用します。同じ方策を同じボールで評価すると、同じ数値が出力されます。
- 再現性を確認します。 第14話の「ランダム化なし」実験は、第12話のPPOデフォルトと設定が同じで、評価を1つ追加したものです。2つの実験の名目シミュレーション成功率は、シードごとに小数点まで一致していました(82.9%、76.8%、90.9%)。シードとコードを固定すると、このおもちゃ環境の学習は決定的になります。実際のロボットやGPU並列物理ではこのようにならないため(未実測)、より多くのシードと区間推定が必要です。
- 環境を記載します。 Python・numpyのバージョン、CPU、同時実行数、学習量(エピソード・環境ステップ)、学習時間を結果とともに残しました(第12話の状態バナー)。
7. 次回:実際の卓球アーム
第11〜15話のおもちゃ問題は、原理を数値で示すためのものでした。同じプロジェクトでは、MuJoCo卓球シミュレータ上で実際の構造に近いアームによる強化学習を進めています。この記事の執筆時点ではその結果がまだ整理されていないため、数値を持ち込んでいません。結果が出れば、本シリーズの「実際の学習結果」編として、この記事の5つのルール(分割された評価用ボール、複数シード、最後の値、ベースライン、真の目標)に合わせて報告します。
| 話 | おもちゃ問題で測定した要点 |
|---|---|
| 11 | ベースライン:ランダム 1.5%、誤ったモデルのプランナー 40%、行動空間の上界 85%。4,096個の並列処理でスループット353倍 |
| 12 | PPO 83%(エントロピー 0.01の場合は88%)。クリッピングなし・λ = 0 は 0% |
| 13 | 報酬ハッキング:98%的中して0%イン。限界ペナルティによる限界衝突 79% → 8%未満。ハイブリッドは高速だが古典的部分に閉じ込められる(46% → 回転を認識すれば66%) |
| 14 | 「実物」でランダム化なし −10%p、狭いランダム化が「実物」で 80% と最も良好 |
| 15 | シードによって42%対84%、「最も良かった値」は最大14%p誇張 |
8. 制限事項
- シードは3つです。Agarwalらが推奨する区間推定(ブートストラップ信頼区間)とIQMは計算していません。シードが3つの場合、IQMは中央値と同等になります。
- 評価用ボール1,000個の成功率の標本誤差は、成功率50〜85%において約±2.2〜3.1%p(95%、二項近似、我々の計算)です。これより小さい差に意味はありません。
- 「異なる分布」の評価は第14話の「実物」のみで行いました。より速いボール、より強い回転といった分布シフトの評価は未実測です。
9. まとめ
- 学習用ボールと評価用ボールを分け、分布の異なる評価も別個に行います。同一分布内の差は1%p前後であり、分布が変化した場合は10%pでした。
- シードは複数使用し、報告は中央値と範囲で行います。1つのシードだけでは結論が覆っていました。
- 最も良かった瞬間ではなく、最後の値を報告します。評価用ボールでチェックポイントを選択してはなりません。
- ベースラインと並べて初めて、数値に意味が生まれます。
ティティの一言。 練習用のボールをうまく打てた動画ばかり見せると、誰もが選手のように見えます。初見のボールで、何度も、最後の実力を示してこそ本物です!
参考文献
すべての資料は2026-10-18に閲覧しました。
- Henderson, Islam, Bachman, Pineau, Precup, Meger, Deep Reinforcement Learning that Matters, arXiv:1709.06560、アブストラクト。
- Agarwal, Schwarzer, Castro, Courville, Bellemare, Deep Reinforcement Learning at the Edge of the Statistical Precipice, arXiv:2108.13264(NeurIPS 2021)、アブストラクト。