deep learningに簡単入門!いまさら聞けないAIのあれやこれ

deep learningのイメージ

AI(人工知能)がそれ以前のコンピュータと大きく違う点といえば「deep learning
(ディープラーニング)」ですよね。AI(人工知能)とは何かを理解するためのキーワードの一つですが、初心者向けの入門書もあまり見当たりません。よく似たタームのMachine Learning(マシンラーニング)との違いは何でしょうか。

現在のAI(人工知能)が現れ始めたのは2010年ごろからですが、実際はコンピュータの発展の歴史の中で何度かAI(人工知能)という言葉は使われていました。かつては情報検索や知識を参照するものをAI(人工知能)といっていましたが、この入門段階のAI(人工知能)を大きく飛躍させたのがdeep learning 。

deep learning は「深層学習」と訳され、Machine Learning「機械学習」の学習能力を向上させたものと言えます。それではdeep learning とはどのような仕組みなのでしょう。AI(人工知能)入門の知識としてdeep learning について基本的なことを知っておきましょう。

AI(人工知能)に脳の仕組みを取り入れる

ニューロンのイメージ

AI(人工知能)を作り出す上で最も重要視されていたテーマの一つが、いかに機械に「ものを考えさせる」か、ということ。人が用意した答えをコンピュータが選び取るのではなく、コンピュータ自体が答えを見つけるためにはどうすればよいのか。このために考え出されたのがMachine Learning(機械学習)です。

Machine Learningでは大量のデータのどこに注目してデータの重要性を判断するか、という手順を人間が機械に指示します。どんなデータが実際に使われるかはわからないのですが、判定する基準をまず人が与えることでコンピュータは判断や予測の仕方を準備。後にデータが与えられたときにその基準を使って分析し、結論を導くことができます。

これに対してdeep learning ではこの基準そのものを機械が見つけ出しますコンピューターに人間が「考え方」を指示せずに、コンピュータ自体にその手順を見つけさせる。このdeep learning (深層学習)は Machine Learning(機械学習)をいわば入門の入門として発展させたものです。

deep learning のアイデアの原型は脳の認知システムのモデル。人の脳がどのようにものを考えるのかという仕組みを理解する脳科学の研究から得られたニューラルネットワークという考え方です。

人の脳は無数のニューロンという神経細胞がいくつも連結した情報ネットワーク。隣り合うニューロン同士はお互いに結ばれて一方から他方へ情報が伝達されます。このとき、受け手のニューロンがその情報を次のニューロンに伝えるためには、情報の信号があるレベルを超える強さで入ってくることが必要です。

この「閾(しきい)値」に満たない信号は伝える重要性がありません。一つのニューロンにはいくつものニューロンから信号が入ってきますから、複数のニューロンから受け取った信号は累積されて重要性が判断されます。

この脳ニューロンの仕組みをモデルとしてAI(人工知能)に組み込んだのがDeep Neural Network(DNN:深層ニューラルネットワーク)。

DNNはAI(人工知能)へのデータの入力と出力の間に中間的な処理レベル(中間層)を準備。複数の入力データをいくつか組み合わせてそれぞれ中間層の複数の処理ユニットへ送ります。

この中間層でデータの重み付けを行い、閾値を超えたデータだけを第二の中間層の処理ユニットへ、そしてさらに閾値を越えたデータを第三の中間層の処理ユニットへ。このプロセスを繰り返すことで最終的な出力に一定のパターンが現れれば、そのときの中間層でのデータ処理の重み付けの仕方が、入力と出力の関係を決める基準として認識できます。このDNNがdeep learning の入門的な処理構造です。

地図や路線の最短ルートを発見したり、碁や将棋の指し手を選ぶAI(人工知能)の学習能力のベースはこのDNN。可能な組み合わせの中から「最適」な重み付けのやり方を見つけます。AI(人工知能)はDNNというニューラルネットワークモデルを使って、自分で問題を解くアルゴリズムを探し出すのです。

deep learning を特徴付けているのはその多層構造。

データの重要性を導く手順を段階的な重み付けと閾値という方法で行うことで、そのプロセスをいくつものステージに分けて学習できます。AI(人工知能)に用いられるdeep learning は入門レベルのAI(人工知能)で4層以上の中間層をもつものを指し、実際のDNNがもつ中間層は50~100層以上です。

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)「畳み込みニューラルネットワーク」という仕組み。

CNNは入力された画像を輪郭や色、形の要素に分解し、これを重要性の高いものに絞り込んでその重要な要素の位置関係を変えずに画像を圧縮(畳み込み)。この畳み込まれた画像を中間層に置いて、これに対して同じプロセスを繰り返すことで画像の特徴をニューラルネットワークに取り込みます。

その後、Googleでは2万を超える物体の識別に成功。CNNは今後のAI(人工知能)画像認識技術として大変注目されており、Googleも自社の実験データをdeep learning 入門者向けに公開しています。

AI(人工知能)時代の幕開けのイメージ

AI(人工知能)の発達は脳科学とコンピュータサイエンスの分野を統合して、機械が自分でやり方を考え出すという学習のアーキテクチャーを作り出しました。まさにAI(人工知能)の登場ですよね。ここに書いた内容はそのdeep learning についての入門編。ニューラルネットワークのモデルは他にも多くの構造が提言されており、1000層を超える中間層を持つ深層ニューラルネットワークも作られています。

AI(人工知能)は自分で入力データの処理アルゴリズムを導き出すため、技術者がデータの処理手順を指示する必要がありません。このため、AI(人工知能)は時に人間が考え付かなかった出力のパターンを見つけることがあります。人とは違った方法で答えを見つけるのです。

deep learning を実装したAI(人工知能)は、今後、生産や医療の分野で重要な役割を果たすことが期待されています。一方でAI(人工知能)はデータの要素間の関係を見つけているだけで、その意味や因果関係は理解していません。現在、多くの企業がAI(人工知能)に取り扱うデータを「理解」させるための研究を進めています。

AI(人工知能)はdeep learning という技術を手に入れて、今ようやく世界に入門したばかり。人間とAI(人工知能)が作り出していく新しい世界ではどんなことが起こっていくのでしょうか。AI(人工知能)時代の幕開けです。

ABOUT THE AUTHOR

この記事をかいた人 /

そねあす
AIZINE編集部のそねあすです。記事の編集を担当しています!

もともとデザインやHTML、CSSと仲良くしていたつもりがあれよあれよと編集の世界に。AI(人工知能)は作れないけど興味深々なんでまずはSiriを使いこなしてみようと模索中です。

編集初心者が、自動運転やAI家電、AI(人工知能)を使った未来まで 日々変化していくAI(人工知能)のニュースをお届けします!