|
|
# 強化学習の紹介
|
|
|
|
|
|
強化学習(RL)は、教師あり学習や教師なし学習と並んで、基本的な機械学習のパラダイムの一つと見なされています。RLは意思決定に関するもので、適切な決定を下すこと、または少なくともそこから学ぶことを目指しています。
|
|
|
|
|
|
例えば、株式市場のようなシミュレーション環境があるとします。ある規制を導入するとどうなるでしょうか?それがポジティブな影響を与えるのか、ネガティブな影響を与えるのか?もしネガティブな結果が出た場合、それを _負の強化_ として学び、方針を変更する必要があります。ポジティブな結果が出た場合、その _正の強化_ を基にさらに進める必要があります。
|
|
|
|
|
|

|
|
|
|
|
|
> ピーターとその友達は空腹の狼から逃げなければなりません!画像提供:[Jen Looper](https://twitter.com/jenlooper)
|
|
|
|
|
|
## 地域トピック: ピーターと狼(ロシア)
|
|
|
|
|
|
[ピーターと狼](https://en.wikipedia.org/wiki/Peter_and_the_Wolf)は、ロシアの作曲家[セルゲイ・プロコフィエフ](https://en.wikipedia.org/wiki/Sergei_Prokofiev)によって書かれた音楽童話です。若きパイオニアのピーターが勇敢に家を出て、狼を追いかけるために森の空き地に向かう物語です。このセクションでは、ピーターを助けるための機械学習アルゴリズムを訓練します:
|
|
|
|
|
|
- **周辺を探索**し、最適なナビゲーションマップを作成する
|
|
|
- **スケートボードの使い方を学び**、バランスを取って素早く移動する
|
|
|
|
|
|
[](https://www.youtube.com/watch?v=Fmi5zHg4QSM)
|
|
|
|
|
|
> 🎥 上の画像をクリックして、プロコフィエフの「ピーターと狼」を聴いてください
|
|
|
|
|
|
## 強化学習
|
|
|
|
|
|
前のセクションでは、機械学習の問題の二つの例を見ました:
|
|
|
|
|
|
- **教師あり学習**では、解決したい問題に対するサンプルソリューションを示すデータセットが存在します。[分類](../4-Classification/README.md)や[回帰](../2-Regression/README.md)は教師あり学習のタスクです。
|
|
|
- **教師なし学習**では、ラベル付きのトレーニングデータが存在しません。教師なし学習の主な例は[クラスタリング](../5-Clustering/README.md)です。
|
|
|
|
|
|
このセクションでは、ラベル付きのトレーニングデータを必要としない新しいタイプの学習問題を紹介します。このような問題にはいくつかのタイプがあります:
|
|
|
|
|
|
- **[半教師あり学習](https://wikipedia.org/wiki/Semi-supervised_learning)**では、多くのラベルなしデータを使ってモデルを事前に訓練することができます。
|
|
|
- **[強化学習](https://wikipedia.org/wiki/Reinforcement_learning)**では、エージェントがシミュレーション環境で実験を行いながら行動を学びます。
|
|
|
|
|
|
### 例 - コンピュータゲーム
|
|
|
|
|
|
例えば、コンピュータにチェスや[スーパーマリオ](https://wikipedia.org/wiki/Super_Mario)のようなゲームを教えたいとします。コンピュータがゲームをプレイするためには、各ゲーム状態でどの手を打つかを予測する必要があります。これは分類問題のように見えるかもしれませんが、実際にはそうではありません。なぜなら、状態とそれに対応する行動のデータセットが存在しないからです。既存のチェスの試合やスーパーマリオのプレイヤーの記録のようなデータがあったとしても、そのデータが十分な数の状態をカバーしているとは限りません。
|
|
|
|
|
|
既存のゲームデータを探す代わりに、**強化学習**(RL)は*コンピュータに何度もプレイさせる*というアイデアに基づいています。そしてその結果を観察します。したがって、強化学習を適用するためには二つのものが必要です:
|
|
|
|
|
|
- **環境**と**シミュレーター**、これによって何度もゲームをプレイすることができます。このシミュレーターは、すべてのゲームルールや可能な状態と行動を定義します。
|
|
|
|
|
|
- **報酬関数**、これによって各手やゲームの結果がどれだけ良かったかを教えてくれます。
|
|
|
|
|
|
他の機械学習のタイプとRLの主な違いは、RLでは通常、ゲームが終了するまで勝ち負けがわからないことです。したがって、ある手が単独で良いかどうかを判断することはできず、ゲームの終了時にのみ報酬を受け取ります。そして、不確実な条件下でモデルを訓練するアルゴリズムを設計することが目標です。ここでは**Q学習**と呼ばれるRLアルゴリズムについて学びます。
|
|
|
|
|
|
## レッスン
|
|
|
|
|
|
1. [強化学習とQ学習の紹介](1-QLearning/README.md)
|
|
|
2. [ジムシミュレーション環境の使用](2-Gym/README.md)
|
|
|
|
|
|
## クレジット
|
|
|
|
|
|
「強化学習の紹介」は[Dmitry Soshnikov](http://soshnikov.com)によって♥️を込めて書かれました
|
|
|
|
|
|
**免責事項**:
|
|
|
この文書は、機械ベースのAI翻訳サービスを使用して翻訳されています。正確さを期していますが、自動翻訳にはエラーや不正確さが含まれる場合があります。元の言語で書かれた文書が権威ある情報源と見なされるべきです。重要な情報については、専門の人間による翻訳をお勧めします。この翻訳の使用に起因する誤解や誤訳について、当社は一切責任を負いません。 |