2019-01-01から1年間の記事一覧

強化学習:再・迷路問題2(Q学習、線形関数近似)

では、前回の記事に引き続き線形関数近似を使った迷路問題を扱っていきます. 今回はまとめきる予定です.コードは写経が多いので余り見せられるものではないのですが、公開する予定です. shirakonotempura.hatenablog.com !!これは私の勉強用ノートです…

強化学習:再・迷路問題1(Q学習、線形関数近似)

春休みなどもあり少し間が空きましたが、引き続き強化学習についていろいろ書いていきます. 先に書いておくと、今回の記事では迷路の内容まで至っていません. !!これは私の勉強用ノートです!! はじめに 今回の主な目的は、線形関数近似の実装です. と…

強化学習:Taxi-v2(Q-Learning, SARSA, Expected SARSA)

2019.2.25 追記:SARSAおよびExpected SARSAのコーディングに誤りがあります.修正したら記事も修正するか別の記事で修正版を出すようにします. はじめに 今回は、以前やった内容の復習が主になります. タイトルにあるとおり、TD学習の手法であるQ学習、SA…

強化学習:関数近似(パラメータの更新)

はじめに 前回は、近似式と目標値の差を表す誤差関数を最小化するパラメータの探索手法の1つである勾配法について整理しました. 強化学習:関数近似(勾配法とか) - 他力本願で生き抜く(本気) 今回は、強化学習におけるパラメータの更新について詳しく…

強化学習:関数近似(勾配法とか)

