現在の第3次AI(人工知能)ブームをけん引している中核の技術が、ディープラーニング(深層学習)だ。機械学習の一分野で、多くの企業や技術者が研究に取り組み、ここ数年で目覚ましい成果を上げている。従来の機械学習とは何が違うのか、何が「ディープ」なのか。博士が新人助手にレクチャーする。

AIは脳の神経細胞を模したニューラルネットワークという仕組みで構成している
AIは脳の神経細胞を模したニューラルネットワークという仕組みで構成している
【AI基礎講座】深層学習は一体何が「ディープ」なの?(画像)
柔裸瑠(にゅうらる)博士
クロトレ大学教授。コンピューターの黎明(れいめい)期からAI一筋で研究をしてきた。最近ついに還暦を迎える。昔は鬼博士と呼ばれていたが、最近は丸くなってきた。
【AI基礎講座】深層学習は一体何が「ディープ」なの?(画像)
助手のアミ
ある中堅ベンチャー企業で社長秘書をやっていたが、全く新しい道を進もうと、クロトレ大学の助手として転職してきた。学生の頃から数学や理科系は苦手。

【AI基礎講座】深層学習は一体何が「ディープ」なの?(画像)

いよいよ、ディープラーニングについて説明を始めるぞ。アミちゃんも名前くらいは聞いたことがあるじゃろ。


【AI基礎講座】深層学習は一体何が「ディープ」なの?(画像)

うん、テレビや新聞などにもよく登場する言葉だよね。


【AI基礎講座】深層学習は一体何が「ディープ」なの?(画像)

ディープラーニングは機械学習の一分野なんだけど、その元となったニューラルネットワークの概念は1943年に提唱されたんだよ。


【AI基礎講座】深層学習は一体何が「ディープ」なの?(画像)

え、そんなに昔なの。


【AI基礎講座】深層学習は一体何が「ディープ」なの?(画像)

当時はコンピューターの性能が低く、ディープという言葉が示す通り、複雑な仕組みをうまく動かせなかったんじゃ。では、その仕組みを解説しよう。


人間の脳の仕組みに似せた構造

 本連載も4回目となり、いよいよ佳境に入ってきた。現在の第3次AIブームを巻き起こしたディープラーニングについて説明する。日本語では深層学習と訳される。ディープラーニングの元となっているのが、ニューラルネットワークと呼ばれるAIの基本構造だ。

 ニューラルネットワークは、人間の脳(神経回路)の研究から生まれた。人間の脳は、数多くのニューロン(神経細胞)から構成されている。神経細胞は、周囲にある複数の突起を通してほかの細胞から微弱な信号を受け取り、一定の刺激を受けたときに「発火」して、別の細胞に信号を伝える。その働きを数学的にモデル化したものを人工ニューロンと呼ぶ。

神経細胞の働きを、プログラミングしやすいように単純化(モデル化)した仕組みを人工ニューロンと呼ぶ
神経細胞の働きを、プログラミングしやすいように単純化(モデル化)した仕組みを人工ニューロンと呼ぶ

 古典的な人工ニューロン(当時はパーセプトロンと呼ばれていた)は、1つの神経細胞を模した構造になっている。外部からの信号を受け取る入力の部分と、その信号に応じて結果を表す出力の部分がある。入力は複数本あるが、出力は1本だけだ。

 入力の信号を受け取る線には、それぞれ重み付けをするための値が設定されている。入力が4本ある場合は、まず1番目の入力信号と1番目の重み付けの値をかけあわせた数値を計算する。同様に、2~4番目でも同じ計算をして、数値をすべて足し合わせる。その合計がある値(しきい値)を超えたときには、出力は1になる。超えない場合は0になる。

 例えば、誰かに左右の手足をつねってもらい、我慢の限界が来たら「痛い!」と叫ぶとしよう。この場合、左右の手足が入力にあたり、口が出力となる。手袋をはめるか、靴下を履けば、同じ強さでもあまり痛くなくなる。手袋や靴下の生地の厚さによって、痛くなりにくさは異なる。これが重みの値だ。何も付けていないときに重みの値は1で、薄手のゴム手袋なら0.7、分厚いスキー用の手袋なら0.3になる、といった具合だ。

 この人工ニューロンに学習させるには、ある入力に対して、正しく出力できるように、入力に対する重みを調節することが、AIの学習にあたる。もともと右手が鈍感であまり痛みを感じない人をシミュレーションしたい場合は、右手に手袋をはめるようにする(重みの値を下げる)ようにすればいいわけだ。

中間層を増やすと「ディープ」になる

 かつては、人工ニューロンが1つだけのシンプルなネットワークで研究されていたが、それでは複雑な問題を解くことはできなかった。そこで考えられたのは、人工ニューロンを複数つなぎ合わせたニューラルネットワークだ。

 ニューラルネットワークでは、入力層と出力層の間に中間層(隠れ層)を設ける。こうすることで、より複雑な問題にも対処できることが分かったが、当初は適切な重みを学習する方法が見つかっていなかった。こうして1960年代にニューラルネットワークは冬の時代を迎えることになる。

ディープニューラルネットワークは、人口ニューロンが複数重なった中間層を持っている
ディープニューラルネットワークは、人口ニューロンが複数重なった中間層を持っている

 どうやってニューラルネットワークに学習させるか。これを1986年に打開したのが、ラメルハート、ヒントン、ウィリアムズという米国の3人の学者だ。ラメルハートらが考案したのは、バック・プロパゲーションと呼ばれるアルゴリズムを考案しました。バック・プロパゲーションは日本語では誤差逆伝播(でんぱ)法と呼ぶ。

 出力層で得られた結果を教師データと照らし合わせ、誤差を計算し、その誤差の大きさに合わせて出力層側から入力層に向けて重みの値に調整を加えていく。ここでは深く踏み込まないが、次回に詳しく説明する予定だ。

 誤差逆伝播法によって、中間層を持つニューラルネットワークでも適切な学習をさせられるようになった。しかし、より複雑な問題を解決するためには、複数の中間層が必要になる。このような複数の(深い)中間層を持つニューラルネットワークをディープニューラルネットワークと呼ぶ。ラメルハートらの手法では、ディープニューラルネットワークの入力層に近づくにつれて、うまく重みを学習できないといった問題があった。こうして、2回目のニューラルネットワークブームも終わりを迎えた。

GPUの性能向上がブレークスルーに

 2006年、ディープニューラルネットワークでは、うまく学習ができない問題を解決したのが、ラメルハートらと一緒に誤差逆伝播法の論文を発表したヒントンだ。ヒントンは、オートエンコーダーというアルゴリズムを使い、ディープニューラルネットワークを1層ずつ切り出したうえで、単層の単純な構造とすることで段階的に学習させる手法を考案した。

 この方法により、中間層が何十層もあるディープニューラルネットワークも適切な学習が行えるようになった。ヒントンは、こうしたディープニューラルネットワークを用いた機械学習を、ディープラーニングと名付けた。これまでの説明でお分かりかと思うが、ディープラーニングのディープは、ニューラルネットワークの階層が深い(ディープ)という意味だ。