|
|
<!--
|
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
|
{
|
|
|
"original_hash": "20ca019012b1725de956681d036d8b18",
|
|
|
"translation_date": "2025-09-04T00:13:47+00:00",
|
|
|
"source_file": "8-Reinforcement/README.md",
|
|
|
"language_code": "ja"
|
|
|
}
|
|
|
-->
|
|
|
# 強化学習の紹介
|
|
|
|
|
|
強化学習(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)
|
|
|
|
|
|
> 🎥 上の画像をクリックしてプロコフィエフの「ピーターと狼」を聴いてみましょう
|
|
|
|
|
|
## 強化学習
|
|
|
|
|
|
前のセクションでは、機械学習問題の2つの例を見てきました:
|
|
|
|
|
|
- **教師あり学習**:解決したい問題に対するサンプル解を示すデータセットがある場合。[分類](../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)は「コンピュータに何度もプレイさせ、その結果を観察する」というアイデアに基づいています。したがって、強化学習を適用するには以下の2つが必要です:
|
|
|
|
|
|
- **環境**と**シミュレーター**:ゲームを何度もプレイできるようにするもの。このシミュレーターはゲームのルールや可能な状態とアクションを定義します。
|
|
|
|
|
|
- **報酬関数**:各動きやゲーム中にどれだけうまくいったかを教えてくれるもの。
|
|
|
|
|
|
他の機械学習の種類とRLの主な違いは、RLでは通常ゲームが終了するまで勝敗が分からないことです。そのため、特定の動きが単独で良いかどうかを判断することはできません。報酬はゲーム終了時にのみ得られます。そして、私たちの目標は、不確実な条件下でモデルを訓練できるアルゴリズムを設計することです。このセクションでは、**Q学習**というRLアルゴリズムについて学びます。
|
|
|
|
|
|
## レッスン
|
|
|
|
|
|
1. [強化学習とQ学習の紹介](1-QLearning/README.md)
|
|
|
2. [ジムシミュレーション環境の使用](2-Gym/README.md)
|
|
|
|
|
|
## クレジット
|
|
|
|
|
|
「強化学習の紹介」は[Dmitry Soshnikov](http://soshnikov.com)によって♥️を込めて書かれました。
|
|
|
|
|
|
---
|
|
|
|
|
|
**免責事項**:
|
|
|
この文書は、AI翻訳サービス [Co-op Translator](https://github.com/Azure/co-op-translator) を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確さが含まれる可能性があることをご承知おきください。元の言語で記載された原文が正式な情報源と見なされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤認について、当社は一切の責任を負いません。 |