「強化学習」とは?機械学習のひとつを強化学習入門編で知る

「強化学習」とは?機械学習のひとつを強化学習入門編で知る

人工知能(AI)が複雑な作業をしたり、判断の精度を向上させたりするには機械学習が必要です。コンピュータに学習させる方法としては、教師あり学習・教師なし学習・強化学習が知られています。人工知能(AI)が価値判断を学習する方法として用いられている強化学習がどのようなものなのか、簡単に見ていきましょう。

「強化学習」とは?機械学習における一形態の基礎知識

強化学習(Reinforcement Learning)とは、プログラムが目標のために試行錯誤を繰り返すというアルゴリズムです。まず、与えられた環境をプログラム自身が観測します。

そして、実行する各プロセスを自ら評価しながらプログラム自身が手法を次々に変更。得点などの報酬が最大化するやり方を学んでいきます。強化学習は、

  • チェスや将棋といったゲームの対戦プログラム
  • 株の売買をおこなうシステム
  • 歩行可能なロボットの制御システム

の開発などに向いているといわれる学習方法のひとつです。教師あり学習の場合、対戦プログラムは、

  • 1手は〇〇、2手は××
  • 相手が駒を〇〇と進めたら△△と対応、それ以外は~~

と、ゲーム中に考えられる手を一手ずつ「正解」として教えなければなりません。ですが、強化学習であれば勝利を「報酬」として設定することで、

  • どのように駒を動かせば相手に勝てるか
  • どのように対応すれば相手が有利ではなくなるか

をプログラムが計算していくため、教師あり学習よりもより柔軟で自由度の高い学習ができます。「報酬」は「得点」や「目標」であり、

  • 対戦プログラムの報酬:勝利
  • 株の売買:短期的な売買ではなく長期的な意味においての利益
  • ロボットのプログラム:歩行距離

のように設定されます。

与えられた環境下で最大の利益や価値を追求

強化学習の最大の特徴は、与えられた環境において最大の価値を追求することにあります。教師あり学習、教師なし学習は、問題と答えが1対1の関係であるのに対して、強化学習は「プロセスそのもの」が答えになっているのです。

強化学習は、エージェントと呼ばれる学習プログラムに最大の利益を追求させ、行動の最適解を学習させます。「最大の利益」とは、さまざまな選択肢を経て得られるものです。

例えば、エージェントに花の種を与え、それを使って少しでも多くのお金を稼ぐように指示したとします。この場合、花の種を売ると一時的に現金を手にすることができるでしょう。

しかし、花の種を蒔いて世話をし花を咲かせて切り花を売れば、土や水の代金を差し引いたとしても、花の種を売却するより多くの利益を手にできるかもしれません。

また、咲いた花から種を収穫して二次栽培をおこなう場合、何回続ければ経費よりも売上の方が多くなるのか、つまりより多くのお金を稼ぐことができるのかも、行動によって判明するでしょう。こうした利益の追求行動によって、エージェントは目標に対する効率的な方法を学習していくことになります。

強化学習のアルゴリズムを把握するために必要な用語をご紹介!

強化学習についての基本を理解したところで、次に強化学習のアルゴリズムにおいて用いられる用語についてチェックしてみましょう。紹介するのは、強化学習のアルゴリズムに使われる変数、

  • 状態
  • 行動
  • 報酬

という3つです。キーワードの意味について早速見てみましょう。

強化学習のアルゴリズムにおける用語1. 状態s

「状態s」とは、エージェントが置かれている環境のことです。学習内容にもよりますが、

  • 物体の位置
  • 物体の速度
  • 商品の値段や数

といったものが「状態」を構成します。

強化学習のアルゴリズムにおける用語2. 行動α

「行動α」とは、エージェントが置かれた環境に対して起こすアクションのことです。例えば、

  • ゲーム内で駒を動かす
  • 株を売買する
  • ロボットを歩行させる

などが挙げられます。

強化学習のアルゴリズムにおける用語3. 報酬r

「報酬r」とは、ある環境において特定の行動をした際に得られる数量のことです。

  • ゲームに勝利すること
  • 株売買の儲け
  • ロボットの歩行距離

などが「報酬r」にあたります。強化学習の「報酬」は教師あり学習、教師なし学習における「報酬」と異なり、即時報酬ではありません。

つまり、今現在得られる報酬のために行動するのではなく、未来に得られる報酬に最大の価値を見出します。中長期的な意味合いでの報酬を追求する点に、強化学習の特徴を見ることができます。

強化学習のアルゴリズムは?具体的にご紹介!

強化学習のアルゴリズムにはさまざまなものがありますが、ここでは代表的な3つのアルゴリズムを紹介します。

強化学習のアルゴリズム1. Q学習

Q学習は、「Q値」を学習するためのアルゴリズムのひとつです。Q値とは状態行動価値のことで、中長期的な価値を意味します。

つまり、今の環境と行動ですぐに得られる報酬ではなく、長期的に得られる最大の価値のことです。Q学習では、現在の状態から更新する際に次の期待値を最大に設定することで、効率的な学習をはかります。

強化学習のアルゴリズム2. Sarsa

Sarsaは、現在の環境で実際に行動してみた結果を使って期待値を見積もる方法です。Q学習が期待値を最大値に見積もるのに対して、Sarsaは実際の行動を反映させて見積もりを出していきます。

強化学習のアルゴリズム3. モンテカルロ法

モンテカルロ法は、Q学習やSarsaとは大きく異なるアルゴリズムです。この方法では、何らかの報酬を得るまでの行動を一度おこない、実際の報酬値を取得してから辿ってきたルートの状態と行動を分析していきます。

報酬を得て初めてQ値を更新することができるモンテカルロ法は、一見すると学習効果が得られにくいように感じるかもしれません。

しかし長い目で見た場合、モンテカルロ法の方が、Q学習やSarsaよりも長期的な学習スピードは速くなることが知られています。

強化学習のアルゴリズムにおける課題と展望

これらの3つのアルゴリズムは、いずれも状態行動価値(Q値)に基づくアルゴリズムです。

Q値に基づくアルゴリズムには共通して「状態行動空間の爆発」という課題があり、強化学習がビジネスに応用されている例が少ない原因のひとつとして考えられています。

「状態行動空間の爆発」とは、状態や行動の値が大きすぎるとそれらのペアに適用されるQ値も膨大な数になり、保存領域が無限に広がってしまうというジレンマです。

しかし、莫大な数の指し手が存在するといわれる囲碁の世界において深層学習(ディープラーニング)が一定の成果を上げていることもあり、今後は深層学習のテクノロジーを応用した強化学習がおこなわれることで課題を克服できるのではないかと期待されています。

強化学習の活用について適切な費用で依頼したい!おすすめの方法は?

人工知能(AI)を活用したビジネスモデルとして強化学習の導入を検討の場合、クラウドソーシングは適切な費用で依頼が可能です。クラウドソーシングは、それぞれの企業に合ったフリーランサーとマッチングできるのがその理由。かけるコストを最大限有効活用できます。

強化学習の活用ならクラウドソーシングがおすすめ!

強化学習で実装してビジネスに役立てたいと検討中なら、クラウドソーシングがおすすめです。クラウドソーシングには専門分野に特化したエンジニアが数多く存在しているため、さまざまなアプローチを得ることができます。

ランサーズにはエンジニアが多数在籍!さまざまな提案が可能

クラウドソーシングの中には、実績豊富なエンジニア、プログラマが多数在籍しています。ビジネスに必要な強化学習の実装について、ノウハウをいかんなく発揮してくれる人材に巡り会えることでしょう。