現在地

第4回 ディープラーニング(深層学習)のブラックボックス問題と課題

前回はディープラーニング(深層学習)がどのようにして働くのかを簡略化して解説しました。なぜ、いまの人工知能ブームが巻き起こってきたのかの一端を掴み取っていただいたことと思います。しかし、そのような素晴らしい技術でも、課題があります。その1つが良く言われる「ブラックボックス」問題です。今回は、これについて解説しましょう。

その前に、前回、たくさんのデータを読み込ませたり、たくさんの重みづけ値を計算したりすることが必要という課題も解説しました。まずは、この莫大な計算をどのように実現しているかについて簡単に説明しましょう。キーワードはGPU(Graphic Processing Unit)です。

7. なぜGPU(Graphic Processing Unit)を使うの?

計算のお話をしなくてはいけないので、数式が必要となりますが、難しくなってしまうので、ここでは数式を使わず、「こんな感じ」までの理解にとどめたいと思います。

最近、人工知能の話が出ると、「GPU」という言葉が併せて良く出てきます。「GPU」はGraphic Processing Unitの略称で、画像処理ユニットのことを指します。よくパソコンの拡張ボードとしてパソコン本体に差して、綺麗な画面表示や、ロールプレイングゲームなどの高速に動く3次元画像表示などに使う演算アクセラレータカードのことです。最近はカード形状ではなく、半導体チップ形状になってノートパソコンにも組み込まれています。

このGPUは、例えば3次元データをパソコンの画面に表示させるとき、さまざまな角度から見た状態を表示させたい、動画として動いているように表示させたい場合には、3次元データと表示角度の掛け合わせ計算を行い、その結果を画面に表示させます。3次元データの1点1点に対して、掛け合わせ計算を行うので、きめ細かい3次元データ、例えば人間のようなキャラクターの表示をさせようと思うと、たくさんの点データに対し掛け合わせを行う必要があります。さらに、このキャラクターを画面上でリアルタイムに踊らせることを考えると、沢山の点に対し同時に計算し、しかも次々と計算させるという途方もない量の計算が必要になります。

この、きめの細かい3次元データをパソコンの画面上でグルグルと自在に回したりするために膨大な計算が必要となりますが、これを担当するのがGPUです。パソコン本体のCPUでは、到底計算しきれない部分をGPUが担い、画面上の滑らかな動きが実現しているのです。もうお気づきですね。このGPUの計算力をニューラルネットの重みづけを探す計算に使うことができないのか?
実は画像処理用の計算と、ニューラルネットの重みづけを探すための学習計算は、とても似ているのです。ほぼ同じ計算式で重みづけの最適値を解くことができるのです。第2回で解説した画像処理コンテストでディープラーニングを使ってブレークスルーを起こした時にも、このGPUが大活躍したのです。その後、ディープラーニングと言えばGPUという組み合わせとなり、これまでに、ディープラーニング向けとしての技術的な改良や、並列に大量に使うための技術などが開発されてきています。このようにAIのためのハードウエアも活発に技術開発が進められていますので、、また別のコラムで解説していきたいと思います。

さて、このようにしてGPUを使ってディープラーニングを活用しますが、実はブラックボックス問題という課題があります。これについて解説しましょう。

8. ディープラーニングのブラックボックス問題とは

これは「人工知能が出した答えが、どんなふうに考えて出してきたのか分からない」と言う問題です。

現在の人工知能ブームはディープラーニングによるものとお話してきました。それ以前は、前にもお話しましたが、人間がルールを決めて、コンピューターに判断させる手法でした。つまり、答えを出す方法を人間が決めていたのです。「写真の中に白い三角形があれば、ヨット」とかね。ところがディープラーニングはコンピューターが勝手に判断するルールを探すのです。このルールはニューラルネットの重みづけの塊となって表されるのです。重みづけの塊が何を意味するのかを読み解けば、人工知能が出した答えの出し方が分かるのです。「なんだ、簡単じゃないか!ブラックボックス問題なんて問題じゃない!」

いやいや、この重みづけは、莫大な数のニューロンをつなぐ莫大な数のシナプスの重みづけです。複雑な関係を表現したネットワークなのです。これを解明するのは、現時点ではほぼ不可能です。ですので、ブラックボックス問題は問題になるのです。

それでも最新の研究では、隣同士のニューロンや似通った働きをしているニューロンをまとめるなどの作業から重みづけの傾向を読み解くなどのアプローチもあり、例えば画像でいうと、「画像の右半分の特徴を捉えて、ヨットと判断しているらしい」というところまでは分かってきています。しかし、さらに高度な処理をする際にはニューロンの数が増えるほど、ニューラルネットワークが複雑になり、読み解くことが難しくなります。

「別に、人工知能がどう考えようとも、答えが有用であればそれで良いじゃないか!」という場合もありますし、そうでない場合もあります。

以前、NHKの放送(参考1)で紹介されていた例ですが、(1)米国のある都市の犯罪マップ(いつ、どこで犯罪が起きたか)のデータを人工知能にたくさん学習させ、次のこの曜日、この時間帯にはどこで犯罪が起きる可能性が高いか推論させます。行ってみると麻薬所持者を検挙できたとのことでした。これは非常に有用ですね。(2)臓器移植の例です。事故で脳死となった患者の方から心臓が提供される場面。提供を受ける方の病状や血液型、拒絶反応の有無などあらゆるデータを学習した人工知能が候補者を選出します。提供いただいた患者さんは人工知能のおかげですと言いますが、候補から外れた方は「なんで?」と言うことになります。

参考

つまり、ディープラーニングは考えて使わないと、その結果が大きな問題を残すことになるのです。ディープラーニング以前のルールを人間が考えていた時の1次ブーム、2次ブームの時の人工知能を使う場面も必要なのです。

ぜひ、皆さんも、ブラックボックス問題を持つディープラーニングが、使える場面と、使えない場面を考えてみてください。

次回は、さまざまな学習のさせ方についてお話しするとともに、ディープラーニングの大きな課題である、「過学習」(学習のさせ過ぎ)について解説を進めます。え?学習のさせ過ぎなんてあるの?勉強すれば勉強するだけ頭が良くなるのではないのです。
こうご期待!

Writer Profile

営業推進部
AIビジネスコーディネーション担当
川村 直毅