強化学習の要点(そして、なぜ私たちが気にかけるべきなのか)

  • URLをコピーしました!

「強化学習」という言葉は、私たちの日常生活の中でますます浸透している。この傾向のかなりの部分は、コンピュータビジョン(CV)、自律走行、自然言語処理(NLP)など、幅広い定量的科学で重要な位置を占める人工知能の文脈における機械学習の技術と手法の驚異的な上昇に起因していると言ってよいだろう。

機械学習の問題のいくつかは「静的」な方法で効果的に解くことができるが、他の多くの問題は「動的」な方法(すなわち、学習プロセスが連続したステップに分割され、各ステップは、与えられた問題の範囲内でアルゴリズムまたはアルゴリズムのユーザーが取ることができる解釈可能で意味のあるアクションに関連している)でより自然にフレーム化されている。このように動的に構造化された問題は、一般に「強化学習」と呼ばれる機械学習のサブフィールドを構成している。

強化学習は、概念的には魅力的である。しかし、強化学習は、トラリティが最も関心を寄せる本質的に動的な対象、すなわち金融市場を記述することも可能にします。第一回目は、強化学習の基本的な考え方を説明した後、トラリティのコア・ビジネスとの関連性を説明します。このブログでは、「強化学習」の基本的な考え方から、トラリティのコアビジネスとの関わり方までをご紹介します。

金融市場における強化学習-サーベイ」T. G. Fischer著この記事の大部分では、金融関連の例を参照する必要さえないでしょう。実のところ、私たちはむしろ…基本的なところから始めます。

基本的な例

当面は、以下の例にすべての考察をリンクすることにします。

基本的な例です。ホストから新しい多段階のゲームを試さないかと誘われたとする。基本的には、各段階において戦略的な決定を行い、ゲームの終了時に何らかの報酬を最大化することを目的としたゲームである。

これ以上の一般的な説明を見つけるのは難しいでしょうが、当面は基本的にこれだけ知っていれば十分です。このようなゲームについて、より具体的な例を随時提供していきますので、ご安心ください。

ホストがどのように物事を設定するかによって、あなたは2つの異なる、しかし同様に現実的なシナリオのいずれかに自分自身を見つけるかもしれません。

シナリオ1。 あなたはこれまでプレイしたことがないので、主催者はあなたを、これまで何度かプレイしたことのある経験豊富なプレイヤーとペアにすることにした。この経験豊富なプレイヤーは、ゲーム全体の環境を一連の特徴(「状態」)としてまとめ、状態が段階的にどのように変化するかを予測することができる。あなたが関与するのは、経験豊富なプレイヤーから受け取った予測に基づいて、ゲームの各ステップでどの「行動」を取るかを決定することに限られます。

シナリオ2 主催者はあなたに失敗から学んでほしいと思っているので、自力でプレイすることを強要しています。あなたは経験が浅いので、練習のために非公式なゲームのラウンドをいくつか与えられ、各ステップでゲームの現在の状態を考慮し、自分の行動を評価します。あなたは自分の評価を記録し、ゲームの各ラウンドでそれを更新し続けるのです。

機械学習

シナリオ1では、経験豊富なプレイヤーは、ゲームのある状態が他のある特定の状態につながる可能性が高いことを、何年もかけて「学習」してきたとする。数学的な用語で言えば、経験豊富なプレイヤーは、x_iを状態、y_iをx_iに続く観察された状態とするペア(x_i、y_i)をたくさん見てきた。この膨大な知識によって、経験豊富なプレイヤーは、新しい構成xに直面した場合、予測を行うことができます。

多くの場合、この学習タスクは機械によっても効果的に実行できる(一言で言えば、これが機械学習である)。もちろん、機械がデータxと観測値yを忠実に結びつける適切な「マッピング」を見出すことができれば、である。より正確には

機械学習は、非常に大きな(非常に大きな!)可能なマッピングの集合の中から、データxと観測値yをマッチングさせて、最も正確なマッピングを機械に選択させることに関係している。

