Column
Apr 9, 2022 10:14 PM
Date
‣
Hashtags
プログラミング
読書メモ
日本語
Kaggle
Slug
e9e5039528894e8cb6482ae01bd34972
Published
Published
目的
KaggleのKore 2022 - Betaという強化学習のコンペが面白そうで参加していて、本を読んで勉強してからQ-learningとかを実装したいと思って読んだ。
内容
強化学習における環境の開始から終了までの期間を1 Episode と呼ぶ。
強化学習は最終的な報酬の総和を最大化することが目的。そのために強化学習でモデルのモデルは2つのことを学習する。1つ1つの行動がそれにつながるか行動を評価する方法と、行動の選び方(戦略)
人が1つ1つの行動にラベルを付けて学習させるものを教師あり学習という。
「遷移先の状態は直前の状態とそこでの行動のみに依存する。報酬は直前の状態と遷移先に依存する」というルールのことをMarkov propety(マルコフ性)と呼ぶ。
マルコフ性を持つ環境を Markov Decision process: MDP (マルコフ決定過程) という。
MDPの要素は、State, Action, Transition function (遷移関数: 状態と行動を引数に遷移先と遷移確率をだす), Reward function(報酬関数: 即時報酬) の4つ
過去の計算値から即時報酬を計算することをメモ化という
戦略に基づき行動: Policy ベース
価値が最大になるように行動: Value ベース
エピソードの終了が定まる場合をEpisodicTask、終わりなく続く場合をContinuingTaskと呼ぶ。
Day 3以降は、ブログで内容を書けるほど理解できてないと思うので、koreの本番コンペが終わったあともう一度書き直したいと思う。
感想
Q-learningをkore2022 betaで書いてみたがすごく大変だったが、組み込むに当たって少しだけ理解が進んでよかった。コンペに取り組みながら色々な手法を試して本に書いてある内容をちゃんと理解したいと思う。
Deep mindが発表した、DQNに6つの改良手法を取り組んだRainbowについての説明がすごく良かった。kaggleをやってるとそういったアイデアを考えるのがどれだけ難しいか実感できるので、ちゃんと論文で読んでみたいと思う。