その答えは、1982 年の大人気テレビ シリーズ『ナイトライダー』の主役、デビッド ハッセルホフとその相棒の未来型ポンティアック ファイヤーバードを見ればわかる
俳優デビッド ハッセルホフと犯罪捜査仕様に改造された未来型ポンティアック ファイヤーバードが主役を務めた 1982 年のアメリカの大人気テレビ シリーズ『ナイトライダー』は、予言的なものでした。人間の言葉を話せるあの自動運転車は、画像認識と言語認識におけるハリウッドの教えをも示していたのです。
もし本作を現代版の脚本に書き換えるなら、ハッセルホフの AI 搭載車 KITT (キット) が誇る「見る、聴く、話す」能力は、畳み込みニューラル ネットワーク (CNN) とリカレント ニューラルネットワーク (RNN) によるディープラーニングで実現されたことでしょう。
なぜなら、CNN は現在マシンで物体を識別するために使われている画像認識手法 (目) であり、RNN は言語パターンの解析に使われている数学エンジン (耳と口) であるためです。
80 年代から一気に飛んで現在、CNN は自律走行車、石油探査、核融合エネルギーの研究における目の役割を果たしています。また、CNN によって、より早く医療画像から疾患を見つけ出し、人命を救うこともできます。
今やハッセルホフは、(他の何十億もの人々と同様に、たとえ無意識にであっても) CNN の恩恵にあずかり、Facebook に友人の写真を投稿して、組み込みの自動タグ付け機能で名前を入力し、交友関係の潤滑化を図っています。
つまり、もしファイヤーバードから CNN を取り除いたら、自動運転を可能にするコンピューターによる目を失い、何の興奮もないありふれたアクションの小道具となりはてるでしょう。
また、ハッセルホフの相棒である黒く艶めく自律型ファイヤーバードからもし RNN を外せば、彼の独身生活を皮肉たっぷりにからかうインテリジェントなコンピューター音声が失われてしまいます。KITT のフランス語やスペイン語の運用能力がなくなるのは言うまでもありません。
RNN は、間違いなく音声ベースのコンピューティングの変革に拍車をかけています。Amazon の Alexa、Google の Assistant、Apple の Siri に耳と音声を提供する自然言語処理の脳の役割を果たしています。また、ユーザーの検索キーワードを補う Google のオートコンプリート機能に千里眼のような驚きの能力を与えているのも RNN です。
さらに、CNN と RNN によって、今やこのようなクルマは単なるハリウッドのファンタジーにとどまらず、自動車メーカーにおいて KITT のような未来型車の開発が急ピッチで進められています。
現在の自律走行車は、道路に出る前に、シミュレーションで性能をテストすることができます。そのため開発者は、クルマの目に人間を超えた認知レベルで見る能力があることをテストし、検証することが可能です。
CNN と RNN のおかげで、あらゆる種類の AI 搭載マシンが人間のような目と耳を利用するようになっています。このような AI の応用事例のほとんどが、数十年にわたるディープ ニューラル ネットワークの発展と、膨大なデータを処理できる GPU によるハイパフォーマンス コンピューティングの進歩によって実現したものです。
CNN の概歴
現在にたどり着くまでの経緯をよく訊かれます。自律走行車が登場するずっと前、一般的な人工ニューラル ネットワークを研究する研究者らが、人間の脳内のニューロン間で形成される生物学的結合から着想を得ました。そして、CNN の研究者らもこの考えに従ったのです。
1998 年、CNN にとって重要な節目が訪れました。この年に、ヤン ルカン (Yann LeCun) 氏と、その共著者であるレオン ボトウ (Léon Bottou) 氏、ヨシュア ベンジオ (Yoshua Bengio) 氏、パトリック ハフナー (Patrick Haffner) 氏が、『Gradient-based Learning Applied to Document Recognition』と題された影響力の大きな論文を発表したためです。
この論文では、それらの学習アルゴリズムがいかに最低限の前処理で手書き文字に含まれるパターンを分類するのに役立つかが説明されています。この CNN に関する研究によって、銀行小切手の読み取りにおける記録的な精度が実証され、今では商業的な小切手の処理に広く採用されています。
これにより、AI の将来性に対する期待が一気に高まりました。論文の筆頭研究者であるルカン氏は、2003 年にニューヨーク大学の教授に就任し、その後 2018 年に Facebook に入社して、ソーシャル ネットワークの AI 主任研究員となりました。
そして、次の転機は 2012 年に訪れます。この年には、トロント大学の研究者であるアレックス クリジェフスキー (Alex Krizhevsky) 氏、イリヤ スツケヴェル (Ilya Sutskever) 氏、ジェフリー ヒントン (Geoffrey Hinton) 氏が、『ImageNet Classification with Deep Convolutional Neural Networks』と題された画期的な論文を発表しました。
この研究によって、物体認識の状況が進展しました。3 人は ImageNet Large Scale Visual Recognition Challenge コンテストで、畳み込みディープ ニューラル ネットワークに 120 万枚の画像を分類するトレーニングを行い、エラー率を記録的に低減して優勝を果たしました。
これが現在の AI ブームの火付け役となったわけです。
CNN が犬とポニーを見分ける
ここで、画像認識の役割を示す例を紹介します。人間なら犬種のグレート デーンを見れば、大きいながらも犬だとわかりますが、コンピューターが見るのは数字だけです。では、コンピューターは、グレート デーンがポニーでないことをどうやって判断するのでしょうか。そのピクセルの数値表現は、CNN の多くの層を通すことで処理できます。グレート デーンが持つさまざまな特徴をこの方法で識別すれば、犬という答えに行きつくことが可能になります。
では、より技術的なレベルで処理を理解するため、CNN をさらに掘り下げてみましょう。
CNN は、入力層 (ピクセルの数値によって表される画像など) と、1 つ以上の隠れ層、そして出力層から成ります。
これらの層で演算処理を行うことで、コンピューターは、特定の物体や動物のほか、あらゆる対象物を最終的に (うまくいけば) 識別できるよう、一度に少しずつ画像の詳細を定義します。とはいえ、トレーニングの初期段階には特に、ミスがよく起こります。
畳み込み層:
数学では、畳み込みはグループ化関数にあたります。CNN では、2 つの行列 (列と行に並べられた数値から成る長方形の配列) の間で畳み込みが行われ、出力として 3 つ目の行列が作成されます。
CNN は、畳み込み層でそれらの畳み込みを使用して入力データをフィルター処理し、情報を見つけます。
CNN では、この畳み込み層が手間のかかるコンピューティング上の処理のほとんどを行います。畳み込み層は数学的なフィルターとして機能し、これによりコンピューターは、画像の輪郭や、暗い領域と明るい領域、色合いのほか、高さ、幅、奥行きなどの詳細を特定できます。
通常、1 枚の画像に多数の畳み込み層がフィルターとして適用されます。
- プーリング層: プーリング層は、たいてい畳み込み層の間にあり、畳み込み層によって作成された表現のサイズを減らすとともに、必要なメモリを減らして畳み込み層の数を増やすために使われます。
- 正規化層: 正規化はニューラル ネットワークのパフォーマンスと安定性を高めるために使われる手法です。すべての入力を平均が 0、分散が 1 のデータに変換して、各層の入力をより扱いやすくします。データを正規化する処理だと考えてください。
- 全結合層: 全結合層は、1 つの層の各ニューロンを別の層のすべてのニューロンに結合するために使われます。
より詳細な技術的説明については、NVIDIA の開発者向けサイトの CNN ページをご覧ください。
CNN はコンピューター ビジョンに最適ですが、十分なデータを取り込めば、映像、音声、音楽、テキストにも役立ちます。
CNN では、フィルター (ニューロン) の巨大な配列をこれらの隠れ層に配備し、これらはすべて画像識別の効率化に寄与します。CNN は、情報が 1 つの層から次の層へ送られるため、「フィードフォワード」ニューラル ネットワークと呼ばれます。
一方、RNN のアーキテクチャは、従来型の人工ニューラル ネットワークや CNN とほぼ同じですが、フィードバック ループとして機能するメモリを持つ点が異なります。人間の脳のように、特に会話において、文章を予測する上で、情報が新しければ新しいほどより多くの重み付けが行われます。
そのため、RNN は単語の配列の中で次に来るものを予測する場合に適しています。また、CNN の入力データは固定されているのに対し、RNN にはさまざまな長さのデータ配列を入力できます。
RNN の概歴
RNN は、ハッセルホフの人気上昇と同時期の 1980 年代から存在しています。1982 年に、ジョン ホップフィールド (John Hopfield) 氏が初期の RNN であるホップフィールド ネットワークを考案しました。
1997 年には、Long Short-Term Memory (LSTM) ネットワークと呼ばれる、RNN で利用されるネットワークが、ゼップ ホフレイター (Sepp Hochreiter) 氏とユルゲン シュミットフーバー (Jürgen Schmidhuber) 氏によって考案されました。そして、2007 年ごろまでに、LSTM は音声認識分野で飛躍を遂げます。
2009 年、手書き認識を対象とするパターン認識コンテストで RNN が優勝したほか、2014 年までには、中国の Baidu 検索エンジンが、Switchboard Hub5’00 の音声認識水準を上回るという画期的な出来事が起こっています。
RNN がランチの内容を言い当てる
RNN は、LSTM と呼ばれるアクティブ データ メモリを持つニューラル ネットワークです。特定のデータの配列に適用することで、次に来る内容を推測できます。
RNN では、一部の層の出力が、前の層の入力へと戻され、フィードバック ループが形成されます。
ここで、簡単な RNN の典型例をご紹介します。RNN は、食堂でメイン料理が提供される曜日を把握するのに役立ちます。たとえば、毎週同じ曜日に同じ料理が提供される、固定スケジュールがあるとします。月曜にはハンバーガー、火曜にはタコス、水曜にはピザ、木曜には寿司、金曜にはパスタといった具合です。
RNN を利用すると、金曜のメイン料理を特定するにあたって、出力「寿司」がネットワークにフィードバックされた場合、RNN はその順列の次のメイン料理がパスタだとわかります (この RNN は、順序が存在することと、木曜の料理が提供されたばかりだということを学習したため、金曜の料理が次に来るわけです)。
別の応用例として文章が挙げられます。「16 km ほど走ってきたばかりなので、飲み物に______がほしい」という文章の場合、人間なら過去の経験から空欄をどう埋めればいいか判断できるでしょう。一方、RNN の場合は、そのメモリ機能のおかげで、たとえば空欄に「水」を入れて答えを完成させる同様の文章を使って十分なトレーニングを行ったメモリを用意できるため、次に何が来るかを予測することが可能です。
RNN の応用例は、自然言語処理や音声認識にとどまりません。言語の翻訳、株価予測、アルゴリズム取引にも利用されています。
このほか、RNN は、外部メモリにアクセスするニューラル チューリング マシン (NTM) にも採用されています。
最後に、双方向 RNN と呼ばれる手法では、入力ベクトルを取り、2 つの RNN に対してトレーニングが行われます。一方は、通常の RNN 入力順序でトレーニングが行われ、もう一方は、逆の順序でトレーニングが行われます。その後、両方の RNN の出力が連結 (結合) されます。
このように、CNN と RNN によって、アプリ、Web、そしてマシンの世界の見る能力と話す能力が劇的に向上しました。AI におけるこの 2 つの機構がなければ、私たちのマシンはつまらないものになっていたでしょう。
Amazon の Alexa はその一例です。キッチンに置いた Echo の「無線」デバイスに話しかけ、その一風変わった AI との会話の中でさまざまな新しい質問を行う方法を教えてくれます。
また、近い将来、自律走行車も実現され、私たちの生活の主役となることでしょう。
RNN のより詳細な技術的説明については、NVIDIA の開発者向けサイトをご覧ください。また、ディープラーニングの詳細については、NVIDIA Deep Learning Institute で最新の講義情報をご確認ください。