強化学習/強化学習のプログラムを作るときの注意点
をテンプレートにして作成
開始行:
*はじめに [#d179c2b1]
研究用に強化学習のプログラムを作るときには,いくつか注意...
ここでは,その注意点について説明します.
*乱数生成器 [#b710f867]
ほとんどの強化学習アルゴリズムは行動選択に乱数を用います.
したがって,強化学習のプログラムは,乱数生成器(random nu...
最初に注意が必要となる点は,システムに標準で用意されてい...
-C言語のrandom()関数
-JavaのMath.random()メソッドとjava.util.Randomクラス
-Excel VBAのRnd()メソッドなど
よい疑似乱数を生成するアルゴリズムとして[[''メルセンヌ・...
したがって,システムに標準で用意されている乱数生成器では...
さまざまな言語で書かれた乱数生成器が[[ここ:http://www.mat...
ちなみに,Rubyでは標準の乱数生成器にメルセンヌ・ツイスタ...
*乱数のシード [#w76e916f]
研究で行う実験には再現性が求められます.
つまり,同じ条件で実行したときに結果が同じにならないとい...
しかし,乱数を用いると,これが保証されない場合があります.
たとえば,JavaのMath.random()は,生成される乱数系列が毎回...
そこで,乱数の''シード''(seed)を用いて乱数生成器を初期...
同じシードで初期化された乱数生成器は,必ず同じ乱数系列を...
乱数生成器をシードを指定して初期化し,このシードを記録し...
*エージェント用の乱数生成器と環境用の乱数生成器 [#t2360242]
強化学習では,エージェントだけでなく環境も乱数生成器を用...
なぜなら,多くの問題(環境)では,状態遷移や報酬がランダ...
このとき,エージェントが用いる乱数生成器と環境が用いる乱...
乱数生成器が一つしかないと,アルゴリズムが異なるエージェ...
例として,N本腕バンディット問題((Sutton and Barto: Reinfo...
この乱数生成器を用いて特定のシードで生成された乱数系列をR...
エージェントAはアルゴリズムの中で乱数を1回だけ使って行動...
エージェントAを用いて実験するときは,エージェントが乱数R1...
エージェントBを用いて実験するときは,エージェントが乱数R1...
もしエージェントAとエージェントBが選択した行動が同じだっ...
エージェントが用いる乱数生成器と環境が用いる乱数生成器を...
*学習用の乱数生成器と評価用の乱数生成器 [#g9382822]
強化学習の実験では,学習がどのくらい進んでいるかを調べる...
このとき,評価時に用いられる乱数生成器も学習時に用いられ...
なぜなら,学習時と評価時に同じ乱数生成器を使用していると...
上と同じ問題を考えます.
エージェントAが学習を1ステップ行うごとに10エピソードによ...
したがって,2ステップ目の学習ではエージェントがR23を,環...
同じエージェントが学習を1ステップ行うごとに100エピソード...
このように,評価のやり方を変えただけで,学習される結果ま...
学習時に用いる乱数生成器と評価時に用いる乱数生成器を独立...
また,評価用の乱数生成器を評価を行う度に初期化すれば,以...
*まとめ [#x753d8fd]
強化学習のプログラムを作るときには,次の点に注意しましょ...
-乱数生成器には''メルセンヌ・ツイスター''を用いる
-''乱数のシード''をコマンド・ライン引数などで指定できるよ...
-乱数生成器は独立に4種類用意する
--学習時にエージェントが使用するもの
--学習時に環境が使用するもの
--評価時にエージェントが使用するもの
--評価時に環境が使用するもの
-評価用の乱数生成器は評価を行う度に初期化する
*参考文献 [#gb6e2da9]
-[[''強化学習'':http://www.amazon.co.jp/gp/product/462782...
Sutton, R.S., Barto, A.G. (著), 三上 貞芳, 皆川 雅章 (訳)...
>&ref(RL_book.jpg,nolink);
終了行:
*はじめに [#d179c2b1]
研究用に強化学習のプログラムを作るときには,いくつか注意...
ここでは,その注意点について説明します.
*乱数生成器 [#b710f867]
ほとんどの強化学習アルゴリズムは行動選択に乱数を用います.
したがって,強化学習のプログラムは,乱数生成器(random nu...
最初に注意が必要となる点は,システムに標準で用意されてい...
-C言語のrandom()関数
-JavaのMath.random()メソッドとjava.util.Randomクラス
-Excel VBAのRnd()メソッドなど
よい疑似乱数を生成するアルゴリズムとして[[''メルセンヌ・...
したがって,システムに標準で用意されている乱数生成器では...
さまざまな言語で書かれた乱数生成器が[[ここ:http://www.mat...
ちなみに,Rubyでは標準の乱数生成器にメルセンヌ・ツイスタ...
*乱数のシード [#w76e916f]
研究で行う実験には再現性が求められます.
つまり,同じ条件で実行したときに結果が同じにならないとい...
しかし,乱数を用いると,これが保証されない場合があります.
たとえば,JavaのMath.random()は,生成される乱数系列が毎回...
そこで,乱数の''シード''(seed)を用いて乱数生成器を初期...
同じシードで初期化された乱数生成器は,必ず同じ乱数系列を...
乱数生成器をシードを指定して初期化し,このシードを記録し...
*エージェント用の乱数生成器と環境用の乱数生成器 [#t2360242]
強化学習では,エージェントだけでなく環境も乱数生成器を用...
なぜなら,多くの問題(環境)では,状態遷移や報酬がランダ...
このとき,エージェントが用いる乱数生成器と環境が用いる乱...
乱数生成器が一つしかないと,アルゴリズムが異なるエージェ...
例として,N本腕バンディット問題((Sutton and Barto: Reinfo...
この乱数生成器を用いて特定のシードで生成された乱数系列をR...
エージェントAはアルゴリズムの中で乱数を1回だけ使って行動...
エージェントAを用いて実験するときは,エージェントが乱数R1...
エージェントBを用いて実験するときは,エージェントが乱数R1...
もしエージェントAとエージェントBが選択した行動が同じだっ...
エージェントが用いる乱数生成器と環境が用いる乱数生成器を...
*学習用の乱数生成器と評価用の乱数生成器 [#g9382822]
強化学習の実験では,学習がどのくらい進んでいるかを調べる...
このとき,評価時に用いられる乱数生成器も学習時に用いられ...
なぜなら,学習時と評価時に同じ乱数生成器を使用していると...
上と同じ問題を考えます.
エージェントAが学習を1ステップ行うごとに10エピソードによ...
したがって,2ステップ目の学習ではエージェントがR23を,環...
同じエージェントが学習を1ステップ行うごとに100エピソード...
このように,評価のやり方を変えただけで,学習される結果ま...
学習時に用いる乱数生成器と評価時に用いる乱数生成器を独立...
また,評価用の乱数生成器を評価を行う度に初期化すれば,以...
*まとめ [#x753d8fd]
強化学習のプログラムを作るときには,次の点に注意しましょ...
-乱数生成器には''メルセンヌ・ツイスター''を用いる
-''乱数のシード''をコマンド・ライン引数などで指定できるよ...
-乱数生成器は独立に4種類用意する
--学習時にエージェントが使用するもの
--学習時に環境が使用するもの
--評価時にエージェントが使用するもの
--評価時に環境が使用するもの
-評価用の乱数生成器は評価を行う度に初期化する
*参考文献 [#gb6e2da9]
-[[''強化学習'':http://www.amazon.co.jp/gp/product/462782...
Sutton, R.S., Barto, A.G. (著), 三上 貞芳, 皆川 雅章 (訳)...
>&ref(RL_book.jpg,nolink);
ページ名: