クレタ人の踵

AIならびにRobotに関する雑記。 世迷言など。

クレタ人の踵aibo Owner's WEBRINGに参加してます。
【ID:120 所有者:FebruaryMarch
[ 二つ前へもどる | 前へもどる | 次へ | 次の次へ ]
[ 前の5サイトを表示 | 次の5サイトを表示 | ランダムで移動 | リストを表示 ]

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

学習でロボットは賢くなるのか?[1]

学習でロボットは賢くなるのか?[1]
学習をしたい時には教師なし


 AIで学習と言った場合、一般的に言われている学習とはかなり趣が異なる。慣れないと誤解を招きやすい用語だと思う。「搭載された○○AIコントローラーはお客様ごとの環境や好みを学習し、最適の制御を行います」みたいな宣伝文句が一時はやったが、広告文にしてはめずらしく事実を正確に表している。ただ、この文を読んで「そうか、AIはうちの環境や俺の好みを覚えてくれるんだな」と思ったら、こっちのほうは間違いである。いや、間違いというわけではないのだが、間違いすれすれなほどに誤解はしている。
 AIは学習によって何かを新たに覚えるわけではない。あきれるほど多くの選択肢を捨て去って、残ったモノがあなた好みのモノだったというだけだ。

教師信号を受け取るAI

 AIで学習と言った場合には、遷移状態のひとつが教師信号を受け取った状態を指す。まぁ、大雑把にいうと下図のような感じだ。
050521-1.gif

 信号を受け取ってからどうするかはAIによって異なるが、大枠としては教師信号を受け取った遷移状態に移行するパラメータ調整を行うことになる。教師信号が出たということは、その遷移状態が他の遷移状態よりも良いか悪いかのどちらかである。良ければ、なるべくその遷移状態に移行しやすいようパラメータを調整し、悪ければ移行しないようにする。
 これを何度も繰り返せば、遷移状態系列が教師信号を出力している側が「良い」と考えている状態に近づくわけである。順次出力が改善されていくように見えるので、なんとなく学習しているように見える。
 ところで、遷移状態が教師信号を受け取ると言っても、ロボットの場合などはなかなか難しい。遷移状態の移行が激しく、状態がころころ変わるからだ。それでだいたい次のようになる。
050521-2.gif

 教師信号を受け取ってもらいたいと判断した状態と、実際に受け取った状態が違ってしまっている。これでは正確な学習ができない。

教師信号の受け取りのズレを補償する

 このように教師信号がズレるのを防ぐために大きく分けて以下のような方法がある。
  1. 教師信号の受け取りポイントを作ってじっと待つ。
  2. ズレてしまったのは仕方ないが、近くの遷移状態で受けているのは確かなので、配分でなんとか誤魔化す。
  3. AI自身で教師信号(強化信号)を出す。
 1は人工無能などの会話プログラムで取りやすい戦略である。相手の応対を待っていてもあまり不自然さを感じさせないですむからである。しかし、ロボットが同じ状態を保持して、ずっと何かやり続けているというのは、かなり不自然なので、ロボットのAIではこの戦略はとりづらい。
 2にはQラーニングや非マルコフ連鎖があたる、それなりにAIのコストがかかるのと、遷移状態系列をモデリングするのが、若干、難しい。本当のことを言うと、これらの技術は教師信号の受け取りのためだけに開発された技術ではない。だから例に出すのは気が引けたのだが、結果的にそういう効果もあるので、ここに分類してある。これらはこれらで、それなりに奥深いのだが、今回は都合で深入りしない。
 教師信号が欲しいタイミングは、実はAI側が一番よくわかっている。そこでAIで信号も出してしまえ、というのが3である。AIは教師ではないので、AIが出す信号は強化信号と呼んで教師信号と区別している。
 強化信号の一番簡単な出し方は特定の評価関数を作ってしまうことである。それですんでしまう場合もあるのだが、たいていの場合、そううまくはいかない。学習の基本コンセプトは、評価が具体的な数値で表しにくい場合に、良い悪いといったアバウトな評価で適当な動作条件を決めてやることにある。そもそもきっちり評価関数が出せるようなら、学習などしなくても他の方法で十分効率的に解が求められる。遷移状態系列が小さければ、全数検索で十分である。
 評価関数が作れなくても、それほど、がっかりしなくともよい。そんなときのためにこそ「学習するAI」の出番である。評価用の遷移状態系列を作って学習させれば良いのである。「評価用」遷移状態系列の遷移は、本体のロボットの遷移よりずっと「ゆっくり」なので、こちらの教師信号を取り逃す心配はあまりない。
 通常の制御系でもこのようなカスケード接続は普通に見られる。2段でなくて、もっと段数を増やすこともできるが、コストが上がって信号遅延が増えるくらいであまりメリットはない。(階層化して自己組織化うんぬんの話は、後で考えることにする)

[おまけ]AIBOの場合

 これらの方法はどれも一長一短がある、適材適所で使えばよいので、どれが優れているとかいう問題ではない。ちなみにAIBOの場合は上記のどれにも該当しない。教師信号がズレた場合にはAIBOは無視する。つまり学習しない。実は、AIBOは気が向いたときしか学習しないのだが、教師側の反応が鈍かった場合は、それすらも無視する。ある意味、素晴らしく堂々としたAIである。
 多少のバリエーションはあるにしても「学習」という観点からすると、どの方法も根本の特性を失っていない。「学習」の有用な特性(そして有害な特性)についていよいよ語ることになるわけだが、もう、だいぶ疲れたので今日はここまで。
 最後に一言だけ、
 もちろん、ここまでひっぱったからには、勘の良い人ならそろそろ気づいていることだろう。
 FMは「学習」がキライである。
 (つづく)

まとめ
 図を描くとFMは疲れる。
 AIBOはあまり「学習」する気はない。
 FMは「学習」もキライだが「勉強」もキライ。
 子供にも遺伝している。
スポンサーサイト

コメント

せんせーしつもん

非マルコフ連鎖ってなんですか?ぐぐっても揶揄的な使用方法しかでてこないですぅ。

もうひとつ
SOMで50音を学習する とか GAで路面に合わせた歩容を学習する とかは このお説では含まないように見えるのですが 「AIの学習」の範囲がわからなくなりました。

もっと昔の記事にコメントすべきですが・・・FMさんが中身を解析されたのは、ERS-110/111だけですよね。なので、[AIBOは]という記述は正確ではないと思うのですが。

  • 2005/05/22(日) 05:49:44 |
  • URL |
  • 人形つかい #JalddpaA
  • [ 編集]

教師信号と強化信号の違いをもう少しやったほうがよかったかも

  はい、どうも、質問ありがとうございます。
 非マルコフ連鎖の前に、まずはマルコフ連鎖から。
 マルコフ連鎖系列は一つ前の状態にしか遷移過程が影響されない系列です。一つ前だけ気にすればいいので、いろんな面で楽です。というか、そもそも現在人類の所有しているコンピュータでは極小の遷移状態系列でないかぎりマルコフ連鎖以外を扱うのは実質不可能です(笑)。あまりに実装コストがかかりすぎるのです。
 本文のほうでも書きましたが、教師信号の受け取り改良でこんなものを導入するというのは、本末転倒です。ま、話のついでくらいの感じです。
 ただ、なぜ、非マルコフ連鎖系列が取り上げられるかと言えば、人間の行動欲求が非マルコフ連鎖型だからというのが主因でしょう。このあたりは、そのうち、取り上げたいと思っています。

 「SOMで50音を学習する とか GAで路面に合わせた歩行を学習する」
 これは、3の中の「適当な評価関数を作ってしまう」に相当します。50音の各音の音素領域に合致するという評価関数は書けますし、路面にあわせて重心のゆれを小さくする、という評価関数も書けます。
 本文でも書きましたが、評価関数がきちんとかける場合、学習で解を求める必要はありません。何で解こうが解く人の勝手ではありますが、過程を問題にしなければ、線形計画法で解いたほうが計算コストは低いのでは?と思います。SOMの計算時間については、前のコメントでちょっとだけ触れましたよね(^^)。

 AIBOは~の部分ですが、確かに最近のAIBOは賢くなっているらしいので、妥当ではないかもしれせんね。ただ、いわゆるシャクティパッド以外には本当の意味での学習に使える教師信号はAIBOにはありません。初代AIBOも作りこみに難があったと(私が)言っているだけで、基幹のシステム自体は、そう捨てたものでもありません。ある意味(SONYの言葉を借りれば)、ソフトウェアに関しても最新の技術をつぎ込んでいます。細かな改良はあっても根本はおいそれと変えないだろうと考えていますし、そう簡単に変えられるものでもありません。そんな訳で、こと「学習」に関する限りには、AIBOは~のくだり、それなりに自信は持っています。ここいらへんが私の駄目なとこなんでしょうけれども(笑

コメントの投稿

管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://febmarch.blog10.fc2.com/tb.php/8-32ede8da
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。