タグ

RLとAIに関するagwのブックマーク (23)

  • Pythonで学ぶ強化学習 -入門から実践まで-を書きました

    約1年半ほどかかりましたが、「Pythonで学ぶ強化学習 入門から実践まで」を書き上げました。記事ではAsian Kung-Fu Generationさんがアルバム発売の度に行っている全曲解説にのっとり、各章の見所や苦労した点を紹介したいと思います。

    Pythonで学ぶ強化学習 -入門から実践まで-を書きました
    agw
    agw 2021/01/23
  • 「ITエンジニアのための強化学習理論入門」が発売されます - めもめも

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

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

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

    「ITエンジニアのための強化学習理論入門」的な何かのアイデア - めもめも
  • keras 使って DQN で迷路を解いてみた - mizchi's blog

    世界観をつかめるぐらいには機械学習やっておきたいと思い、とりあえず何かしらのお題がないと興味が続かなさそうなので、二次元の盤面上で何かしらの行動をする、ローグライクのモンスターのエージェントを作るのを目標にしようと思う。自分がゲーム作るとき、大抵エージェントのルール作る段階で飽きてくるので。 今回の記事は、迷路を解くところまで。 学習資料 [Python]強化学習(DQN)を実装しながらKerasに慣れる - Qiita DQNをKerasとTensorFlowとOpenAI Gymで実装する 全力で人工知能に対決を挑んでみた(理論編) - ニコニコ動画 雰囲気を掴むのに、ニコ動の解説動画わかりやすかった。 よく使われてる OpenAI Gym 、見た目は派手だが、環境変数が多すぎていまいち理解の助けにならない + 次元が多すぎて収束が遠いので、すごい単純なゲームルールを自分で作って、それ

    keras 使って DQN で迷路を解いてみた - mizchi's blog
  • これから強化学習を勉強する人のための「強化学習アルゴリズム・マップ」と、実装例まとめ - Qiita

    ※2018年06月23日追記 PyTorchを使用した最新版の内容を次の書籍にまとめました。 つくりながら学ぶ! 深層強化学習 ~PyTorchによる実践プログラミング~ 18年6月28日発売 これから強化学習を勉強したい人に向けて、「どんなアルゴリズムがあるのか」、「どの順番で勉強すれば良いのか」を示した強化学習アルゴリズムの「学習マップ」を作成しました。 さらに、各手法を実際にどう実装すれば良いのかを、簡単な例題を対象に実装しました。 記事では、ひとつずつ解説します。 オレンジ枠の手法は、実装例を紹介します。 ※今回マップを作るにあたっては、以下の文献を参考にしました。 ●速習 強化学習: 基礎理論とアルゴリズム(書籍) ●Deep Learning for Video Game Playing 強化学習とは 強化学習は、画像識別のような教師あり学習や、クラスタリングのような教師なし

    これから強化学習を勉強する人のための「強化学習アルゴリズム・マップ」と、実装例まとめ - Qiita
    agw
    agw 2017/10/30
  • 最適制御からの強化学習 - HELLO CYBERNETICS

    はじめに 最適制御 そもそも制御問題とは? 自動制御 フィードバック制御 制御問題の例 最適制御問題 最適制御のまとめ 最適制御から強化学習へ 最適制御の困難 強化学習の形式と最適制御との比較 環境の振る舞いを知る方法は無いのか 強化学習の大まかな流れ モンテカルロ法 TD法 関数近似 最後に 制御の分野と強化学習 基的思想の違い 実用的問題 PID制御という巨人 はじめに 強化学習といえば、最強の囲碁ソフトAlphaGo に搭載されているアルゴリズムで一躍有名となった分野です。今回は強化学習の特殊な問題設定がどういうものであるかを強調するため、最適制御としての立場から発展させた強化学習を見てみたいと思います。 最適制御 そもそも制御問題とは? 例えば、自動車の速度を調整する場合、タイヤの回転を調整する必要がありますが、私達が実際にやっているのはアクセルやブレーキを踏み込むことだけです。

    最適制御からの強化学習 - HELLO CYBERNETICS
  • 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
  • Understanding Agent Cooperation

    Research Understanding Agent Cooperation Published 2 February 2017 Authors Joel Leibo, Marc Lanctot, Thore Graepel, Vinicius Zambaldi, Janusz Marecki We employ deep multi-agent reinforcement learning to model the emergence of cooperation. The new notion of sequential social dilemmas allows us to model how rational agents interact, and arrive at more or less cooperative behaviours depending on the

    Understanding Agent Cooperation
  • 強化学習について学んでみた。(その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

    ロボットから自動運転車、はては囲碁・将棋といったゲームまで、昨今多くの「AI」が世間をにぎわせています。 その中のキーワードとして、「強化学習」というものがあります。そうした意味では、数ある機械学習の手法の中で最も注目されている(そして誇張されている・・・)手法ともいえるかもしれません。 今回はその強化学習という手法について、基礎から最近目覚ましい精度を出しているDeep Q-learning(いわゆるドキュン、DQNです)まで、その発展の流れと仕組みについて解説をしていきたいと思います。 記事の内容をベースに、ハンズオンイベントを開催しました(PyConJPのTalkの増補改訂版) Pythonではじめる強化学習 OpenAI Gym 体験ハンズオン 講義資料の方が図解が豊富なので、数式とかちょっと、という場合はこちらがおすすめです。 Tech-Circle #18 Pythonではじ

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

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

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