AIから学ぶ!最強の意思決定アルゴリズム「Q学習」の名前の由来と仕組み

こんにちは。ゆうせいです。

みなさんは、AI(人工知能)がどうやって迷路を解いたり、ゲームで勝利を収めたりしているのか不思議に思ったことはありませんか?実は、AIも人間と同じように「経験」から学んでいるのです。その代表的な手法の一つが、Q学習です。

でも、ちょっと待ってください。そもそも、なぜ「Q」なのでしょうか?アルファベットならAでもBでも良さそうですよね。今回は、この謎に包まれた「Q」の正体と、初心者の方向けにQ学習の仕組みを優しく解き明かしていきます!


Q学習の「Q」に込められた意味とは?

結論から言いましょう。Q学習のQは、Quality(クオリティ)、つまり「質」を意味しています。

ここでいう質とは、ある状況で、ある行動をとったときに、将来どれだけ良いことが起きるかという「行動の価値」のことです。AIは、自分の目の前にある選択肢の一つひとつに対して、「この行動の質(Q値)はどれくらいかな?」と点数をつけて判断しているのです。

想像してみてください。あなたが空腹で、目の前に「リンゴ」と「石ころ」があるとします。

リンゴを食べるという行動の質は、きっと100点満点でしょう。一方で、石ころを食べるという行動の質は、0点か、むしろお腹を壊すのでマイナスかもしれませんね。

このように、行動の結果を数値化して、より質の高い行動を選べるようにするのがQ学習の狙いなのです。


専門用語をマスターしよう!

Q学習を理解するために避けて通れない3つの重要単語を、身近な例えで解説します。

1. エージェント(Agent)

これはAI自身のことです。ゲームのプレイヤーや、お掃除ロボットだと思ってください。

高校生のみなさんなら、「テスト勉強に励む自分自身」と考えると分かりやすいでしょう。

2. 状態(State)

エージェントが今置かれている状況のことです。

テスト勉強の例なら、「試験3日前で、まだ数学の範囲が終わっていない状況」が状態に当たります。

3. 報酬(Reward)

行動の結果として得られる「ご褒美」です。

良い行動をすればプラスの報酬がもらえ、悪い行動をすれば報酬はもらえないか、ペナルティが与えられます。

「テストで100点を取って親に褒められる」のがプラスの報酬、「赤点を取って補習になる」のがマイナスの報酬ですね。


数式で見る「価値の更新」

Q学習では、行動の質(Q値)をどんどん書き換えていきます。最初は何も知らないAIも、何度も失敗を繰り返すうちに、どの行動が正解かを見つけ出します。

このとき使われるのが、Q学習の更新式です。WordPressでも表示できるよう、数式のエッセンスを抜き出してみましょう。

新しいQ値 = 今のQ値 + 学習率 \times ( 報酬 + 割引率 \times 次の状態での最大Q値 - 今のQ値 )

この式は、一見難しそうに見えますが、実はシンプルです。

「今の予想(今のQ値)と、実際にやってみて得られた結果(報酬など)のズレを、少しずつ修正していく」という計算をしています。

ここで、学習率という言葉が出てきました。これは「一度の失敗や成功から、どれくらい貪欲に学ぶか」という設定値です。

学習率 = 1 なら「過去のことは忘れて今の結果を100パーセント信じる!」という極端な性格になりますし、0に近いほど「慎重に、少しずつ学ぼう」という性格になります。


Q学習のメリットとデメリット

どんなに優れた手法にも、得意・不得意があります。

メリット

  • あらかじめ正解を教えてもらう必要がない:自分で試行錯誤して、勝手に賢くなってくれます。
  • 複雑なルールも学習できる:将棋やチェスの駒の動かし方など、膨大な組み合わせがある問題でも対応可能です。

デメリット

  • 学習に時間がかかる:最初は何も知らない状態からスタートするため、賢くなるまでに膨大な回数の練習が必要です。
  • 状態が多すぎるとパンクする:現実世界の複雑すぎる問題(例えば、街中の全歩行者の動きを予測するなど)では、記憶しなければならないQ値の量が膨大になりすぎて、計算が追いつかなくなることがあります。

これからの学習ステップ

Q学習の世界はいかがでしたか?「行動の質」を追い求めるAIの姿が、少し身近に感じられたなら嬉しいです。

もっと深く学びたいと思ったあなたへ、次の3つのステップを提案します。

  1. 「強化学習」という言葉を調べてみる:Q学習は、強化学習という大きなグループの中の一つです。他にもどんな仲間がいるのか探してみてください。
  2. Pythonなどのプログラミング言語に触れてみる:実は、Q学習は短いプログラムで実装できます。自分でAIが賢くなる様子を見るのは感動的ですよ。
  3. 「ディープQネットワーク(DQN)」を調べてみる:今回のデメリットで挙げた「状態が多すぎるとパンクする」という問題を、ディープラーニング(深層学習)で解決した、より進化した技術です。

さあ、AIの知能を支える数学と論理の世界へ、一歩踏み出してみましょう!

セイ・コンサルティング・グループでは新人エンジニア研修のアシスタント講師を募集しています。

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。

学生時代は趣味と実益を兼ねてリゾートバイトにいそしむ。長野県白馬村に始まり、志賀高原でのスキーインストラクター、沖縄石垣島、北海道トマム。高じてオーストラリアのゴールドコーストでツアーガイドなど。現在は野菜作りにはまっている。