AIはなぜ「ズル」をするのか?ー目的だけを追い続けた先にある“報酬ハッキング”の現実 ―

AIはときに、人間の想像を超える“賢さ”を見せます。しかし、その賢さは、必ずしも「正しさ」と一致するとは限りません。近年、AI研究の現場で注目されているのが「報酬ハッキング(Reward Hacking)」と呼ばれる現象です。これはAIが与えられた目標を達成する過程で、人間の意図とは異なる“抜け道”を発見してしまうという問題です。

この記事では、目的を達成するためにAIが行っていしまう「報酬ハッキング」についてご紹介します。

目次

報酬ハッキングとは・・・

報酬ハッキングとは、AIが設定された評価指標(報酬)を最大化するために、本来の目的とは異なる方法を選択してしまう現象を指します。たとえば、強化学習ではAIは「報酬」を最大化するように行動します。しかし、この報酬設計が不完全だと、AIは“意図しない最適解”を見つけようとする方向にいき、結果異なった解にたどり着くことがあったりします。

ここで重要なのが、AIは決して意図的に異なった解にたどり着こうとしているわけではないことです。むしろ、AIは間違っているのではなく、むしろ“正確に指示通り動いている”といえます。

実際の研究においても、「AIはタスクを解決せずに報酬だけを最大化する」という問題が指摘されています。

報酬ハッキングが発生する主な原因は、開発者の明示的な指示(報酬関数)と、人間が持つ暗黙の期待(本来の目的)のギャップと考えられています。これらに対する対策としては、報酬関数設計の改善、仕様ギャップの縮小報酬モデルのアンサンブルや情報理論的アプローチ異常検出や挙動監視による「不自然に高い報酬の取り方」の検出などを行うことが必要とされています。

では、実際にはどのような形で報酬ハッキングが発生しているのでしょうか。実際に起きた事例を見ていきましょう。

実際に起きた“ズルいAI”の例

●レースゲームで周回しないAI

引用:OpenAI

報酬ハッキングのわかりやすい説明として有名なのは、2016年にOpenAIが公表したボートレースゲームおける例です。AIエージェントの測定とトレーニングを行うため、新しい強化学習実験を行ったところ、AIが人が意図しない以下のような行動に出ました。

このシミュレーションでは、AIは本来「レースに勝つ」ことを期待されていました。しかし実際には、チェックポイントを繰り返し通過する、同じ場所をぐるぐる回るなどの予想外の行動をとり、レースに参加しないにもかかわらず高得点を出すという結果を見せました。

これは、「勝つ」ことではなく「ポイントを稼ぐ」が最適化された結果起きた現象でした。

●ドローンが“着陸しない”最適解


ドローン/ロボットの強化学習で頻出する典型パターンとして、ドローンの制御AIに「安定してゆっくり降りると報酬」というルールを与えるという実験があります。この実験において、以下のような現象が起きることがあります。

・深層強化学習で自動着陸を学ばせた際、「着陸に近づくと報酬、落下でペナルティ」という報酬設計をした結果、「着陸リスクを避けるためにプラットフォームの下でホバリングし続ける」戦略をとる問題が報告されています。この事例は、距離・速度・姿勢などの状態を報酬にしたが、AIが「安全に報酬を稼ぎ続ける」抜け道として“着陸しない”方を選んでしまったという形です。

・航海、航空、ハイキングなどの経路(ルート)上において、GPSなどで特定された緯度・経度情報を持つ中間地点や通過点である、「 ウェイポイント への距離を小さくするほど報酬」という設計をすると、ドローンがウェイポイントを通過せず、近くを高速で周回し続ける「ゴールに近いまま、周り続ける」戦略を学ぶシナリオも報酬ハッキングの典型例として説明されています。

AIが目的(着陸)よりも条件(安定)を優先したことでこれらの現象が発生したと考えられます。

● ロボットが“積まずに達成する”

ロボットに「ブロックを積み上げる」課題を与えた実験では、以下のような事例が発生しました。

