はてなキーワード: ブートストラップとは
https://arxiv.org/pdf/2304.10466.pdf
試行錯誤によって方針を学習する深層強化学習アルゴリズムは、環境と積極的に相互作用することによって収集された限られた量のデータから学習しなければならない。多くの先行研究が、データ効率の良いRLを実現するためには適切な正則化技術が重要であることを示していますが、データ効率の良いRLにおけるボトルネックの一般的な理解は不明なままでした。その結果、すべての領域でうまく機能する普遍的な技術を考案することは困難であった。
本論文では、非定常性、過剰な行動分布シフト、オーバーフィッティングなどのいくつかの潜在的な仮説を検討することにより、サンプル効率的な深層RLの主要なボトルネックを理解することを試みている。
強化学習ってよく知らない
我々は、状態ベースのDeepMind control suite(DMC)タスクについて、制御された体系的な方法で徹底的な実証分析を行い、遷移の検証セットにおける高い時間差(TD)誤差が、深いRLアルゴリズムの性能に深刻な影響を与える主犯であり、良い性能をもたらす先行手法は、実際、検証TD誤差を低く制御することを示した。この観察から、ディープRLを効率化するための強固な原理が得られる。すなわち、教師あり学習の正則化技術を利用することで、検証TD誤差をヒルクライムできる。
誤差を減らすのがDeepLearningだけど、それが時間差なのか。
我々は、検証TD誤差をターゲットとするシンプルなオンラインモデル選択法が、状態ベースのDMCとGymタスクにおいて効果的であることを示す。
1 はじめに
強化学習(RL)法は、大容量の深層ニューラルネット関数近似器と組み合わせた場合、ロボット操作などのドメインで有望視されている(Andrychowicz et al、
2020)、チップ配置(Mirhoseini et al.、2020)、ゲーム(Silver et al.、2016)、データセンターの冷却(Lazic et al.、2018)。アクティブなオンラインデータ収集の単位ごとに費用が発生するため(例.
実際のロボットを動かす、シミュレーションによるチップ評価など)、限られた経験量でも効率的に学習できる、サンプル効率の良い深層RLアルゴリズムを開発することが重要である。このような効率的なRLアルゴリズムの考案が、近年の重要な研究課題となっています(Janner et al、
2019; Chen et al., 2021; Hiraoka et al., 2021)。
原理的には、オフポリシーRL法(例えば、SAC (Haarnoja et al., 2018), TD3 (Fujimoto et al., 2018), Rainbow (Hessel et al., 2018))は、データ収集のステップごとに多くの勾配ステップのポリシーと値関数を改善することを可能にするため、良いサンプル効率が得られるはずです。しかし、このメリットは実際には実現できないようで、1回の学習ステップを多く取りすぎることでを収集した各遷移は、多くの環境において実際にパフォーマンスを害する。過大評価(Thrun & Schwartz, 1993; Fujimoto et al., 2018)といったいくつかの仮説、非定常性(Lyle ら、2022)、またはオーバーフィッティング(Nikishinら、2022)が根本的な原因として提案されている。
これらの仮説に基づき、より多くの勾配ステップを持つオフポリシーRLを可能にする方法として、モデルベースのデータ増強(Jannerら、2019)、アンサンブルの使用(Chenら、2021)、ネットワークの正則化(Hiraokaら、2021)、再生バッファを維持しながらRLエージェントをゼロから定期的にリセット(Nikishinら、2022)などのいくつかの緩和戦略が提案されている。これらのアプローチはそれぞれサンプル効率を大幅に向上させるが、これらの修正の有効性は(これから示すように)タスクに大きく依存する可能性があり、根本的な問題やこれらの手法の挙動を理解することはまだ未解決である。
ICLR 2023で会議論文として発表 本論文では、より多くの勾配ステップを取ることが深層RLアルゴリズムの性能悪化につながる理由、ヒューリスティック戦略が役立つ場合がある理由、そしてこの課題をより原理的かつ直接的な方法で軽減する方法を理解しようとするものである。
最近提案されたタンデム学習パラダイム(Ostrovski et al., 2021)を用いた実証分析を通じて、TD学習アルゴリズムは、学習の初期段階において、すぐに高い検証時間差(TD)誤差(すなわち、保留した検証セットにおけるQ-ネットワークとブートストラップターゲットの間の誤差)を得る傾向にあり、悪い最終解をもたらすことを明らかにする。
このホワイト ペーパーでは、深い RL アルゴリズムで勾配ステップを増やすとパフォーマンスが低下する理由、場合によってはヒューリスティック戦略が役立つ理由、およびこの課題をより原則的かつ直接的な方法で軽減する方法を理解しようとします。 最近提案されたタンデム学習パラダイム (Ostrovski et al., 2021) を使用した実証分析を通じて、トレーニングの初期段階で、TD 学習アルゴリズムが高い検証時間差を迅速に取得する傾向があることを示します。
(TD) エラー (つまり、保留された検証セットでの Q ネットワークとブートストラップ ターゲットとの間のエラー) が発生し、最終的なソリューションが悪化します。 さらに、データ効率の高い RL 設定のために考案された多くの既存の方法が、検証 TD エラーを低く制御する限り有効であることを示します。
この洞察は、深い RL を効率的にするための堅牢な原則を提供します。データ効率を向上させるために、検証 TD エラーを山登りすることによって、特定の問題に最も適した正則化を選択するだけです。
この原則は、オンラインRLトレーニングの過程で特定のタスクに最適な正則化戦略を自動的に発見しようとする単純なオンラインモデル選択方法の形で実現され、これを検証TDエラーを使用した自動モデル選択(AVTD)と呼びます。
AVTD は、各エージェントが異なる正則化を適用する共有リプレイ バッファーで、いくつかのオフポリシー RL エージェントをトレーニングします。 次に、AVTD は、環境内で動作するための検証 TD エラーが最小のエージェントを動的に選択します。
この単純な戦略だけでも、多くの場合、さまざまな Gym および DeepMind コントロール スイート (DMC) タスクで個々の正則化スキームと同様のパフォーマンスを発揮するか、それを上回ることがわかります。 重要なのは、パフォーマンスがドメイン間で大幅に異なる可能性がある以前の正則化方法とは異なり、私たちのアプローチはすべてのドメインで堅牢に動作することに注意してください。
要約すると、私たちの最初の貢献は、サンプル効率の高いディープ RL のボトルネックの実証分析です。 これらの課題の背後にあるいくつかの潜在的な説明を厳密に評価し、トレーニングの初期段階で高い検証 TD エラーを取得することが、データ効率の高いディープ RL のパフォーマンスを阻害する最大の原因の 1 つであることを観察します。 私たちの 2 番目の貢献は、単純なアクティブ モデル選択法 (AVTD) です。これは、検証 TD エラーの山登りによって正則化スキームを自動的に選択しようとします。 多くの場合、私たちの方法は、さまざまな Gym および DMC タスクで、最適な個々の正則化スキームに匹敵するか、それを上回ります。
卒業研究に入るまでトーケーガクとはまったく接点がなかったことは、オレがボンクラなせいなのか大学教育パッケージの不備なのか。
なんじゃこの棒グラフについてる変な細い棒は…。
いまから思えば大変浅学なことであるが、当時のオレはそれがなんなのかまったく知らなかった。
標準誤差ってなんだ。標準偏差ってなんだ。っていうか、この変な細い棒が標準偏差のときと標準誤差のときがあるのはどういう基準でそうなってるんだ。
統計の本は一冊入門書を読んでもあまり分からない。書いてあるのは日本語なのだが、通読しても狐につままれる気持ちになるだけで一向に腑に落ちぬ。
確率変数ってなんなのだ。確率分布ってなんなのだ。正規分布? 標準化?
そういう初歩的なところから亀の如き歩みで読み進めていっても論文にはまだまだ謎の単語が出てくる。
t検定? 分散分析? 非線形フィッティング? 最尤法? ブートストラップ法? エトセトラエトセトラ…
全くわからないままオレはほぼ独学で(研究に必要なだけは)理解してきた。
いま、オレはそういう当時のオレと同じ気持(であろう)奴らを相手にしている。
ドットインストールなりrailsのチュートリアルなり、golangなりやって見るんだ。
そうやってブートストラップしていくとどう情報を掴んでいけば良いか分かるようになってくる。
とりあえず学部3年なら簡単なTODOリスト管理アプリを作れるぐらいでバイトも普通に見つかるだろう。
それが難しければ、パソコンのサポートなら出来るだろう。なんでも良いからやらせて貰え。
数学は最低、離散数学でブール代数はきちんと練習すること。あと集合。
ハード系だと
の辺りを意識的に取り組んで欲しい。
その他は、
あたりを読んで、分からないところを先生や詳しい同級生に聞く。
あと、5000万行ぐらいのテキストファイルで、マージソートをUNIXのコマンドでやってみるとかお勧め。
ただし、そうやっていく中で、もし「楽しい」と思えない時間が3ヶ月〜半年なり続くようであれば、
適性を求めて (例えば) 経済学部などに行くが良かろう。
Visual Basic 2010 Expressでプロジェクトを発行すると以下の様なエラーが出ます xxxはユーザー名の置き換えです
プロジェクトの新規作成から作った初期状態のプロジェクトを発行しても同じエラーが出ます
エラー 1 プロジェクトがビルドできなかったため、発行できません。
警告 2 項目 '.NETFramework,Version=v4.0,Profile=Client' が 'C:\Users\xxx\documents\visual studio 2010\Projects\WindowsApplication1\WindowsApplication1' で見つかりませんでした。
警告 3 項目 'Microsoft.Windows.Installer.3.1' が 'C:\Users\xxx\documents\visual studio 2010\Projects\WindowsApplication1\WindowsApplication1' で見つかりませんでした。
エラー 4 必要なファイル 'setup.bin' が 'C:\Users\xxx\documents\visual studio 2010\Projects\WindowsApplication1\WindowsApplication1\Engine' で見つかりませんでした。 WindowsApplication1
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Engine\setup.binをC:\Users\xxx\documents\visual studio 2010\Projects\WindowsApplication1\WindowsApplication1\Engineにコピーするとエラー4がこのように変わります
エラー 4 ブートストラップをビルドするために利用可能なリソースがありません。 WindowsApplication1
Visual Studioを修復したりMicrosoft SDKをインストールしたりしましたが、解決しませんでした。
どうしたらよいでしょうか。
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Engine\setup.binをC:\Users\xxx\documents\visual studio 2010\Projects\WindowsApplication1\WindowsApplication1\Engineにコピー
更に
C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Engine\jaをC:\Users\xxx\documents\visual studio 2010\Projects\WindowsApplication1\WindowsApplication1\Engineにコピーしたら発行できました
参照URL
http://msdn.microsoft.com/ja-jp/library/ms228158%28v=vs.90%29.aspx