1. visual_delta
2. auditory_delta
3. text_delta
Atra本体でいう本格的な差分とはまだ違って、今回のHTMLでは 観察しやすいように簡略化した差分にしています。
1. visual_delta:映像の差分
これが一番分かりやすいかも。カメラ映像を毎フレーム見て、
前のフレーム
今のフレーム
を比べています。
visual_delta = 今の画像 - 前の画像
実際には、画面を細かいグリッドに分けています。
12 × 8 = 96
なので、Atra内部風にはこうです。
visual_delta[0] 〜 visual_delta[95]
たとえば、手が動いたり、顔が少し動いたり、光が変わると、その部分のセルが反応します。
ログではここです。
visual_delta_first24
pattern_visual_first24
visual positive bits: 42 / 96
visual_delta_first24 は、連続値の差分です。
0.020
0.323
0.609
1.0
みたいに出ます。
別デモ・データ
そのあと、アソシアトロンに入れるために、
強い差分 → +1
弱い差分・立っていない差分 → -1
へ変換しています。
それが、
pattern_visual_first24
です。
2. auditory_delta:音の差分
音は、マイク入力から波形とスペクトログラム風の成分を取っています。ここでは音声認識はしていません。
「ワタナベ」と文字起こししているわけではない
誰の声か認識しているわけでもないし、
感情判定しているわけでもない
やっているのは、
音の強さ
周波数帯の分布
声の立ち上がり
波形の揺れ
を簡易的に取ることです。
ログではここです。
auditory_delta_first16
pattern_audio_first16
audio positive bits: 17 / 64
auditory_delta_first16 は連続値です。
0.226
0.141
0.111
...
これをアソシアトロン用に、
強く立った音成分 → +1
立っていない音成分 → -1
へ変換しています。
今回のデモで audio only から 「Watanabe」 が立ち上がったのは、この auditory_delta が cue になったからです。
3. text_delta:文字の差分
テキストも、単なる表示メモではなく、Atraに入るcueとして扱っています。たとえば、
Watanabe
papa
マックス
を入力すると、それを文字成分に分解して text_delta にします。
ログではここです。
text_delta_first12
pattern_text_first16
text positive bits: 11 / 32
ただし、これは自然言語理解ではありません。
Watanabe の意味を理解している
マックスが犬だと理解している
わけではなく、文字列の痕跡を text_delta として入れているだけです。
今回のデモで一番大事な差分の流れ
今回のデモの流れはこうです。カメラ映像の変化
↓
visual_delta
マイク音の変化
↓
auditory_delta
入力された文字
↓
text_delta
visual_delta + auditory_delta + text_delta
↓
1本のpattern x
↓
アソシアトロン記憶行列 T
つまり、Atra本体に近い言い方をすると、同じ場で同時に立った差分が、1つの痕跡として記憶されるということです。
ただし、まだ入っていない差分
今回のデモには、まだこれらは入っていません。body_delta
smell_delta
temperature_delta
wind_delta
touch_delta
gravity_delta
balance_delta
carry_delta
つまり、今回のデモはまだ、
見る
聞く
文字cue
だけです。
Atra本体なら、本当はここに、
身体の傾き
温度
匂い
風
接触
疲労
沈黙
pressure
instability
recovery
が入ってきます。
差分とは、答えではなく、場が揺れた跡という意味です。
0 件のコメント:
コメントを投稿