人間が提供する入力は、通常、以下のものに限られる。

  • データ/観測
  • 探索可能なすべてのマッピングの定義
  • 各マップが予測タスクでどのように機能するかを評価する方法

機械は他のすべてを行う、すなわち、多くの計算能力を用いて指定された写像の集合を探索し、最終的に適切な写像を選び出す。現代のコンピュータの高い計算能力は、この探索を可能にするだけでなく、この方法全体を実現可能なものにしている。

強化学習:浅いダイビング

シナリオ1では、経験豊富なプレーヤーと経験の浅いプレーヤーの役割は「切り離された」ものである。言い換えれば、経験の浅いプレイヤーは経験豊富なプレイヤー(トレーニングを経た唯一のプレイヤー)の予測を受け、それに基づいて行動する。この二重のアプローチには、いくつかの限界がある。

  1. 経験の浅いプレイヤーは、受け取った予測が正確かどうかを評価する方法がない。さらに、たとえ正確であっても、これらの予測は彼/彼女が興味のないタスクのために調整されている可能性がある。仮に、問題のゲームが リスク例えば、経験豊富なプレイヤーが最も多くの領土を征服することだけを訓練され、経験の浅いプレイヤーはその代わりに青の軍隊を破壊するように指示されていたとしたらどうでしょうか?このようなミスマッチは、経験の浅いプレイヤーのニーズに合わない、最適とは言えない戦略になってしまう可能性が高い。
  2. 各ステップにおいて、経験の浅いプレイヤーには、経験豊富なプレイヤーの予測を反映した、いくつかの要約された特徴のみが与えられる可能性が高いでしょう。公平に見て、これは多くの状況で意味がある。もしゲームが単に「次の日に着るものを決める」だけだったら、あなたは確かに 全体 テレビで放映される天気予報では、利用可能なすべての気象データのうち、単に特定の特徴、例えば降雨の可能性や気温の範囲を示すだけである。しかし、他のケースでは、これはまた、経験の浅いプレーヤーがゲームの状態の完全かつ徹底的な分析を利用することを(彼/彼女が必要とするはず)妨げる可能性があります。
  3. 経験豊富なプレーヤーが訓練を受けていない制約は考慮されない。例えば、ある行動をとるときに、経験豊富なプレイヤーが知らない何らかの料金を支払わなければならないとしたらどうだろう。これは、最終的に未経験者の最終報酬に影響を与えるでしょう。

上記のような問題を解決するために、機械学習をさらに洗練させた「強化学習」という手法が提案されている。簡単に言えば、経験者と未経験者の役割を「合体」させるアプローチである。その結果、ゲームに関するトレーニングが必要なプレイヤーは その結果、ゲームに関する訓練を必要とするプレイヤーは、行うことができるすべてのアクションの効果を探索し、重要なことに、関連するすべての制約も考慮に入れながら、彼/彼女が最終的に興味を持っているのとまったく同じ基準に従ってそれらを判断します。 つまり、学習は、状態予測の同時改善を組み合わせたものである。 の、プレイヤーの利得を忠実にまとめた報酬関数に基づく行動の選択のことである。この状況は、おおよそシナリオ2で説明したようなものである。

用語のまとめ

強化学習の基本を知ることができ、すでに基本的な用語にも出会いましたので、ここで改めて説明します。

  • 状態: ゲームの現在の環境設定から推測される情報です。
  • アクション: ゲームの各ステップで実行可能な手の一つ(つまり、ゲームの現在の環境構成との相互作用の可能性の一つ)。
  • 報酬(Reward)あるゲーム状態において、ある行動を取ることによって得られるもの。

強化学習:好きなスタイルを選ぶ

我々はこれまで強化学習を、状態予測の同時改善と、プレイヤーのニーズに合わせた報酬関数に基づく行動の選択を組み合わせた手順であると説明してきた。この一般的なパラダイムの中で、さらに分類することがある。実のところ、強化学習はさらに3つの異なるケースに分けられ、以下に説明する同じゲームに対して説明することができる。

