強化学習の概念から応用まで包括的に理解する

強化学習の概念から応用まで包括的に理解する

週末ですが、まだ充電中です。今日は強化学習について見ていきます。ただし、ゲームで使うつもりはありません。製造、在庫、電子商取引、広告、推奨、金融、医療など、私たちの生活に密接に関係する分野で、強化学習は素晴らしい応用が期待できると思います。もちろん、学ぶ必要があります。

この記事は次のように構成されています。

  1. 意味

  2. 教師あり学習と教師なし学習の違い

  3. 主なアルゴリズムとカテゴリ

  4. アプリケーション例

1. 定義

強化学習は機械学習の重要な分野であり、複数の学問分野と分野の交差点から生まれたものです。その本質は意思決定の問題を解決すること、つまり自動的かつ継続的に意思決定を行うことです。

強化学習は主に、エージェント、環境状態、アクション、報酬の 4 つの要素で構成されます。強化学習の目的は、最大の累積報酬を得ることです。

歩き方を学んでいる子供を例に挙げてみましょう。

子供は歩きたがりますが、その前にまず立ち上がってバランスを保つ必要があります。次に、左足または右足のどちらかの足を出して、一歩踏み出したら次の一歩を踏み出す必要があります。

子どもがエージェントとなり、行動(歩くなど)を起こして、ある状態から別の状態(歩くたびに)に移行することで、環境(歩行面)を操作しようとします。タスクのサブタスク(数歩歩くなど)を完了すると、子どもに報酬が与えられ(チョコレートを食べさせる)、歩けない場合はチョコレートは与えられません。

2. 教師あり学習と教師なし学習の違い

機械学習では、教師あり学習と教師なし学習の方が馴染み深いです。さらに、強化学習という別の主要なカテゴリがあります。

強化学習と教師あり学習の違い:

教師あり学習は、勉強中に家庭教師が指導してくれるようなものです。家庭教師は何が正しくて何が間違っているかを知っています。しかし、チェスや囲碁などの多くの実用的な問題では、何千もの組み合わせがあり、家庭教師がすべての可能な結果を​​知ることは不可能です。

このとき、強化学習は結果を得るためにラベルなしでいくつかのアクションを実行しようとし、その結果が正しいか間違っているかのフィードバックを通じて以前の動作を調整します。このようにして絶えず調整することで、アルゴリズムはどのような状況でどのような動作を選択すれば最良の結果が得られるかを学習できます。

しつけを受けていない子犬を飼っているようなものです。子犬が家の中を散らかすたびにおいしい食べ物の量を減らし(罰)、子犬がうまくできたときにはおいしい食べ物の量を倍にします(ご褒美)。子犬はやがて、リビングルームを散らかすのは悪い行いだと学習します。

どちらの学習方法も、入力から出力へのマッピングを学習します。教師あり学習は、入力と出力の関係を学習し、どのような入力がどのような出力に対応するかをアルゴリズムに伝えます。強化学習は、マシンに与えられる報酬関数を学習し、動作が良いか悪いかを判断するために使用されます。

さらに、強化学習の結果のフィードバックには遅延があります。以前の選択が良かったのか悪かったのかを知るのに多くのステップが必要になる場合があります。ただし、教師あり学習の選択が行われた場合、アルゴリズムはすぐにフィードバックされます。

さらに、強化学習が直面する入力は常に変化しています。アルゴリズムがアクションを実行するたびに、次の決定の入力に影響しますが、教師あり学習の入力は独立しており、同一に分布しています。

強化学習を通じて、エージェントは探索と活用の間でトレードオフを行い、報酬を最大化する方を選択できます。
探索とは、さまざまなことを試して、それがこれまで試されたものよりもうまく機能するかどうかを調べることです。
搾取には、過去の経験に基づいて最も効果的だった行動を試すことが含まれます。

一般的な教師あり学習アルゴリズムでは、このバランスは考慮されず、単に搾取的なものになります。

強化学習と教師なし学習の違い:

教師なし学習では、入力から出力へのマッピングではなく、パターンを学習します。たとえば、ニュース記事をユーザーに推奨するタスクでは、教師なし学習はユーザーが以前に読んだ類似の記事を見つけて、そのうちの 1 つをユーザーに推奨しますが、強化学習は最初に少量のニュースをユーザーに推奨し、ユーザーから継続的にフィードバックを取得し、最終的にユーザーが好む可能性のある記事の「知識グラフ」を構築します。

3. 主なアルゴリズムと分類

強化学習のいくつかの要素の観点から、手法は次のカテゴリに分類できます。

  • ポリシーベースでは、最適なポリシーを見つけることに重点が置かれます。

  • 価値に基づいて、最適な報酬の合計を見つけることに重点が置かれます。

  • アクションベースでは、各ステップでの最適なアクションに重点が置かれます。

最もよく知られている巡回セールスマンの例を使うことができます。

A から F まで行きたいです。2 つのポイント間の各ポイントは、この道路のコストを表します。可能な限りコストが低いパスを選択します。

主な要素は次のとおりです。

  • 状態はノード{A、B、C、D、E、F}である

  • アクションとは、あるポイントから次のポイント(A -> B、C -> D など)に移動することです。

  • 報酬関数はエッジのコストである

  • ポリシーはタスクを完了するための全体的なパスです {A -> C -> F}

次のような方法があります。A にいるときに、(B、C、D、E) を選択できます。D が最適だとわかったら、D に進みます。このとき、(B、C、F) を選択できます。F が最適だとわかったら、F に進み、タスクが完了します。
このアルゴリズムは、イプシロングリーディと呼ばれる強化学習の一種であり、ポリシーベースの方法です。もちろん、このパスは最適なものではありません。

さらに、分類はさまざまな角度からさらに絞り込むことができます。

下の図に示す 4 つの分類方法は、それぞれ対応する主なアルゴリズムに対応しています。

  • モデルフリー: 環境を理解しようとせず、環境が提供するものを受け入れ、現実世界からのフィードバックを段階的に待ち、そのフィードバックに基づいて次のアクションを実行します。

  • モデルベース: まず現実世界がどのようなものかを理解し、現実世界のフィードバックをシミュレートするモデルを構築し、想像力を使って次に起こるすべての状況を予測し、これらの想像上の状況の中から最適なものを選択し、その状況に基づいて次のステップに進みます。モデルフリーと比較すると、追加の仮想環境と想像力があります。

  • ポリシーベース: 環境の感覚分析を通じて、次に実行すべきさまざまなアクションの確率を直接出力し、その確率に基づいてアクションを実行します。

  • 値ベース: すべてのアクションの値を出力し、最も高い値に基づいてアクションを選択します。この方法では、連続したアクションを選択することはできません。

  • モンテカルロ更新: ゲーム開始後、ゲームが終了するまで待ってから、このラウンドのすべてのターニングポイントを要約し、行動規範を更新します。

  • 時間差更新: ゲーム中はステップごとに更新が行われるため、ゲームが終了するまで待つ必要がなく、プレイしながら学習できます。

  • オンポリシー: 必ず直接出席し、プレイしながら学習する必要があります。

  • オフポリシー: 自分でプレイすることも、他の人のプレイを見て、そのプレイを見て他の人の行動ルールを学ぶこともできます。

主なアルゴリズムは以下のとおりです。今日は簡単に説明します。

1. サルサ

Q はアクション効用関数であり、特定の状態下でアクションを実行することの長所と短所を評価するために使用されます。エージェントの頭脳として理解できます。

SARSA はマルコフ特性を使用し、次のステップの情報のみを使用することで、システムが戦略ガイダンスに従って探索し、探索の各ステップで状態値を更新できるようにします。更新式は次のとおりです。

s は現在の状態、a は現在のアクション、s' は次の状態、a' は次の状態で実行されるアクション、r はシステムによって得られる報酬、α は学習率、γ は減衰係数です。

2. Q学習

Q 学習のアルゴリズム フレームワークは SARSA のものと似ており、これにより、システムは戦略ガイダンスに従って探索し、探索の各ステップで状態値を更新することができます。重要なのは、Q 学習と SARSA の更新式が異なることです。Q 学習の更新式は次のとおりです。

3. 政策勾配