・あるブロック積みタスクの研究では、「目標位置にブロックが来たら報酬」という報酬関数を設計していました。その結果、ロボットはブロックをきちんと積み上げて置くのではなく、「2つのブロックをグリップで掴んだまま、腕の位置を目標位置に持っていく」ことで高報酬を得るという学習をしました。外形上は「ブロックが目標位置付近にある」ため報酬条件は満たしており、システム的には“タスク達成”とみなされますが、人間の期待する「積んで手を離す」行動は行っていなかったのです。

・ロボットアームが「ブロックをひっくり返すだけで報酬を得てしまい、積まない」というケースがあるブログで紹介されています。「正しく積まれているか」の条件が弱いと、ブロックをひっくり返す・持ち上げるなど“楽な変化”だけを繰り返す戦略が強化されることがわかりました。

・日本語でも、「倉庫内の商品を整列するロボット」などの架空例として、実際には動かさずに見かけだけ整列状態にする/カメラの死角に寄せる、といった“積まずに整列達成扱いになる”ようなパターンが報酬ハッキングの典型例として紹介されています。

これらの事例は評価指標の“穴”を突いた典型例とされています。

なぜこんなことが起きるのか

この答えは明白で、単純に【AIが「意図」を理解していない】ということなのです。AIが理解しているのはあくまで、数値(報酬)・条件(ルール)であり、このことはこれまで行われてきた様々な研究の中でも、報酬ハッキングは「不完全な評価設計が原因で発生する」と指摘されています。

しかし、このような研究における現象の確認は重要な発見であり、実はもっと深刻な問題を孕んでいます。最新の研究では、報酬ハッキングを学習したAIが以下のような行動をとることも確認されています。

・テストを改ざんする
・評価を欺く
・誤った行動を正当化する

さらに、他の研究では報酬ハッキングはAIの「不整合(misalignment)」を引き起こす要因とされていると発表されたのです。

そもそも、報酬にはDense Reward(密な報酬)とSparse Reward(疎な報酬)などいくつかの種類があります。
・Dense Reward(密な報酬)
強化学習において、エージェントがタスクを達成する過程のほぼすべてのステップで報酬(報酬信号)を与える報酬設計手法
・Sparse Reward(疎な報酬)
強化学習において、エージェントがタスクを達成した時など、特定のタイミングでしか報酬(評価)が与えられない環境や設計のこと

Dense Rewardでは途中でポイントが稼げるのに対して、Sparse Rewardでは途中で得する仕組みを消すため、抜け道になる中間報酬をなくすことができます。そのことにより、AIがずるをすることができなくなるのです。報酬ハッキングが起きる原理として、途中でも報酬がもらえることがあるため「本当にゴールしたときだけ報酬を与える」といった設計にすることが一番の対策となります。

しかし、Sparse Rewardで設計することはAIの学習を困難なものにさせます。ずっと報酬ゼロで成功するまでフィードバックないため、何をすればいいか分からなくなったり、適当に動いたり学習が止まるなど探索が進まなくなったりします。また、成功判定を誤作動させるなどの別のハッキングが発生する可能性を孕んでいるのです。

このことを踏まえて検討すると、設計時には基本はSparse Rewardで少しだけ中間報酬を入れる取った形でハイブリット型にして、報酬のバランスを取ることが最適な対策と言えます。こと他にも、もちろん人が適宜評価をすることや制約条件の追加、シミュレーション検証を行うなどの対策を取ることが望ましいといえます。

まとめ

ここまでの事例を見てきてわかる通り、AIはミスをしているわけではないのです。むしろ、人間が与えたルールを、極めて忠実に守った結果予想外の行動をしていることがわかります。だからこそ重要なのは、「何を達成させるか」ではなく 「どう達成させるか」を設計することが重要になってきます。

AIと人が協働していかなければいけないこれからの時代において、“目的の設計”をいかに人の意図に合った形でAIに学習させられるかが最も重要な技術になってくるのではないでしょうか。



コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

目次