• 検索結果がありません。

本章では,MLDAを用いて形成された物体,動き,場所,人物の概念を統合す ることで,より上位の概念を階層的に形成することを考える.図4.1に提案する

mMLDAのグラフィカルモデルを示す.図4.1において,zは統合概念を表すカテ

ゴリであり,zOzMzPzU はそれぞれ下位概念に相当する,物体,動き,場 所,人物カテゴリである.上位カテゴリzは,下位カテゴリ間の関係を表現した モデルとなっている.また,wvwawhは,それぞれ物体から得られる視覚,聴 覚,触覚情報であり,wpwcwswyは物体を扱っている際の人の動き,座標,

性別,年齢の情報である.さらに,wwwwOwwMwwPwwU は,教示発話か ら得られる単語情報である.以下,下位及び統合概念について詳しく述べる.

h

h

h p

p

p M

M

M

O

O

O wO

wO

wO wM

wM wM c

c

c P

P

P wP

wP wP U

U

U wU

wU

wU

s

s

s y

y

y

w w

w

Integrated Concept

Word

Motion Concept

Angle

Object Concept

Visual Audio Haptic Position

Gender

Age Word Word Word

Word

Place Concept Person Concept

図 4.1: mMLDAのグラフィカルモデル

4.2.1 下位概念

物体概念は,ロボットが実際に取得したマルチモーダル情報をカテゴリ分類す ることにより形成する.つまり,視覚・聴覚・触覚・単語情報wvwawhwwOが その類似性により分類され,物体カテゴリzOが形成される.ここで用いるロボッ トプラットフォームは,前章のアームロボット(図3.4(a))と同じである.前述 のように,知覚情報はBag of Features(BoF)モデルを用いて表現する.視覚情 報としては,取得した物体画像を128次元のDSIFTを用いて変換し,ベクトル量 子化することで500次元のヒストグラムとする.聴覚情報は,MFCCを特徴量と し,ベクトル量子化することで50次元ヒストグラムとする.同様に,触覚情報は,

取得した触覚センサのデータに対する曲線近似のパラメータをベクトル量子化し,

15次元ヒストグラムとする.また,全ての教示発話を単語分割し,Bag of Words

(BoW)モデルを用いて表現したものを単語情報として扱う.

物体概念と同様に,図4.1の下側に示すMLDAと等価なモデルによって動き概 念のモデル化を行う.動き情報は,人の動作中の11箇所の関節角度を,動作開始 から動作終了までKINECTを用いて取得することを前提とする.また動きの情報 は,操作対象となる物体によって分節することができると仮定している.一つの 動作から複数の11次元の特徴ベクトルが得られ,それをあらかじめ計算した70の 代表ベクトルによりベクトル量子化することで70次元のヒストグラムとし,これ を動き情報として用いる.

場所概念は,人の動作中の座標を動作開始から動作終了まで取得することで形 成する.一つの動作から複数の2次元座標が得られるため,これらをベクトル量 子化し,6次元のヒストグラムとすることで場所情報とする.代表ベクトルは,学 習データをK平均法によりクラスタリングすることで決定する.

人物概念の形成では,動作中の人の顔画像から,性別及び年齢の推定を行い,こ れらの値を人物情報として扱う.他の概念と同様,性別・年齢の推定結果を基に データの量子化を行い,2次元の性別ヒストグラムと10次元の年齢ヒストグラム を人物情報として用いる.

4.2.2 統合概念

提案モデルにおいて,物体,動き,場所,人物概念は,それぞれMLDAで表現 されており,さらにその上位でそれらの概念の関係を統合概念としてのMLDAで 表現する二層構造となっている.物体,動き,場所,人物概念を独立したMLDA として学習し,その学習結果を統合概念として学習することも可能であるが,前 章で明らかとなったように,そのような方法では各概念が相互に影響を与えるこ とができない.そこで,各概念を表す隠れ変数zzC ∈{zO,zM,zP,zU}を同時に学 習する手法を以下に提案する.

学習にはギブスサンプリングを用いる.つまり,各概念を表すカテゴリz,zC を,観測データ wm ∈{wv,wa,wh,wwO,wp,wwM, wc,wwP,ws,wy,wwU,ww}に基づい たサンプリングによって推定する.ただし,wcはハイパーパラメータϕcによって 決まるディリクレ事前分布に従うβcをパラメータとする多項分布によって生成さ れる.またカテゴリzzCは,それぞれハイパーパラメータααCによって決ま

るディリクレ事前分布に従うパラメータθθCをパラメータとする多項分布によっ て生成されるモデルである.サンプリングには,θθCβmを周辺化した以下の 事後分布を用いる.

P(zjmi, zCjmi|Zjmi,ZCjmi,Wm)