システムは固定またはランダムな開始状態から開始します。ポリシー勾配により、システムは環境を探索し、開始状態から終了状態までの状態-アクション-報酬シーケンス s1、a1、r1、.....、sT、aT、rT を生成できます。t 番目の瞬間に、gt=rt+γrt+1+... を q(st,a) と等しくして、ポリシー勾配最適化問題を解決します。

4. 俳優・評論家

アルゴリズムは、Actor と Critic の 2 つの部分に分かれています。俳優は戦略を更新し、批評家は価値を更新します。 Critic は、先ほど紹介した SARSA または Q 学習アルゴリズムを使用できます。

5. モンテカルロ学習

現在のポリシーを使用して、完全な状態-アクション-報酬のシーケンスを探索および生成します。
s1,a1,r1,....,sk,ak,rk∼π

状態 s が初めて出現したとき、またはシーケンス内で毎回出現したとき、その減衰報酬が計算されます。

最後に更新されたステータス値:

6. ディープQネットワーク

DQN アルゴリズムの主なアプローチは、Experience Replay です。これは、システムが環境を探索して取得したデータを保存し、サンプルをランダムにサンプリングして、ディープ ニューラル ネットワークのパラメータを更新します。また、各アクションと環境の状態において最大の報酬を達成しますが、経験の再生や決闘ネットワーク アーキテクチャなどのいくつかの改善が加えられています。

4. 応用例

強化学習には多くの応用があります。自動運転車、AlphaGo、ゲームのプレイに加えて、次のプロジェクトにも実用的な例があります。

1. 製造業

例えば、日本のファナック社は、物を持ち上げる工程をビデオで撮影し、その動作を一つ一つ記憶し、その動作が成功したか失敗したかを記録して経験を蓄積し、次回はより速く、より正確に動作できるようにする工場用ロボットを開発しています。

2. 在庫管理

在庫管理では、在庫量が多い、在庫需要の変動が大きい、在庫補充が遅いなどの障害により、管理が困難な問題となっています。強化学習アルゴリズムを確立することで、在庫回転時間を短縮し、スペース利用率を向上させることができます。

3. ダイナミックプライシング

強化学習における Q 学習は、動的価格設定の問題に対処するために使用できます。

4. 顧客への配送

メーカーは、各顧客への出荷時に顧客のあらゆるニーズを満たしながら、車両総コストを削減したいと考えています。マルチエージェントシステムとQ学習により、時間と車両数を削減できます。

5. Eコマースのパーソナライゼーション

電子商取引では、強化学習アルゴリズムを使用して顧客の行動を学習および分析し、顧客の個別のニーズを満たすように製品やサービスをカスタマイズすることもできます。

6. 広告配信

たとえば、アルゴリズム LinUCB (強化学習アルゴリズム バンディットの一種) は、過去にあまり表示されていなかった広告であっても、より広範囲の広告を配信しようとし、実際のクリックスルー率をより正確に推定できます。

例えば、ダブル11の推奨シナリオでは、アリババは深層強化学習と適応型オンライン学習を採用しました。継続的な機械学習とモデルの最適化を通じて意思決定エンジンを確立し、膨大なユーザー行動と数百億の製品機能をリアルタイムで分析し、すべてのユーザーが製品を素早く発見できるように支援し、人と製品のマッチングの効率を向上させました。さらに、強化学習を使用することで、モバイル ユーザーのクリックスルー率が 10 ~ 20% 向上しました。

7. 金融投資の決定

たとえば、Pit.ai 社は強化学習を適用して取引戦略を評価し、ユーザーが取引戦略を確立して投資目標を達成できるようにしています。

8. 医療業界

動的治療計画 (DTR) は、患者に効果的な治療法を見つけることを目的とした医学研究のトピックです。 たとえば、長期の投薬を必要とするがん治療の場合、強化学習アルゴリズムは患者のさまざまな臨床指標を入力として使用して治療戦略を開発できます。

