【特集】「『予測』という名の欲望」全記事はこちらから読めます
■人間にはAIの考えが分からない?
――ディープラーニングは、大量の「教師データ」を読み込み、入力する変数と、出力する変数との間の関係を見つけ出します。その関係が分かれば、新たなデータを入力したとき、出力が予測できるというわけですが、なぜ人間はそのプロセスを理解できないのでしょうか?
おもにふたつの要因があります。質的なものと、量的なものです。量的な問題は、すごくシンプルです。ディープラーニングの内部で動くパラメータ(母数:システムの内部で動く情報)が多すぎるので、その大量・複雑なデータを人間の直感につなげることが難しい、という話です。最近は、多いものでは1億個を超えるパラメータから出力を予測します。じゃあ、その1億個をざっと人間が見てなにか分かるのかといえば、分からない。これが基本的に起こることです。
――大量の変数という意味では、これまでの統計分析でも大量の変数を扱ってきたように思いますが。
これまでは、入力変数が仮に1000種類とか2000種類あったとしても、そこから本当に予測に必要な変数を数十種類選ぶやり方が統計解析のトレンドだったんです。絞り込みにある程度特化してきたので、それで選ばれた変数を見て「この変数が大事なんだな」みたいな解釈につなげることができたんですよね。20とか30種類の変数をざっと見るくらいなら、人間の直感とか理解につなげることができたんです。
――ディープラーニングでは、予測に役立つ変数だけに絞り込まないんですか?
そういったことは、とても困難であると思われています。ディープラーニングはパラメータや変数同士の影響関係が複雑なので、どれを絞り込むべきか簡単には判断できないんですね。実は、たとえば1億個のパラメータがあったとしても、本当に出力に効いているものは、おそらくそのうち少しだろうということが知られています。ですが、どれを絞り込むべきなのか簡単には分からない、という感じですね。
――じゃあ最初から、そんなに変数はいらない気もするのですが。
役に立つ変数やパラメータだけを使えるなら非常に楽なのですが、先ほどの通り、何が必要なのかを判断するのは難しいのが実情です。そういう事前の絞り込みができないので、ディープラーニングでは、不必要な変数やパラメータも含めた冗長なシステムをつくって運用しています。少なくとも実験的には、そういうやり方をすると、予測の精度が上がることが示されています。一方で、どんなデータであれば最初から変数は少なくてすむのか、ということはまだ全然理解が進んでいなくて、これからの研究が期待される分野だと思いますね。
――質的に分からないというのは、どういうものでしょうか。
これは単純に言うと、まさに「ディープ」だから、つまり深層構造を持っているからです。深層というのはどういうことかと言うと、データの入力層と出力層の間にある「中間層」(※)で、データの変換を複数回繰り返すということです。そして繰り返すごとに、人間の直感から遠ざかっていって、機械しか分からない世界に移っていくんです。
※中間層(隠れ層):深層学習は、データを入力する「入力層」、入力したデータの変換と結合を繰り返す「中間層」、データを出力する「出力層」で構成されている。中間層は多いほど精度が上がるとされるが、そのぶん計算には時間がかかることになる。
――1回なら、人間の解釈は追いつくんですか。
追いつきやすくはなります。たとえば、人間の顔の画像を入れて、男性か女性かを判別する有名なディープラーニングのシステムがあります。このシステムがデータを変換していく様子を段階ごとに可視化すると、最初は顔っぽさが残っているので「ああ、顔のこのパーツ、たとえば目が大事なんだな」と分かります。しかし、だんだんぼやけてきて、変換を5~6回してしまうと、もう分からない。だから1~2回ならまだ人間の理解に近づけるかな、みたいなことが分かるんですね。
――何回も変換してしまうと、「このあたりを見ている」と分かったとしても、その「このあたり」がなにを意味しているのかは人間には理解できないんですね。
そうですね。ディープラーニングによって情報が数値化されてしまうと、その数値が、入力情報のどこに対応しているかということが完全にぼやかされてしまって、分からなくなるということなんですね。
――人間に理解できるようにすると何かデメリットがあるんでしょうか。
データ分析で、人間が理解できるような予測と、精度が高い予測は一般的には両立しないんです。ディープラーニングでは、高精度な予測をするために、入力されたデータに何回も複雑な変換をします。ところが、人間の直感が通用する変換は限られているので、人間が理解するためにはそれに合わせて変換の自由度を下げなきゃいけないんです。そうすると、予測にいちばん効くような変換ができない可能性があるんです。
――顔認識の例で言えば、変換の回数が少なくて人間の顔だと分かるような状態だと、男性か女性かを高い精度で予測するための情報が手に入らない可能性がある、ということですね。
そうですね。ある意味、いちばんいい予測は、人間の理解の外側にいかないと達成できないことが示されてしまっているんですね。
――今泉さんは、ディープラーニングの中身を理解しようと研究しているわけですが、中身が分からなくても構わない、ということにはならないんですか?
中身が分からないと困る例には、いくつか有名なものがあります。たとえば自動運転に深層学習を使うとします。そこでなにか失敗があって、事故が起きたときに改善する方法がまったく分からないのでは、安全性の面などから非常に困ります。そういうところは、かなり問題視されていると思います。
もうひとつ有名な例としては「敵対的攻撃」があります。これはちょっとした工夫で、人間がAIの判断を狂わせることができるというものです。これも研究が盛んな分野で、たとえば顔認識で、ちょっとした加工をすると簡単に他人を偽装できるといったテクニックが知られています。ディープラーニングはそういうのに簡単に引っかかってしまうわけですね。それを防御しようという研究も結構盛んですが、まだ有効な対策は見つかっていません。
このようにいろいろ問題がありますが、そういうものをディープラーニングの仕組みが分かることでうまく避けられるのかもしれないという意味では、社会的需要がありそうだと思っています。
――具体的には、どうやって中身を知ろうとしているんですか?
ディープラーニングはデータの中に隠れている規則性を発見しているんですが、その規則性がどんなものかを調べています。
――ディープラーニングが見つけている規則性がどういうものか、ということですか。
はい。数学の言葉を使うと、「データが変わったとき、近いデータは近い性質を持つ」という規則性を「連続性」として表現するんですが、我々の研究が明らかにしたのは、連続性が部分的に失われているようなデータで、ディープラーニングはとてもよく機能するということでした。
――これまでの統計方法では難しいのですか?
はい。ディープラーニングじゃない方法、たとえばカーネル法(ディープラーニング登場前から一般的に使われていた統計手法)などは、データに連続性がないと精度が大きく低下します。ディープラーニングはその精度の低下は起こらないんですね。これを示したのが最近の我々の研究成果です。これまで、既存の統計手法とディープラーニングを比べた時に、できる事にどういう差があるかはあまり明らかになっていなかったんですが、それが分かったということです。
――その研究をつきつめると、ディープラーニングが考えていることが分かるんでしょうか。
それは難しいと思います。先ほどの通り、ディープラーニングは人間の理解が追いつかない変換をしているんですが、その理解できないものを仮に明らかにしても、人間にとって意味があるかどうかはやはり分からない。ディープラーニングの考えていることは、ある程度は分かると思うんですけど、完全に人間が理解できるかというと、私にはまだちょっと展望がないですね。
――では研究のゴールはどういうところをみているんですか?
統計手法が扱える規則性にはどういうものがあるか、みたいな新しい数学的な理論がつくれたらいいな、というのがひとつですね。
技術的な応用も考えています。ディープラーニングは、まだまだ計算に時間がかかるんです。それにはいろいろな理由があるんですが、こういう理論がもう少し精緻になってくると、適切な層の数とか、いい活性化関数の選び方とか、そういうことがある程度事前に決められるようになってくると思っています。理想的には、計算時間が10分の1とかになるようなシステムをつくりたいと思っています。
――いま「説明可能なAI」の必要性が言われていますね。
はい。説明可能なAIをつくるひとつの方法は、古典的だけど説明可能なアプローチや手法の組み合わせで、AIの行動を説明することです。だからディープラーニングではないんだけれども、ディープに準じる精度は出しつつ、解釈可能な感じにしようというものですね。
――それは可能なんでしょうか?
部分的には可能で、実際に研究が進んでいます。組み合わせることができる手法もたくさんありますので、どんなモデルを使うかということを自動化して、シンプルなモデルをいい感じに組み合わせる。ボトムアップと言えばいいですかね。これなら精度が時によってはディープラーニングぐらい出る場合もあるし、解釈しやすいモデルの組み合わせだから理解もできる、というアプローチなんですね。
――逆に、予測できるデータはあるのに、ディープラーニングという手法のおかげで精度が出ない、ということはあるんでしょうか。
ディープラーニングの限界はまだ分かっていないと思いますね。ただし、ディープラーニングはすべての予測が完全にできるのかと言われたら、実はそうでもないんです。たとえばディープラーニングのシステムは、内部に割り算を持っていないので、きれいな割り算ってすぐにはできなかったりするんです。近似的にはできるので、まったくできないわけではないですが、そういう意味でもディープラーニングの限界はおそらくどこかには存在しているんですけれども、それはまだ分かっていない。それを明らかにするのも面白い研究テーマかもしれませんね。
いまいずみ・まさあき 2011年東京大学文学部卒。同大学大学院経済学研究科などを経て、2018年4月から統計数理研究所助教。専門は数理統計学。