このページの本文へ

前へ 1 2 次へ

[短期集中連載]AIとディープラーニングが起こす"知能革命" 第1回

「もしドラ」仕掛け人・加藤貞顕×人工知能プログラマー清水亮 徹底対談

「もしドラ」のミリオンセラー編集者はなぜ人工知能にハマったか?

2017年02月01日 07時00分更新

文● イトー / Tamotsu Ito

  • この記事をはてなブックマークに追加
  • 本文印刷

「人工知能が確実にすることって"人間がアレコレ考えるのはもうムダ"だってことなんです」

加藤 まあ、そうですね。

清水 やっぱり、どうやったら本当にこの「文章」っていうコンテンツの特徴をうまくAIがつかみ取り、より精度の高い特徴ベクトルを得られるかということは、まだ大いに検討の余地があります。

加藤 その辺がまさに僕のうかがいたいところなんです。今、どのぐらいの成果まで出てきてるんですかね? cakesでも、やっぱりいろいろな方式を試した結果、この辺がリーズナブル(現実的)だなっていうことでやってるんですよ。

清水 まあ、リーズナブルだと思います。使えるかどうか、って意味では使える。
 Seq2Seqも結局どうなるかっていうと、AIにまず文章を読ませますよね。で、文章全体の特徴を見て、Seq2Seqが出力するのって、やっぱり最後は特徴ベクトルなんですよ。しかも大体6万次元ぐらい。これは日本語の場合です。6万次元って結構次元が高いから、たとえば全部読ませた際の出力結果を、今度は積層オートエンコーダ(データをひたすら見るだけでなんとなく特徴を掴み取ってしまう深層学習手法。画像に限らずあらゆるデータを学習可能)で学習して、このオートエンコーダで分類していって次元を減らしていくんです。6万じゃちょっと多すぎるから、1000次元ぐらいまで減らして、1000次元で空間上に特徴マップしたら意外といいのができるかもしれない。

加藤 それって、サービスに使う上で現実的ですか? レコメンドエンジンって要するに大量にコンテンツを持つメディアで使われるので、まともなレスポンスで動きますかね?

清水 全然動きますよ、大丈夫。1回学習できちゃえば、あとは任意の文章を見せる都度、学習する必要はないわけですから。

加藤 ああ、記事をどんどん追加するたびに学習し直す必要は別にないのか。なるほど。満足な精度が出ていれば、しばらくはそのままでよければいけますね。

清水 そうそう。再学習するにしても、たとえば1ヵ月に1回、学習データを更新するとかでも全然実用的に使えますしね。

加藤 なるほど。その方法はあり得ますね。

清水 全然あり得ますよ。この場合、オートエンコーダがいかに賢くなるかっていうのが重要になってくるんですが。
 最近のトレンドは「コンボリューショナル(畳み込み)をやるととにかくすごい」ということがわかってきてます。

加藤 ほうほう、どういうことですか?

清水 要するに、「畳み込み」というやつですね。これが面白いのは、今まで「畳み込み処理って画像だからできるんでしょ」って思い込んでる人が割といたんですよ。元が画像認識の議論のところから生まれたのでそういう誤解が広まったんですけど、複数のフィルターを用意して、そのフィルターを使って元の情報の特徴量を抽出してしまうのが、要は畳み込みです。フィルターの形は一次元だろうが三次元だろうがいいんですけど。そこで最近の流行りは、音声だろうが言葉だろうが、もう全部畳み込んじゃえと。
 実際、畳み込んで処理すると、畳み込まないよりもはるかに性能がいいこともわかってるんですよ。

加藤 おお、そうなんですか!

清水 畳み込みを使うと層を沢山増やすほど基本的には精度が上がっていく。使わないと層を増やしただけでは精度が上がらなくなることがわかっています。
 そもそもですね、畳み込みって別にディープラーニングのための技術じゃないんですよ。もっと一般的なものです。

加藤 一般的なものだけど、ディープラーニングでもたまたま使ってるって意味ですか?

清水 畳み込みがディープラーニングで使われたのは、実はすごく古くて1990年代なんですよ。でもその頃は性能が上がるというよりも、当時のコンピュータの性能に対して、ニューラルネットワークが巨大すぎた。それをなんとか小さなメモリー空間でハンドリングできるようにできないか?っていう工夫だった。

加藤 ああ、そういう現実的な工夫だったんですか(笑)。

清水 はい。だから、そもそもはメモリーを節約するためだったんですよね。言わば消極的な方法だった。そこから10年ぐらい、みんなこれが爆発的に効果が高い方法だってことに気付かなかった。なにせメモリーを食わない代わりにものすごく計算時間がかかるので。
 実を言うとこの畳み込みっていうのは、音の処理にもあるんですよ。

加藤 音?

清水 すごく身近ですよ。たとえば、カラオケなんかは畳み込みを使ってるんです、実は。たとえばボーカルを消すとか。たとえばエコーとか。画像で言ったらぼかしフィルターとか、あれ、全部畳み込みなんですよ。だから本当、一般的な技術なんです。

加藤 じゃあ、それこそ清水さんがやっていた、ゲームのプログラミングとかするときに……。

清水 絶対使います。なぜ畳み込みがディープラーニングに向いてるかは正確にはよくわかってないんだけど、どうやら、ちゃんと上手く特徴をつかむとはこういうことだということが、段々わかってきた。

