Image: UC Berkeley/YouTube

事前の知識をプログラムに入れなくても、勝手に学んでいく。

赤ちゃんっていろんなものに興味を持って、触ってみたり押してみたりなめてみたり、いろんなことをします。専門家に言わせれば、それは「単に遊んでるだけじゃなく、いろんな物のあり方や動かし方を学習してる」ってことらしいです。

カリフォルニア大学バークレー校の准教授、Sergey Levineさんが率いる研究チームは、そんな赤ちゃんと同じように物の動かし方を体当たりで学習するロボットを作りました。そのロボットは自分が動かしているバケツや人形やハサミがどんなものかを事前に知らされず、実際に物を動かすことで「自分がどう動くと何がどう変わる」ということを学んでいきます。

Image: UC Berkeley/YouTube

このシステム「Vestri」は、自分の動作の結果どうなるかをビジュアルで予測することができ、それに基いて自分で動きを制御することができます。この種の技術を「Visual Foresight」(ビジュアル・フォーサイト、直訳:視覚的先見性)というそうで、検索してみると最近の論文がたくさん出てきます。VestriはこのVisual Foresightを使って、初めて見るものでもちゃんと動かせたり、邪魔なものを避けられたりします。約1週間学習させた結果、おもちゃをある位置から別の位置に動かす課題を90%の精度でこなせるようになりました。この研究成果は、先日行なわれたNeural Information Processing Systemsカンファレンスで発表されました。

ポイントは、Vestriは世界についての知識がまったく白紙のところから学習できるということです。それによってVestriのプログラムには、バケツを押しても動かないときはどうする、ひっくり返ったらどうする、みたいな細かいことを書いておく必要がなくなります。今あちこちで自動運転車が開発されていますが、現実の道路で起こりうること全部を予見してプログラムに入れ込んでおくのは無理なので、Vestriのような技術が役に立つというわけです。

Vestriが白紙の状態からどうやって世界の動き方を学ぶかというと、キモはカメラで捉える映像の分析にあります。Vestriは物を動かしながらその結果をカメラで観察し、映像を分析することで「何をすると画像のピクセルがどう変わる」という予測モデルを作ります。そしてそのモデルにしたがって、あるものを指定された場所に動かすために自分がどう動くべきかを決定するんです。

「子どもはおもちゃと遊び、それを動かしたり、にぎったりといったことで世界について学ぶことができます。この研究の目的は、ロボットにおいて同じことを可能にすることです」と、プレスリリースの中でLevineさんは言っています。「このロボットの能力はまだ限定的ですが、そのスキルは完全に自動的に学習されたものです。つまりこのロボットは、過去に観測した世界とのやりとりのパターンを構築することで、初めて出会う物体との複雑な物理的相互作用をも予測することもできます」

ただLevineさん自身が指摘するように、このシステムはまだ原始的で、予測できるのはほんの数秒先の未来だけです。でも最終的には、ロボットが工場内部のレイアウトを勝手に覚えたり、自分の周りの人間や他のロボットにぶつからないように動いたりが可能になるかもしれません。またこの技術が自動運転車に応用されれば、たとえば遅い車の後ろを走っているときにうまく速い車線に移動して追い越したり、衝突を避けたりといったことに役立つかもしれません。

Levineさんのチームでは今後、ロボットにもっと複雑なタスクをこなさせようとしています。それは単におもちゃを押すだけでなく、たとえば物を拾ってから置いたり、布やロープのような柔らかい素材を扱ったり、さらに物を組み立てたりといったことです。

つまり今あるロボットは単におもちゃをテーブルの上で右から左へ移動できるだけですが、そのうち家の中に散らかった洋服をタンスにしまうとか、汚れてたら洗濯カゴに放り込むとか、そんなこともいつかできるようになるのかもしれません。そうなればルンバを稼働させる前のお片付けロボットができそうで、掃除の完全自動化にかなり近づけるんじゃないでしょうか? 応用先は他にも無数にあると思われ、期待大です。



Image: UC Berkeley/YouTube
Source: NIPS Conference、UC Berkley
George Dvorsky - Gizmodo US[原文]

(福田ミホ)