追記(謝罪):偏微分の式で分母にしか記号を付けていませんが、正しくは分子にも必要なようです.以後気を付けます. はじめに 前回に続き、関数近似について整理していきます.前回は途中で疲れ果ててしまいました・・. 強化学習:関数近似(その1:導入…

強化学習:関数近似(その1:導入)

はじめに 今回から、Sutton本9章の内容について勉強しながら、関数近似についてまとめていきたいと思います.Sutton本では、この章(9章)からは第2部となっており、これまでTabular(表形式)で扱っていた状態を関数近似によって拡張していく内容になります…

強化学習:プランニングと学習(その2)

はじめに 今回は、前回の記事(強化学習:プランニングと学習(その1))の続き、迷路問題での実装を行っていきます. 迷路問題に対するDyna-Qの導入 では、Sutton本に記載されている例題を使って、通常のQ学習と、Dyna-Qを比べてみます. 問題設定(6×9マ…

強化学習:プランニングと学習(その1)

はじめに 今回からの話はSutton本、第8章(Planning and Learning with Tabular Methods)の内容になります. 本当は前回の記事(SARSA・Q学習)に引き続き、Actor-Criticについて整理したかったのですが、諸事情で8章の内容の理解に努めたいと思います. 今…

強化学習:TD学習(SARSA、Q学習)

はじめに 前回は、TD(temporal-difference)学習の基本編として定式化とアルゴリズムの紹介を行いました. 強化学習:TD学習(基本編) - 他力本願で生き抜く(本気) 今回は、その中でも有名かつベーシックな学習アルゴリズムであるSARSAとQ学習(Q-learni…

強化学習:TD学習(基本編)

はじめに 前回までに、動的計画法(DP法)およびモンテカルロ法の概要を整理しました. 今回は、この2つの手法を組み合わせたTD法という学習手法について整理します(Sutton本:6章) これは私の学習ノートです.メモ、備忘録です. * 今回も、以下の記事を…

強化学習:モンテカルロ法(without ES)

はじめに 前回はモンテカルロ法を用いた行動価値関数の評価と方策改善について紹介しました. 強化学習:モンテカルロ法(行動価値評価) - 他力本願で生き抜く(本気) その際、開始点探査(ES、Exploring Starts)という仮定をおいていましたが、今回はそ…

強化学習:モンテカルロ法(行動価値評価)

はじめに 前回はモンテカルロ法を使って状態価値を評価するアルゴリズムを紹介しました. 今回は行動価値を評価するアルゴリズムについて紹介します. 強化学習:モンテカルロ法(状態価値評価) - 他力本願で生き抜く(本気) これは私の学習ノートです.詳…

強化学習:モンテカルロ法(状態価値評価)

今回の内容はSutton本5章のモンテカルロ法(Monte Carlo Method)についてです. これは私の学習ノートです.詳しく知りたい方は、以下の記事を呼んでください. qiita.com おさらい モンテカルロ法の説明のために、これまでまとめてきた方法について概要を…

強化学習:再帰処理と反復処理

前回、状態価値関数を定式化し、決まった方策のもとベストな行動を学習することができました.おそらくこのベストな行動を次の方策としていけば、最適な方策が見つかりそうな気がします. ですが、実装してみると分かりますが、非常に計算時間が遅いです.誇…

強化学習:行動価値関数(Action Value Function)(実装・写経)

今回は、前2回で整理した状態価値関数と同じ価値関数である行動価値関数(Action Value Function)について整理していきます. 以下を参考にしています.以下の記事はかなり丁寧に書かれていますが、だいぶはしょっていきます. qiita.com 行動価値関数と状…

強化学習:状態価値関数とBellman方程式 (実装・写経)

前回、コチラの記事を参考のまま、状態価値関数の定式化を行いましたので、実際にプログラムに実装して状態価値関数の計算を行ってみます. 今回も前回と同様の記事を参考にしています. qiita.com この記事は私の学習用ノートです。上の記事をトレースして…

強化学習:状態価値関数とBellman方程式 (良記事のトレース)

いきなりですが、状態価値関数・Bellman方程式について調べたくてこの記事にたどり着いた方は、何も考えずに以下の記事に飛んでください.時間を無駄にしなくてすみます. qiita.com 今回から、上のQiitaに投稿された記事をトレースしながら状態価値関数から…

強化学習:Markov Decision Processes(マルコフ決定過程)

はじめに 今回は、強化学習における最も重要な考え方の1つであるマルコフ決定過程について整理していきます. 目標 マルコフ決定過程の概要を理解する マルコフ決定過程(Markov Decision Processes) 強化学習の枠組み(再掲) マルコフ決定過程の説明に先…

強化学習:Multi-armed Bandits(UCB)

今回の記事も、本テキストの主に2.6章、2.7章を整理したものになります.今回は、UCBアルゴリズムについて扱います. ε-greedy法と同じく行動選択のアルゴリズムになります. UCBアルゴリズム 早速ですがUCBアルゴリズムの説明をしていきます.UCBとはUpper …

強化学習:Multi-armed Bandits(非定常・楽観的初期値)

今回の記事は、本テキストの主に2.5章からを整理したものになります.今回は、Non-stationary Problem(非定常問題)およびOptimistic Initial Values(楽観的初期値)について扱います. Tracking a Non-stationary Problem 前回は、行動の真の価値が変化し…

強化学習:Multi-armed Bandits(多腕バンディット問題)

はじめに 今回は先日紹介した強化学習の本の2章に登場するMulti-armed Banditsをとりあげます. 2章で取り上げられているので問題としては非常に単純な問題なのですが、いまだに研究の題材としては度々扱われます.2018年12月に開かれた国際会議NeurIPS 20…

強化学習:Introduction

はじめに 今回は、唐突ですが強化学習について整理します. これまで(といってもたったの数回ですが)私が記事で扱ってきたのは、教師あり学習でした.前回クラスの勉強をしている際、ふと強化学習に興味を持ってしまいましたので、理解を深めるため記事に…

初心者がPythonのクラスについて理解しようとする話

はじめに これまで、私が公開したいくつかのコードでは、写経部分ではたまに使っているかもしれませんが、自分のコーディング部分にはこれでもかというくらいにclassを使っていません. というのは、全然使い方が理解できていないからです.それに関数defが…

fine tuningで芸術作品の識別をやってみた

はじめに こんにちは、前々回に引き続きfine tuningを使ってまた別の識別問題に挑戦したいと思います.なお、前回は2クラスの識別問題として俳優の福士蒼汰さんと中川大志さんを識別するAIを作ってみました. shirakonotempura.hatenablog.com 今回やること…

教師あり学習における訓練、検証、テストデータについて(図解なし)

今回は、少し教師あり学習におけるデータの扱いに考えたので整理します.訓練とか検証とかテストの話です. 私なりのかみくだいた解釈であり、言葉などは素人用語を多用しています.間違っていたら叱咤なりコメントなりください. データセットとは おそらく…

fine tuningで顔識別(福士蒼汰vs中川大志)をやってみた

はじめに 前回、fine tuningで味を占めたので、ちょっと同じようなパターンで変わり種の識別をいくつかやっていきたいと思います. shirakonotempura.hatenablog.com 今回やること:『福士蒼汰』と『中川大志』の2クラス分類 早速ですが、今回は顔認識に挑…

ネコ科の猛獣識別にfine tuningを適用したら結構うまくいきました

はじめに ここ数日、画像識別に行き詰っていたのですがようやくネコ科の猛獣判別でいい精度が出せましたので、内容をまとめておきます. 画像識別で迷走した記録 - 他力本願で生き抜く(本気) いろいろと迷走してきたのですが、今回はタイトルにあるように…

画像識別で迷走した記録

はじめに 前回は、自分で作成したデータセットを水増しして4クラスの画像識別に挑戦しました.データを水増しすることで、汎化性能が上がりテストデータに対する精度が上がるかと思ったのですが、結果は惨敗.あらかじめ断っておきまさすが、今回の記事は迷…

自分で集めたデータを使った画像認識にデータの水増しを取り入れてみる(Keras、CNN)

はじめに 今回は、以前の記事で行ったネコ科の動物の画像識別に、前回覚えてデータの水増しを取り入れてみたいと思います. shirakonotempura.hatenablog.com おさらいしておきますと、前回行った8クラスの画像識別では、訓練データの精度は100%近く出るのに…

Kerasによる画像の水増し操作

はじめに 今回は、前回の最後に言及した画像データの水増し(augmentation)というものを行っていきたいと思います. データの水増しとは まず、データの水増しとは何かというところから整理してみます.機械学習においては、何はともあれ学習データを用意す…