ディープラーニングを使うとなぜ人工知能の考え方や判断理由が分からなくなるのか

人工知能が進歩して人間を超えてしまうと、「人工知能がなぜその判断をしたのか人間には理解できなくなるから危険だ」なんて言われることがありますが、すでにディープラーニング技術を利用している人工知能の考えが人間にはわからない領域に達しています。

しかし、これは別に人工知能が人間より賢くなったとか、人工知能が人間には理解できないレベルで物事を考えているとか、そういうことではありません。単純にディープラーニングの特性や仕組みに由来するものです。本記事ではそれを踏まえ、ディープラーニングを使うとなぜ人工知能の考え方や判断理由が人間には理解できなくなるのかについて解説していきます。

ルールベースの人工知能は分かりやすい

まず、人工知能の考え方がなぜ今までは理解できていたのかを考えてみましょう。

人工知能の歴史を遡ると、「もし◯◯なら△△をしろ」というマニュアルに従うだけの単純なルールベースのプログラムにたどり着きます。こうしたプログラムはそもそも人間の考え方をルール化しているプログラムなので、判断基準を理解することは容易です。

今でも、人工知能と呼ばれるものの中にはこうしたルールベースで動作する人工知能が数多く存在しており、こうした人工知能の判断理由を人間が理解するのは簡単でしょう。人工知能の判断に関する記録(ログ)を残しておき、その判断を行う上で「どのルールに従ったのか」を見つければ良いからです。

ただ、近代的な人工知能の場合、ルールベースと一口に言ってもかなり複雑で大規模なアルゴリズムが使われていることが多く、まともに調べても理解できません。そのため、判断理由がわかりやすくなるように「記録を整理して人間に教えてくれるプログラム」も別に用意しておかなければならないでしょう。

色々手順が必要ですが、それでもルールベースの人工知能の考えなら人間にも理解できます。問題はディープラーニングのような「ニューラルネットワーク」と呼ばれるプログラムを使う場合についてです。

全てのニューロンを把握することはできない


(ニューラルネットワークのイメージ_KeioUniv)

詳しくは別の記事(リンク)を見ていただくとして、ニューラルネットワークというのは脳の神経細胞ネットワークを参考にしたものであり、神経細胞にあたる人工ニューロン(上図の丸い物体)はそれぞれ学習を経て性質を変化させていく特徴を持っています。

1つ1つのニューロンが変化することで、ネットワークは目的に合わせて特定の機能を持ち、それによって画像や音声を認識するようになります。これによってディープラーニングではルールベースの人工知能にはできなかったことができるようになり、大きな成果を挙げました。しかし、人工知能の考えを理解するという点では大きな問題がありました。

画像認識や音声認識を行なうために必要なネットワークがあまりにも大規模過ぎたのです。現代のニューラルネットワーク型の人工知能に使われている人工ニューロンの数は千や二千ではなく、数千万を優に超えます。それだけ膨大な数のニューロンが学習をする毎に性質を変えていくのです。どのニューロンが何の役割を持っていて、どんな判断をしているのかなんて、とても把握できません

ネットワークはそれぞれ別の機能を持つ

では、ニューラルネットワーク型の人工知能の考えは絶対に分からないのかというと、そういうことでもないのです。学習によって性質を変えると言っても、ニューロンの内部には何らかのルールベースのプログラムが使われています。ニューロンの数が少なければ、人間であっても人工知能の考えは理解できるわけです。

問題は数が増えた時にその動作が把握できないことと、規模が大きくなるとニューロン1つ1つの動作だけを見ても意味が理解できないこと。なぜなら、ニューラルネットワークではネットワーク全体で何らかの機能を持つため、ニューロン1つ1つの動きを見ても意味がないからです。

そして、ネットワークの持つ「何らかの機能」は学習によって自律的に得られるものであり、複数のニューラルネットワークを組み合わせるディープラーニングでは、どのニューラルネットワークが「何の機能を得たのか」理解できないことも珍しくありません。

また、厄介なのが同じ機能を実現し得るネットワークが複数存在する点で、一見すると全く違う構造を持つネットワークの機能が実は同一だったなんてことも起こります。少しややこしいと感じるかもしれませんが、人間の脳が全員違う構造にも関わらず、同じ仕事ができることを考えれば自然なことでしょう。

理解する方法はある

こう考えてみると本当に難しいように思われますが、手がないわけではありません。ディープラーニングの人工知能の考えを理解するための手法は幾つか考えられていますが、その内の1つをご紹介します。

まず、単純に「ニューラルネットワークを説明するニューラルネットワーク」を作ってしまうことです。もっと言えば、ニューラルネットワークのどの部分が特定の判断において重要な役割を果たしたかを発見する人工知能を用意するということ。

ディープラーニングに使われるネットワークは巨大ですが、1つ1つの判断で大きな役割を果たすネットワークはごく一部であることが分かっています。これは人間の脳がタスクによって使われる部分と使われない部分があるのと同じです。要は、ニューラルネットワークの要点を見つけるということです。

その上で、「判断根拠となり得るデータに関する知識」を「ニューラルネットワークの要点」と関連付けます。分かりにくければ、画像の中に含まれる情報を言葉にしてネットワークと関連付けると考えても良いでしょう。

猫で言えば、視覚的な特徴として目・鼻・耳・色・歯などが挙げられます。これはいわゆるデータに関する知識です。そして、ネットワークの要点がこの中のどの部分に関連しているのかを見つけられれば、人工知能が猫のどの部分を見て猫だと判断したのかが分かるということになります。

人間に言い換えれば、脳の反応がネットワークの要点にあたります。人間が「この画像は猫だ」と判断した時の脳の反応が、「猫の目」を見た時に反応に似ていれば、この人は猫の目を見て猫だと判断したと言えるでしょう。それと同じことをニューラルネットワークでやるのです。

まとめ

こうした技術はまだまだ発展途上であり、進歩したからと言って人工知能の考えが完全に理解できるようになるとは限りません。それでも、絶対に分からないなんてことは無いのです。人間の脳の働きすら解明されつつあるのですから、それを参考にしたニューラルネットワークの動きが把握できない道理も無いでしょう。

とはいえ、難しい数学理論をいくら説明されても分からない人がいるように、人工知能が進歩し続け、人間が発見していない理論を用いるようになれば、人工知能の判断基準をいくら丁寧に説明されても分からなくなります。今はまだ人間が人工知能にモノを教えている段階ですが、いずれは人工知能にモノを教わる時代が来るのかもしれません。