7月 5日 生体の運動制御のための学習モデル

topics
1.
2.
3.
4.
計算論的神経科学とは
運動制御に関わる脳の生理学的知見
パーセプトロン、強化学習
生体の運動制御のための学習モデル
– 逆モデル学習
5. 運動の滑らかさを規範とするヒト腕運動生成
モデル
–
–
躍度最小モデル
トルク変化最小モデル
6. 運動のばらつきを元にしたヒト腕運動生成モ
デル
7. ヒトの指の運動について
1
生体の運動の分類
• 随意運動 (voluntary movement)
– 意識的 ←学習により獲得
• 反射運動 (reflex movement)
– 脊髄反射など
• 自動運動 (automatic movement)
←生得的
– 歩行、心臓など
2
随意運動
• 随意運動の例としてヒトの2点間到達運動
• 2点間到達運動の計算問題
– 運動の目標
– 作業座標系での望ましい軌道
– 身体座標での望ましい軌道
– 実現軌道
軌道決定
座標変換
制御
• 上の3つの問題が解かれなければならない
3
到達運動(reaching movement)
• 目標位置 (x,y)
1. 軌道決定
(Trajectory determination)
• 作業座標系での軌道
(x(t), y(t))
2. 座標変換
(Inverse kinematics)
• 身体座標系での軌道
(q1(t), q2(t))
3. 制御
(Motor control)
• 運動指令 (t1(t), t2(t))
不良設定問題
• 良設定問題 (well-posed problem)
– 解が存在する
(実行不可能な運動)
– 解が一意である
– 解がデータに連続的に存在する
(運動の切り替えが必要)
• これらが一つでも満たされない問題を
不良設定問題(ill-posed problem)
5
随意運動の不良設定性
• 軌道決定 (Trajectory determination)
ある点まで手を伸ばすのに無数の軌道が存在
• 座標変換 (Inverse kinematics)
ある姿勢を実現するのに無数の関節角の組み合わせが存在
• 制御 (Motor control)
ある関節トルクを出すのに無数の筋張力の組み合わせが存在
6
軌道決定
(Trajectory determination)
例:2点間到達運動 (Reaching movement)
水平面内で行われるある点からある点まで
手を伸ばす運動
実現可能な軌道(手先の軌跡や速度の
プロファイル)は無限にある
7
座標変換
運動学(Kinematics)
• リンクの空間的な位置関係を記述する問題
– 位置、速度、加速度
– 時間と共に変化するリンク機構の幾何学的関
係を解析する
• 順運動学(Forward Kinematics):関節角から
手先位置を求める
• 逆運動学(Inverse Kinematics):手先位置か
ら関節角を求める
8
平面2関節アームの運動学
• 順キネマティクス
(x, y)
L2
q2
L
• 逆キネマティクス
q1
L1
9
平面3関節アームの運動学
同じ手先位置であるが、姿勢が無限に存在
3関節以上では逆キネマティクスに冗長性を有する
10
制御
Motor Control
筋肉の冗長性
単関節
ある関節角を実現する伸筋
屈筋の組み合わせは無数
2関節6筋モデル
2関節筋などの作用で
さらに複雑
11
運動の冗長性
(Redundancy)
多関節システムである生体の運動の生成は、実
現するための軌道計画、座標変換、制御、それ
ぞれのレベルで解が複数ある問題
冗長性、自由度問題(Degrees of Freedom)
=生物が巧みに運動を行う本質的な性質の1つ
解く事が難しい問題
12
ヒト腕の制御メカニズム
• 2点間到達運動における3つの計算問題
– 軌道生成 (Trajectory determination)
– 座標変換 (Kinematics)
– 制御 (Motor control)
• ヒトはどのように自分の腕を制御して
いるのか?
13
ヒト腕の制御における時間遅れ
感覚フィードバックの時間遅れ
– 視覚情報によるフィードバック100〜200msec
– 体性感覚によるフィードバック50〜100msec
– 普通の到達運動の運動時間は200msec〜1sec
フィードバック制御では困難
14
フィードバック制御
現在の制御量を測定し、それを目標値と
比較して偏差に応じて制御入力を修正
例:空調
希望する温度を設定
現在の室温との差に基づいて風量などを決定
空調機
設定温度 + 偏差
-
コントローラ
部屋
室温
センサ
15
時間遅れのある
フィードバック制御系
100〜200ミリ秒前の自分の手の位置しか
わからない
目標
目標位置を過ぎたときに
届いたと認識
スムーズに目標
位置に届かない
運動開始位置
手が目標位置に届いた
まだ手前だと思っている
フィードバック制御では困難
16
時間遅れがあるシステムの
目標軌道に沿う制御方法
• 逆モデルを制御器に用いる方法
ü 逆モデル:制御対象と入出力が逆であるモデル
目標軌道
制御器
運動指令
制御対象
実現軌道
• 順モデルを用いる方法
ü 順モデル:制御対象と同じ入出力をもつモデル
目標軌道 +
−
予測軌道
制御器
運動指令
制御対象
実現軌道
順モデル
17
時間遅れがあるシステムの
目標軌道に沿う制御方法
• 逆モデルを制御器に用いる方法
ü 逆モデル:制御対象と入出力が逆であるモデル
目標軌道
制御器
運動指令
制御対象
実現軌道
1. 手先の目標の位置を知覚
2. その位置に到達できる目標軌道を事前に決定
3. その軌道に従って腕を動かすための運動指令
(脳から筋肉への信号)を運動開始前に脳で
計算
4. 腕は目標軌道通りに動く
18
逆ダイナミクスモデル
• 目標軌道から関節トルクへの変換
– 非線形微分方程式
– 複雑なため、脳がこのような変換を計算で
きるかが問題となる
19
2関節アームのダイナミクス
(制御対象の運動方程式)
(x, y)
L2
M2
M : 慣性行列
h: 遠心力、コリオリ力
B: 粘性力
g: 重力
M1
q1
q2
L1
I : 関節まわりのモーメント
20
ヒト腕のダイナミクス方程式
• 非線型
• 干渉
– 複雑な方程式
• さらに多くの自由度
を考える
– 肩と肘で5自由度
21
2関節5自由度の運動方程式
22
2関節5自由度の運動方程式
さらに筋張力から関節トルクへの変換、脳から
の運動指令から筋張力への変換を考えると、か
なり複雑な非線形方程式となる
23
終端位置制御仮説(Bizzi1976)
筋肉の特性
• 伸筋と屈筋が釣り合う
位置が存在
• 目標姿勢の望ましい伸
筋と屈筋が実現する運
動指令だけを生成し、
あとは筋の慣性や粘性
で滑らかに動く
目標軌道やダイナミクスを
解く必要がなく目標姿勢だ
けを設定
加速度が運動開始時に
不連続に
24
目標軌道は計画されているか
Bizziらの実験(1984)
– サルに暗闇でリーチング
運動をさせる
– 肘の動きを助けるように
トルクを発生
• トルクを発生している区間
で目標に到達しているのに、
手を戻して再びターゲット
へ
• 身体の末梢から脳に向かう
神経を切断しても同じ動作
目標姿勢の計算だけでなく、
軌道計画をしている事を示す→目標軌道に合うように制御
25
仮想軌道制御仮説(Bizzi)
• やはりダイナミクスの計算はしていな
いのではないか?
• 平衡位置を目標位置だけでなく、軌道
の途中にいくつか計画(仮想軌道)
• 実際の手の軌道はこの仮想軌道を追い
かけるように実現
– 逆ダイナミクスの計算が必要でない
26
仮想軌道の計算
運動中の腕の剛性を計
測し、それを用いて2
点間到達運動の仮想軌
道を計算(片山ら)
750msecでの運動
27
仮想軌道の計算
• 複雑な仮想軌道を計
算しないと直線軌道
を描かない
• BP法により多層神経
回路で逆ダイナミク
スは学習可能
500msecでの運動
逆ダイナミクスを解いた、
フィードフォワード制御が
行われていると考えるべき
28
フィードフォワード制御
制御対象の逆モデルを獲得し、それを用い
てフィードフォワード制御する
目標軌道
制御器
運動指令
制御対象(腕)
実現軌道
=
逆モデル(逆ダイナミクスモデル、IDM)
29
フィードフォワード制御
制御対象の逆モデル(制御対象と入出力
が逆であるモデル)を獲得し、それを用
いてフィードフォワード制御する
目標軌道
制御器
運動指令
制御対象(腕)
実現軌道
=
逆モデル(逆ダイナミクスモデル、IDM)
目標軌道を運動開始前に計画
制御器が正確でない、あるいは外乱などで目標位置に届かない
30
制御器の学習実験
仮想的な力が加わる環
境で到達運動を練習
(学習する)
粘性力場
腕が動く方向と90度回
転した方向に、腕の速度
に比例した力が手先に加
わる
A. 実験装置
B. 力場
C. 粘性が加わってない
場合の手先の軌跡
D. 粘性が加わった場合
の手先の軌跡
Shadmehr and Mussa-Ivaldi (1994)31
制御器の学習実験
Shadmehr and
Mussa-Ivaldi
(1994)
• F1〜F4:粘性力場中での運動学習の様子。徐々に
ターゲットに直線的に到達できるようになる
• C1〜C4:学習中に突然力場を発生させなかったとき
の軌跡。力場に合わせたダイナミクスを学習してい
るので、力場と反対方向に軌道が曲がる
32
逆ダイナミクスモデルの学習
• 遺伝的に与えられているとは考えられない
Ø成長、老化などでダイナミクスは変化
→学習により獲得されているであろう
• 教師信号は?
Ø一般に望ましい軌道を実現する運動指令
(筋張力)はわからない
ü 教師あり学習はできない?
ü 強化学習(試行錯誤)のような効率の悪い学
習か?
33
直接逆モデリング
Albus 1975
制御対象の入出力を入れ替えて学習
1. 適当なトルクを制御対象(腕)に入力
2. そのトルク列と実現軌道の組合わせの入力と出
力を入れ替えて学習を行う
34
直接逆モデリング
Albus 1975
• 冗長性に対処できない
– ある軌道を実現するトルク(筋張力)が複数有る時に学習で
きない
• 目標指向性が無い
– 学習と共に目標軌道に対する誤差が減るか?
• 学習と制御が分離している
35
順逆モデリング
Jordan&Rumelhart 1992
順モデルを学習しておいて、その後逆モデルを
学習
1. まず、順モデル(トルクから軌道を計算するモデ
ル)を学習
2. 順モデルが学習後に制御を行った時に、軌道誤差
を順モデル内を逆伝搬して逆モデルの誤差信号と
して利用し、逆モデルを学習
36
順逆モデリング
Jordan&Rumelhart 1992
• 冗長性、目標指向性は良い
• 誤差逆伝搬則が本質的に必要
– 順モデルを逆向きに使って軌道誤差を運動指令誤差に変換
• 制御対象の変化の際に順モデルの再学習が必要
– 先に順モデルの学習が必要
37
Feedback誤差学習
Kawato 1988
Feedback制御器とFeed Forward制御器の重ね合わせ
– 学習初期は主にFeedback制御で制御される
– そのときのフィードバック信号を近似的な誤差信号として
逆ダイナミクスモデルを学習
– 学習が進み、逆ダイナミクスモデルが適切なトルクを計算
するようになると、軌道誤差が小さくなるので、Feedback制
御器からの出力が小さくなる
38
Feedback誤差学習
Kawato 1988
• 冗長性、目標指向性などは解決
• 学習と制御が同時
学習の最初から目的の運動を繰り返し、徐々にうまくなる
• 学習の安定性も証明
適当なフィードバックコントローラがあれば学習は収束する
39
大脳小脳連関の
フィードバック誤差学習
• 運動の制御は小脳
– 逆ダイナミクスモデ
ルは小脳?
• 大脳と小脳の間の
ループによりフィー
ドバック誤差学習が
実現
40
閉ループ制御のフィードバック
誤差学習(Gomi, Kawato 1991)
フィードバック誤差学習の制御スキームを閉
ループ制御に拡張
41
前庭動眼反射と視機性眼球運動
• 前庭動眼反射
– 頭の回転を半規管で検出し、
それと逆方向に眼球を回転
させ、網膜上の像のぶれを
抑える制御
– 検出した回転量が目標軌道
Feedforward制御
• 視機性眼球運動
– 網膜上のぶれによる制御
Feedback制御
42
FB誤差学習を用いた眼球運動
制御モデル(Gomi, Kawato 1992)
43
実ロボットを用いた
モデルの検証 (森ら 1999)
• ロボットのヴィジュアルサーボ制御での
実験
• 問題点
– 画像処理に時間がかかる
– 制御対象の非線型性
制御が難しい
眼球運動での問題点とほぼ同じ
44
実機での検証
• ロボットの前足を屈伸
させて左右に揺動させる
• Pan方向だけの首関節を
制御
• Neural Networkは5入力
(Pitch,Roll軸の角速度
センサ、Yaw軸の加速度
センサ、視野内のター
ゲットのぶれ、現在の関
節角)
45
遅い周期の運動の学習(後ろ)
周期 2.7秒
学習前
学習後(約2時間後)
46
遅い周期の運動の学習(前)
周期 2.7秒
学習前
学習後(約2時間後)
47
遅い周期の運動の学習(上)
周期 2.7秒
学習前
学習後(約2時間後)
48
視野内のターゲットのぶれ
学習前
学習後
49
学習時のネットワークの出力
学習前
学習後
50
ジャイロセンサと関節角速度
学習前
学習後
学習後には位相が合って、bodyの動きを補償
51
早い周期の運動の学習(後ろ)
周期 1.6秒
学習前
学習後(約2時間後)
52
早い周期の運動の学習(前)
周期 1.6秒
学習前
学習後(約2時間後)
53
早い周期の運動(上)
周期 1.6秒
学習前
学習後(約2時間後)
54
Forward-propagation学習則
(永澤ら2002, 大濱ら2005,2006など)
目標軌道
運動計画
逆モデル
運動指令
+
-
実現軌道
制御対象
軌道誤差
Forward-propagation
神経機構を考慮した新しい学習スキーム
Forward-propagation(誤差順伝播)学習則
誤差逆伝播経路を仮定しない
広義ニュートン法に基づく収束の速い学習
Forward-propagation学習:信号伝播
逆モデル
教師信号推定
制御対象
教師信号推定
目標軌道
実現軌道
g1
g2
運動指令
結合荷重更新
結合荷重更新
軌道誤差
f
教師信号推定
目標軌道
多層神経回路
s(1)
xd
+
運動指令 制御対象 実現軌道
s(2)
s(3)
g2
g1
t
xr
f
軌道誤差
-
Ds(1)
Ds(2)
Ds(3)
• 誤差順伝播が全層の教師信号を導く
• 教師信号を実現するようにg1,g2の適応(結合荷重更新)
→ 逆モデルの獲得
ニュートン法による教師信号の推定
s(2)
s(1)
xd
+
-
g2
g1
Ds(1)
Ds(2)
Ds(1)
^ (2)
s
s(2)
s(3)
t
xr
f
Ds(3)
ニュートン法による教師信号の推定
s(2)
s(1)
xd
+
-
g2
g1
Ds(1)
Ds(1)
s(3)
Ds(2)
Ds (1)をs
s(2)
t
xr
f
Ds(3)
(2)の関数として考えて
^をニュートン法で推定
の近似解s (2)
未知システムfの微分計算は困難
広義ニュートン法による教師信号推定
(仮定) → 近似逆モデル
多層神経回路がある程度近似した逆モデル を既に獲得している
ニュートン法
広義ニュートン法
誤差順伝播
逆モデル学習のシミュレーション
2リンク・マニピュレータの逆ダイナミクスモデル学習
入力層6個
中間層6個
出力層2個
t1
t1
y[m]
0.5
0.4
0.3
0.2
0.1
0
-0.1
-0.2
End
ジャーク最小軌道
Start
0
0.2
x[m]
0.4
0.6
誤差順伝播則による学習結果
目標軌道
近似逆モデルによる実現軌道
誤差順伝播則50回による実現軌道
平均軌道誤差
1.8
初期状態は
1.6
同じ近似モデル
1.4
0.5
y[m]
0.4
1.2
0.3
誤差順伝播則
1
0.2
0.8
フィードバック誤差学習
(誤差逆伝播則を利用)
0.6
0.4
0
-0.1
0.2
0
0.1
0
100
200
300
学習回数
400
0
0.2
0.4
x[m]
0.6
ニュートン法による教師信号の推定
目標軌道
^ (2)
の近似解s をニュートン法で推定
運動指令
s(1)
xd
+
s(2)
g1
多層神経回路
s(3)
g2
t
実現軌道
xr
f
軌道誤差
-
Ds(1)
Ds(2)
Ds(3)
制御対象
Ds(1) を最小化するようなs (2) を推定
Ds(1)をs(2)の関数として考えて
Ds(1)
の近似解s (2)をニュートン法で推定
s(2)
未知システムf の微分計算は困難
逆モデル学習のシミュレーション
2リンク・マニピュレータの逆ダイナミクスモデル学習
y[m]
入力層6個
0.5
中間層6個
出力層2個
0.4
End
ジャーク最小軌道
Start
0.3
0.2
0.1
0
-0.1
-0.2
0
0.2
x[m]
0.4
0.6
誤差順伝播則による学習結果
目標軌道
近似逆モデルによる実現軌道
誤差順伝播則50回による実現軌道
平均軌道誤差
1.8
初期状態は
1.6
同じ近似モデル
1.4
0.5
y[m]
0.4
1.2
0.3
誤差順伝播則
1
0.2
0.8
フィードバック誤差学習
(誤差逆伝播則を利用)
0.6
0.4
0
-0.1
0.2
0
0.1
0
100
200
300
学習回数
400
0
0.2
0.4
x[m]
0.6
数十回の学習で適切な逆モデルを獲得することができる!
逆モデル学習
• フィードバック誤差学習
– BP法を使う限り、学習は遅いが安定して収
束する
• 誤差順伝搬則
– 近似逆モデルが必要
– 学習は早いが、不安定なケースが多々ある
両者を組み合わせることで、近似逆モデルが
要らなくなり、学習が安定(清澤ら2015)
67