- ホーム > ブログ > 応用編 ―エンジニア向けブログ― >
2025年07月16日
強化学習 Q学習の考え方
目次
ソリューション開発部の中堀です。前回はAI-PIDについての記事を担当しました。
さて、今回は強化学習[1]についてQ学習をベースにご紹介していきたいと思います。
1.はじめに
制御の分野では、PID制御(古典制御)やモデル予測制御(最適制御)といった手法が広く用いられており、線形計画法や非線形計画法といった数理最適化の技術も、制御の設計や運転条件の決定において有効な手段として活用されています。
こうした既存の手法に加えて、強化学習を制御の最適化に適用することも、研究・応用の対象として検討が進められています[2]。強化学習とは、さまざまな行動を取り、その結果得られる評価を通じて、将来的により良い行動を選択できるように学習する、機械学習の一分野です。
本記事では、強化学習の基本的な構成要素と考え方をご紹介します。なお、本記事では強化学習の基本概念を中心に説明し、今後の記事では、理論的前提や代表的な手法について段階的に解説を進めていく予定です。
2. 制御における強化学習の導入背景
強化学習はもともと、ゲームやロボティクスの分野で発展した技術です。特に試行錯誤を通じて最適な行動を学ぶという性質は、これらの分野と高い親和性をもっていました。
近年では、こうした強化学習の特性が、前述の従来手法では扱いにくい制御課題に対して有効である可能性が示されるようになってきています[3]。従来手法では、あらかじめ物理モデルを構築し、その上で制御設計を行うという枠組みが一般的です。しかし、制御対象や運用環境が複雑化するにつれ、以下のような課題が顕在化してきました。
表1: 従来手法の課題と強化学習のアプローチ
| 従来手法の課題 | 強化学習のアプローチ |
|---|---|
| 厳密なモデル化が困難 | モデルを用いず、データ駆動で行動方針を直接的に学習 |
| 運転条件・環境の変動を考慮した事前設計や調整が困難 | 状況に応じて柔軟に対応が可能 |
| 制御対象・制約が多い場合は最適解を得るのに時間がかかり、リアルタイム性の確保が困難 | モデルや制約を明示的に定式化して解かず、試行と評価を通じて方策を獲得するため、実行時の計算負荷を抑えやすい |
強化学習は、従来手法とは異なるアプローチにより、こうした課題を克服する手段として期待されています。
次章では制御という文脈から離れ、強化学習という技術そのものの基本概念について整理していきます。
3. 強化学習の基本概念
基本概念の説明の前に、強化学習で用いられる用語について以下に整理します。
表2: 強化学習で用いる基本用語
| 用語 | 説明 |
|---|---|
| エージェント | 学習と意思決定を行う主体 |
| 環境 | エージェントの行動によって変化する世界 |
| 状態 | 環境の現在の状況などを表す情報 |
| 行動 | エージェントが選択する動作 |
| 報酬 | 行動に対して与えられる評価 |
| 方策 | 状態に基づいて行動を選択するためのルール |
エージェント(Agent)
エージェントは、学習と意思決定を行う主体であり、環境の現在の状態を観測し、その情報に基づいて次に取るべき行動を選択します。
行動の結果として環境が変化し、環境から報酬が与えられることで、エージェントはどのような行動を取るのが望ましいかを経験から学んでいきます。
このように、エージェントは行動とその結果の関係を蓄積しながら、より適切な行動の選び方を習得していきます。
環境(Environment)
環境は、エージェントが行動する「世界」であり、エージェントの行動によって状態が変化し、その行動に対する評価(報酬)をエージェントに与えます。環境は、ルールや制約、エージェント以外の要素を含めた全体の振る舞いを指します。例えば、囲碁などの盤面、自動運転における道路の状況などが環境の一例です。
状態(State)
状態は、環境の現在の状況を表す情報であり、エージェントが行動を決定するための判断材料となります。状態には環境の特徴的な変数や観測結果が含まれます。例えば、自動運転では「現在の速度」「進行方向」「周囲の障害物の位置」などが状態に該当します。
強化学習では、エージェントはこの状態をもとに、次に取るべき行動を選択します。
行動(Action)
行動は、エージェントが状態をもとに選択する動作を指します。強化学習では、エージェントは現在の状態を観測し、それに応じた最適な行動を選びます。行動の選択によって環境が変化し、報酬や次の状態が決まるため、行動は学習の中心的な役割を担います。例えば、自動運転では「加速」「ハンドルを右に切る」といった運転操作が行動に該当します。
報酬(Reward)
報酬は、エージェントが行動を選択した結果に対して環境から与えられる数値的な評価です。望ましい行動には高い報酬が与えられ、望ましくない行動には低い、あるいは負の報酬が与えられます。この評価を通じて、エージェントは自身が選択した行動の良し悪しを学習します。例えば、自動運転では「安全に目的地に近づいた」場合は正の報酬を与え、「急ブレーキをかけた」「交通ルールに違反した」などの場合には負の報酬を与えるといった設計が考えられます。
方策(Policy)
方策は、エージェントが状態に応じてどの行動を選択するかを決定するルールや戦略のことです。エージェントはこの方策を、試行錯誤を通じて改善しながら学んでいきます。方策は明示的なルールで表現される場合もあれば、ニューラルネットワークのような関数近似によって表現されることもあります。
方策が適切であれば、エージェントはどのような状況でも最善の行動を選択できるようになります。

