深層学習 DNN のページ
<脳と DNN の比較>
ディープラーニング(DNN)または深層学習とは、多層のニューラルネット
ワークによる機械学習手法です。
1958年 のローゼンブラットによるパーセプトロンモデル提唱以来、ニューラル
ネットワークのブームが起こりました。
その後、第1次ブーム(1960年代から)、第2次ブーム(1980年代から)と発展
するにつれ、AIの性能を高めるために、下図に示すような、中間層の多層化が
試みられました。
しかしながら、中間層を2層以上にすると、精度がかえって悪くなってしまうという
問題が起こりました。
その原因は、主に、誤差逆伝播法における勾配消失等の問題点があったため
です。
(AIの歴史については、このページの末尾、付録 1で概説します。)
勾配消失の問題点とは、ニューラルネットワークの層が多くなるほど、誤差対
重みのグラフの勾配が入力側付近で極端に小さくなり、学習が進まなくなること
です。
勾配、接線の傾き
誤差逆伝播法では、上図接線の傾きが、入力側へ行くほど、小さくなります。 それ
は、連鎖律によって、合成関数の微分が、2段階の微分の積になるからです。
層が多くなるほど、この工程が何度も繰り返されるため、勾配がゼロに近づきます。
こういったことが起こる主な原因は、活性化関数と重みの初期値にあります。
たとえば、活性化関数としてシグモイド関数を使用していたとします。
すると、この関数の導関数は最大でも0.25であり、層を重ねるごとにこの値が
連鎖律によって乗算され続けるため、入力側へ行くにつれて、非常に速く勾配が
小さくなってしまいます。
そういった問題のため、AI研究は「第2の冬の時代」と言われる停滞期に入ります。
ディープラーニングの夜明け
この停滞期を打ち破ったのが、トロント大名誉教授のヒントンでした。彼は
2006年に勾配消失問題を解決するためのアイデアとしてオートエンコーダ
という手法を提案します。 それによって、より効率の良い重みの初期値を得られ
るようになりました。
そして、3層以上即ち中間層が2層以上あっても学習(パラメータ最適化)を
効率よく行えるようになりました。
(ヒントンのオートエンコーダに関しては、付録2で概説します。)
ヒントン氏はAIの父と呼ばれており、深層学習に関する多大な貢献によって、
プリンストン大学のジョン・ホップフィールド名誉教授と共に、2024年、ノーベル
物理学賞を授与されています。
付録 1
AI の歴史
AIの研究は、1950年代から三度のブームを経て、現在に至っているとされてい
ます。 以下では、その三度のブームについて、解説していきます。
(簡単に言えば、パーセプトロンの出現、機械学習、深層学習が各ブームの
時期に対応します。)
実際にはブームの間に冬の時代がありましたが、それをイメージしやすいグラフ
を次に示します。
第1次AIブーム
第1次AIブームは、1950年代後半から1960年代にかけて到来。
1958年 米国の心理学者フランク・ローゼンブラットが、パーセプトロン
モデルを提唱。 ニューラルネットワークの始まり。
パーセプトロンは入力層と1中間層、出力層のみからなるシンプルな
設計ながら、学習や予測が可能。
1969年にマービン・ミンスキーらが、単純なパーセプトロンは線形分離
不可能な問題(下図 b )に対処できないことを指摘。
第一次氷河期の到来
この問題と、コンピュータ性能の悪さのため。
第2次人工知能 ブーム
第2次人工知能ブームは、1980年代から。
1986年 アメリカの心理学者デビッド・ラメルハートが
「誤差逆伝播法」(バック・プロパゲーション法)により、隠れ層を持つ
ニューラルネットでの高速学習を可能にした。
学習データ不足による精度の不足が(第2の困難)。
1995年頃には再度ブームが下火に。
第3次人工知能ブーム
第3次人工知能ブームは、2010年代から。
ディープラーニングの幕開け。
2000年代後半、学習に十分な大量のデータと、高性能コンピュータ
の出現。
2012年、ヒントン、画像認識コンテスト、特徴抽出も行う
グーグル、猫の認識。
2014年以降 グーグル、バイドゥ、米マイクロソフト
付録 2
オートエンコーダとは
<ディープラーニングの誕生>
ヒントンは2006年に「ディープラーニング」と呼ばれるアイデアで深い層を持つ
ニューラルネットワークを実現させます。
彼のアイデアは、深い層を持つニューラルネットワークの結合強度 W の初期値
として、ランダムな値を用いるのではなく、なんかの方法で適切な初期値を見つけ
ておく、という作戦でした。
この、前もって適切な初期値を見つけておく、という作業を、事前学習と呼びます。
彼は、事前学習の手段として、次のような、オートエンコーダという道具を考え
ました。 (道具と言っても、実体はニューラルネットワークです。)
オートエンコーダ
上図のように、3層のニューラルネットワークに、左から 6 という画像のデータを入力
します。 入力層と出力層のノード(〇印、ニューロンのこと)の数は同じですが、中間層
のノーどの数は少なくなっています。
このシステムにおいて、左から 6 という画像を入力したら、右に同じ 6 という画像を
出力できるようになるまで、誤差逆伝播法を用いて学習を繰り返します。
目的は、同じ 6 を出力するための 重み W を求めることです。
ここで求めた W を何に使うかというと、ヒントンは、それを、多層ニューラクネット
ワークの初期値として使おうと考えたのです。
上図左の多層ニューラルネットワーク(DNN)の重み W の初期値を、事前学習として
求める方法を説明します。
右図のように、C層はC層だけで、D層はD層だけで、それぞれ個別に、入力と出力が
同じになるように学習させます。 この学習は、いずれも3層ニューラルネットワークなの
で、誤差逆伝播法によって、スムースに重み Wの値を求めることができます。
こういったオートエンコーダーにより求めた各層のWを、もとの多層ニューラルネット
ワーク(図左)の初期値として使うと、ランダムな初期値の場合のような勾配消失問題
が起こらないことを、ヒントンは発見したのでした。
これにより、多層ニューラルネットワークの研究が大きく発展し、第3次AIブームを引き
起こしたのです。
しかしながら、現在のディープラーニングでは、初期のヒントンのアイデアであった、
オートエンコーダは使用されておらず、主に活性化関数をシグモイド関数でなく、下図
に示すReLU関数(ランプ関数)などに置き換えて、バックプロパゲーションで実現され
ています。
なお、オートエンコーダは、次元圧縮、特徴抽出等の働きがあるため、今現在、
ノイズ除去、異常検知、生成AI等で活用されています。