Upload
ohasegawa-lab-tokyo-tech
View
3.557
Download
4
Embed Size (px)
Citation preview
パターン情報ベースの命題論理式の
ための推論機の提案
FIT 2007 第6回情報科学技術フォーラム
東京工業大学 知能システム科学専攻
須藤 明人 坪山 学 張 シンリ 佐藤 彰洋 長谷川 修
2007/09/07
Copyright(C) 2007 Akihito Sudo All rights reserved. 1
研究背景
我々の考える最も重要な問題点:
既存の推論機の多くは
シンボルを操作する推論しか行えない
人工知能の分野では古くから推論に関する研究がなされてきた
既存の推論機は実環境で自律的に動作する知能ロボットには不十分である。
しかし・・・
パターン情報ベースの推論機を提案する
そこで・・・
Copyright(C) 2007 Akihito Sudo All rights reserved.
シンボルをベースとした推論の問題点
Copyright(C) 2007 Akihito Sudo All rights reserved. 3
シンボルをベースとした推論の問題点1
~既存のパターン識別機の限界に起因する問題~
下図のように、シンボル化装置とシンボルベースの推論機を組み合わせれば、 パターン情報ベースの推論機は不要と考えられるが・・・
パターン情報をシンボル化することはいまだ難しいタスクである
例えば、既存のパターン識別機にとっては、机と机でないものを識別することは難しいタスクである。
つまり、上図のような戦略は非現実的
シンボル化
装置 既存の推論機
パターン情報 シンボル
Copyright(C) 2007 Akihito Sudo All rights reserved. 4
将来的に、十分な性能を持つシンボル化装置が開発されたら??
それでも、依然として“パターン情報ベースの推論機”は必要である
Copyright(C) 2007 Akihito Sudo All rights reserved.
シンボルをベースとした推論の問題点2
~自律的なシンボル生成時に起こる問題~
知能ロボットは自律的にシンボルを生成することが求められる
なぜなら、知能ロボットに事前にすべてのシンボルを与えることは不可能
シンボル生成を行うためには、シンボル化したい対象を用いた思考や行動が 必要になる。
その際には、パターン情報を用いた推論も行う必要がある
5
対象 パターン情報
シンボル生成
知能ロボット
対象を用いた思考・推論
対象とのインタラクション
Copyright(C) 2007 Akihito Sudo All rights reserved.
シンボルをベースとした推論の問題点3
~シンボル化に馴染まないパターン情報の存在~
風景や絵の構図、臭いや触覚といった情報はシンボル化になじまない
人間もこれらのパターン情報をシンボル化してから推論しているわけではない
6
臭いや触覚といった情報を用いて 推論するためにはシンボル推論機では不十分
Copyright(C) 2007 Akihito Sudo All rights reserved.
異なる観点からの “パターン情報ベースの推論機”の必要性
Copyright(C) 2007 Akihito Sudo All rights reserved.
熟練者は、パターン情報をシンボル化せずに考えていることも多い
異なる観点からの“パターン情報ベースの推論機”の必要性1
エキスパートシステムの「知識獲得問題の解決」のため
月本は、熟練者の知識を計算機上で実現するために、パターン情報ベースの推論が必要であると主張した 月本洋: パターン推論 ―ニューラルネットワークの論理的推論―, 信学論(D-II), J83-D-D-II, 744-753, 2000.
月本の観点でのパターン推論の必要性は・・・
熟練者
脳画像が であるなら、心電図が である
この知識をシンボルベースの推論機で操作することはできない
Copyright(C) 2007 Akihito Sudo All rights reserved.
異なる観点からの“パターン情報ベースの推論機”の必要性2
シンボルグラウンディング問題の解決・フレーム問題への対処
山根らは、「シンボルグラウンディング問題の解決およびフレーム問題への対処」にパターン情報ベースの推論が寄与すると主張した
山根健,蓮尾高志,末光厚夫,森田昌彦: 軌道アトラクタを用いたパターンベース推論, 信学論(D), J90-D, 933-944, 2007.
Copyright(C) 2007 Akihito Sudo All rights reserved.
従 来 研 究
Copyright(C) 2007 Akihito Sudo All rights reserved.
従来研究1
月本洋: パターン推論 ―ニューラルネットワークの論理的推論―, 信学論(D-II), J83-D-D-II, 744-753, 2000.
<概要>
パターン情報を関数としてとらえ、その関数を学習したフィードフォワード型のニューラルネットワークを命題として扱う
“中間論理LC”等の非古典論理のモデルを用いることで、そのような命題を用いた推論を行えることを示した
<メリット>
連言(かつ)・選言(または)・否定を含んだ論理式を扱える
<デメリット>
命題ごとに新しいニューラルネットワークを用意せねばならないが、 知能ロボットに応用する際に、ニューラルネットワークを用意するタイミングがわからない
Copyright(C) 2007 Akihito Sudo All rights reserved.
従来研究2
山根健,蓮尾高志,末光厚夫,森田昌彦: 軌道アトラクタを用いたパターンベース推論,信学論(D), J90-D, 933-944, 2007.
<概要>
パターン情報を2値ベクトルとしてとらえ、2値ベクトル間の因果関係を学習した単一の非単調神経回路網を用いて推論を行う
<メリット>
多次元ベクトルとして表現したパターン情報を命題として扱うことができる
<デメリット>
連言(かつ)・選言(または)・否定を含んだ論理式を扱えない
2値ベクトルしか扱うことができない
Copyright(C) 2007 Akihito Sudo All rights reserved.
研 究 目 的
Copyright(C) 2007 Akihito Sudo All rights reserved. 14
研究目的1
月本、山根らの両手法のメリットを兼ね備える
月本、山根らの手法両方のメリットを兼ね備えたパターン情報ベースの推論機を構築する
多次元ベクトルとして表現したパターン情報を命題として 扱うことができる
連言(かつ)・選言(または)・否定を含んだ論理式を扱える
つまり・・・
Copyright(C) 2007 Akihito Sudo All rights reserved. 15
研究目的2
それ以外に、ロボットへの適用に有意義な機能も実現する
If-thenルールを追加学習できる
そのためには以下の2点が必要
▪新しい知識を追加しても既存の知識は破壊されない
▪既存の知識と同じである(または極めて類似した)データは追加して覚えない
推論結果の重複の回避
学習すべきif-thenルールをクラスタリングしながら学習することで実現する
ノイズ耐性
▪実環境から得られるセンサー情報はノイズに満ちているため
Copyright(C) 2007 Akihito Sudo All rights reserved.
提 案 手 法
Copyright(C) 2007 Akihito Sudo All rights reserved.
提案手法
提案手法の概略
提案手法は、学習フェーズと推論フェーズに分かれる
<学習フェーズ>
多次元ベクトルを原子命題とするif-thenルールを「自己増殖型ニューラルネットワーク」を拡張したアルゴリズムで学習
任意の形の命題論理式を学習可能(選言、連言、否定を扱える)
<推論フェーズ>
ファクト(A∧B等)が入力されると、学習したif-thenルールを用いて推論を行う
17
Copyright(C) 2007 Akihito Sudo All rights reserved. 18
提案手法
提案手法のアーキテクチャ
提案手法は短期記憶,長期記憶,学習機,推論機からなる
Execute
learning algorithm
Learning Machine Reasoning Machine
Execute
reasoning algorithm
Short Term Memory Long Term Memory
Reference
update
Reference Reference
Reference
Input Learning Phase
If-Then Rule
Reasoning Phase Fact
Cluster 1
・・・
Cluster 2
output
Copyright(C) 2007 Akihito Sudo All rights reserved.
提 案 手 法
学 習 フ ェ ー ズ
Copyright(C) 2007 Akihito Sudo All rights reserved.
提案手法 ~学習フェーズ~
学習フェーズの概要
学習データとしてif-thenルールが入力される
自己増殖型ニューラルネットワークを拡張したアルゴリズムで、 学習データを学習する
学習により、if-thenルールがオンラインでクラスタリングされながら 長期記憶に蓄積される
20
Copyright(C) 2007 Akihito Sudo All rights reserved.
提案手法 ~学習フェーズ~
学習フェーズのフローチャート
21
Find first and second
winner in LTM
Add Inputted If-then Rule
New knowledge?
Create an edge between
the first winner and the
second winner
Eliminate old edges
The number of input data is
integer multiple of l ?
Remove knowledge which
has less than two edges.
YES
NO
YES
Decompose Input to
conjunctive of literals
Learning data remains?
Add 1 to the age of all
edges emanating from
the first winner.
Edge exists between
first and second winner?
Reset age of edge
between first and second
winner
YES
NO
Copyright(C) 2007 Akihito Sudo All rights reserved.
提案手法 ~学習フェーズ~
「リテラルの連言→リテラルの連言」の 形に分解
前処理として、「リテラルの連言→リテラルの連言」の 形に分解する
<例>
学習すべきif-thenルールを以下とする
(A∧¬B)∨C∨(D∧E∧F)→¬G∨(H∧I)
これは、以下のように6個のif-thenルールに分解される
A∧¬B→G A∧¬B→H∧I
C→G C→H∧I
D∧E∧F→ G D∧E∧F→H∧I
22
Find first and second
winner in LTM
Add Inputted If-then Rule
New knowledge?
Create an edge between
the first winner and the
second winner
Eliminate old edges
The number of input data is
integer multiple of l ?
Remove knowledge which
has less than two edges.
YES
NO
YES
Decompose Input to
conjunctive of literals
Learning data remains?
Add 1 to the age of all
edges emanating from
the first winner.
Edge exists between
first and second winner?
Reset age of edge
between first and second
winner
YES
NO
Find first and second
winner in LTM
Add Inputted If-then Rule
New knowledge?
Create an edge between
the first winner and the
second winner
Eliminate old edges
The number of input data is
integer multiple of l ?
Remove knowledge which
has less than two edges.
YES
NO
YES
Decompose Input to
conjunctive of literals
Learning data remains?
Add 1 to the age of all
edges emanating from
the first winner.
Edge exists between
first and second winner?
Reset age of edge
between first and second
winner
YES
NO
以後、これらひとつずつを
「学習データ」と呼ぶ
Copyright(C) 2007 Akihito Sudo All rights reserved.
長期記憶のif-thenルールのなかから、 学習データと距離の近いもの二つを探す
その際に用いる距離尺度は以下の式を用いる
提案手法 ~学習フェーズ~
勝者を見つける
23
Find first and second
winner in LTM
Add Inputted If-then Rule
New knowledge?
Create an edge between
the first winner and the
second winner
Eliminate old edges
The number of input data is
integer multiple of l ?
Remove knowledge which
has less than two edges.
YES
NO
YES
Decompose Input to
conjunctive of literals
Learning data remains?
Add 1 to the age of all
edges emanating from
the first winner.
Edge exists between
first and second winner?
Reset age of edge
between first and second
winner
YES
NO
Find first and second
winner in LTM
Add Inputted If-then Rule
New knowledge?
Create an edge between
the first winner and the
second winner
Eliminate old edges
The number of input data is
integer multiple of l ?
Remove knowledge which
has less than two edges.
YES
NO
YES
Decompose Input to
conjunctive of literals
Learning data remains?
Add 1 to the age of all
edges emanating from
the first winner.
Edge exists between
first and second winner?
Reset age of edge
between first and second
winner
YES
NO
・・・長期記憶に蓄積されたif-thenルール
・・・学習データ
Long Term Memory 第1勝者
第2勝者
Copyright(C) 2007 Akihito Sudo All rights reserved.
提案手法 ~学習フェーズ~
新しい知識であるか判断する
第1勝者と第2勝者の類似度閾値を下式で計算する
もし、以下のいずれかが成り立てば、学習データを新しい知識と判断する
「学習データと第1勝者の距離 > 第1勝者の類似度閾値」
「学習データと第2勝者の距離 > 第2勝者の類似度閾値」
24
Find first and second
winner in LTM
Add Inputted If-then Rule
New knowledge?
Create an edge between
the first winner and the
second winner
Eliminate old edges
The number of input data is
integer multiple of l ?
Remove knowledge which
has less than two edges.
YES
NO
YES
Decompose Input to
conjunctive of literals
Learning data remains?
Add 1 to the age of all
edges emanating from
the first winner.
Edge exists between
first and second winner?
Reset age of edge
between first and second
winner
YES
NO
Find first and second
winner in LTM
Add Inputted If-then Rule
New knowledge?
Create an edge between
the first winner and the
second winner
Eliminate old edges
The number of input data is
integer multiple of l ?
Remove knowledge which
has less than two edges.
YES
NO
YES
Decompose Input to
conjunctive of literals
Learning data remains?
Add 1 to the age of all
edges emanating from
the first winner.
Edge exists between
first and second winner?
Reset age of edge
between first and second
winner
YES
NO
Copyright(C) 2007 Akihito Sudo All rights reserved.
提案手法 ~学習フェーズ~
学習データが新しい知識であれば、 新たに長期記憶に追加する
前ステップで、学習データが新しい知識と判断されれば、 学習データを新たに長期記憶に追加する
このステップの後は・・・
新たな学習データがまた存在していれば、その学習データについて処理を始める
新たに学習データが存在しなければ、処理は終了
25
Find first and second
winner in LTM
Add Inputted If-then Rule
New knowledge?
Create an edge between
the first winner and the
second winner
Eliminate old edges
The number of input data is
integer multiple of l ?
Remove knowledge which
has less than two edges.
YES
NO
YES
Decompose Input to
conjunctive of literals
Learning data remains?
Add 1 to the age of all
edges emanating from
the first winner.
Edge exists between
first and second winner?
Reset age of edge
between first and second
winner
YES
NO
Find first and second
winner in LTM
Add Inputted If-then Rule
New knowledge?
Create an edge between
the first winner and the
second winner
Eliminate old edges
The number of input data is
integer multiple of l ?
Remove knowledge which
has less than two edges.
YES
NO
YES
Decompose Input to
conjunctive of literals
Learning data remains?
Add 1 to the age of all
edges emanating from
the first winner.
Edge exists between
first and second winner?
Reset age of edge
between first and second
winner
YES
NO
・・・長期記憶に蓄積されたif-thenルール
・・・学習データ
Long Term Memory
Copyright(C) 2007 Akihito Sudo All rights reserved.
提案手法 ~学習フェーズ~
学習データが新しい知識では無い時、 第1勝者と第2勝者をエッジで結合する
前ステップで、学習データが新しい知識でないと判断 されれば、第1勝者と第2勝者をエッジで結合する
もし、当該エッジが既に存在していれば、エッジの年齢を0に戻す
26
・・・長期記憶に蓄積されたif-thenルール
・・・学習データ
Long Term Memory 第1勝者
第2勝者
Find first and second
winner in LTM
Add Inputted If-then Rule
New knowledge?
Create an edge between
the first winner and the
second winner
Eliminate old edges
The number of input data is
integer multiple of l ?
Remove knowledge which
has less than two edges.
YES
NO
YES
Decompose Input to
conjunctive of literals
Learning data remains?
Add 1 to the age of all
edges emanating from
the first winner.
Edge exists between
first and second winner?
Reset age of edge
between first and second
winner
YES
NO
Find first and second
winner in LTM
Add Inputted If-then Rule
New knowledge?
Create an edge between
the first winner and the
second winner
Eliminate old edges
The number of input data is
integer multiple of l ?
Remove knowledge which
has less than two edges.
YES
NO
YES
Decompose Input to
conjunctive of literals
Learning data remains?
Add 1 to the age of all
edges emanating from
the first winner.
Edge exists between
first and second winner?
Reset age of edge
between first and second
winner
YES
NO
Copyright(C) 2007 Akihito Sudo All rights reserved.
提案手法 ~学習フェーズ~
第1勝者のエッジの年齢を増やし、閾値以上 の年齢のエッジは削除する
第1勝者が持つ全てのエッジの年齢を1だけ増やす
もし、閾値以上の年齢になったエッジが存在すれば、そのエッジは削除する
27
Find first and second
winner in LTM
Add Inputted If-then Rule
New knowledge?
Create an edge between
the first winner and the
second winner
Eliminate old edges
The number of input data is
integer multiple of l ?
Remove knowledge which
has less than two edges.
YES
NO
YES
Decompose Input to
conjunctive of literals
Learning data remains?
Add 1 to the age of all
edges emanating from
the first winner.
Edge exists between
first and second winner?
Reset age of edge
between first and second
winner
YES
NO
Find first and second
winner in LTM
Add Inputted If-then Rule
New knowledge?
Create an edge between
the first winner and the
second winner
Eliminate old edges
The number of input data is
integer multiple of l ?
Remove knowledge which
has less than two edges.
YES
NO
YES
Decompose Input to
conjunctive of literals
Learning data remains?
Add 1 to the age of all
edges emanating from
the first winner.
Edge exists between
first and second winner?
Reset age of edge
between first and second
winner
YES
NO
Copyright(C) 2007 Akihito Sudo All rights reserved.
エッジを1本以下しかもたないif-thenルールが 長期記憶から削除される
このステップの後は・・・
新たな学習データがまた存在していれば、その学習データについて処理を始める
新たに学習データが存在しなければ、処理は終了
提案手法 ~学習フェーズ~
エッジを1本以下しかもたないif-then ルールを長期記憶から削除する
28
Find first and second
winner in LTM
Add Inputted If-then Rule
New knowledge?
Create an edge between
the first winner and the
second winner
Eliminate old edges
The number of input data is
integer multiple of l ?
Remove knowledge which
has less than two edges.
YES
NO
YES
Decompose Input to
conjunctive of literals
Learning data remains?
Add 1 to the age of all
edges emanating from
the first winner.
Edge exists between
first and second winner?
Reset age of edge
between first and second
winner
YES
NO
Find first and second
winner in LTM
Add Inputted If-then Rule
New knowledge?
Create an edge between
the first winner and the
second winner
Eliminate old edges
The number of input data is
integer multiple of l ?
Remove knowledge which
has less than two edges.
YES
NO
YES
Decompose Input to
conjunctive of literals
Learning data remains?
Add 1 to the age of all
edges emanating from
the first winner.
Edge exists between
first and second winner?
Reset age of edge
between first and second
winner
YES
NO
Long Term Memory
Find first and second
winner in LTM
Add Inputted If-then Rule
New knowledge?
Create an edge between
the first winner and the
second winner
Eliminate old edges
The number of input data is
integer multiple of l ?
Remove knowledge which
has less than two edges.
YES
NO
YES
Decompose Input to
conjunctive of literals
Learning data remains?
Add 1 to the age of all
edges emanating from
the first winner.
Edge exists between
first and second winner?
Reset age of edge
between first and second
winner
YES
NO
Find first and second
winner in LTM
Add Inputted If-then Rule
New knowledge?
Create an edge between
the first winner and the
second winner
Eliminate old edges
The number of input data is
integer multiple of l ?
Remove knowledge which
has less than two edges.
YES
NO
YES
Decompose Input to
conjunctive of literals
Learning data remains?
Add 1 to the age of all
edges emanating from
the first winner.
Edge exists between
first and second winner?
Reset age of edge
between first and second
winner
YES
NO
Copyright(C) 2007 Akihito Sudo All rights reserved.
提 案 手 法
推 論 フ ェ ー ズ
Copyright(C) 2007 Akihito Sudo All rights reserved.
提案手法 ~推論フェーズ~
推論フェーズの概要
ファクトとして「A∧B」や「C」といった命題が入力される
ファクトと、長期記憶に蓄積されているif-thenルールを用いて 推論を行う
推論結果はOR木として出力される
30
Copyright(C) 2007 Akihito Sudo All rights reserved.
出力されるOR木の例
提案手法 ~推論フェーズ~
推論結果の出力形態と、推論結果の例
提案手法はOR木を推論結果として出力する
<例>
長期記憶としてA∧B→C∨(D∧¬E),C→F∨G∨(H∧I),D∧¬E→¬Jを保持しているとする
このとき、A∧Bがファクトとして入力されたときには下図のOR木が出力される
31
A∧B
C D∧¬E
GF ¬JH∧¬I
Copyright(C) 2007 Akihito Sudo All rights reserved.
提案手法 ~推論フェーズ~
推論フェーズのフローチャート
32
Find conditioning parts
similar to input
Add conclusion parts
corresponding to the
similar conditioning parts
as child nodes
Similar conditioning
part exists?
Find conditioning parts
similar to leafs of the tree
Generate a tree which has
single node holding input
YES
Copyright(C) 2007 Akihito Sudo All rights reserved.
提案手法 ~推論フェーズ~
ファクトを保持する根のみを持つ木を生成
まず、入力されたファクトを保持するノードを 根とする木を生成する
<例>
A∧Bがファクトとして入力されたとき、下図の木が生成される
33
Find conditioning parts
similar to input
Add conclusion parts
corresponding to the
similar conditioning parts
as child nodes
Similar conditioning
part exists?
Find conditioning parts
similar to leafs of the tree
Generate a tree which has
single node holding input
YES
生成されるOR木
A∧B
Copyright(C) 2007 Akihito Sudo All rights reserved.
提案手法 ~推論フェーズ~
該当する長期記憶のif-thenルールの結論部を 子ノードに追加
ファクトと、長期記憶のif-thenルールの条件部の距離を 計算する
距離が閾値以下であるif-thenルールの結論部を子ノードとして追加する
<例>
長期記憶としてA∧B→C、 A∧B→(D∧¬E)が存在するとき、下図のようになる
34
Find conditioning parts
similar to input
Add conclusion parts
corresponding to the
similar conditioning parts
as child nodes
Similar conditioning
part exists?
Find conditioning parts
similar to leafs of the tree
Generate a tree which has
single node holding input
YES
生成されるOR木
A∧B
C D∧¬E
Copyright(C) 2007 Akihito Sudo All rights reserved.
提案手法 ~推論フェーズ~
生成された子ノードについて、同様の処理を行う
生成された子ノードと、長期記憶のif-thenルールの 条件部の距離を計算する
距離が閾値以下であるif-thenルールの結論部を子ノードとして追加する
<例>
長期記憶としてC→F, C→G, C→(H∧I), D∧¬E→¬Jがあれば、下図となる
35
生成されるOR木
A∧B
C D∧¬E
GF ¬JH∧¬I
Find conditioning parts
similar to input
Add conclusion parts
corresponding to the
similar conditioning parts
as child nodes
Similar conditioning
part exists?
Find conditioning parts
similar to leafs of the tree
Generate a tree which has
single node holding input
YES
Copyright(C) 2007 Akihito Sudo All rights reserved.
実 験
Copyright(C) 2007 Akihito Sudo All rights reserved.
実験
利用した画像
パターン情報として以下のような画像を利用した
37
A. Close door B. Open door C. Lab.
F. Elevator G. Desk-1 H. Desk-2 I. Desk drawer-1
(close)
J. Desk drawer-2
(close)
K. Desk drawer-1
(open)
L. Desk drawer-2
(open)M. Down stairs N. Room plate
D. Wall E. Hallway
Copyright(C) 2007 Akihito Sudo All rights reserved.
実験
利用した画像
それぞれの対象について、異なったアングルから撮影した20枚の画像を用いた
Copyright(C) 2007 Akihito Sudo All rights reserved.
学習したif-thenルール
以下のような知識を学習させた
閉じたドア→開いたドア
開いたドア→壁∨廊下
廊下→(研究室∧表札)∨エレベータ∨階段
(研究室∧表札)→(机1∧閉まった引出し1)∨(机2∧閉まった引出し2)
(机1∧閉まった引出し1)→開いた引出し1
これは環境の可能性を学習したことにあたる。
39
Copyright(C) 2007 Akihito Sudo All rights reserved.
推論結果
40
∧
∧ ∧
Copyright(C) 2007 Akihito Sudo All rights reserved.
各クラスタのメンバー数
41
Copyright(C) 2007 Akihito Sudo All rights reserved.
ノイズ耐性
42
Copyright(C) 2007 Akihito Sudo All rights reserved. 43
まとめ
以下のような特徴を持つ自己増殖型ニューラルネットワークを拡張した、パターン情報ベースの推論機を提案した
連言、選言、否定を扱うことができる
パターン情報を多値ベクトルで表現できる
オンラインで追加学習が行える
ノイズ耐性を持つ