エージェントは環境の状態を観測し、それに基づいて行動を選択します。その行動の結果として環境が変化し、報酬が与えられます。この一連の流れを繰り返していくことで、エージェントはどのような行動を選択すれば望ましい結果に繋がるかを学習していきます。
強化学習の目的
強化学習では、将来的に得られる報酬の合計(累積報酬)を最大化することが目的となります。ある状態や行動に対して期待される累積報酬の大きさを価値(Value)と呼びます。エージェントはこの価値を高めるために、行動の選び方、すなわち方策を改善していきます。つまり、強化学習とは価値を最大化するような方策を、試行錯誤を通じて獲得していく仕組みと言えます。
強化学習の流れ
実運用時には、このようにして学習された方策に従ってエージェントは行動を選択します。強化学習では、方策を獲得する「学習フェーズ」と、獲得した方策に基づいて行動を選択する「運用フェーズ」に分かれます。学習を行うには、エージェントが試行錯誤を繰り返すための環境が必要であり、実機を用いる場合もあれば、安全性や効率性を考慮してシミュレーション環境を構築する場合もあります。
アルゴリズムの分類
方策を獲得するためのアルゴリズムはいくつか存在しますが、大別すると次の2つに分類されます。
価値ベース
前述の「価値」を用いて、その価値が最大となる行動を選択します。価値の推定を通じて、最終的に良い方策を間接的に導き出す手法です。
方策ベース
価値の推定をせずに、行動の選び方、すなわち方策そのものを直接的に改善していく手法です。
このように、方策を獲得するまでのアプローチが異なるものの、いずれも「良い方策を得る」という目的は共通しています。また、両方の手法を複合的に用いる手法も存在します。
このうち、価値ベースの基本的な手法の1つであり、直感的にも理解しやすいQ学習というアルゴリズムを使って、具体的にどのように方策が獲得されていくのかを次章で見ていきます。
4. Q学習の基本的な考え方
これまで、強化学習は「価値を最大化するような方策を試行錯誤を通じて学ぶ仕組み」であると説明してきました。ここでは価値ベースの基本的な手法であるQ学習を例に、強化学習における学習の具体的なイメージを説明していきます。
Q学習とは
Q学習は、状態と行動の組み合わせに対して、どれぐらいの価値があるかを推定する手法です。ここでいう価値とは、「ある状態において、ある特定の行動を取ったときに、その直後に得られる報酬とそれ以降の将来に得られる報酬の総和(累積報酬)」のことです。これを行動価値、またはQ値と呼びます。
Q学習では、状態と行動のペアごとにこのQ値を保持し、以下のような考え方に基づいてQ値を更新していきます。
- 現在の状態で取りうる行動のうち、将来的により多くの報酬が獲得できる行動を選択する
- 行動を取った結果として報酬を獲得し、次の状態になったときに、その経験をもとにQ値を更新する
Q値が十分に学習されていれば、エージェントは「そのときの状態ごとにQ値が最大になる行動」を選択すればよいという戦略が得られます。すなわち、Q値を最大化する行動を選択することで、累積報酬を最大化する方策を実現できるという考え方です。
Q学習の流れ
Q学習では、エージェントは次のようなサイクルを繰り返しながら、Q値を更新していきます。
- 環境から今の状態を観測する
- 観測した状態をもとに行動する
- 行動に対する報酬を環境から獲得する
- 次の状態に遷移する
- Q値を更新する
Q値の更新
Q値は、上記1サイクルごとに以下の更新式に基づいてQ値を少しずつ改善していきます。
$$
Q(s, a) \leftarrow Q(s, a) + \alpha [r + \gamma \max_{a^\prime} Q(s^\prime, a^\prime) – Q(s, a)]
$$
表3: Q学習におけるQ値の更新式で用いる変数
| 変数 | 説明 |
|---|---|
| \(s\) | 今の状態 |
| \(a\) | 今の状態\(s\)でとった行動 |
| \(Q(s, a)\) | 今の状態\(s\)で行動\(a\)をとった時の価値(Q値) |
| \(s^\prime\) | 次の状態 |
| \(a^\prime\) | 次の状態\(s^\prime\)でとり得る行動 |
| \(\max_{a^\prime} Q(s^\prime, a^\prime)\) | 次の状態\(s^\prime\)において、Q値を最大化する行動をとった時の価値(Q値) |
| \(\alpha\) | 学習率(どの程度新しい情報を取り入れて学習に反映させるか) |
| \(\gamma\) | 割引率(将来的に獲得できる報酬をどの程度重視するか) |
式の詳細な意味については次回以降に解説を予定していますので、ここでは「実際の経験をもとに今のQ値を少しずつ改善していく」というイメージを掴んでいただければと思います。
5. Q学習の具体例:グリッド環境
では実際に、エージェントがどのようにQ値を学習していくのか、簡単な環境を用いた具体例で見てみましょう。
以下は、エージェントが上下左右に移動できる3行×4列のグリッド環境です。各マスが1つの状態に対応しており、エージェントはあるマスにいるときに上下左右のいずれかの行動を選択します。制御の目標としては、スタートからゴールまで最短で移動することと、移動の途中に壁や外枠にぶつからないことです。エージェントはその目標を達成するための最適な方策を獲得できるように、試行錯誤を通じて学習していきます。

