sensetime

EXPLORING AIセンスタイムが語るAIとディープラーニング

最も重要なコンセプトデザイン

その課題がディープラーニングにとって得意な分野なのか、ディープラーニングで解決するには、どんなネットワークやパラメーターが必要なのか。これらでディープラーニングの完成度が決まる。

ディープラーニングを扱う場合に重要なこととして、まずはどの問題をディープラーニングで解くか。そして二つ目は、この課題がディープラーニングで解けるかも知れない、ならば、どうディープラーニングを使うかという部分。さらには、ネットワークをどう組み合せるか、パラメーターはどうするのか、そういうところがコンセプトデザインであり、エンジニアの腕の見せ所でもあるのです。

もう一つ重要なのは、検証の先に何が起こり得るかの予測ですよね。これは経験とノウハウに基づくところです。この辺は、実地経験に基づいたコンピュータービジョンの専門家じゃないと分からない事がいっぱいあるんですよ。その一つの事例としてロバストネス(対環境性)という課題があります。
これは、研究室等特定の条件では、優れた性能を出す画像処理アルゴリズムが、違う条件になった途端に、全く使い物にならないということが頻繁に発生します。この問題に対処するには、すべての使用条件を前提とした開発とテストと、その結果得られるノウハウが重要になってきます。

例えば、ディープラーニングだからこそ活用できる領域としては、今まで人間の職人に頼っていた部分にあるんじゃないかと思っています。これまでのやり方は、多かれ少なかれ、「いいもの、だめなもの」を判断する必要がありました。しかしどこの部分に着目して良し悪しを判断するかということを人間が判断しなくても、なんとなくいいもの、なんとなく悪いもののデータを大量に学習のために取り込むと、コンピューターが微妙に見つけてくれる。刀鍛冶が10年かけて会得するような感覚を、コンピューターが大規模な計算力を使って学習できるというわけです。

今までのやり方は、人間が特徴点というのを決めていたので、人によってデータの結果がごろごろ変わっちゃう。そこのチューニングが難しかったんです。
ところがディープラーニングは、
機械が独自にどこに特徴があるかを、膨大なデータによる学習を通して、探してくれるわけですよ。そこが従来の方式と決定的に違うところですね。

今のディープラーニングでは難しい例としては、常識ですとか、バックグラウンドに流れているコンテキストが求められるような認識は、まだ研究段階です。
例えば、政治家や有名人が何かしらのアクションをとっていて、それが面白おかしいのか、そうでないのか、ということは、その人の普段の動きや経歴などのバックグラウンド的な情報がないと分からないんです。
そういう色んな情報を関連付けての判断というのは、まだ今の段階では苦手かなと。もちろん、そこはこれから研究が進んでいくところです。
ディープラーニングのアプローチは、ぼくらが言葉を学ぼうというアプローチで説明できるかなあと思っています。母国語を学ぶ時のアプローチは、周りの人の言葉を沢山聞いて、それに似せたり、周りの人が正しく判断してくれそうなものを採用していくというアプローチ。
それはディープラーニング的です。一方で、英語を学ぼうとした時は、文法を学んで、単語を日本語と関連付けて、日本語の体系の上に乗せていきますよね。そんな風に、論理的に構築していくのが従来のアプローチ方法なんです。