タグ

RLとProgrammingに関するagwのブックマーク (19)

  • 「ITエンジニアのための強化学習理論入門」が発売されます - めもめも

    www.amazon.co.jp 表題の書籍が技術評論社より発売されることになりました。執筆にご協力いただいた方々には、あらためてお礼を申し上げます。販売開始に先立って、「はじめに」「目次」「図表サンプル」を掲載させていただきますので、先行予約される方の参考にしていただければと思います。 はじめに 「Q LearningとSARSAの違いを説明してください。」皆さんは、この質問に即答できるでしょうか? 書を読めば、自信を持って答えられます! —— と、謎の宣伝文句(?)から始まりましたが、少しばかり背景を説明しておきましょう。 2015年に『ITエンジニアのための機械学習理論入門』(技術評論社)を出版させていただいた後、驚くほどの勢いで機械学習の入門書が書店にあふれるようになりました。そしてまた、回帰モデルによる数値予測、分類モデルによる画像データの識別など、教師データを用いた機械学習

    「ITエンジニアのための強化学習理論入門」が発売されます - めもめも
  • 「ITエンジニアのための強化学習理論入門」的な何かのアイデア - めもめも

    元ネタ incompleteideas.net ポイント ・学習の過程がステップバイステップで理解できる(目で見える)サンプルを示すことで、「なぜそれでうまく学習できるのか」を理解することを目標とする。 ・アルゴリズムを愚直に実装したコードを示すことで、数式ではなく、コードを通してアルゴリズムを理解する。 Tabular method Multi-arm bandit による導入 MDPの枠組みは一旦無視して、強化学習のポイントとなる「考え方」を理解する ・Exploitation - Exploration のバランスが必要。典型的には ε - greedy を利用する。 ・環境から収集したデータを元に、行動の価値を見積もる価値関数を構成する。 ・データ収取と並行して、価値関数を逐次更新する。 ・逐次更新の方法は、一義的に決まるものではないが、「差分を一定の重みで加えて修正する」という考

    「ITエンジニアのための強化学習理論入門」的な何かのアイデア - めもめも
  • AlphaGo Zeroの手法でリバーシの強化学習をやってみる - Qiita

    はじめに AlphaGo Zeroは、囲碁AIをゼロから強化学習で鍛え上げたもので、それまで最強だったAlphaGo Masterを打ち破るという偉業を成し遂げました。そしてこのZeroの手法自体は結構シンプル、かつ、強くなれるという美味しいところ取りな手法なのです。また、そのゲームの知識を知らなくても実装できます。 今回は手法の理解と検証のため、リバーシのAIを育てているので共有します。 システム概要 ソースコード: https://github.com/mokemokechicken/reversi-alpha-zero 動作環境 確認済みなのは以下の環境です。 Python 3.6.3 tensorflow-gpu: 1.3.0 tensorflow==1.3.0 でも動きますが、非常に遅いです。play_guiの時は tensorflow(cpu) でもまあ問題ない感じで動きます。

    AlphaGo Zeroの手法でリバーシの強化学習をやってみる - Qiita
  • 速習 強化学習 - 共立出版

    GoogleAlphaGoによるプロ棋士打破は、人工知能がヒトを超えた学習を行った歴史的出来事として認識された。強化学習はここで重要な役割を果たしてているだけでなく、自動運転やロボット制御などの重要な分野への応用も知られ、いま世間の強い関心を集めている。その一方、日語で強化学習を体系的に学べる教科書は多くはなく、代表的な教科書であるSutton and Barto (1998)とその訳書も出版から20年が経とうとしている。 書はトップ会議のチュートリアルで利用されたり、2010年の出版以降わずか数年で500弱の引用がされたりという事実からも窺えるように、入門書として広く読まれている良書である。書の内容は動的計画法などの基的かつ重要なアルゴリズムに始まり、比較的新しい手法も体系的に網羅しつつもコンパクトに自己完結している。原著の出版から7年あまり経つが、近年の発展は書で掲載された

    速習 強化学習 - 共立出版
  • 強化学習について学んでみた。(その5) - いものやま。

    昨日は、n腕バンディット問題と、「知識利用」と「探査」のバランスの問題について説明した。 今日はn腕バンディット問題をプログラム(Ruby)で実際に動かしてみる。 正規分布に従う乱数生成器 今回、n腕バンディット問題のレバーの期待値、および、レバーを選んだときに得られる報酬は、正規分布に従うとしていた。 けど、そもそも正規分布に従う乱数って、どうやって発生させるの?という話。 一様分布に従う乱数なら、ライブラリを使えば簡単に得られるけれど、正規分布に従う乱数となると、そうはいかなくなる。 ただ、これに関してはボックス=ミュラー法という方法が知られているので、それを使えばいい。 #==================== # normal_dist_random.rb #==================== # 正規分布に従った乱数を生成するクラス class NormalDist

    強化学習について学んでみた。(その5) - いものやま。
  • 強化学習について学んでみた。(その4) - いものやま。

    昨日は、強化学習で考える具体的な状況や、用語について説明した。 今日は、もうちょっと簡単な場合について考えていく。 非連想的な問題 昨日の「報酬」に関する説明を聞いて、次のように思ったかもしれない。 「(猿の例で)大きな箱を選んでも小さな箱を選んでも報酬がもらえないなら、猿はどうやって『大きな箱を選ぶ』という行動の価値と、『小さな箱を選ぶ』という行動の価値を学んだらいいんだろう?」 これはもっともな疑問で、つまり、行動の選択を何度も繰り返した結果として報酬が得られるのだとしたら、それぞれの行動がどれくらい報酬に寄与したのかというのは、分からない。 将棋とかで、ある手が実は悪手だったのだけど、相手も間違えたので、結果的に自分が勝つことが出来たりした場合、悪手を指したにも関わらず報酬がもらえてしまうので、結果、その悪手の評価が上がってしまうことすら考えられる。 この問題をどう解決すればいいのか

    強化学習について学んでみた。(その4) - いものやま。
  • 強化学習について学んでみた。(その3) - いものやま。

    昨日は強化学習の「強化」とは何なのかについて説明した。 今日は、強化学習で考える具体的な状況や、そこで使われる用語について。 エージェントと環境 強化学習では、学習したり行動を決定する主体(つまりAI自身)のことを、エージェントと呼ぶ。 そして、エージェントが行動した結果、状態を変えたり、あるいは報酬/罰を与えるもののことを、環境と呼ぶ。 例えば、昨日の猿の例で言えば、エージェントは「猿」で、環境は「檻の中」だ。 環境は、いくつかの状態を持つ。 環境の可能な状態の集合をと書くことにする。 例えば、猿の例だと、 となる。 さて、環境の状態はエージェントが行動を行っていくと、変化していく。 そこで、時間ステップ(これはエージェントが行動を行うと進んでいく)をとしたときに、それぞれの状態をで表すことにする。 例えば、猿の例だと、 で、猿が小さな箱を選ぶという行動を行えば、 となるし、大きな箱を選

    強化学習について学んでみた。(その3) - いものやま。
  • 強化学習について学んでみた。(その2) - いものやま。

    昨日の記事は以下。 今日は、強化学習についてもう少し説明したいと思う。 「強化」って何? そもそも、「強化学習」の「強化」って何なんだ?という話。 「強化」っていうと、何かを強くするのかなぁ、という感じだけど、「強化学習」という訳語の元になった英語は、"Reinforcement Learning"。 つまり、「強化」というのは"Reinforcement"の訳。 じゃあ、"Reinforcement"(あるいはその動詞の"Reinforce")って何なのかというと、「補強する」とかそういった意味。 ("re-in-force"で、「再度」「力を」「入れる」みたいなイメージ) といっても、"Reinforcement"の意味が 「補強」だとしても、やっぱり意味がよく分からない。 タネを明かせば、この「強化」("Reinforcement")というのは心理学の専門用語で、wikipedia

    強化学習について学んでみた。(その2) - いものやま。
  • 強化学習入門

    30. 強化学習の目的 将来得られる報酬の総和が最大になるように政策を学習する (発散しないように)割引率 を定義し,これを乗じた報酬を 将来に渡り加えた総和を収益とし,この期待値を最大化する! E " 1X t=0 t R(st, at, st+1) # , 8s0 2 S, 8a0 2 A目的関数 下記の目的関数を最大にする政策関数 を求める⇡ at ⇠ ⇡(at|st) st+1 ⇠ PT (st+1|st, at) st 2 S, at 2 A 2 (0, 1] 制約条件 A : ありうるすべての行動集合 S : ありうるすべての状態集合 13年5月3日金曜日 31. 強化学習の目的 E " 1X t=0 t R(st, at, st+1) # , 8s0 2 S, 8a0 2 A目的関数 ⇡⇤ (a|s) ⌘ arg max ⇡ E " 1X t=0 t R(st, at, st

    強化学習入門
  • 7 強化学習シミュレーション

  • 強化学習の基礎

  • はてなブログ | 無料ブログを作成しよう

    オーベルジーヌ実レポ べ物の鼻塩塩(未だに通じるのかな) オーベルジーヌというカレーをご存知だろうか 都内にあるデリバリー専門のカレー屋で、 ロケ弁などで大人気の格欧風カレーが楽しめるらしい いいな〜 いいな〜オブザイヤー 都内の奴らはこんな良いモンってんのか 許せねえよ………

    はてなブログ | 無料ブログを作成しよう
  • 強化学習によるリバーシの思考アルゴリズムの研究(2) — ありえるえりあ

    Recent entries 宣伝:C/C++のための開発補助ツール、GCCSenseをリリースしました matsuyama 2010-04-15 宣伝:Rubyのための開発補助ツール、RSenseをリリースしました matsuyama 2010-03-21 Emacsは死んだ matsuyama 2010-02-22 WebアプリケーションをiPhoneに対応させるための技術メモ matsuyama 2009-10-13 tokyo-emacs#x02の個人的レポート matsuyama 2009-09-07 Recent comments replica louis vuitton Anonymous User 2010-12-22 Re:テキスト入力中に補完候補を自動的に表示してくれる auto-complete.el をリリースしました Anonymous User 2010-12

  • 強化学習とは何か、調べてみた - のんびりしているエンジニアの日記

    皆さんこんにちは お元気ですか。私は元気です。 今日は強化学習の勉強がてらメモを書いてみました。 個人的には最近、注目している分野で、ゴールがあるような(クラス分類やRegression) 機械学習と異なり、汎用的に色々問題が解けそうだからというのが理由です。 (なんか色々語弊を生みそう) 間違っていれば教えて下さい。 強化学習 強化学習における要因 Policy Reward Function Value function model of the environment 強化学習で解ける問題 参考文献 強化学習 強化学習はある環境ないにおけるエージェントが、 現在の状態を観測し、取るべき行動を決定する問題を扱う 機械学習の一種 by wikipedia この中で登場するのは、「状態」と「行動を決定する」といったところでしょうか。 つまり、「ある状態の時に、どう行動をするか」といったこと

    強化学習とは何か、調べてみた - のんびりしているエンジニアの日記
  • ゼロからDeepまで学ぶ強化学習 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? ロボットから自動運転車、はては囲碁・将棋といったゲームまで、昨今多くの「AI」が世間をにぎわせています。 その中のキーワードとして、「強化学習」というものがあります。そうした意味では、数ある機械学習の手法の中で最も注目されている(そして誇張されている・・・)手法ともいえるかもしれません。 今回はその強化学習という手法について、基礎から最近目覚ましい精度を出しているDeep Q-learning(いわゆるドキュン、DQNです)まで、その発展の流れと仕組みについて解説をしていきたいと思います。 記事の内容をベースに、ハンズオンイベントを開

    ゼロからDeepまで学ぶ強化学習 - Qiita
  • 深層強化学習:ピクセルから『ポン』 – 後編 | POSTD

    前編はこちら: 深層強化学習:ピクセルから『ポン』 – 前編 起こっていないこと さて、方策勾配を使って生のピクセルから『ポン』をプレイする方法を学びましたが、ご理解いただけましたね。この手法は推測してチェックするという手間のかかるやり方で、”推測”は最新の方策からロールアウトをサンプリングすることを意味し、”チェック”は良い結果を導くアクションを促すこと意味します。大枠では、これは強化学習の問題への最先端のアプローチです。このような振る舞いを学習できるということは感動的です。しかしあなたが直感的にアルゴリズムを理解していて、どのように機能するか知っているとしたら、少しがっかりしてしまうのではないでしょうか。具体的に、機能しないのはどういうところでしょうか。 これと比較して、人間は『ポン』のプレイ方法をどのように学習するでしょうか。おそらくあなたはゲームを見せ、次のように言います。「パドル

    深層強化学習:ピクセルから『ポン』 – 後編 | POSTD
  • 深層強化学習:ピクセルから『ポン』 – 前編 | POSTD

    (訳注:2016/6/28、記事を修正いたしました。) 記事は、もう随分と前から投稿したいと思っていた強化学習(RL)に関するものです。RLは盛り上がっています。皆さんも既にご存知のこととは思いますが、今やコンピュータは ATARI製ゲームのプレイ方法を自分で学習する ことができ(それも生のゲーム画像のピクセルから!)、 囲碁 の世界チャンピオンにも勝つことができます。シミュレーションの四肢動物は 走って飛び跳ねる ことを学習しますし、ロボットは明示的にプログラミングするのが難しいような 複雑な操作のタスク でも、その実行方法を学習してしまいます。こうした進歩はいずれも、RL研究が基となって実現しています。私自身も、ここ1年ほどでRLに興味を持つようになりました。これまで、 Richard Suttonの著書 で勉強し、 David Silverのコース を通読、 John Schulm

    深層強化学習:ピクセルから『ポン』 – 前編 | POSTD
  • 強化学習で考えるギャンブラーの最適行動 - kivantium活動日記

    強化学習と呼ばれる機械学習の一分野があります。機械学習というと、入力に対して正解の出力を当てる教師あり学習が話題になることが多いですが、強化学習では明示的に正解が与えられません。ある行動を試してみて、それに対して得られる「報酬」から自分でどのような行動が良い結果をもたらすのかを判断して、より良い行動を学習するアルゴリズムになっています。 強化学習にはチェスやリバーシなどといったボードゲームAIやロボットの行動学習などの応用例があります。この前話題になったDeep Q Network、通称DQNも強化学習の一種です。応用例が面白いにも関わらず、PRMLなどの主要な機械学習の教科書では強化学習を扱わないことが多いので、いま強化学習だけの参考書を買って勉強しています。 強化学習 作者: Richard S.Sutton,Andrew G.Barto,三上貞芳,皆川雅章出版社/メーカー: 森北出

    強化学習で考えるギャンブラーの最適行動 - kivantium活動日記
  • 強化学習について学んでみた。(その1) - いものやま。

    ゲームを作っていくときに必要となるのが、AIの作成。 変種オセロを作っているときにもいくつかの探索アルゴリズムを実装したけれど、盤面の評価については単純に「出来るだけ自分の色が多く、そして相手の色が少ない方がいい」としただけだった。 ただ、これだと辺や隅をとることの重要性をまったく理解できず、人に簡単に辺や隅を取られてしまう。 なので、途中までは実利が大きくても、最後には辺や隅の力で実利がひっくり返されるということがよく起きて、なかなか勝てなかったりする。 そこで、AIをより強くするには、盤面をより正確に評価できるようにする必要がある。 盤面の評価方法 盤面をどのように評価するかーーすなわち、盤面の評価関数をどのように作るかーーというのには、いくつかの方法が考えられる。 人の手による方法 まず考えられるのは、盤面の特徴的な値に対して、それぞれ評価の重みを決めておき、それらを掛けて合算した値

    強化学習について学んでみた。(その1) - いものやま。
  • 1