LASSIC Media らしくメディア
強化学習の基本、報酬で学ぶ仕組みと業務での使いどころ
監修・編集責任者:牛尾 昭昌(株式会社LASSIC 執行役員)
この記事の結論
- 強化学習は、正解を教わる代わりに、行動の結果として返る報酬を手がかりに、長い目で見た報酬の合計が大きくなる行動の選び方を学びます。
- 向いているのは、判断をくり返し、一つの判断が次の状況を変え、結果を数値で測れて、試行錯誤できる場を用意できる業務です。
- つまずきやすいのは報酬の決め方と本番での試し方で、報酬の抜け道の洗い出しと、過去データでの評価を先に済ませておきます。
※ 本記事は2026年10月時点の公式情報(省庁・公的機関、および製品やサービスを提供する事業者が公開している資料)に基づきます。
強化学習を試してみたいが、教師あり学習と何が違うのかをうまく説明できない。正解のデータが無い業務にも使えると聞くものの、どこまで当てはまるのかが分からない——。AIの活用を検討する開発や企画の現場では、こうした迷いが起こりがちです。強化学習とは、行動を試しては返ってくる報酬(行動の結果に対する数値の評価)を手がかりに、報酬の合計が最も大きくなる行動の選び方を学ぶ機械学習の手法を指します。
Web配信の出し分けや機器の制御、生成AIの受け答えの調整など、使われている場面は広がっています。ただし万能ではなく、報酬の決め方を誤ると、数値だけが良くなって業務の目的からは外れた振る舞いを学んでしまいます。本記事では、システム開発やIT運用に携わる方に向けて、強化学習の仕組み、短いコードで見る具体例、業務での使いどころとつまずきやすい点、そして外部に頼むときに確認したい点を整理します。
目次
強化学習とは
SuttonとBartoの教科書『Reinforcement Learning: An Introduction』は、強化学習を、状況から行動への対応づけを、数値の報酬ができるだけ多くなるように学ぶことだと説明しています。学ぶ側には、とるべき行動は教えられません。行動を試し、報酬が多く返る行動を自分で見つけます。さらに、ある行動は次の状況を通じて、その先の報酬にも影響します。教科書は、試行錯誤で探すことと、報酬が遅れて届くことを、強化学習を見分ける最も重要な特徴に挙げています。*1
登場するのは、学習して行動を決める「エージェント」と、その行動を受けて状態が変わる「環境」です。仕組みを形づくる要素は次の4つです。
- 方策(ポリシー):いまの状態を見て、どの行動をとるかを決める規則
- 報酬:行動の直後に環境から返る1つの数値。目先のよしあしを表す
- 価値関数:その状態から先に受け取れる報酬の合計の見込み。長い目で見たよしあしを表す
- 環境のモデル:行動すると次に何が起きるかを予測する仕組み。これを使わない手法も多い
報酬と価値を分けて考える点が理解の鍵です。目先の報酬は小さくても、その先で大きな報酬につながる状態は価値が高いと見積もられます。今日の売上だけでなく、次の来店や契約の更新まで含めて判断するような考え方です。
報酬で学ぶ仕組み
エージェントは状態を見て行動を選び、環境は次の状態と報酬を返します。このくり返しの中で、報酬の合計の期待値が大きくなるように方策を直していきます。教科書は、目標と呼ぶものはすべて、受け取る数値の累積和の期待値を大きくすることとして表せる、という考え方を「報酬仮説」と呼んでいます。*1
先の報酬をどれだけ重く見るかは、0以上1以下の割引率で決めます。k時点先の報酬は、すぐ受け取る場合の「割引率のk−1乗」倍として数え、割引率が0なら目先の報酬だけを見ることになります。*1 1に近いほど、遠い先の報酬まで考えに入れます。
学習の途中では、探索と活用のどちらを選ぶかという問題が生じます。過去に試して良かった行動を選ぶ(活用)のが報酬への近道ですが、まだ試していない行動のほうが良いかもしれず、それを知るには試す(探索)しかありません。教科書は、このジレンマは教師あり学習や教師なし学習の純粋な形では生じないとしています。
よく使われるのがε-greedy(イプシロン・グリーディ)という選び方で、ふだんはいまの見積もりで最善の行動を選び、小さな確率εでだけ無作為に選びます。*1 代表的な学習の方法は、1989年にWatkinsが示したQ学習です。状態と行動の組ごとに価値の見積もりQを持ち、行動するたびに Q(s, a) ← Q(s, a) + α × [ r + γ × max Q(s′, ·) − Q(s, a) ] で直します。*1 rは報酬、γは割引率、αは一度に直す幅を決める学習率です。受け取った報酬と先の見込みの和に、いまの見積もりを少しずつ近づける仕組みです。
教師あり学習との違い
教師あり学習は、入力と正解の組を大量に用意し、正解を再現するように学びます。強化学習では、正解の行動は与えられず、行動の結果に対する評価だけが返ります。
| 観点 | 教師あり学習 | 強化学習 |
|---|---|---|
| 手がかり | 入力ごとの正解(ラベル) | 行動の結果に対する報酬(数値の評価) |
| データの集め方 | 学習の前に用意する | 行動しながら集まる(過去の記録を使う方法もある) |
| 評価のタイミング | 入力ごとにすぐ分かる | 遅れて届くことが多い |
| 向く課題 | 分類・数値の予測 | 一連の判断の最適化・制御 |
教師あり学習・教師なし学習・強化学習の3つを並べた全体像は「教師あり学習と教師なし学習の違い」で扱っています。生成AIの受け答えを人の好みに合わせて整えるRLHF(人間のフィードバックによる強化学習)も、強化学習の応用の一つで、仕組みは「RLHFの仕組みと生成AIへの効果」で説明しています。
具体例:Q学習の短いコード
仕組みを手元で確かめるために、Pythonの標準ライブラリだけで動くQ学習の例を示します。0から4までの5マスが一列に並んだ通路で、左端のマス0から出発し、右端のマス4に着くと報酬1、それ以外の移動では報酬0とします。行動は「左へ1マス」と「右へ1マス」の2つです。
import random
N, GOAL = 5, 4 # マスは0〜4。右端の4がゴール
MOVES = [-1, +1] # 行動0は左へ1マス、行動1は右へ1マス
alpha, gamma, epsilon = 0.1, 0.9, 0.1
Q = [[0.0, 0.0] for _ in range(N)]
for episode in range(500):
s = 0
while s != GOAL:
if random.random() < epsilon: # 探索:無作為に選ぶ
a = random.randrange(2)
else: # 活用:いまの見積もりで最善を選ぶ
best = max(Q[s])
a = random.choice([i for i in range(2) if Q[s][i] == best])
s2 = min(max(s + MOVES[a], 0), GOAL)
r = 1.0 if s2 == GOAL else 0.0 # ゴールに着いたときだけ報酬1
Q[s][a] += alpha * (r + gamma * max(Q[s2]) - Q[s][a])
s = s2
print(["右" if q[1] > q[0] else "左" for q in Q[:GOAL]])
最初はQがすべて0なので、エージェントは無作為に動きます。偶然ゴールに着くと報酬1が返り、手前のマスで「右」の見積もりが上がります。その値が割引率を掛けながら1マスずつ手前へ伝わり、実行すると4つのマスすべてで「右」が表示されます。「右へ進め」とはどこにも書かず、ゴールで報酬を与えただけで選び方を学んでいます。
実務の検証では、環境を共通の形で扱うPythonのライブラリGymnasiumがよく使われます。env.step()に行動を渡すと、観測・報酬・terminated・truncated・infoの5つが返り、目標の達成や失敗による終了(terminated)と、時間の上限などによる打ち切り(truncated)を分けて扱えます。*5
状態が数個ならQを表で持てますが、画面の画像のように状態が膨大になると、ニューラルネットワークで見積もります。2013年のDQNの研究は、画素をそのまま入力に取り、Q学習の変種で学習した畳み込みニューラルネットワークを、Atari 2600の7本のゲームに構成も学習の方法も変えずに当てはめました。過去の遷移をためて無作為に取り出す「経験再生」も、この研究で使われた工夫です。*2
業務での使いどころ
強化学習が生きるのは、次の3つがそろう業務です。判断を何度もくり返し、一つの判断が次の状況を変えること。判断のよしあしを数値で測れること。そして、シミュレーターや過去の記録など、試行錯誤できる場を用意できることです。
身近な例がWeb配信の出し分けです。教科書は、サイトのA/Bテストを単純な形の強化学習と位置づけ、利用者の特徴を文脈として加えると、個人ごとに出し分ける「文脈付きバンディット」の問題になると説明しています。同じ利用者の再訪を踏まえ、複数回の訪問を通じたクリックの合計を大きくする定式化も紹介されています。*1 次の訪問まで見通して配信の順番を組む点に、強化学習らしさが表れています。
機器の制御やスケジューリングもよく挙がる領域で、教科書には、主記憶(DRAM)へ読み書きの命令を出す順番を強化学習で決めるメモリーコントローラーの研究が紹介されています。*1 価格の調整に使う考え方は「ダイナミックプライシングの始め方」で触れています。
反対に、正解のデータを用意できる分類や予測なら、教師あり学習のほうが早く成果につながります。判断が1回きりで次の状況に影響しない課題や、失敗が許されず、シミュレーターも過去の記録も無い課題にも、強化学習は当てはめにくい手法です。
つまずきやすい点
最も多いつまずきは、報酬の決め方です。教科書は、チェスのエージェントには勝ったときだけ報酬を与えるべきで、相手の駒を取るといった途中の目標に報酬を与えると、負けてでも駒を取る方法を見つけかねないと注意しています。報酬は「what you want achieved, not how you want it achieved」、つまり何を達成してほしいかを伝えるもので、どう達成するかを伝えるものではないという説明です。*1
機械学習の事故を防ぐための研究も、報酬の抜け道を取り上げています。掃除ロボットに「散らかりの無い状態」で報酬を与えると、散らかりを見ないようにカメラを使えなくしたり、見通せない物で覆い隠したりしかねない、という例です。*3 報酬を決めた段階で抜け道になりそうな振る舞いを書き出し、学習の後にそれが起きていないかを確かめます。
本番で試せないことも、よくある壁です。同じ研究は、濡れたモップをコンセントに入れるような、取り返しのつかない探索を避ける必要も挙げています。*3 データ集めに費用や危険が伴う分野では、環境と何度もやりとりして学ぶことが現実的ではありません。そこで、集め終えたデータだけを使い、追加のデータ集めをせずに学ぶ「オフライン強化学習」の研究が進んでいます。*4
報酬がめったに返らないことも学習を難しくします。広告の出し分けでは、利用者はふだんクリックせず、クリックも偶然に左右されるため、報酬がまばらでばらつきが大きくなります。乱数の種を変えて何度か学習を回し、ばらつきを確かめてから判断すると、たまたま良かった一回に引きずられずに済みます。
外部に委託するときに確認しておきたい点
強化学習の開発を外部に頼むときは、まず報酬を誰が決めるのかをはっきりさせます。報酬は業務の目的そのものなので、発注する側が決定に加わります。委託先には、報酬の案とあわせて、その報酬を追い求めたときに起こりうる抜け道の一覧を出してもらうと、認識のずれを早めに見つけられます。
次に、試行錯誤をどこで行うかを確かめます。シミュレーターを作るのか、過去の記録で学ぶのか、本番で少しずつ試すのかによって、必要なデータも費用も変わります。
三つ目は、より単純な方法との比べ方です。いまのルールによる判断や、A/Bテスト、教師あり学習による予測にルールを組み合わせた方法など、手間の少ない方法で届く成果を先に測っておき、強化学習がそれを上回るかで採否を決める進め方を提案してくれるかを見ます。
最後に、本番に入れた後の運用です。学習した方策をどの順番で広げるか(過去データでの評価、一部の利用者への限定の適用、全体への展開)、問題が起きたときに元の方策へ戻す手順、報酬と行動の記録の残し方、再学習の頻度を、提案の段階で確かめておきます。
まとめ:強化学習で確かめておきたい3つの点
強化学習を業務に使ううえで、確かめておきたい点は3つに整理できます。第一に、判断をくり返し、一つの判断が次の状況を変え、結果を数値で測れる業務かどうかを見極めること。第二に、報酬は何を達成してほしいかだけを表すように決め、抜け道になりそうな振る舞いを先に書き出しておくこと。第三に、試行錯誤の場をシミュレーター・過去の記録・本番での限定の適用のどれにするかを決め、より単純な方法と比べて採否を判断することです。この3点を踏まえておけば、「報酬の数値は上がったのに、現場では使えない方策ができた」という事態を避けやすくなります。報酬の設計や検証の進め方に迷いがあれば、外部の手を借りるのも一つの選択肢です。
よくある質問
強化学習を始めるには、どのようなデータが要りますか
過去の記録から学ぶなら、そのときの状態、選んだ行動、その結果の3つが一組で残っている必要があります。結果だけの集計や、選ばれた行動が記録されていないログからは、行動の選び方を学べません。シミュレーターで学ぶ場合は、データの代わりに、現実の動きをどこまで再現できるかが問われます。
深層強化学習とは、何が違うのですか
価値の見積もりや方策を、表ではなくニューラルネットワークで表す強化学習を指します。状態の種類が多く表で持ちきれない課題、たとえば画像を入力に取る課題で使われます。
一度学習した方策は、そのまま使い続けられますか
使い続けられるとは言い切れません。学習したときと本番の状況が変わると、方策がうまく働かなくなることがあり、機械学習の事故を防ぐための研究でも、こうした分布の変化への頑健さが課題の一つに挙げられています。*3 報酬や成果の推移を監視し、再学習の基準を決めておくのが一般的です。
社内で試すなら、どこから始めればよいですか
Gymnasiumのような公開のライブラリに入っている小さな環境で、Q学習などの基本的な方法を動かすところから始めるのがおすすめです。そのうえで、自社の業務を状態・行動・報酬の3つで書き出してみると、強化学習として組み立てられるかどうかの見通しが立ちます。
強化学習の検証と導入のご相談
元請(プライムベンダー)として、強化学習の検証環境づくりから業務システムへの組み込み、保守・運用までご提案します。
Remoguとリラシクなら、機械学習モデルの開発や運用に加わるITエンジニアも探せます。
Remoguは、リモート前提で全国から即戦力のITプロ人材を調達するサービスです。リラシクは、扱う求人がすべてリモートワークのITエンジニア専門転職エージェントです。どちらもLASSICが運営しています。
出典
- *1 参考:Richard S. Sutton, Andrew G. Barto『Reinforcement Learning: An Introduction』第2版(著者公開版)(http://incompleteideas.net/book/RLbook2020.pdf)。出典:第1.1節(強化学習の定義・試行錯誤と遅れて届く報酬・探索と活用)、第1.3節(方策・報酬・価値関数・モデル)、第2.2節(ε-greedy)、第3.2〜3.3節(報酬仮説・チェスの例・割引率)、第6.5節(Q学習)、第16.4節(メモリーコントローラー)、第16.7節(Web配信の出し分け)を参照(2026年10月確認)
- *2 参考:Volodymyr Mnih ほか「Playing Atari with Deep Reinforcement Learning」(arXiv:1312.5602、2013年)(https://arxiv.org/abs/1312.5602)。出典:概要と本文のうち、画素を入力にQ学習の変種で学習する畳み込みニューラルネットワーク、Atari 2600の7本のゲームへの適用、経験再生に関する記述を参照(2026年10月確認)
- *3 参考:Dario Amodei ほか「Concrete Problems in AI Safety」(arXiv:1606.06565、2016年)(https://arxiv.org/abs/1606.06565)。出典:第1章のうち、報酬の抜け道(Avoiding Reward Hacking)、探索時の事故の回避(Safe Exploration)、分布の変化への頑健さ(Robustness to Distributional Shift)の掃除ロボットの例を参照(2026年10月確認)
- *4 参考:Sergey Levine ほか「Offline Reinforcement Learning: Tutorial, Review, and Perspectives on Open Problems」(arXiv:2005.01643、2020年)(https://arxiv.org/abs/2005.01643)。出典:概要と第1章のうち、オフライン強化学習の定義と、環境とのやりとりが費用や危険の面で難しい分野の説明を参照(2026年10月確認)
- *5 参考:Farama Foundation「Basic Usage — Gymnasium Documentation」(https://gymnasium.farama.org/introduction/basic_usage/)。出典:env.reset()とenv.step()の使い方、step()が返す観測・報酬・terminated・truncated・infoの説明を参照(2026年10月確認)