P(zjmi|Zjmi)P(zjmiC |zjmi,Zjmi,ZCjmi)P(wjim|zjmiC ,ZCjmi,Wmji) (4.1) なお,右辺のそれぞれの確率分布は次のようになる.

P(zjmi =k|Zjmi) = α+Nj,z=kjmi

+Njjmi, (4.2)

P(zCjmi =l|zjmi =k,Zjmi,ZCjmi) = αC +Nz=k,zjmiC=l

KCαC +Nz=kjmi, (4.3) P(wjim =x|zjmiC =k,ZCjmi,Wmji) = ϕm+NzCjmi=k,wm=x,m

Wmϕm+NzCjmi=k,m

, (4.4)

ただし,Z,ZCは,それぞれ全物体の全情報に割り当てられた上位カテゴリと下 位概念のカテゴリの集合を表し,Wmはモダリティmの全物体の情報の集合であ る.Njzは物体jの全モダリティに上位カテゴリzが割り当てられた回数であり,

NzCwmはモダリティmの特徴量wmに下位カテゴリzCが割り当てられた回数であ る.また,Nz,zC は上位カテゴリzと下位カテゴリzCの共起した回数を表してお り,KKCWmはそれぞれ上位カテゴリのカテゴリ数,概念Cのカテゴリ数,

モダリティmの情報の次元数である.負の添字はその情報を除外することを表し,

−jmij番目の物体のモダリティmのi番目の情報を除外することを表している.

モデルの学習は,隠れ変数であるzzC を,収束するまで事後分布からサンプ リングすることによって実現できる.しかし,隠れ変数が複数あり,複雑なモデ ルであるため,全てのパラメータを同時に求めると局所解に陥りやすいといった 問題がある.そこで前章と同様に,図4.1の右側に示す下位カテゴリzCを個々の 独立したMLDAとして学習し,下位概念のパラメータβmを先に決定する.この

とき,各カテゴリzC ∈ {zO, zM, zP, zU}は,次式を用いてサンプリングする.

zjmiC P(zjmiC |wmji,Wmij,ZCjmi,Zjmi)

z

P(z|Zjmi)P(zjmiC |Zjmi,ZCjmi, z)

×P(wmji|Wmji,ZCjmi, zCjmi) (4.5) このサンプリングを収束するまで繰り返すことで,式(4.4)を決定する.次に,式

(4.4)を固定し,上位カテゴリz,下位カテゴリzCをサンプリングする.

zjmi P(zjmi|wmji,Wmij,ZCjmi,Zjmi)

zC

P(zjmi|Zjmi)P(zC|Zjmi,ZCjmi, zjmi)

×P(wmji|Wmji,ZCjmi, zC) (4.6) このとき,下位カテゴリzCが上位概念の影響を受けて更新されることに注意が必 要である.Algorithm 3とAlgorithm 4がそれぞれ,下位概念のパラメータの決定 と,モデル全体の学習アルゴリズムである.以上のようなサンプリングを繰り返 すことで,Nがある値へと収束する.Kを上位カテゴリのカテゴリ数とするとき,

最終的なパラメータの推定値βˆwmmzCθˆCzzCθˆjzは以下のようになる.

βˆwmmzC = NzCwmm+ϕm

NzCm+Wmϕm, θˆCzzC = NzzCm+αC

Nzm+C, θˆjz = Njz+α

Nj +Kα, (4.7) ただし,Wmはモダリティmの次元数を表し,NzCwmmはモダリティmwmに下 位カテゴリzCが割り当てられた回数を表す.

Algorithm 3 Multilayered MLDA (bottom layer)

1: for all i, j, C, m do

2: u← draw from Uniform [0,1]

3: for k 1 to KC do

4: P[k]←P[k1] +P(zjmiC =k|wmji,Wmji,ZCjmi,Zjmi)

5: end for

6: for k 1 to KC do

7: if u < P[k]/P[KC] then

8: zjmiC =k, break

9: end if

10: end for

11: end for

Algorithm 4 Multilayered MLDA (whole layer)

1: for all i, j, C, m do

2: for k 1 to K do

3: P[k]←P[k1] +P(zjmi =k|wmji,Wmji,ZCjmi,Zjmi)

4: end for

5: u← draw from Uniform [0,1]

6: for k 1 to K do

7: if u < P[k]/P[K] then

8: zjmi =k, break

9: end if

10: end for

11: for k 1 to KC do

12: P[k]←P[k1] +P(zjmiC =k|wmji,Wmji,ZCjmi,Zjmi)

13: end for

14: u← draw from Uniform [0,1]

15: for k 1 to KC do

16: if u < P[k]/P[KC] then

17: zjmiC =k, break

18: end if

19: end for

20: end for