人工知能に関する断創録

このブログでは人工知能のさまざまな分野について調査したことをまとめています(更新停止: 2019年12月31日)

強化学習

卒論直し

教科書っぽいというのは自分でも少し感じていたけど、没にならなくてよかった。今日は、卒論の修正を少しした。加筆修正として、以下のことをする。 国内、海外での研究拠点ごとの研究動向を表にしてまとめる。 強化学習研究の主な拠点。東工大(小林さん、…

TD-Gammon

TD-GammonはIBMのTesauroさんが作ったプログラムである。強化学習の TD(λ) というアルゴリズムを用いて、バックギャモンというゲームの戦略を「自動的に」獲得する。このTD-Gammonによって強化学習が注目されるようになったという経緯がある。今までバックギ…

迷路問題 with 不完全知覚

前に不完全知覚問題(2002/11/14)について言及した。9X9の迷路問題でエージェントの知覚を周囲8マスに制限して試してみたところ全く収束しなかった。前に書いた通り同じところを行ったり来たりしてしまう。ランダムな探査を5%の確率でしているため運良くゴ…

大脳基底核と強化学習

の関係について調べたのでざっとまとめておく。大脳基底核は昔から行動に関係しているということは分かっていたが、詳しい機能は分かっていなかったらしい(実際、1980年あたりの脳の本を読んでも謎と書いてあった)。しかし、最近の研究でドーパミンを報酬…

報酬と感情

強化学習と報酬(2002/11/20)で、 報酬は環境から与えられるというのも何だかあまりぴんとこない。気持ちいいとかうれしいとかいう(報酬にあたりそうなもの)のは人(エージェント)の内部から起きているんじゃないか?外部から与えられても人によって感じ…

迷路問題アプレット

を書いた。今度は迷路をもっと大きくしてみた。やってることは前と同じ。迷路が大きいので学習が収束するまで見ていると日が暮れる。そこで、アニメーションを表示しないで学習だけ行えるようにした。収束した後、アニメーションで見てみると最短経路を獲得…

強化学習は教師あり学習?

脳と学習システムの関係として、小脳は誤差信号をもとにした教師あり学習に、大脳基底核は報酬信号をもとにした強化学習に、大脳皮質は、信号の統計的性質をもとにした教師無し学習に対応するらしい。これはどういうことを言っているのかまだわからないため…

脳と強化学習

強化学習のサーベイを行っているが、人間の脳との関係というのを見逃していた。そこで、脳と強化学習をキーワードで調べてみたところ、いくつか参考になるのが見つかった。医学の歩みに「強化学習とその周辺」という特集が組まれている。どうやら大脳基底核…

強化学習と報酬

考えたことのメモ。強化学習の特徴の一つに報酬に基づいているというのがある。でも報酬って一体何なんだろうか。現実世界に当てはめた場合は何に相当するのか。例えば、AIBO(本当の犬でもそうだが)が「おりこうな」行動をして頭をなでられたら報酬であり…

不完全知覚問題

今週は不完全知覚についてやった。不完全知覚問題とは、エージェントの知覚が不十分であるため、異なる状態を同じ状態と判断してしまう問題である。例を挙げる。このような単純な迷路の環境を考える。Sはスタート地点、Gはゴール地点。従来の強化学習では全…

強化学習の実ロボットへの適用例

強化学習の実ロボットへの適用例 非常に面白い映像だった。学習初期ではでたらめなのが、学習後では目的動作を果たしている。人間をはじめとする動物にもあのような徐々に動作を獲得する仕組みが備わっていそうと実感した。あのロボットは何か生きているよう…

車の山登り問題アプレット

一日でできた。アルゴリズム部はJavaに直して、描画部分を付け加えた。青い丸が一応車で山の右側に抜ける方法を獲得する。車は右へ到達すると初期位置に戻る。何回か繰り返すと短時間で登れるようになっていく。mountain_car.jar初めてタイルコーディングを…

車の山登り問題(Mountain-Car Task)

次の強化学習の例題として上のを調べてみることにした。これには、タイルコーディング(tile coding)という手法が使われている(非常に重要)。Suttonさんの本読んでもいまいち理解できなかったので、プログラムを調べてみることにした。またアプレットにで…

卒論計画

今月は、卒論で必要な外国の重要論文を読むことにした(それをしないと孫引きになってしまう)。ひとまず、リストを作って探すことからはじめないといけない。今日から3日間で「関数近似」に関する論文を調べることにする。後は、3日から5日くらいで区切って…

倒立振子アプレット

を書いた。pole_balancing.jar棒を上に立てたままうまくバランスを保つ方法を自動的に獲得できる。最終的には、100000ステップ(シミュレーション内の時間では、1ステップ0.02秒なので、30分くらい)バランスを保てるようになる。もっと学習時間を長くすれば…

次元の呪い(Curse of dimensionality)

強化学習の一つの問題に次元の呪いがある。これは、状態数が指数関数的に増大する傾向のことを指す。ほとんどの問題では、状態数が大きすぎて、表形式(配列でQ[S][A]のように価値関数を表す方式)で管理することができなくなる。前にやった迷路はそんなに大…

倒立振子制御問題

今度は、倒立振子制御問題を調べてみる。手の平に棒を立てて倒れないように調節する方法を強化学習で獲得させるのが目的。pole balancing problem のアプレットみたいな感じ。 参考 A.G.Barto, R.S.Sutton, C.W.Anderson: Neuronlike Adaptive Elements That…

tic-tac-toe(三目並べ)を学習

するプログラムを書いた。参考は、Reinforcement Learning: An Introduction のソースコード。ただし、一部の構文(主にfor文)が自分の環境では使えなかったので書き直した。100回ずつ勝負して学習させた勝率の推移を見てみると、 24勝77敗(0.24) 37勝64…

AIBOと強化学習

C Magazine にロボットを制御するという特集があった。読んで見るとAIBOの動作を制御するOPEN-R SDKに関するものだった。その中に、AIBOの設計者のインタビューで、「AIBOは飼い主に慣れるのはどんな風にやっているんですか」みたいな質問があった。設計者に…

Tic-Tac-Toe

強化学習の例題として前は迷路をやった。今度は、Tic-Tac-Toe(○×ゲーム)をやってみる。無茶苦茶簡単のようだけど、状態空間は迷路に比べて桁違いに多いように思われる。オセロ、チェス、将棋に比べたらすごく小さいが。一から書くのは分からないところが多…

Actor-Critic法

強化学習アルゴリズムのActor-Critic法を実装した。

論文の整理

人工知能学会誌の強化学習関連の論文をもう一度読み直して整理し始めた。前は、あまり注意せず読み飛ばしていたようなところで新たな発見がたくさんあった。例えば、Profit Sharingと適格度トレースは意味的に何か違いがあるのか?と最近疑問に思っていたの…

RoboCupへの強化学習の応用

RoboCupというのは、ロボットにサッカーをやらせるやつ。浅田さんの論文に、RoboCupへ強化学習をどう応用するかが載っていた。浅田、野田、俵積田、細田: 視覚に基づく強化学習によるロボットの行動獲得、日本ロボット学会誌、Vol.13、No.1、1995今まで迷路…

迷路問題アプレット

を書いた。 強化学習で迷路の最短経路を見つける(2005/1/21) 迷路問題は強化学習の性能を調べる一つの基本問題になっている。ここではあまり大きい迷路にすると、収束するまでうろうろする時間が長くなって見るに耐えないので、適当に小さくしておいた。コ…

関数近似

今までやってきた強化学習は状態数が離散でそんなに多くない場合だったけど、ロボットや実問題で使うときは、状態が連続、あるいは膨大になってしまい、状態を配列 V(s) や Q(s, a) で管理することはできなくなる。状態が連続値や膨大になっても強化学習を使…

適格度トレース

迷路問題で普通のSarsaアルゴリズムと適格度トレースという技法を使った Sarsa(λ) アルゴリズムで学習収束速度を比較した。数値をぱっと見たところ後者の方が桁違いに速いことが確認できた。ちょっと改良するだけでこんなに違いが出るなんてすごいと思った。…

Machine Learning誌論文調査

Machine Learning誌の論文調査を続けた。強化学習関連は40本くらいある。だんだん理解できることが多くなってきたが、証明関係はさっぱり。論文によって式の表現が異なるのも混乱に拍車をかける(頼みの綱はSuttonさんの「強化学習」ただ一冊、それ以外に日…

棒倒し法

強化学習の例題環境で使う迷路は今まで0,1をファイルに書き込んで自分で作っていたが、大きいのがうまくできず、書き直すのもすごく面倒くさい。というわけで、自動的に迷路を作るアルゴリズムを探したところ、棒倒し法というのがあった。この方法を使えば、…

SarsaとQ-learning

を実装して、「風が吹く格子世界問題(p.156)」に適用してみた。SarsaとQ-learningはどっちも強化学習の手法、両者はたった1箇所だけアルゴリズムに違いがある。しかし、この問題に対しては、ほとんど差がでなかった。下の本によると、「崖歩き問題(p.160…

強化学習とは何か?

強化学習とは、感覚系と運動系の連係を用いた環境との相互作用からの学習を理論化したもの。感覚系によりまわりの環境、状況を知覚し、運動系によって行動する。そこから得られた情報を使って学習する。このような学習は私たちも通常行っていると思われる。…