上記では、強化学習の概念、違い、主なアルゴリズムについて簡単に紹介しました。以下に、参考となる学習リソースをいくつか示します。

  1. Udacity コース 1: 機械学習: 強化学習、
    コース 2: 強化学習*

  2. 定番の教科書: Sutton & Barto 教科書: 強化学習: 入門 20,000 回以上引用 http://people.inf.elte.hu/lorincz/Files/RL_2006/SuttonBook.pdf

  3. カリフォルニア大学バークレー校が開発した、入門コースの定番課題 - 「パックマン」ゲームをプレイするためのプログラミング: バークレー パックマン プロジェクト (CS188 AI 入門)

  4. スタンフォード大学は入門コースの課題を開発しました - 自動運転車の運転の簡易版:車両追跡(CS221 AI:原理とテクニック)
    5.CS 294: 深層強化学習、2015 年秋 CS 294 深層強化学習、2015 年秋。

  5. David Silver 強化学習: http://www0.cs.ucl.ac.uk/staff/d.silver/web/Teaching.html

参考記事:

TensorFlow-11 - ポリシー ネットワーク: Tensorflow を使用して、CartPole 問題を解決するためのポリシー ネットワーク ベースのエージェントを作成します。
http://www.jianshu.com/p/14625de78455

強化学習とは何か:DQNの簡単な説明
http://www.jianshu.com/p/2100cc577a46

https://www.marutitech.com/businesses-reinforcement-learning/
https://www.analyticsvidhya.com/blog/2017/01/introduction-to-reinforcement-learning-implementation/
機械学習のチュートリアル
https://www.zhihu.com/question/41775291
http://www.algorithmdog.com/reinforcement-learning-model-free-learning

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式サイトにアクセスして許可を申請してください。

<<:  独自のビッグデータ知識システムを迅速かつ包括的に構築するにはどうすればよいでしょうか?

>>:  対話 | QingCloud CTO: AI が到来し、基本的なクラウド サービス プロバイダーもそれに備える必要があります。

ブログ    

推薦する

企業は生成AIのオープンソース化のリスクとメリットを検討

EmTech MIT では、専門家が、生成 AI モデルのオープンソース化の長所と短所を含め、企業で...

AIが悪事を働いている?人工知能における倫理について考えなければなりません!

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

商品受け取り時の顔認証システムを小学生が“クラック”!鳳超が緊急オフラインに

[[279460]]最近、「#小学生がアイテム拾いの顔認証のバグを発見#」という話題が注目を集めてい...

...

ChatGPTは時間管理の達人になるお手伝いをします

時間管理は、働く人にとって非常に重要です。適切な管理は、仕事の効率と生活の質を大幅に向上させます。タ...

マーケティングにおける AI についての考え方を変える 10 のグラフ

Adobe の最新の Digital Intelligence Briefing によると、トップク...

AIが継続的にモンスターと戦い、アップグレードできるようにするために、DeepMindは「メタバース」を作成した。

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

デジタル農村開発が加速、AI、5G、IoTなどがチャンスをもたらす

インターネットやモバイルインターネット技術の急速な普及と「新インフラ」の発展は、農業と農村の近代化に...

人工知能技術は若者の雇用にどのような影響を与えるでしょうか?

人工知能の発展の過程で、常に次のような声が聞かれます。「人工知能によって、特に若者を中心に、失業者が...

経路計画における DRL と OR アルゴリズム: 比較と展望

1. 運用最適化とは何ですか?オペレーションズ・リサーチは、数学、コンピューターサイエンス、経営学の...

TCPとUDPの違いと、フロー制御、輻輳制御、高速再送、高速回復アルゴリズムの詳細な説明

[[413351]] UDPとTCPの違い前回の記事では、TCP の接続を確立するための 3 ウェイ...

ディープラーニングと機械学習の違いを理解する

機械学習とディープラーニングの違いは何だろうとよく疑問に思う方は、この記事を読んで、その違いを一般の...

機械学習モデルのトレーニングの全プロセス!

週末に家で退屈していたので、GitHub を閲覧していたところ、非常に興味深いオープンソース プロジ...

深セン大学教授が顔検出ライブラリをオープンソース化、顔検出速度は最大1500FPS以上

先週、深セン大学コンピュータサイエンスおよびソフトウェア工学部の Yu Shiqi 教授が、最大 1...

ガートナー: CIO がビッグモデルを選択するための 6 つの基準と 5 つの主な導入方法

過去 2 年間で、ChatGPT は急速に広まりました。過去 6 か月間で、多くの企業が生成 AI ...