最近AI(人工知能)が非常に注目を集めていますよね。こうした状況のきっかけをつくったのは「Deep Learning(ディープラーニング)」という技術です。AI(人工知能)とは、単なる概念で、人の知的な活動(話す、判断する、認識するなど)を自動化したものです。
現在のAI(人工知能)の中心となっている技術が現れ始めたのは2010年ごろからですが、実際はコンピュータの発展の歴史の中で何度かAI(人工知能)という言葉は使われていました。かつては情報検索や知識を参照するものをAI(人工知能)といっていましたが、大きな飛躍をもたらしたのがDeep Learning(ディープラーニング)です 。
Deep Learning は「深層学習」と訳され、機械学習(Machine Learning)の中の一つの学習の手法であると言えます。機械学習とは、AI(人工知能)の中心をなす技術であり、プログラム自身が学習していく仕組みのことを言います。
今回は、最近非常に注目されている、Deep Learning について基本的なことをお伝えしていきます。
AI(人工知能)に脳の仕組みを取り入れる
AI(人工知能)を作り出す上で最も重要視されていたテーマの一つが、いかに機械に「ものを考えさせる」か、ということでした。人が用意した答えをコンピュータが選び取るのではなく、コンピュータ自体が答えを見つけるためにはどうすればよいのか。このために考え出されたのが機械学習(Machine Learning)です。
これに対してDeep Learning ではこの基準そのものを機械が見つけ出します。コンピューターに人間が「考え方」を指示せずに、コンピュータ自体にその手順を見つけさせる。このDeep Learning (深層学習)は 機械学習(Machine Learning)をいわば入門の入門として発展させたものです。
Deep Learning のアイデアの原型は脳の認知システムのモデル。人の脳がどのようにものを考えるのかという仕組みを理解する脳科学の研究から得られたニューラルネットワークという考え方です。
この「閾(しきい)値」に満たない信号は伝える重要性がありません。一つのニューロンにはいくつものニューロンから信号が入ってきますから、複数のニューロンから受け取った信号は累積されて重要性が判断されます。
この脳ニューロンの仕組みをモデルとしてAI(人工知能)に組み込んだのがDeep Neural Network(DNN:深層ニューラルネットワーク)。
この中間層でデータの重み付けを行い、閾値を超えたデータだけを第二の中間層の処理ユニットへ、そしてさらに閾値を越えたデータを第三の中間層の処理ユニットへ。このプロセスを繰り返すことで最終的な出力に一定のパターンが現れれば、そのときの中間層でのデータ処理の重み付けの仕方が、入力と出力の関係を決める基準として認識できます。このDNNがDeep Learning の入門的な処理構造です。
地図や路線の最短ルートを発見したり、碁や将棋の指し手を選ぶAI(人工知能)の学習能力のベースはこのDNN。可能な組み合わせの中から「最適」な重み付けのやり方を見つけます。AI(人工知能)はDNNというニューラルネットワークモデルを使って、自分で問題を解くアルゴリズムを探し出すのです。
Deep Learning を特徴付けているのはその多層構造。
AI(人工知能)にアルゴリズムを生成させるためには最初に大量のデータを読み込ませてDNNに学習させる必要があります。最初に入力されるデータが多ければ多いほど、得られるアルゴリズムは優れたものになるでしょう。人間のチャンピオンを破ったGoogleの「AlphaGo」の場合、事前に3000万種類の打ち手を入力して学習。さらにAlphaGo同士の対戦を数百万回繰り返しました。
このDNNを実際に機能させるためには、多層ニューラルネットワークという仕組みの発明以外に、大量のデータを入手・蓄積できる環境と無数の組み合わせ計算の多層での処理を行うコンピュータの高速処理能力が不可欠。Webおよびクラウド技術の発達と半導体技術の進歩により作られた並列演算プロセッサーがこれを実現し、Deep Learning を可能にしたのです。
AI(人工知能)が「猫」を知る
入門知識としてもう一つのDeep Learning の話題といえば、AI(人工知能)による画像認識の能力ですよね。Googleは自社開発のニューラルネットワーク「GoogleBrain」にYouTubeからダウンロードした1000万枚の画像を読み込ませ、画像の構成要素を分析させたところ、このAI(人工知能)は1000万枚の画像から自分で「猫」の画像を分類していた、と発表しました。
この実験では実験者はAI(人工知能)に「猫」というものを教えていません。画像の中の輪郭や形、その繋がり方を特徴として取り出し、その共通要素を画像のパターンの類似性としてアルゴリズムにすることで、AI(人工知能)自身が画像に移っている物体の中から特徴的なもの(猫)を選んで認識したのです。
AI(人工知能)が画像を認識するために使われるのは、DNNをさらに二重に組み合わせたConvolutional Neural Network (CNN)「畳み込みニューラルネットワーク」という仕組み。
その後、Googleでは2万を超える物体の識別に成功。CNNは今後のAI(人工知能)画像認識技術として大変注目されており、Googleも自社の実験データをDeep Learning 入門者向けに公開しています。
AI(人工知能)の発達は脳科学とコンピュータサイエンスの分野を統合して、機械が自分でやり方を考え出すという学習のアーキテクチャーを作り出しました。まさにAI(人工知能)の登場ですよね。ここに書いた内容はそのDeep Learning についての入門編。ニューラルネットワークのモデルは他にも多くの構造が提言されており、1000層を超える中間層を持つ深層ニューラルネットワークも作られています。
AI(人工知能)は自分で入力データの処理アルゴリズムを導き出すため、技術者がデータの処理手順を指示する必要がありません。このため、AI(人工知能)は時に人間が考え付かなかった出力のパターンを見つけることがあります。人とは違った方法で答えを見つけるのです。
Deep Learning を実装したAI(人工知能)は、今後、生産や医療の分野で重要な役割を果たすことが期待されています。一方でAI(人工知能)はデータの要素間の関係を見つけているだけで、その意味や因果関係は理解していません。現在、多くの企業がAI(人工知能)に取り扱うデータを「理解」させるための研究を進めています。
AI(人工知能)はDeep Learning という技術を手に入れて、今ようやく世界に入門したばかり。人間とAI(人工知能)が作り出していく新しい世界ではどんなことが起こっていくのでしょうか。AI(人工知能)時代の幕開けです。