加藤 ちょっと確認なんですけど、畳み込みによってデータは劣化しますよね?

清水 劣化というか、元の情報は失われます。

加藤 そうですよね。減りますよね。元の情報が失われない圧縮(可逆圧縮)もあるけど、この場合はそういう、非可逆な圧縮をするんですよね。

清水 そうです。情報は減りますと。ただ、これって要するに一種のフィルターなんですよ。フィルターをうまく設計すると、画面の中の縦線にだけ反応した画像とか、横線にだけ反応した画像とかが得られます。そうすると、わざわざ「縦線を探せ」とか「横線を探せ」とかしなくても勝手にそのフィルターが該当の箇所を見つけてくれる。これがたとえば、一般画像分類だと96種類ぐらいある。

加藤 そのくらいのパターンでいいんですか。

清水 そうですね。それで、これを畳み込み層を使って学習させていくと、いい感じに目的どおりに動作するフィルターができるんですよね。

加藤 なるほどなるほど。

清水 この部分で大事なのは、“いい感じに動くフィルター”は、どうやら人間がフィルターを設計するよりも、AIが学習してフィルターをつくったほうが性能が最終的には高いぞ、とわかってきたってことです。これが実は「ディープラーニング」における一大発見なんですよ。これって、たとえば単語でもいいわけですよ。単語をコンピュータが扱えるように「ABCD」を「0123」だとか、文字列に置き換えてやる必要がありますけどね。そうすると「103」だったらこれは言葉としては「BAD」だよとかですね。で、これに対してこういうフィルターをかけますと。その上で畳み込みをすると、たとえば「2」っていう数字が出ますねと。で、これをさらにまた、畳み込みで繰り返して処理して、結果を出していって、って。NLP(自然言語処理)であっても同じように畳み込みを使って処理することによって、今まで出せなかったような認識精度が出せることがどうもわかってきたわけです。

加藤 なるほど!そんな具合に自然言語処理もいけるのか。

清水 要はGoogleのニューラル翻訳ってこういうことですから。

加藤 Google翻訳ってニューラルネットですごい賢くなりましたよね。今話していた、NLPの話はわりと最近の成果ですかね?

清水 最近でもないですけど、この1年くらいですね。

加藤 割と最近ですよね(笑)。

清水 いや、最近って言ったら僕たち(人工知能開発者・研究者)の場合、1週間とかそういうレベルなんですよ。

加藤 なるほど。こんな速度で進化しているのか。すごいな。

清水 だからね、ディープラーニングに関してはもう、「やったもん勝ち」なんですよ。

加藤 たしかに、そうだなあ。

清水 しかもAIプログラミングは簡単ですから。僕なんか、もうプログラマーの仕事はなくなっちゃうんだと思ってるくらいです。もし加藤さんが今から人工知能プログラミングの勉強をやられるんだったら、僕の言ってる進化の早さや「AIは簡単だ」って言ってる意味がよくわかっていただけると思いますよ。
 個人的な経験談を話しますけど、たとえば僕は昔から手書き入力タブレットをつくってるんです。ものすごく書き心地にこだわった機械です。手書き入力だから、ペンや指で線を描画するじゃないですか。そのとき、液晶のドライバーなんかの遅延があって、いくら画面のリフレッシュレートが60分の1秒だとしても、タブレットのドライバーが遅いから30ミリ秒ぐらい、2フレーム先までは予測で描かなきゃいけないんですよ。そうしないと、現実には描画が遅く見えちゃう。

加藤 ペン先に線が追いついて来ない感じになるんですね。

清水 そうそう。だから予測で先行して描画してしまうんだけど、この予測エンジンをプログラムするのってすごく難しい。だって、ペン先のスピードが落ちてきたらそこから曲がるかもしれないとか、そういうことを考えなきゃいけない。

加藤 左に曲がるか右に曲がるかなんて、わかんないですよね。

清水 左か右かはもうほとんど投機的実行になっちゃうんですよね。だから、ちょっと自信なさげに、色を薄くするとかいろいろなテクニックを使う。ある種、ごまかしがいるわけです。
 このプログラムを何年もすごく頑張ってつくったんです。それこそ秘伝のタレみたいに。それでも上手くはいかない。
 ところが最近になって同じことをニューラネットワークのすごく簡単なものに学習させたら……なんと僕の秘伝のプログラムより全然精度高くなっちゃった! それってもう、僕からしたら「グッバイ、自分」ですよ。つまりね、自分で言うのもなんですけど、人工知能が確実にすることって、「人間があれこれ考えるのはムダ」ということなんですよ!
————

 人工知能が実現してしまう、プログラマーですら「アレコレ考えるのはムダ」だという世界。ここからお二人の話は人工知能が実現し始めた2016年末の最新の成果へと加速しはじめます。
 各国の研究機関が競い合う「映画を理解して質問に答えるAI」とは?、量子コンピューターでもとけないニューラル暗号の可能性、そしてブログからジャーナリズムまで「メディア企業のマネタイズを変えるAIの実現」はできるのか!? 白熱トークはまだまだ続きます。 (続く)

■関連サイト

Image from Amazon.co.jp
よくわかる人工知能 最先端の人だけが知っているディープラーニングのひみつ

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

アスキー・ビジネスセレクション

ASCII.jp ビジネスヘッドライン

ピックアップ