深層強化学習について知っておくべきこと

深層強化学習について知っておくべきこと

[51CTO.com クイック翻訳] 現在、機械学習(ML)と人工知能(AI)に関連するアルゴリズムは、私たちの社会と生活にますます統合されており、金融技術、ヘルスケア、交通など、さまざまな面で重要な推進および促進の役割を果たしています。 20 世紀後半、人類はインターネットを基盤としたコンピューティング能力と接続性の全体的な進歩から恩恵を受けましたが、21 世紀において人類は徐々にインテリジェント コンピューティングとインテリジェント マシンの反復へと向かっています。その中でも、ディープラーニング (DL) が主導するこの新しいコンピューティング パラダイムは、通常、「教師あり学習」のカテゴリに分類されます。対応するアプリケーションであるディープ ニューラル ネットワーク (DNN) は、病気の分類、画像のセグメンテーション、音声認識などのハイテク システムやアプリケーションで大きな進歩と驚くべき成功を収めています。

ただし、ディープ ニューラル ネットワーク システムが適切に機能するには、大量のトレーニング データと、既知の回答を持つラベル付きサンプルが必要になることがよくあります。そして、現在のところ、人間が知能を学習し、活用する方法を完全に模倣することはできていません。ほぼすべての AI 専門家は、ディープ ニューラル ネットワーク ベースのシステムのサイズと速度を単純に増やすだけでは、真に「人間のような」 AI システムは決して生み出されないことに同意しています。

そのため、人々は人間の学習プロセス曲線に従おうとして、「教師あり学習」以外の ML および AI コンピューティング パラダイムとアルゴリズムに目を向け始めました。最も広く研究されている分野は強化学習 (RL) です。この記事では、関連する知識とアルゴリズムを導入することで、ディープラーニングと強化学習を組み合わせて、ディープラーニング強化学習 (DRL) と呼ばれる強力な AI システムを作成する方法について簡単に説明しました。

深層強化学習とは何ですか?

人間は、低レベルの運動制御(歩く、走る、テニスをするなど)から高レベルの認知タスク(数学の問題を解く、詩を書く、会話をするなど)に至るまで、さまざまな困難な問題を解決するのが得意であることはよく知られています。強化学習は、明確に定義され、適切に設計されたその他の関連アルゴリズムを通じて、ソフトウェアやハードウェアなどのエージェント (具体的な意味については以下を参照) を使用して、このような人間の行動を模倣することを目的としています。つまり、この学習パラダイムの目標は、ラベル付けされた例を単純な入出力方式 (スタンドアロンのディープラーニング システムなど) でマッピングすることではなく、特定の最終目標を達成するために、インテリジェント エージェントが特定の順序 (具体的な意味については以下を参照) でアクションを実行するのに役立つ戦略を確立することです。

画像出典: 機械学習の種類は何ですか?

実際、強化学習は、複数のステップを通じて複雑な目標を達成したり、特定の次元に沿って目標を最大化したりする方法を学ぶことができる目標指向アルゴリズムのセットです。強化学習の実際の例を 3 つ示します。

  • ボードゲームの勝率を最大化します。
  • 財務部門が取引の最大利益をシミュレートできるようにします。
  • 複雑な環境では、ロボットが移動中にエラーを最小限にすることを確認します。

下の図に示すように、基本的な考え方は、エージェントがセンサーを介して環境から入力データを受信し、強化学習アルゴリズムを使用してそれを処理し、事前に設定された目標を達成するために対応するアクションを実行するというものです。これは日常生活における人間の行動と非常によく似ていることがわかります。