表4: グリッド環境の図中の文字と意味
| 文字 | 意味 |
|---|---|
| S | スタート地点(エージェントの初期位置) |
| G | ゴール地点(目的地) |
| X | 壁(通行不可) |
| A | エージェントの現在位置 |
このグリッド環境は一見ゲームのようにも見えますが、現実には、工場内の自律搬送ロボットが障害物を避けながら目的地まで物品を運搬するタスクや、ドローンや自動運転車による経路計画など、空間内での経路選択が求められる多くの実問題に応用が可能です。
環境のルールと報酬
この環境では以下のルールを定めます。
- エージェントは上下左右に1マスずつ移動できる
- 移動の際に壁や外枠にぶつかった場合は元の位置に留まる
- 1回行動をとるごとに報酬を受け取る
- ゴール到達:+1
- 壁・外枠にぶつかる:-1
- 通常の移動:-0.01
- ゴールに到達した場合、スタート地点に戻る
- 簡単のため、\(\alpha = 0.1, \gamma=0.99\)とする
- 実際には環境に応じて調整が必要

この報酬の与え方から、ゴールに到達することを重視していることと、壁や外枠にぶつかってしまうことを避けるような意図があることが分かります。また、通常の移動に対して小さな負の報酬を与えることから、スタートとゴールの間で何度も無駄な移動をしてしまうことを避けるような意図があることも分かります。このように、エージェントがどのような行動を獲得するのが望ましいかを検討した上で、適切に報酬の与え方を決める必要があります。
状態・行動の定義
状態はグリッド上の位置とし、以下の図4のように定義します。例えばスタートは0、 ゴールは11で、取りうる値の範囲としては0~11の整数値(離散値)とします。\((x,y)\)座標としても良いのですが、説明のしやすさのため、各グリッドに番号を割り当てる形としています。

