編集部注:人工知能の中心的な技術の一つにニューラルネットワークがあります。
身近なニューラルネットワークの例を教えてください。
ニューラルネットワークにはさまざまな用途があります。 身近な例では、スマートフォンのカメラで顔を認識する機能があります。
ドライバーレスカーには複数のカメラが搭載されており、ニューラルネットワークによって他の車両や交通標識、歩行者などを認識し、それに応じて曲がったり速度を調整したりしようとしています。
文章やメールを書くときに表示されるテキストの候補や、オンラインの翻訳ツールにもニューラルネットワークが使われています。
分類や認識を行うためには、ネットワークに事前の知識が必要なのでしょうか
はい。
ドライバーレス・カーの例では、路上にあるすべての物の何百万もの画像やビデオを見て、それらの物が何であるかを教えてもらう必要があります。 インターネットを見ているときに、自分がロボットではないことを証明するために横断歩道の画像をクリックすると、それがニューラルネットワークの学習にも使われます。
より複雑なニューラルネットワークは、実際に自分自身を教えることができます。
さらに複雑なニューラルネットワークでは、自分自身で学習することができます。下のリンク先のビデオでは、ネットワークにA地点からB地点に行くというタスクが与えられ、モデルをコースの最後まで連れて行くために様々なことを試し、最も良い仕事をするものを見つけるまでの様子を見ることができます。
ニューラルネットワークの中には、協力して新しいものを作り出すことができるものもあります。 この例では、画面を更新すると、ネットワークが実在の人物ではない仮想の顔を作成します。 1つのネットワークが顔の作成を試み、もう1つのネットワークがそれが本物か偽物かを判断しようとします。
人間もビッグデータを利用しています。 人間は1秒間に約30コマ、1分間に1,800コマ、1年間に6億コマ以上の画像を認識しています。 だからこそ、ニューラルネットワークにも同じようにビッグデータを利用した学習の機会を与えるべきだと思います。
基本的なニューラルネットワークの仕組み
ニューラルネットワークとは、ソフトウェアでプログラムされた人工的なニューロンのネットワークのことです。 人間の脳をシミュレートしようとしているので、人間の脳のニューロンと同じように、何層もの「ニューロン」を持っています。 最初の層のニューロンは、画像、ビデオ、音声、テキストなどの入力を受け取ります。 この入力データはすべての層を経由し、ある層の出力が次の層に供給されるようになっています。
犬と猫を認識するように訓練されたニューラルネットワークを例に挙げてみましょう。 ニューロンの第1層は、この画像を明るい部分と暗い部分に分けます。 このデータは次の層に送られ、エッジを認識します。 次の層では、エッジの組み合わせで形成された形状を認識しようとします。
これらのネットワークは信じられないほど複雑で、受け取った入力を分類・認識するための何百万ものパラメータから構成されています。
なぜ今、ニューラルネットワークがこれほどまでに応用されているのでしょうか?
実はニューラルネットワークは、1943年にウォーレン・マカロックとウォルター・ピッツがアルゴリズムに基づいてニューラルネットワークの計算モデルを作成したことにより、はるか昔に発明されました。
その後、ニューラルネットワークの構築に必要な膨大な計算資源がまだ存在しなかったため、このアイデアは長い冬眠に入っていましたが、最近になって、GPU(Graphical Processing Unit)などの高度な計算資源のおかげで、このアイデアが大々的に復活しました。 ゲームのグラフィック処理に使われてきたチップですが、ニューラルネットワークに必要なデータの処理にも優れていることがわかりました。 だからこそ、ニューラルネットワークが普及したのだと思います」
。