強化学習とは
強化学習(Reinforcement Learning、RL)とは機械が試行錯誤して「価値を最大化するような行動」が何かを学習する機械学習の1つの学習手法です。もう少し詳細に説明すると、環境から状態を受け取り、そこからより高い報酬を受け取れるような行動を選択する事が強化学習の目的になります。
強化学習のプロセス
教師あり学習などの他の機械学習手法では、「どんなアクションを取るべきか」をモデルに教えているのに対して、強化学習では「どんなアクションを取るべきかは、アクション後の得られる報酬を基準にアクションの確率を調整する」という、いわゆる試行錯誤になります。
例えば、商品を販売する事を考えてみましょう。ある商品の金額を設定する時に、参考になる商品が存在しない場合、どのぐらいの金額に設定すれば良いかというのは、販売数を見ながら調整することになります。またあまり売れない場合は金額を下げますし、売れている場合は金額を上げるかもしれません。この金額調整のプロセスは、強化学習のプロセスと同じです。
強化学習環境では、エージェント
に何をすべきか、またはどのように行うべきかを教えません。代わりに、エージェント
が実行するアクション
ごとにエージェント
にフィードバックを提供します。
ポジティブ(報酬
)またはネガティブ(罰
)なフィードバックを学習し、自分自身を改善します。強化学習アルゴリズムは、時間の経過とともに受け取った報酬を最大化する出力を保持します。
上記の例では、販売金額を調整する事はアクション、売上がフィードバックです。改善回数が増えれば増えるほど、最終報酬が大きくなります。
用語整理
・ Agent
(エージェント):行動するオブジェクト(上記の例では、あなた自身のこと)・ Action
(行動):エージェントが選択する行動(商品の金額を上げるか、下げるか)・ Environment
(環境):アクションに対して外部の反応(顧客が商品を買ってくれるか)・ Reward
(報酬):報酬(高い売上)か、罰(低い売上)か・ State
(状態):次の状態になる(明日になった)
強化学習事例
強化学習とは何かを学んだところで、強化学習が実世界でどのように応用されるのか確認していきましょう。
・Alpha GoAlphaGoは、Google DeepMindによって開発されたコンピュータ囲碁プログラムです。
アタリ社のブロック崩し
上記動画は、Googleが2014年に買収した、DeepMind社が開発したアタリ社のブロック崩しの動画です。プレイ回数が400回の段階で、ボールを取りこぼすことはほぼ無くなっております。
600回に達した時には、ブロックの端を重点的に狙い壁に穴を開け、得点を大量に獲得する技を身につけています。技術的には、ディープラーニングと強化学習を組み合わせて実現されており、アタリ社の1ゲームにつき、2週間ほど学習させた結果、人間が記録したスコアの75%以上を獲得したとされています。
・自動運転カーの訓練
・金融取引への適用
上記のように現在では、ゲーム開発、金融取引や自動運転技術などで活用されています。
おわりに
この章では強化学習の概念的なところから説明いたしました。強化学習は既に様々な業界の製品に取り込まれているので、興味がある方は強化学習が他にどのような領域で適用されているのか見つけてみてください。
機械学習を学ぶ上でオススメは、機械学習エンジニアからいつでも質問できる環境で学ぶことです。
AI Academy Bootcampなら、6ヶ月35,000円にてチャットで質問し放題の環境で、機械学習やデータ分析が学べるサービスを提供しております。
数十名在籍しているデータサイエンティストや機械学習エンジニアに質問し放題の環境でデータ分析、統計、機械学習、SQL等が学べます。AI人材に必要なスキルを効率よく体系的に身に付けたい方は是非ご検討ください。