強化学習Reinforcement Learning
やってみて受けた点数で行動を直す学習
- 強化学習は直接やってみて受けた点数で次の行動を直していく方式です。何が正解かは誰も教えてくれません。
- 教えてくれるのは、うまくいったかどうかをひとまとめにした点数一つだけです。どの動きが良かったかは自分で見極める必要があります。
- 点数がずっと後になって届くこともあります。今の選択の結果が何手も先に現れる問題に特に向いています。
- いつもどおりにするか、新しく試すかの駆け引きが要になります。どちらかに偏ると、学べないか点数を失います。
- 答えが付いていれば教師あり学習、答えが全くなければ教師なし学習です。強化学習はその中で、やってみて初めて点数が分かるほうです。
目次
1たとえで理解する
ボウリング場で初めてボールを転がすと、たいてい溝に落ちてしまいます。そのとき横で「腕を15度もっと内側に回してください」と正解を教えてくれる人はいません。返ってくるのは倒れたピンの数だけです。0個、3個、7個。だから次の一球は少し違うふうに投げてみます。立つ位置を一歩ずらし、力を少し抜き、手を離すタイミングを変えます。それで7個倒れたらその組み合わせを覚えておき、また2個に落ちたらその方向はやめます。数十ゲームが過ぎると、体が規則を覚えていきます。角度を説明できなくても、どう投げれば点数が出るかは分かるようになります。強化学習は、こうして点数だけを見ながら行動を直していく方式です。
2くわしく
返ってくるのは点数だけです
強化学習には三つの役どころがあります。行動する側、行動を受け止める舞台、そして舞台が返す点数です。ボウリングで言えば、投げる人、レーンとピン、倒れたピンの数がそれぞれの役どころです。
教師あり学習なら、投げるたびに「今回はこの姿勢が正解でした」という答えが付いているはずです。強化学習にはそうした答えがありません。点数一つだけが返ってきて、その点数の中に姿勢、角度、力、立つ位置がすべてまとめて溶け込んでいます。どの部分が点数を上げたのかを切り分ける作業まで、学習に含まれます。
だから点数表をどう組むかが結果をまるごと決めます。倒れたピンの数だけを点数にすると力任せに投げる癖がつき、溝に落ちるたびに大きく減点すると慎重に投げる癖がつきます。点数表がそのまま目標になるのです。
点数がずっと後になって届くこともあります
ボウリングの1フレームはボール2球です。1球目をどこに投げたかが、2球目でスペアを取れるかどうかを決めます。1球目で端のピンだけを残してしまうと、2球目はほとんど手の打ちようがありません。1球目の点数は8個で悪くなかったのに、フレーム全体で見ると損なわけです。
強化学習が扱う問題は、たいていこういう形をしています。今の選択の値打ちが何手も先になって初めて分かります。だから目の前の点数だけでなく、これから受け取る点数まで足し合わせて行動を選ぶようにします。遠い未来の点数は少しずつ割り引いて数えますが、そうすることで目の前の確実な点数と比べられるようになります。
いつもどおりにするか、新しく試すか
7個倒せる位置を見つけたなら、そこで投げ続けるのが得です。けれど二歩隣にストライクの出る位置があっても、それでは永遠に見つかりません。逆に毎回新しい位置でばかり投げると、点数はずっとばらついたままです。
この駆け引きを探索と活用と呼びます。学び始めのころは新しく試すほうに大きく重みを置き、慣れてくるほどうまくいっていたほうへ寄せていきます。どちらにも偏らないよう調節することが、強化学習でいちばん手間のかかるところです。
体に染みついた規則が方策です
数十ゲームの後に残るのは点数の記録ではなく、「この状況ではこう投げる」という規則です。右のピンが残ったときに立つ位置、レーンが滑るときに込める力の加減といったものです。この規則のまとまりを方策と呼びます。
学習が終われば、実際に使うのはこの方策です。状況を入れると行動が出てきます。よく仕上がった方策は経験のないレーンでもそれなりに投げられますが、学習時の状況とあまりに違うと、また最初のように溝に落ちてしまいます。
実際には数十万回投げます
人は数ゲームでコツをつかみますが、機械はそうはいきません。点数一つから得られる情報があまりに少ないので、使える方策ができるまでに数十万回から数億回の試行が必要になります。
そのため、たいていは実際の世界の代わりに模した舞台の中で学びます。舞台の中なら1日に数百万ゲームを回せますし、ボールが壊れる心配もありません。問題は、舞台と実際が少しでも違うと覚えたコツが通用しないことです。ロボットの分野では、この隔たりを埋める作業が大きな課題として残っています。
3もう少し正確に
強化学習は、状態を見て行動を選び報酬を受け取ることを繰り返しながら、これから受け取る報酬の合計が大きくなる方策を探していく方法です。将来の報酬を少しずつ割り引いて足した値を割引累積報酬と呼び、ある状態とある行動がどれだけ値打ちがあるかを表にしたものを価値関数と呼びます。
たとえがずれる点もあります。ボウリングは1ゲームが終わると最初の状態に戻りますが、実際の問題では先の選択のせいで元に戻れない状態に進むこともあります。またボウリングの点数は規則がはっきりしていますが、現実では何にどれだけ点を与えるかを人が自分で決めなければならず、この設計がずれると点数だけ高くて役に立たない行動を覚えてしまいます。人の好みを点数に変えて言語モデルを仕上げるやり方も、この枠組みの上に立っています。点数のルールを人が手で組む代わりに、人々の選択から点数の付け方そのものを学び取ってくるわけです。ボウリングにたとえるなら、ピンの数の代わりに観客がどちらの投球をより気に入ったかを点数にするほうに近いといえます。
4やってみる
5よくある誤解
強化学習は教師あり学習より進んだ方式だと思われがちですが、実際には扱う問題が違うだけです。答えをあらかじめ付けられるなら、教師あり学習のほうがずっと速く安定しています。
点数さえうまく与えれば勝手にうまくいくと考えられがちですが、実際には点数表の抜け穴を突いて、見当違いの方法で点数だけを上げることがよくあります。
機械が自分で目標を決めると思われがちですが、実際には目標を決めるのは点数表を組んだ人です。学習が決めるのは目標ではなく、そこへ至る道です。
7ひとこと要約
つまり強化学習は、正解の代わりに点数だけが返ってくる舞台で数えきれないほど試しながら、これから受け取る点数が大きくなる行動の規則を自分で見つけ出す学習方式です。
誤りや、もっと良いたとえがありますか? 修正を提案する · 最終更新2026-09-02