自律ソフトウェアロボットの経路学習 氏名 伊藤 謙

2010 年度
卒
業
それぞれの年度に
あわせる
論
文
自律ソフトウェアロボットの経路学習
指導教員
白井英俊
教授
グループの場合は、横に並べるか、縦に並べる。例え
ば、
学籍番号 h208012
h208013
氏名 中京 太郎 中京 花子
のようにする(番号や氏名はフォントサイズを大きめに)
中京大学
情報理工学部
h207004
学籍番号
氏名
情報知能学科
伊藤
(2010年
謙
12月)
それぞれの年度に
あわせる
この内容は、論文を書き終えてか
ら、書くこと
題目
学籍番号
卒業論文要旨
自律ソフトウェアロボットの経路学習
H207004
氏名
伊藤謙
指導教員
白井英俊
コンピュータにおいてユーザと他のソフトウェアとの仲介をし、ユーザの目的を達成す
るために活動するソフトウェアとしてエージェントというソフトウェアロボットがある。
現在、エージェントは情報検索やモバイルコンティーング、ユーザインターフェイスなど
多くの場面での使用が求められている。このため、エージェントはこれらの場面で実用的
に使用できなければならない。これを達成するためにはある程度の能力が備わっているエ
ージェントにしなければならない。そのために必要な能力の1つがインテリジェンスであ
る。それを実現する方法のひとつの方法として生物が持つのと同じような学習能力を備え
ることが考えられる。そして、学習という過程がより明確に観察できる分かりやすい状況
で学習能力の育成が必要である。本研究では、K4 という仮想的に作り上げた環境を学習の
為の状況に用いる。K4 は現実の世界に近くなるように設計されており、学習過程の観察に
おいて最適な空間を提供していると考えられるからである。そして、K4 上に存在する自律
エージェントに学習能力を実装することにより、このエージェントを学習能力を有する知
的エージェントにし、そのエージェントの目標達成までの行動の変化を研究することによ
り、知的エージェントの実現についてのための知見が得られると考える。
本研究では、経路の学習を行う様に改変した K4 エージェントの学習結果と K4 エージェ
ントの行動を比較することで改変した K4 エージェントの学習能力についての評価を行った。
改変方法としては、K4 エージェントに学習能力を設計するために、コンピュータに膨大な
情報量から規則・ルールを発見させる技法の機械学習の1つである強化学習を実装するこ
とにより、K4 エージェントに学習能力を持たせた。このため、K4 エージェントは行動を行
う毎に行動を評価して評価の最も高い行動を選択していく。
本研究の結果は世界の物の位置を動かさない静的環境において「青いボールを取って」
という単純な命令に対して学習をさせることにより最適な行動列の学習を行う。しかし、
対象の物の位置が変わるなどの環境の変化に対して学習結果が役に立たなくなる。この様
な、動的環境に対応できるように学習に使用する情報量を増やすことにより、仮想空間に
ある物の位置が変わる動的環境や取ったボールを違う場所に置くという命令にも対応でき
るようにする必要がある。
目次
卒業論文は「本」の体裁をとるので、
目次が必要
1. はじめに .......................................................................................... 3
2.
K4 について ................................................................................... 3
2.1. K4 の概要 ................................................................................ 3
2.2. K4 の仕組み............................................................................. 4
2.3. エージェントのプランニング ................................................. 6
2.4. エージェントの管理器 ............................................................ 7
2.4.1. BehaviorManager ................................................................ 8
2.4.2. Planner .............................................................................. 8
2.4.2.1. SimplePlannerImp..................................................... 8
2.4.2.2. WarrenPlanner .......................................................... 8
2.4.3. ActionManager.................................................................... 9
2.4.4. DisucourseManager............................................................. 9
2.4.5. Scheduler ........................................................................... 9
3.
強化学習について ......................................................................... 9
3.1. 機械学習の概要 ...................................................................... 9
3.2. 強化学習の概要 ...................................................................10
3.2.1. ε-greedy 方策 ................................................................12
3.2.2. Q 学習 ..............................................................................13
4.
K4 システムの改変 .....................................................................13
4.1. システムの目標 ...................................................................13
4.2.環境の初期化 ............................................................................14
4.3.強化学習の実装 .........................................................................15
4.3.1.Planner の変更 ...................................................................16
4.3.2.BehaviorManager の改変 .....................................................17
4.3.3.ActionManager の改変 ........................................................17
5.
結果 ...........................................................................................19
5.1. システムの実行結果 ............................................................19
5.2. 比較対象 K4 の実行結果 .......................................................19
5.3. 評価 .....................................................................................23
6.
考察 ...........................................................................................24
6.1. 課題 .....................................................................................24
6.2. 展望 .....................................................................................24
7. まとめ ...........................................................................................27
謝辞 ....................................................................................................28
i
目次のページ番号はローマ数字を
つかい、本文とは別にする
参考文献 .............................................................................................29
参考資料 .............................................................................................29
ii
1. はじめに
「はじめに」では、ほぼ「要旨の内容」と同じ
でよい。つまり、これも論文の本体を書き終え
てから、全体を見渡して書くべきもの。
研究の背景や動機、目的、研究内容、その結
果、考察などを書く。
ただし、「要旨」と異なり、「論文の構成」の
記述が必要(この見本では2ページ目に書いて
ある)
本研究は自律ソフトウェアロボットに経路学習を実装することによりエージェントが環
境に適応した行動を行えることにすることを目的としたものである。本章ではこの研究の
背景と概要を述べる。
コンピュータ科学の研究分野の 1 つにソフトウェアエージェントの研究がある。ソフト
ウェアエージェントとはユーザの代理で他のユーザやソフトウェアとの仲介をし、ユーザ
の目的を達成するために活動するソフトウェアの事である。このソフトウェアエージェン
トは知的エージェントや自律エージェント等に分けることができる。これらのエージェン
トは現在、情報検索、モバイルコンティーングやユーザインターフェイスなど多くの場面
での実装が求められている。このためエージェントはこれらの場面で実用できるようにす
る必要がある。これを達成するためにはある程度の能力が備わっているエージェントにし
なければならない。そのために必要な能力の1つがインテリジェンスである。これは、あ
る問題に遭遇した時に柔軟に上手く対処を行うための能力である。エージェントは知的エ
ージェントとして様々な場面で適応していく必要がある。それを実現する方法のひとつの
方法として生物が持つのと同じような学習能力を備えることが考えられる。そして、学習
という過程がより明確に観察できる分かりやすい状況で学習能力の育成が必要である。本
研究では、K4 という仮想的に作り上げた環境を学習の為の状況に用いる。K4 は現実の世界
に近くなるように設計されており、学習過程の観察において最適な空間を提供していると
考えられるからである。そして、K4 上に存在する自律エージェントに学習能力を実装する
ことにより、このエージェントを学習能力を有する知的エージェントにし、そのエージェ
ントの目標達成までの行動の変化を研究することにより、知的エージェントの実現につい
ての知見が得られると考えられる。このため、本研究では仮想空間内のエージェントが動
作する K4 を研究対象とし、そのエージェントに機械学習の1つである強化学習を実装する
ことにより、このエージェントが最適な行動を行うようになる学習過程を観察する。また、
既存の K4 エージェントの行動と学習を行ったエージェントの行動を比較して、その学習方
法を評価する、そのために既存の K4 を改変することにより学習を可能とする K4 を作成す
る。実装方法としては K4 の Planner として新しく強化学習を行う Planner を作成する。た
だし、学習対象はエージェントの行う動作を新たに覚えさせるものではなく、エージェン
トが現状態において可能な行動の中から状況に応じて最適な行為の選択を学習させる。こ
うした最適行動を学習するように改変した K4 に簡単な命令を入力してどれだけその命令の
実行に最適な行動1をとれるかを観察する。そして、同じ命令に対する元の K4 エージェント
1
ここでいう最適性は命令の実行という目標に対して少ない時間・動作によって目標を達成
することを指す。
1iii
本文の最初が1ページ目
の実行と比較した性能を評価して問題点等を検討する。
本論文の構成は以下のとおりである。第 2 章、第 3 章においてそれぞれ研究対象となる
K4 と実装する強化学習についての説明を行う。第 4 章では改変した K4 システムについて述
べ、第 5 章では改変した K4 と K4 の比較方法を述べる。そして、第 6 章において研究結果
を述べ、第 7 章で本研究からの考察を述べる。
2
章ごとに改ページする
章全体の説明をしてから、節にわけて記述を行う
2. K4 について
この章では本研究の基礎となる K4 システムについて、その概要とシステムの仕組みを述
べ、特に K4 エージェントの仕組みについて述べる。
2.1. K4 の概要
節は2.1、2.2のように章ごとに通し番号をふる。
節の題目もやや大きめのフォントを使う
節の題目の前に空行をおく
本研究では K4 システムを研究対象とする。K4 は田中らが東京工業大学で開発した仮想空
間上の自律エージェントシステム(田中,2004)であり、「行動制御と言語理解」を研究目
引用の例。著者と出版年の組み合
わせで表記(工学系の引用方法と
K4 は仮想世界として表現された1つの空間において色のついたテーブルやボールなどの
文系の引用方法の二通りがある)
物が置かれた空間に 1 人あるいは複数のエージェントがその空間上に配置される。エージ
的に開発された。
ェントはこの空間においてユーザからの命令を待ち、音声認識ソフト Julian2からの音声入
力または、文字入力による命令を受けとり、自律的なプランニングにより得られたプラン
に従い行動を行い、命令の目標の達成を目指す。目標が達成されればエージェントは再び、
ユーザからの命令があるまで命令を待つ。このシステムは、言語理解の現実世界でのコミ
ュニケーションに即した形に近づけるため作られたシステムである。エージェントとはユ
ーザとのインタラクションだけではなく、身体性をエージェントに持たせることにより仮
想世界とインタラクションを実現している(図 2.1)
2
Julian は京都大学で開発された音声認識ソフトである。
3
図 2. 1 K4 の仮想空間.人の形をしたものがエージェントである。
2.2. K4 の仕組み
図の説明のことを「キャプション」とい
K4 システムは「行動制御と言語理解」という研究目的の為に作成されたシステムである
う。図のキャプションは、図の番号(章ご
とに通し番号をふる)と図の説明からな
動する様に設計されている。エージェントには仮想空間で行える複数の行動(移動をする
る。かならず図の下に置くこと
ため、エージェントがユーザの命令を理解し、その命令の内容を達成するべく自律的に行
Walk、ものを取る Hold 等)が用意されている。エージェントはこれらの行動を用いて仮想
世界の環境に作用することによりユーザからの命令を実行する。仮想世界は VirtualWorld
という世界を表現するクラスに仮想世界に存在するオブジェクトを保持してそれらの全体
的な処理を行う。処理の流れとしては以下の様になる。
1. K4 は仮想世界においては起動時には初期状態を保存したファイルから世界に存在させ
るもの(テーブル等の物から世界で行動するエージェントやカメラ)を読み取りそれを
仮想世界に配置する。
(図 2.2 においては K4 システムの立ち上げ、図 2.3 において①に
あたる。)
2.音声認識ソフト「Julian」が解析した音声または InputWindow で文字入力されたユーザ
からの命令を構文解析器に渡す。そして、構文解析器において命令の解析を行いそこか
ら得た結果をエージェント管理機に渡す。(図 2.2、図 2.3 において②にあたる。)
3.エージェントは受け取った解析された命令を基にプラン生成器においてプランニングを
行う。ここでユーザからの命令を遂行する過程で必要な行動列を生成する。
(図 2.3 にお
いて③にあたる。)
4
4.3 で生成された行動列をエージェントの取る行動予定に 1 つ 1 つ順番に組み込んでいく。
(図 2.2,図 2.3 において④にあたる。
)
5.一番古い実行に移していない予定からエージェントは予定に沿って行動に移していく。
(図 2.2,図 2.3 において⑤にあたる。)
6.実行された動作に適したアニメーションを生成してそれを表示することによりエージェ
ントに現在の仮想世界の状況をユーザに提示する。(図 2.2 において⑥にあたる。)
7.命令を実行し終えると次の入力待ちになり、入力が入ると再び 2 に戻る。(図 2.3 にお
いて⑦にあたる。)
K4 システム
構文解析器
仮想世界
Julian
Input
window
(Manager)
2
2
2
Agents
Object
(VirtualObject)
3 4
Agents
5
(VirtualAgent)
5
6
図 2. 2 処理の流れ
図 1
処理の流れ
図表についての注意:
図に対してはキャプションを図の下に書く。表に対しては
「表の上」に書く。表も章ごとに通し番号をふる。
図はなるべくページの上端か下端に配置されるように工夫
すること。
図表の前後に空行をおいた方が見やすい
5
参考文献
「参考文献」とは、論文中に引用した論文や本などの情報を書く
もの。体裁が決まっているので、この例を見て学ぶこと。
基本的にアルファベット順である(この例では、英語文献はAB
C順、日本語文献はあいうえお順にしている)
学術誌に載った論
文の場合
Rivest,R.T.(1987).Learning decision lists.Machine Learning.2.pp.229-246
斉藤史哲、長谷川修. (2010).「力学的自己増殖型ニューラルネットによる知覚・行為系列に
基づく包摂アーキテクチャ上の状態空間構成」.知能と情報.22(2). pp.266-278
田中穂積.(2004).「言語理解と行動制御-音声認識・言語理解・コンピュータグラフィクス
技術の統合-」.情報処理学会自然言語処理研究会.164 (16).pp.95-100
参考資料
「参考資料」とは引用していないが、論文を書く場合に勉強したり参
考にしたもの。「研究論文」では書かないのが普通だが、卒業論文の
場合、「こんな本をみて勉強した」という記録として書いてもよい
電気学会 GA・ニューロを用いた学習とその応用調査専門委員会 (2002):「学習とそのアル
ウェブページの場合
ゴリズム」.森北出版
George.M.(2003):「Xorshift RNGs」 Journal of Statistical Software
8(14)
銀天スバル.銀天随筆集.:”Xorshift 乱数生成アルゴリズムを書いてみた。”
(http://d.hatena.ne.jp/gintenlabo/20100925/1285432088)
イトウ
岩谷
本の場合
(2010 年 9 月参照)
一之 .(2007).「ロボットインテリジェンス‐進化計算と強化学習‐」.オーム社
宏.(2005).「ひとつ上をゆく Java の教科書」.技術評論社
java の道 .(www.javaroad.jp) (2010 年 7 月参照)
mtoga c09-C 言語(サンプル:乱数)(www.page.sannet.ne.jp/mtoga/lang/c/bih-c_f2.htm) (2010
年9月参照)
松井藤五郎.強化学習.(http://とうごろ
う.jp/wiki/%E5%BC%B7%E5%8C%96%E5%AD%A6%E7%BF%92%E5%BC%B7%E5%8C
%96%E5%AD%A6%E7%BF%92%E3%81%AE%E8%AB%96%E6%96%87/) (2010 年8月参
照)
Russell.J.S and Norvig.P.(2008).「エージェントアプローチ
Education(訳
人工知能
第 2 版」.Person
共立出版)
榊原康文、小林聡、横森貴.(2001).「計算論的学習」. 培風館
田中曉.(2009).「復習のエージェントによる協調行動の研究のための K4 の改良 エージェン
トとの自然なコミュニケーションを目指して」.中京大学大学院情報科学研究科修士論文
Sutton Richard S. and Barto Andrew G. (2000).「強化学習」
臼井支朗、岩田彰、久間和生、淺井和雄.(1995).「基礎と実践
ニューラルネットワーク」.
コロナ社
和田維作.”良い乱数・悪い乱数”
(http://www001.upp.so-net.ne.jp/isaku/dxor.c.html)
(2010
年 9 月参照)
和田維作.乱数ライブラリ (http://www001.upp.so-net.ne.jp/isaku/rand2.html) (2010 年 9 月
参照)
29