このゲームでは、プレイヤーの目標は、最初の行き止まりにぶつかる前に迷路の中を歩き回る時間を最大化することです。このため、プレイヤーは迷路の各交差点で何をすべきかを決めなければならず、2つの道具にしか頼ることができない。

  • 迷路のすべての十字路の地図各十字路で任意の方向(行動)を取ることで得られる報酬が記載されています。情報は不完全な場合があります(例えば、ゲーム開始時はプレイヤーは何も情報を取得していないため、地図は空白です)。
  • その人の嗅覚各交差点で取るべき行動を直接プレイヤーに教えてくれる(がないと すべての可能な行動を評価する)。地図と同じように、この嗅覚も微調整が必要です。

強化学習の手法は、大きく3つに分かれる。

  1. クリティックベース のアプローチ:プレイヤーはマップ以外何も使わず、その(最初は空白の)内容を紆余曲折ごとに更新していく。許可された各行動の効果は、各ステップで評価される。
  2. アクターベース アプローチ:プレイヤーは嗅覚以外を使わない、つまり、状態と行動を直接対応させることを学習する なく 全部を検証することなく
  3. 俳優評論家 のアプローチ:プレイヤーは両方の道具を使う。このように、両方のツール(「直感的/腹の底から感じる」嗅覚と「合理的」なマップの使用)は、異なるキャラクターを持つ二人がお互いを補い合うことを学び、ペアとして働くことで個々のパフォーマンスを高めるように、相互に有益である。

強化学習の全体像をまとめると、このようになります。

強化学習は、機械学習のサブフィールドである。上記の第3節で述べた基本的な要件に加えて、機械は与えられた環境との動的な相互作用を記述するように訓練される必要がある。具体的には、機械の内部アルゴリズムは、一方では、連続した解釈可能なアクションの用語で表現される必要がある。一方、それらはユーザーによって指定される報酬メカニズムによって駆動される必要がある。

なぜ我々はトラリティで強化学習にこだわるのか?

約束したように、私たちはいくつかの核となる考え方を説明するために、議論を通じて何度も「基本例」を立証してきました。

リスクゲームや架空の迷路の探索は、確かに一度はやってみる価値のある娯楽に聞こえます。しかし、冒頭で述べたように、私たちトラリテの目的は、(この作品の言葉どおり)別の種類のゲームをすることなのです。

Tralityは、自動売買ボット(金融市場で株式を売買するための事前定義された戦略)の作成、設計、統合のためのいくつかの最先端のツールを提供し、絶えず成長しているユーザーベースに提供する先見性のあるプラットフォームを考え出しました。具体的には、Tralityは、トレーディングを民主化し、(ビジネス関係者だけでなく)誰もがアクセスできるようにすることを目指しており、ユーザー(または「ボットクリエーター」)が、パッケージから直接得られる機能とより高度なコーディング機能の間で自分に最も適したバランスを取ることで、この目標を達成しているのです。

最終的に、ユーザーが作成するトレーディングボットは、常に金融環境の現在の「状態」(例えば、株価、価格以外の金融指標、センチメントデータなど)に直面することになります。その結果、ボットは何らかの「アクション」(株の売買やユーザーのポートフォリオの再構築など)を実行する必要があります。お察しの通り、「状態」と「行動」は、この金融シナリオが先に紹介した強化学習の言語で組み立てられるという事実を反映しています。

私たちは、より良い、より包括的なユーザー体験を提供するために、解釈可能性の度合いを高め続けることが、すべての製品が持つ重要な特徴であると強く信じています。強化学習のパラダイムが提供する直感性と解釈可能性は、Tralityのような主要なフィンテック・プラットフォームにとって適切かつ不可欠なものです。このように、強化学習の要素を将来の製品に取り入れ、ボットクリエイターのためのより良いツールを作るために使用することが私たちの意図です。


なるほど、大筋はわかりました。でも、強化学習は、コードの面ではどのようなもので、それを可能にする数学的基盤は何なのでしょうか?このブログシリーズの第2回目では、強化学習についてより深く掘り下げていきますので、どうぞお楽しみに。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次