行動は、状態と同様に番号を割り当てる形とし、上、下、左、右の4つを以下のように定義します。取りうる値の範囲としては0~3の整数値(離散値)となります。

Qテーブル
表5: Qテーブルのイメージ
| 状態\行動 | 上 (0) | 下 (1) | 左 (2) | 右 (3) |
|---|---|---|---|---|
| 0 | \(Q(0, 0)\) | \(Q(0, 1)\) | \(Q(0, 2)\) | \(Q(0, 3)\) |
| 1 | \(Q(1, 0)\) | \(Q(1, 1)\) | \(Q(1, 2)\) | \(Q(1, 3)\) |
| 2 | \(Q(2, 0)\) | \(Q(2, 1)\) | \(Q(2, 2)\) | \(Q(2, 3)\) |
| … | … | … | … | … |
| 11 | \(Q(11, 0)\) | \(Q(11, 1)\) | \(Q(11, 2)\) | \(Q(11, 3)\) |
Q学習では、状態と行動のペアごとにQ値を保持していますが、状態と行動に対応するQ値を表した表をQテーブルと呼び、学習の過程でQテーブルを少しずつ更新していきます。初期状態では全てのQ値は0から始まり、前述のQ学習の流れで学習を進めていくことで、どの状態において、どの行動を取るのが価値が高いか、すなわち将来的に高い報酬が得られるか、といった情報が反映された表となっていきます。
表6: 学習済みのQテーブルのイメージ
| 状態\行動 | 上 (0) | 下 (1) | 左 (2) | 右 (3) |
|---|---|---|---|---|
| 0 | 0.92 | -1.09 | -1.09 | 0.92 |
| 1 | -1.07 | -1.07 | 0.90 | 0.94 |
| 2 | 0.96 | -1.05 | 0.92 | 0.96 |
| … | … | … | … | … |
Qテーブルは、エージェントが次にどのような行動を取るべきかを決定する基準となります。例えばこの表6で、状態0を見てみましょう。状態0は、エージェントがスタート地点にいる状態です。このとき、エージェントが取りうる行動は上、下、左、右の4つですが、Qテーブルを見ると、上と右が最もQ値が大きく、下と左が最もQ値が小さいことが分かります。このことから、スタート地点にいる場合は上または右に移動することで将来的に高い報酬が得られる可能性が高く、上または右に移動するのが最も良い行動であると考えられます。
greedy方策とε-greedy方策
先ほどの例のように、Q値が最も高い行動を選択する方策をgreedy方策と呼びます。ただし、学習初期では、Q値は正しく推定できているとは限らないため、常にQ値が最も高い行動を選択してしまうと、一部の状態のみQ値が更新されるような、偏った学習になる可能性があります。
したがって、初期段階ではランダムに行動させて探索を促し、学習が進むにつれて徐々にQ値やQテーブルを参照して最適な行動を選択するように切り替えていくのが一般的です。このように、\(0<\epsilon<1\)の範囲で設定された確率 \(\epsilon\)でランダムに行動を選択し、\(1-\epsilon\)の確率でQ値が最も高い行動を選択するような方策をε-greedy方策と呼びます。
Q値の更新: 1ステップ目
エージェントは、学習の開始時点ではスタート地点(状態0)に位置しています。また初期状態では全てのQ値は0に設定されており、Qテーブルもまだ学習されていないため、どの行動を選んでも価値の差はありません。したがって、上下左右いずれの行動も同じ確率で選ばれます。
状態0において、エージェントが取りうる行動、その行動に対する次の状態と報酬は以下の通りです。
表7: 状態0における取りうる行動・次の状態・報酬
| 取りうる行動 | 次の状態 | 受け取る報酬 |
|---|---|---|
| 上 (0) | 状態4 | -0.01 |
| 下 (1) | 状態0 | -1 |
| 左 (2) | 状態0 | -1 |
| 右 (3) | 状態1 | -0.01 |