出典: 強化学習入門 (参照 - http://incompleteideas.net/book/bookdraft2017nov5.pdf)

深層強化学習における基本的な定義

先に進む前に、強化学習に関係し使用されるさまざまな重要な用語を理解しておくと役立ちます。これらには以下が含まれます:

  • エージェント: ソフトウェアまたはハードウェアのメカニズム。周囲の環境と相互作用しながら適切な対策を講じます。たとえば、配達をするドローンや、ビデオゲームでスーパーマリオを誘導するプログラムなどです。もちろん、アルゴリズム自体もエージェントです。
  • アクション: エージェントが実行できるさまざまなアクション。アクション自体はある程度は説明不要ですが、エージェントが一連の個別の可能なアクションから選択できるようにする必要があります。
  • 環境: 外部環境とエージェントの間には相互作用と応答の関係があります。環境はエージェントの現在の状態とアクションを入力として受け取り、エージェントの報酬 (具体的な意味については以下を参照) と次の状態を出力します。
  • 状態: 状態とは、エージェントが置かれている特定の即時の状況であり、エージェントを他の重要なものと関連付ける特定の場所、時間、瞬間的な構成が含まれます。たとえば、特定の瞬間におけるチェス盤上のチェスの駒の配置などです。
  • 報酬: 報酬は、特定の状態におけるエージェントのさまざまなアクションの成功または失敗を測定するために使用するフィードバックの一種です。たとえば、チェスのゲームでは、相手のビショップを捕獲することは特定の報酬につながる重要な動きであり、ゲーム全体に勝つとさらに大きな報酬が得られます。負の報酬は逆の意味を持ちます。たとえば、チェスのゲームに負けることなどです。
  • 割引係数: 割引係数は乗数です。エージェントによって発見された将来の報酬にこの係数が掛けられ、エージェントの現在のアクション選択に対するそのような報酬の累積的な影響が弱まります。これが強化学習の核心であり、最近の行動に重点を置くために将来の報酬の価値を徐々に減らしていくというものです。これは、「遅延アクション」の原則に基づくパラダイムにとって非常に重要です。
  • ポリシー: 現在の状態に基づいて次のアクションを決定するためにエージェントが使用する戦略です。最高の報酬を約束するさまざまなアクションにさまざまな状態をマッピングできます。
  • 価値: 特定のポリシーの下での現在の状態に対する割引された長期期待報酬 (短期報酬ではない) として定義されます。
  • Q 値またはアクション値: 「値」との違いは、Q 値には現在のアクションである追加のパラメータが必要であることです。これは、特定の戦略に基づくアクションに対して現在の状態によって生成される長期的な報酬を指します。

共通の数学的(アルゴリズム)フレームワーク

強化学習に関連する問題を解決するとき、次のような数学的フレームワークがよく使用されます。

マルコフ決定過程 (MDP) : ほぼすべての強化学習問題は MDP として構築できます。 MDP 内のすべての状態には「マルコフ」特性、つまり、将来は状態の履歴ではなく現在の状態のみに依存するという事実があります。

ベルマン方程式: 価値関数を即時の報酬と割引後の将来価値に分解する一連の方程式です。

動的プログラミング (DP) : システム モデル (エージェント + 環境) が完全にわかっている場合は、ベルマン方程式に従って、動的プログラミングを使用して価値関数を反復的に評価し、対応する戦略を改善できます。

値の反復: これは、値の推定値を反復的に改善することで、最適な状態値を持つ関数を計算するアルゴリズムです。アルゴリズムは、まず価値関数を任意のランダム値に初期化し、次に Q 値と価値関数の個々の値を収束するまで繰り返し更新します。

ポリシーの反復: エージェントは最適なポリシーを見つけることにのみ焦点を当てているため、最適なポリシーが価値関数よりも先に収束することがあります。したがって、ポリシーの反復では、価値関数の推定値を繰り返し改善するのではなく、各ステップでポリシーを再定義し、ポリシーが収束するまで新しいポリシーに基づいて値を計算する必要があります。

Q 学習: モデルフリー学習アルゴリズムの例として、エージェントが状態遷移と報酬モデルを完全に理解しているとは想定せず、繰り返しの試行を通じてエージェントが正しいアクションを発見すると「信じます」。したがって、Q 学習の基本的な考え方は、エージェントと環境の相互作用中に Q 値関数のサンプルを観察することによって、状態とアクションのペアの Q 関数にアプローチすることです。この方法は時間差学習とも呼ばれます。

上の図は、Q 学習 (試行錯誤の観察) を通じて強化学習問題を解決する例です (https://gym.openai.com/envs/MountainCar-v0 を参照)。この例では、ダイナミクスとモデル、つまり動作の全体的な物理的性質は不明です。

Q学習の問題点

Q 学習は、強化学習に関連する問題を解決するためのシンプルでありながら強力なアプローチです。理論的には、追加の数学的複雑さを導入することなく、これをあらゆる種類の大規模で複雑な問題に拡張できます。実際、Q 学習は再帰方程式を利用して実行できます。

Q(s, a): Q値関数

s: ステータス

s'、s'': 未来の状態

a: アクション

γ: 割引率

小さな問題の場合、すべての Q 値について任意の仮定を立てることから始めることができます。繰り返しの実験を通じて、Q テーブルは常に更新され、ポリシーは徐々に収束します。更新とアクションの選択はランダムに実行されるため、最適なポリシーはグローバル最適値を表さない可能性がありますが、すべての実用的な目的に使用できます。

しかし、問題の規模が大きくなるにつれて、大規模な問題に対する Q テーブルのセットを構築して保存することは、すぐに計算上困難な問題になります。たとえば、チェスや囲碁などのゲームでは、プレイヤーが事前に計算する必要がある動きの数に応じて、可能な状態(つまり、動きのシーケンス)の数が指数関数的に増加します。したがって:

  • 状態の数が増えると、このテーブルを保存および更新するために必要なメモリの量も増加します。
  • 各状態を探索して Q テーブルを作成するのに必要な時間は予測できなくなります。

上記の問題に対処するには、Deep-Q 学習などの技術を使用し、機械学習を使用して解決する必要があります。

ディープQラーニング

名前が示すように、ディープ Q ラーニングでは大きな Q 値テーブルを維持するのではなく、ニューラル ネットワークを使用して、指定されたアクションと状態の入力から Q 値関数を近似します。いくつかの定式化では、状態が入力として与えられ、すべての可能なアクション Q 値が出力として生成されます。ここでのニューラル ネットワークは Deep-Q-Network (DQN) と呼ばれ、その基本的な考え方は次の図に示されています。

画像ソース: OpenAI Gym を使用した Python での Deep Q 学習入門 (参照 - https://www.analyticsvidhya.com/blog/2019/04/introduction-deep-q-learning-python/)

しかし、DQN には使用上の難しさがいくつかあります。従来のディープラーニング アルゴリズムでは、入力サンプルをランダム化するため、入力カテゴリはさまざまなトレーニング バッチ間で非常にバランスが取れており、安定しています。強化学習では、探索フェーズ中に検索が継続的に改善され、入力とアクションの空間が継続的に変化します。さらに、システムが徐々に環境への理解を深めるにつれて、Q の目標値が自動的に更新されます。つまり、単純な DQN システムでは、入力と出力の両方が頻繁に変化します。

この問題を解決するために、DQN はエクスペリエンス リプレイとターゲット ネットワークの概念を導入し、変化を遅くして、制御された安定した方法で Q テーブルを徐々に学習します。

このうち、エクスペリエンス リプレイは、一定量の状態アクション報酬値を特定のバッファーに保存します (たとえば、最後に 100 万)。 Q 関数のトレーニングには、バッファーからのランダム サンプルのミニバッチを使用して実行されます。したがって、トレーニング サンプルはランダムであるだけでなく、従来のディープラーニングにおける教師あり学習の典型的な状況に近い動作をすることもできます。これは、未知の環境を探索するときに使用できる効率的な短期記憶を備えたシステムと多少似ています。

さらに、DQN は通常、Q 値を格納するために 2 つのネットワークを使用します。 1 つのネットワークは継続的に更新され、もう 1 つのネットワーク (つまり、ターゲット ネットワーク) は定期的に最初のネットワークと同期されます。ターゲットネットワークを使用して Q 値を取得し、ターゲット値がより少ない変動で変化するようにします。

深層強化学習の実用的応用

Atariゲームをプレイする

DeepMind(https://deepmind.com/ を参照)は、2010 年に設立されたロンドンを拠点とするスタートアップ企業です。同社は2014年にGoogleの親会社であるAlphabetに買収され、トレーニングに畳み込みニューラルネットワーク(CNN)とQ学習を組み合わせることに成功しました。深層強化学習の分野に先駆的な貢献を果たしました。たとえば、エージェントは生のピクセル入力 (たとえば、何らかの知覚信号) を使用して Atari ゲームをプレイできます。詳細については、https://deepmind.com/research/publications/playing-atari-deep-reinforcement-learning をご覧ください。

画像出典: DeepMind の Atari に関する論文 (arXiV、2013) (https://arxiv.org/pdf/1312.5602v1.pdf を参照)。

Alpha Go と Alpha Go Zero

3,000年以上前に中国で生まれた囲碁は、その複雑さからAIにとって最も難しい古典的なゲームとして知られています。標準的な AI アプローチは、検索ツリーを使用してすべての可能な動きと位置をテストすることです。しかし、AI は、チェスの駒の動きの可能な数を処理することも、盤上の各位置の強さを評価することもできません。

DeepMind は、深層強化学習技術と斬新な検索アルゴリズムを使用して、プロの囲碁プレイヤーを破った最初のコンピュータ プログラムであり、囲碁の世界チャンピオンを破った最初のプログラムであり、おそらく史上最強の囲碁プレイヤーである AlphaGo を開発しました。

[[325663]]

画像ソース: https://medium.com/point-nine-news/what-does-alphago-vs-8dadec65aaf

Alpha Go のアップグレード版は Alpha Go Zero と呼ばれます。このシステムは、囲碁のルールを何も知らないニューラル ネットワークから派生したものです。ニューラル ネットワークは強力な検索アルゴリズムと組み合わされ、継続的に自分自身とチェスをプレイします。繰り返しゲームをプレイする間、ニューラル ネットワークは継続的に調整および更新され、次の動きを予測して、最終的にゲームの勝者になります。継続的な反復を通じて、アップグレードされたニューラル ネットワークは検索アルゴリズムと再結合され、システムのパフォーマンスが向上し、システム自体との対戦レベルが継続的に向上します。

画像ソース: Alpha Go Zero ゼロから始める (参照 - https://deepmind.com/blog/article/alphago-zero-starting-scratch)

石油・ガス産業における応用

ロイヤル・ダッチ・シェルは、天然ガス採掘にかかる高額なコストを削減し、サプライチェーン全体の複数のリンクを改善するために、探査および掘削作業に強化学習を導入しています。過去の掘削データに基づいてトレーニングされたディープラーニング アルゴリズムと高度な物理ベースのシミュレーション技術により、ガス ドリルは地表を貫通した後、インテリジェントに動くことができます。深層強化学習技術では、ドリルビットからの機械的データ(ドリルビットの圧力や温度など)や地下からの地震調査データをリアルタイムで活用することもできます。詳細については、https://www.forbes.com/sites/bernardmarr/2019/01/18/the-incredible-ways-shell-uses-artificial-intelligence-to-help-transform-the-oil-and-gas-giant/#187951c42701 をご覧ください。

自動運転

主流のアプリケーションではありませんが、深層強化学習は自動運転車のさまざまな困難な問題を解決する上で大きな可能性を秘めています。これらには以下が含まれます:

  • 車両制御
  • ランプ合流
  • 個人の運転スタイルの認識
  • 安全な追い越しのための多目的強化学習

詳細については、https://arxiv.org/pdf/1901.01536.pdf を参照してください。

要約する

深層強化学習は、真にスケーラブルな人工汎用知能 (AGI) であり、AI システムの究極の開発方向です。実際のアプリケーションでは、明示的なトレーニングやルールベースのプログラミングを必要とせずに、ゲームのルール(または、よく言われるように、外界の法則)をゼロから学習できる Alpha Go などのインテリジェント エージェントが誕生しました。私たちは、深層強化学習の将来と展望が明るいと楽観しています。

原題: 深層強化学習について知っておくべきこと、Kevin Vu 著

[51CTOによる翻訳。パートナーサイトに転載する場合は、元の翻訳者と出典を51CTO.comとして明記してください]

<<:  一つの時代が終わった! Google の「ゴッドファーザー」エリック・シュミット氏が同社を去る。彼はどのようにして Google 帝国を築き上げたのか?

>>:  長沙の無人タクシーが提起する疑問:本当に無人運転が可能なのか?

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

NvidiaとFoxconnがAIに特化した新しいデータセンターの開発で提携

ジェンセン・フアンとヤンウェイ・リウが、AIイノベーションに特化した「工場」を建設するという新しいプ...

NLP の学習を始める準備ができました。体系的に読むべき本やコースは何ですか?

私は、機械学習コミュニティで手動の特徴エンジニアリングが非常に人気があった 2013 年から自然言語...

人工知能は産業の発展を助け、将来の生活は期待に値する

人工知能技術が生活のあらゆる分野で登場し、スマート経済が繁栄するにつれて、人類の文明は新たな段階に入...

2020年のサイバーセキュリティの転換点: 人工知能

先日終了したRSAC2020カンファレンスのテーマは「ヒューマンファクター」でした。業界では、この重...

ディープラーニングは錬金術のようなものです。どんな迷信的な習慣がありますか?ユーザー: ランダムシード=42 は良い結果をもたらします

[[441423]]機械学習分野の研究者は皆、パラメータ調整という課題に直面していますが、言うほど簡...

EasyDLは、臨床試験データの敵対的学習と複数のアルゴリズムの比較を簡単に処理します。

[51CTO.com からのオリジナル記事] 画像学習は高度なアルゴリズムであり、画像への高い適応...

Python 機械学習チュートリアル

この機械学習チュートリアルでは、機械学習の基本および中級の概念について説明します。初心者の学生と働く...

【慎重に応募】今後10年間で消滅する可能性が最も高く、代替される可能性が最も低い22の職業

[[373618]] 5Gの商用利用、人工知能、スマートシティ、スマートホーム、自動運転車、無人スー...

...

...

AutoGluonはオープンソースであり、人間の錬金術師を超えるパフォーマンスを発揮します

自動化された機械学習はどれほど優れたものになるのでしょうか?たとえば、MobileNet1.0 バッ...

開発ボードはこのように使えますか?アメリカの学者は、義肢のサポートと各指の制御に Jetson Nano を使用しています

近年、ディープラーニングベースのニューラルデコーダーは、神経補綴物の器用かつ直感的な制御を実現するた...

自動運転のためのリアルタイム測位技術の詳細説明

1 概要自動運転車 (AV) が安全で効率的な運転を実現するには、リアルタイムで正確かつ堅牢な位置特...

人工知能の発展方向と機会

[[358422]] 01 現段階における人工知能のボトルネック現在、人工知能、特にその応用分野では...

...