相変わらず半端ないディープラーニング、感動した最新の研究結果を2つ

Screen Shot 2015-02-22 at 11.39.55 PM

ディープラーニングが猛威を振るっています。私の周りでは昨年から多く聞かれるようになり、私も日経BPさんの連載で昨年5月にGoogleの買収したDeep Mind社について触れました。今年はさらに今までディープラーニングについて触れていなかったメディアでも触れられるようになってきましたね。例えば、イケダハヤトさんも先日。高知でも話題になっているのですね。

私事ですが、今度湯川鶴章さんのTheWaveという勉強会で、人工知能とビジネスについて一時間ほど登壇させていただくことになりました。有料セミナーということです。チャールズべバッジの解析機関についてはこのブログでも以前触れましたが、「機械が人間を置き換える」みたいな妄想は100年位は言われていることですね。「解析機関」「機械学習」「人工知能」「シンギュラリティー」など、呼び名はどんどん変わり、流行り廃りもありますが、最近ロボットの発達も相まってますますボリュームが大きくなってきている模様です。

グーグル先生によると、アメリカでは人工知能(Artificial Intelligence, 青線)の検索回数は一度下がって横ばい、一方で、機械学習(赤)と深層学習(黄)は2013年からじわじわと上がってきているようです。

Screen Shot 2015-02-23 at 12.33.24 AM

人間の手書きスタイルを学習しちゃうよ!

私自身、最近行った勉強会はディープラーニング関連のものが自然と多く、行くたびに驚異的な結果を知らされ唖然とします。ひとつは2ヶ月ほど前では有りますが、NIPS2014の勉強会。PyData.Tokyoの第一回でもご登壇いただいた、Preferred Networksの大野さんが主催されていたイベントで、東京大学の100人入るハコを目いっぱいに埋めていました。機械学習のトップ国際会議であり、ディープラーニングだけでなく様々な機械学習関連の論文が紹介されていました。

中でも気になったのは、同じくPreferred Networksの得居さんが紹介されていたこの論文

今までのディープラーニングの研究でよくあったのは、この画像はネコ?犬?みたいな識別の問題の解決でした。事前に与えられた教師データ(これはネコの写真、これは犬の写真みたいにラベルが付いたもの)を大量に学習する(ImageNetとかが有名)事により、未知の写真が何であるのかを判定する。この技術は私も研究用にテストしましたが、すごい精度です。

ここで紹介されている研究では上記のようにラベル付けのされているデータには限りがあるが、ラベル付けされていないデータが大量にある場合(世の中のほとんどのデータがこういう状態)、そのようなデータも使って学習の精度を上げるために「生成モデル」を構築しています。何がすごいかというと、これです:

Screen Shot 2015-02-22 at 11.39.55 PM

ここに2つの画像がありますが、左側に着目してください。その中の一番左のカラムにある数字、これを入力した時に、「この数字を書く人が、0から9まで書いたらこんなスタイルになると思う」という用に文字の「スタイル」を学習し、それを書き出しているのです。右側も基本同じことをやっており、手描きのスタイルだけでなく色からフォントからすべて学んじゃっています。

上記プレゼンを見ても分かるように、理論は限りなく難解です。私もほとんどわかりませんが、少ない統計の知識を使い誤解を恐れず噛み砕いて言うと、人工知能くん(正確には深層学習)が正解のついていないデータから学習するにあたり「なんだかわからないけど、多分これかな?」という推測をします。推測した答えを実際に「僕が思うにはこういうことだけど、どうかな?」という感じに生成し、実際の入力データと比較します。実際の人間でもこういう学習方法、しますよね。「理解してるというなら、言ってみなさい」みたいな感じです。

こちらも見てください、すごいです:

Screen Shot 2015-02-22 at 11.45.39 PM

学習されたモデルの中で、「スタイル」が定量化されている事がわかります。きかいもここまできたかー。

文字だけ見て言語の特徴を学習しちゃうよ!

ディープラーニングの言語理解への応用はイメージ認識への応用に比べると結果はそこまで感動的ではないようですが、様々な試みがされています。Word2Vecという単語同士の足し算引き算を可能にしてしまう意味深な性質を持つ分散表現は非常に面白いです:

  • 「男性-女性」を「おじ」や「王」に足すと、「おば」や「女王」になる。つまりこの差分は「男性と女性の違い」を表現している
  • 「フランス」-「パリ」+「東京」=「日本」などの結果も得られる。「フランス-パリ」は、「その都市を首都とする国」を表現している

なんていうことができてしまうのです。Word2Vecに関してはいろいろ書かれている(私もここにもう少し詳しく書きました)ので、ここでは触れませんが、先日柏野さんから頂いたツイートで、さらなるブレイクスルーを目にしました。

今までの自然言語処理は(深層学習もそれ以前も)単語レベルでの学習がほとんどで、例えば日本語は単語化が難しいので「分かち書き」という技術が開発されてきたわけですが、この研究によるとそういうことももうすぐ必要なくなるかも、ということです。美しい絵がお見せできないのが自然言語処理の欠点ですが、とりあえず論文にあった唯一の図らしきものを引用します:

Screen Shot 2015-02-23 at 12.14.52 AM この研究の革新的なところは、インプットとして文字列をそのまま投げ込むところです。どこからどこまでが単語の切れ目なのか、すら入れず、文中の文字列をまるごと、付加情報一切なしで。これをCNNという深層学習アルゴリズムに入れることで、定量化していきます。

面白い例をパッと分かる形でお伝えできないのが残念ですが、例えば

  • 英語の商品のレビューがポジティブなのかネガティブなのか、文章を元に当てる、というタスクでは96%以上の正答率
  • 中国語のニュース記事を5つ(ちょっと少なめだけどね)のカテゴリに分類するタスクでは90%以上の正答率

と、言語に全く依存しないところも激しく感動的な結果です。

先日行ったTokyoWebMining勉強会海野さんの発表では、RNNという深層学習手法を使った自然言語処理について、非常に詳しいご説明を頂き、こちらもとても勉強になったので参考まで、下記にスライド添付しました。こちらの発表では、ディープラーニングは自然言語処理では、まだそこそこ、という印象でしたが、数ヶ月単位でどんどん新しい結果が出てきちゃうこの分野から目が話せません。