例1: 上 (0)を選んだ場合
スタート地点から上への移動は通常の移動で、状態0から状態4に遷移します。このときの報酬は-0.01のため、Q値の更新式は以下のようになります。
$$
Q(0, 0) \leftarrow Q(0, 0) + \alpha [-0.01 + \gamma \max_{a^\prime} Q(4, a^\prime) – Q(0, 0)]
$$
Q値の初期値は0で、\(\alpha=0.1\)であり、状態4におけるQ値\(Q(4, 0), Q(4, 1), Q(4, 2), Q(4, 3)\)も初期値0、すなわち\(\max_{a^\prime} Q(4, a^\prime) = 0\)なので、
$$
Q(0, 0) \leftarrow 0 + \alpha \cdot (-0.01) = -0.001
$$
となります。このとき、Qテーブルの状態0の行は以下のように更新されます。
表8: 例1における更新後のQテーブル
| 状態\行動 | 上 (0) | 下 (1) | 左 (2) | 右 (3) |
|---|---|---|---|---|
| 0 | -0.001 | 0 | 0 | 0 |
| … | … | … | … | … |
| 4 | 0 | 0 | 0 | 0 |
例2: 左 (2)を選んだ場合
スタート地点から左への移動は枠外への移動となるため、状態0に留まります。このときの報酬は-1のため、Q値の更新式は以下のようになります。
$$
Q(0, 2) \leftarrow Q(0, 2) + \alpha [-1 + \gamma \max_{a^\prime} Q(0, a^\prime) – Q(0, 2)]
$$
Q値の初期値は0で、\(\alpha=0.1\)であり、状態0におけるQ値もここではまだ更新前の値で\(Q(0, 0), Q(0, 1), Q(0, 2), Q(0, 3)\)は初期値0、すなわち\(\max_{a^\prime} Q(0, a^\prime)=0\)なので、
$$
Q(0, 2) \leftarrow 0 + \alpha \cdot (-1) = -0.1
$$
となります。このとき、Qテーブルの状態0の行は以下のように更新されます。
表9: 例2における更新後のQテーブル
| 状態\行動 | 上 (0) | 下 (1) | 左 (2) | 右 (3) |
|---|---|---|---|---|
| 0 | 0 | 0 | -0.1 | 0 |
Q値の更新: 2ステップ目(1ステップ目で左を選んだ場合)
前述の例2のように、1ステップ目で左を選択した場合、エージェントはスタート地点(状態0)に留まり、報酬-1を受け取ります。この結果、表9のように、\(Q(0, 2)\)は負の方向へ更新されたため、スタート地点では左に移動する価値が低いと考えることができます。
この続きとして、2ステップ目にスタート地点(状態0)にいる状況を考えます。状態0におけるQ値が最大となる行動を選択する場合、上、下、右の3つのいずれかが選択されます。表9のQテーブルを見ると、左を選択する行動の価値が最も低く、上、下、右を選択する行動の価値が等しいためです。

