Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
知能ロボティクス特論~第6講~
諸岡 健一
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
大規模探索空間における最適組合せ問題 複雑で大きな探索空間から,最適解を素早く見つける
ex. 巡回セールスマン問題,スケジューリング等
組合せ最適化問題=評価関数を定め,その値を最大(最小)にするパラメータの組み合わせを求める
パラメータ数の増加に伴い,組み合わせ総数が爆発的に増加
解決策 探索空間についての先験的知識を利用
→ 最適解(あるいは準最適解)を効率的に探索可能 動的に探索空間の知識を蓄積しながら探索手順を制御→ 難しい:適応型探索問題
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
進化的計算 遺伝子情報に基づく生物の環境適応的な進化過程を模した最適解探索法*自然界に存在する個体:染色体によって特徴づけられる
染色体の変異(生殖,突然変異,遺伝子組み換え) 環境による選択・淘汰(適者生存,自然淘汰)によって種の進化が実現
=遺伝子が一定の順序で配列
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
進化的計算 アルゴリズム
遺伝的アルゴリズム(Genetic Algorithm : GA)集団遺伝学(進化論)の考え方を模擬した計算モデル
遺伝的プログラミング(Genetic Programming : GP)プログラム集団間で遺伝的操作
遺伝的機械学習分類子(クラシファイア)システム
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
遺伝的アルゴリズム(GA) 最適化問題の近似解の確率的探索法 目的関数:連続性や微分可能性などの制約なし 定義域は任意の集合でも可
定義個体 :1つの染色体を有す染色体:問題対象の N個の決定変数の集合遺伝子:問題対象の1つの決定変数
基本的な流れ1. 各遺伝子の環境に対する適応度を評価2. 遺伝子操作を適用して,次の世代の個体の集団を生成
上の処理を繰り返す(=世代が進む)につれ,よりよい個体の数が増加⇒ 最適解(準最適解)が得られるであろう
1 2.5 C … 0
染色体
遺伝子
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
個体 配列で記述.各要素が遺伝子(=決定変数)に対応 遺伝子
2値(0 or1) 整数値または実数値 記号,など
初期設定:乱数発生的に多数の個体を生成 個体集団:小探索空間の一部しか表してない→未熟な段階で探索が終了する可能性あり
個体集団:大より良い解への収束が可能↔ 集団の数だけ評価の回数が増え計算時間がかかる
1 2.5 C … 0
染色体
*注意:初期収束に陥りやすい 初期頃の世代で,他の個体より圧倒的に優れた個体が偶然生まれると,その個体の遺伝子が爆発的に増え,探索が早期段階で収束する現象
遺伝子
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
遺伝子操作① 選択・複製世代 tの各個体 iについて,その適応度に応じ次世代に残す子(=遺伝子)の数を増減【選択方法】ルーレット選択,ランキング選択,エリート選択,など
ルーレット選択:適応度に比例する確率で次世代の個体を選択
適応度の高い個体は生き残る可能性は大きいが,淘汰される可能性もある
期待値選択:各個体の適応度から期待値から,生き残る個体数を決定
世代 t の適応度の総和
世代 t における i番目の個体の適応度次世代 t+1 における i番目の個体の選択確率
=個体 i個体 i+1
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
1 0 1 0 1 0 1 0
0 0 1 1 0 0 1 1
1 0 1 0 1 0 1 0
0 0 1 1 0 0 1 1
1 0 1 0 0 0 1 1
0 0 1 1 1 0 1 0
遺伝子操作② 交叉個体をランダムにペアリングし,確率 pc(交叉確率)で2つの個体の遺伝子列を部分的に交換【交叉方法】一点交叉,多点交叉,一様交叉,など
+ =
親個体A 親個体B 子個体
+ =
親個体A 親個体B 子個体
+ =
一点交叉
多点交叉
一様交叉
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
遺伝子操作③ 突然変異確率 pm(突然変異率)で個体の一部の遺伝子を変化
局所最適解に陥ることを防ぐ効果
突然変異率は小さく設定(0.1~数%程度) 確率小:十分に広域的な探索が行えず,局所解に捕らわれる 確率大:ランダム探索となり収束しにくい(突然変異率が高いと遺伝子は急激に劣化し,進化しない)
1 0 1 0 1 0 1 0
1 1 1 0 0 1 1 1
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
GAによる探索手順1. ランダムに Np個の個体を作り,初期個体集団 P(1) を生成.世代 t = 1 とする.
2. 現世代個体集団 P(t) にある,各個体の適応度を計算3. 遺伝子操作を適用し,次世代個体集団 P(t+1) を生成4. t Ng(計算終了までの世代数)ならば,Step.5 へそうでなければ,世代を t = t+1 とし,Step.2へ
5. 探索終了。これまでに得られている最大適応度の個体=準最適解
現世代個体集団 評価 交叉
選択・複製
突然変異
次世代個体集団
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
遺伝的プログラミング(GP) 遺伝子を木構造で記述 ⇔ GA:配列で表現 GAでは表現できない数式やプログラムのコードなど,構造を持ったデータを表現可能
ex. 数式の木構造
*
X %
X 1.81
-
% *
X +X -3.79
2.34 2.10
*
* 0.07
-1.62 X
*K
yush
u U
niv.
Inte
llige
nt R
obot
s&
Vis
ion
Syst
em
遺伝的プログラミング(GP) 遺伝子を木構造で記述 ⇔ GA:配列で表現 GAでは表現できない数式やプログラムのコードなど,構造を持ったデータを表現可能
ex. プログラムの木構造main(void){
i = 22;j = sqrt(i);k = i+j;
}
i j
main
=
i 22
=
j sqrt
=
k +
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
遺伝的プログラミング(GP) 遺伝子を木構造で記述 ⇔ GA:配列で表現 GAでは表現できない数式やプログラムのコードなど,構造を持ったデータを表現可能
個体=解の候補
個体集団(解候補の集団)から,遺伝子操作でよりよい解候補を見つける
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
GPにおける遺伝子操作 木構造に対する遺伝的操作ex. 交叉
+
ln 0.1
%
s/x
5 sqrt
τ
%
*
ln 2
s/x
sqrt
τ
%
5*
ln 2
s/x
+
ln 0.1
%
s/x
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
GPにおける遺伝子操作 木構造に対する遺伝的操作ex. 突然変異
+
ln 0.1
%
s/x
5 exp
τ -r
*
+
ln 0.1
%
s/x
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
GPによるロボット動作獲得 複数種類のセンサを有する移動ロボット 接触センサ:接触している物体の識別子をリストで返す
レーダ・センサ:5本の放射線状の距離センサについて最も近い物体との距離を返す
アイセンサ視野内にある物体の識別子をリストで返す
衝突センサロボットが物体に衝突したかを返す
目標認識センサ目的地から発信されるレーダにより,目的地とロボットとの距離を返す
ロボットの進行方向
ロボット
アイセンサ
レーダ・センサ・接触センサ・衝突センサ 目標認識
センサ
60°
30°
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
GPによるロボット動作獲得 タスク:箱を目的地まで運ぶ
部分問題1. 箱と障害物との違いを認識する2. 制限時間内に箱を目的地まで運ぶ 1回評価(実行)するのに1タイムステップロボットの制限時間は800タイムステップ
ロボット
箱
壁
障害物
目的地
ロボットの作業空間
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
終端記号
コマンド名 動作Spd 単位時間にその時点のロボットのスピード分だけ進むTurn-Left 単位時間に10.0°向きを左に変えるTurn-Right 単位時間に10.0°向きを右に変えるGrasp 腕の長さの範囲内にある物体(箱,障害物)を掴む.
• 掴んだ物体が箱 → ロボットと一緒に移動• 〃 障害物 → 移動できない
Release 持っている物体を離す
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
非終端記号関数名 定義
(Prog2 p1 p2) p1,p2と逐次的に評価して,p2を評価した結果を返す
(Case-Touch p1 ... p5) 接触している物体が1)箱→ p1,2)目的地→ p2,3)障害物→ p3,4)壁→ p4,5)何もない→ p5をそれぞれ評価
(Case-Eye p1 ... p5) 視野の範囲内にある物体が1)箱→ p1,2)目的地→ p2,3)障害物→ p3,4)壁→ p4,5)何もない→ p5をそれぞれ評価
(Case-Radar p1 ... p5) 5本の放射線状の距離センサで i本目のセンサ値が最小のとき,piを評価
(If-Bumped p1 p2) ロボットが物体に衝突→ p1それ以外→ p2 をそれぞれ評価
…
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
適合度 ロボットが箱を運んだ場合
ロボットが一度も箱を運ばなかった場合
:箱の初期位置:実行終了時(800タイムステップ後)の箱の位置:目的地の位置:実行終了時のロボットの位置: x と y のユークリッド距離
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
遺伝的機械学習 遺伝子にコーディングされたルールあるいはルール集合を,GAを用いて自動的に選択・生成する
Pittsアプローチ 個体=ルール集合(ルール:if <condition> then <action>) 個体の適応度=ルール集合を適用した場合の評価
環境
ルール評価システムルール集合1ルール集合2
ルール集合N
遺伝的アルゴリズム
…
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
クラシファイアシステム Michiganアプローチ 個体=ルール, 個体集合=ルール集合 個体の適応度=ルールの信頼度
環境
クラシファイアストアクラシファイア(ルール)1
遺伝的アルゴリズム
…
メッセージリスト
発火
変換
環境からの情報
イフェクタ
変換
環境への出力
クラシファイア(ルール)2
クラシファイア(ルール)2
ディテクタ
適応度に応じて決定
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
2つのアプローチの比較 いくつかのルールを適用して問題を解くとき,その結果に対する評価を個体に与える Michigan:各ルール(=個体)へ報酬を分配 → どうやって?
Pitts:1つのルール集合(=個体)へ適応度
処理のコスト Michigan:オンライン・実時間処理に向いている
Pitts:前もってルールを生成・獲得する必要
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
GA
遺伝的操作 環境との相互作用
生物の進化過程の図式
交叉Crossover
突然変異Mutation
選択Selection
発生Development
Kyu
shu
Uni
v. In
telli
gent
Rob
ots
& V
isio
n Sy
stem
まとめ GAは,大規模な組合せ最適化問題において,効率的に探索→大規模化・複雑化する工学システムに対する適用可能性
実装が比較的容易
初期個体の設計に関する一般的方法論が確立されていない 初期収束問題 個体集団のサイズ
計算量が膨大