改めてになりますが、状態0において、エージェントが取りうる行動(左を除く)、その行動に対する次の状態と報酬は以下の通りです。
表10: 状態0における取りうる行動・次の状態・報酬
| 取りうる行動 | 次の状態 | 受け取る報酬 |
|---|---|---|
| 上 (0) | 状態4 | -0.01 |
| 下 (1) | 状態0 | -1 |
| 右 (3) | 状態1 | -0.01 |
ここでは上または下を選択した場合を考えてみましょう。
例3: 上 (0)を選んだ場合
例1と同様に、Q値の更新式は以下のようになります。
$$
Q(0, 0) \leftarrow Q(0, 0) + \alpha [-0.01 + \gamma \max_{a^\prime} Q(4, a^\prime) – Q(0, 0)]
$$
2ステップ目の時点では、\(Q(4, 0), Q(4, 1), Q(4, 2), Q(4, 3)\)はいずれも0のため、\(\max_{a^\prime} Q(4, a^\prime)=0\)となります。よって更新式は以下のようになります。
$$
Q(0, 0) \leftarrow 0 + \alpha (-0.01) = -0.001
$$
このとき、Qテーブルの状態0の行は以下のようになります。
表11: 例3における更新後のQテーブル
| 状態\行動 | 上 (0) | 下 (1) | 左 (2) | 右 (3) |
|---|---|---|---|---|
| 0 | -0.001 | 0 | -0.1 | 0 |
| … | … | … | … | … |
| 4 | 0 | 0 | 0 | 0 |
例4: 下 (1)を選んだ場合
スタート地点から下への移動は枠外への移動となるため、例2と同様に状態0に留まり、報酬は-1が与えられます。Q値の更新式は以下のようになります。
$$
Q(0, 1) \leftarrow Q(0, 1) + \alpha [-1 + \gamma \max_{a^\prime} Q(0, a^\prime) – Q(0, 1)]
$$
\(\max_{a^\prime} Q(0, a^\prime)\)は、状態0においてQ値が最大となる行動をとった時のQ値なので、\(\max_{a^\prime} Q(0, a^\prime) = Q(0, 0)=Q(0, 1)=Q(0, 3)=0\)となります。すなわち、
$$
Q(0, 1) \leftarrow 0 + \alpha (-1) = -0.001
$$
となります。したがって、Qテーブルの状態0の行は以下のようになります。
表12: 例4における状態0の更新後のQテーブル
| 状態\行動 | 上 (0) | 下 (1) | 左 (2) | 右 (3) |
|---|---|---|---|---|
| 0 | 0 | -0.1 | -0.1 | 0 |
この例から分かること
2ステップ目において、エージェントが以前とは異なる行動を選択することで、異なるQ値が更新されていく様子が確認できます。このように、同じ状態にいる場合でも、行動によってQ値に差が生まれます。これがQ学習の仕組みとなります。
Q値の更新: Nステップ目(ゴールに到達する時)
先ほどの例1~例4では、スタート地点にいるときに外枠にぶつかる、または移動したことに対する負の報酬を獲得した際のQ値の更新について見てきました。ここでは、ゴールに到達して正の報酬が与えられたときのQ値の更新について見ていきます。
Nステップ目において状態10にいるとします。また、まだ1度もゴールに到達したことがないものとして、この状態10におけるQテーブルは以下の表13のようになっているとします。
表13: Nステップ目におけるQテーブル
| 状態\行動 | 上 (0) | 下 (1) | 左 (2) | 右 (3) |
|---|---|---|---|---|
| 10 | -0.1 | -0.001 | -0.001 | 0 |
| 11 | 0 | 0 | 0 | 0 |

また、状態11における取りうる行動と次の状態、報酬は以下の表14の通りです。
表14: 状態10における取りうる行動・次の状態・報酬
| 取りうる行動 | 次の状態 | 受け取る報酬 |
|---|---|---|
| 上 (0) | 状態10 | -1 |
| 下 (1) | 状態6 | -0.01 |
| 左 (2) | 状態9 | -0.01 |
| 右 (3) | 状態11 | 1 |
表13を見ると、状態10においては右を選択する行動の価値が最も高いことが分かります。右を選択する場合は、状態11に遷移し、報酬1が与えられるので、Q値の更新式は以下のようになります。
$$
Q(10, 3) \leftarrow Q(10, 3) + \alpha [1 + \gamma \max_{a^\prime} Q(11, a^\prime) – Q(10, 3)]
$$
\( Q(10, 3) = 0, \alpha=0.1\)であり、\(Q(11, 0)=Q(11, 1)=Q(11, 2)=Q(11, 3)=0\)であるので、\(\max_{a^\prime} Q(11, a^\prime)=0\)となり、
$$
Q(10, 3) \leftarrow 0 + \alpha \cdot 1 = 0.1
$$
となります。したがって、更新後のQテーブルの状態10の行は以下のようになります。
表15: 状態10における更新後のQテーブル
| 状態\行動 | 上 (0) | 下 (1) | 左 (2) | 右 (3) |
|---|---|---|---|---|
| 10 | -0.1 | -0.001 | -0.001 | 0.1 |
ゴールに到達し、正の報酬が与えられることで、ゴールに近い状態において、ゴールに到達するような行動を選択をする価値が他の行動よりも高く更新されます。Q値の更新式には次の状態におけるQ値も含まれていることから、次の状態の価値も考慮しながら今の状態の価値を更新することになります。したがって、これまでの例にあるような経験を何度も重ねていくことで、ゴールに近い状態から遡ってスタートに近い状態であっても、ゴールに到達するにはどのような行動を選択すべきかを、エージェントは価値をもとに判断できるようになります。
学習ステップ数ごとのQテーブルと獲得した方策
\(ε=0.1\)固定で、初期状態からステップ数を100、1000、10000と変えて学習させたときのQテーブルと、その学習後のQテーブルをもとにgreedy方策(最大のQ値を与える行動を選択する方策)に従ったときの行動の軌跡を表す図を示します。具体的にQ値が更新されていき、ゴールに最短距離で到達するための行動選択の仕方を学ぶ様子が確認できると思います。
なお、Q値は小数第4位を四捨五入して表示しているため、同じ値を示しているものもありますが、四捨五入前の値で大小を比較し、価値が高い行動を表示しています。また、各学習ステップ数それぞれで独立した試行となっています。
状態5および状態11について、Q値はいずれも0のままです。状態5は壁であるので遷移することがなく、状態11はゴールなので、遷移した瞬間に状態0のスタートにリセットされるような環境であるためです。
学習ステップ数: 100のとき

ステップ数: 1000のとき

ステップ数: 10000のとき

まとめ
以上の例から、強化学習においては次の2点が重要であると考えられます。
1つ目は学習ステップ数と探索の範囲です。学習ステップ数が少ない場合、Q値が十分に更新されず、適切な方策を獲得できない可能性があります。また、訪れる頻度が少ない状態に対しては十分な経験が得られず、Q値の更新が進まないケースもあります。そのため、十分な試行回数と幅広い状態・行動の探索が求められます。これはQ学習に限らず、価値ベースの手法に共通する内容です。
2つ目は、報酬設計の工夫です。今回の環境では、ゴールに到達した際に正の報酬を与えることでゴールに向かって移動するようにエージェントが行動選択の仕方を学習できたのに加えて、壁や枠外への移動に対して明確な負の報酬を設定したことで、エージェントがその行動を避けるように学習できたと考えられます。また、通常の移動にもわずかな負の報酬を与えることで、同じ場所を行き来するような無駄な動きを抑制する効果も得られました。このように、報酬設計はエージェントの学習過程や方策に大きな影響を与えるため、強化学習を実装する上で非常に重要な要素となります。
ここまでで、強化学習の基本的な考え方と、価値ベースの手法の1つであるQ学習について見てきました。Q学習は強化学習の中でも最も基本的な手法の1つで、現在ではニューラルネットワークを用いてQ値を近似するDeep Q-Networkをはじめ、Actor-Criticといった方策ベースの手法など、様々なアプローチが提案されています。今後はこうしたアルゴリズムについても解説できればと思います。
また、今回は「価値」という概念を直感的に扱ってきましたが、次回以降ではこの「価値」に対して厳密な定義を与え、ベルマン方程式を用いてその理論的な意味づけを整理していきます。さらに強化学習の前提条件であるマルコフ性や、マルコフ決定過程についても解説し、強化学習アルゴリズムの理解をより一層深めていきたいと思います。
執筆者:中堀 雅之(ソリューション開発部)
参考文献
[1] R. S. Sutton and A. G. Barto, *Reinforcement Learning: An Introduction*, 2nd ed. Cambridge, MA: MIT Press, 2018. [Online PDF, based on 2018 ed.].
Available: https://web.stanford.edu/class/psych209/Readings/SuttonBartoIPRLBook2ndEd.pdf
[2] O. Dogru, J. Xie, O. Prakash, R. Chiplunkar, J. Soesanto, H. Chen, K. Velswamy, F. Ibrahim, and B. Huang,
“Reinforcement Learning in Process Industries: Review and Perspective,” IEEE/CAA J. Autom. Sinica, vol.11, no.2, pp.283–300, Feb. 2024.
[3] R. Nian, J. Liu, and B. Huang, “A review on reinforcement learning: Introduction and applications in industrial process control,”
Comput. Chem. Eng., vol. 139, Art. no. 106886, May 2020.

