ディープラーニングとは何か

機械学習とディープラーニングの関係

 AIといえば,ディープラーニング(Deep Learning)というほどに,ディープラーニングが注目を浴びて久しいです。

 ディープラーニングは,2006年頃より研究・開発が始められ,2012年,「ILSVRC(Imagent Large Scale Recognition Challenge)」という画像認識のコンペティションで,ディープラーニングを用いたトロント大学のAIが,他のAIの追随を許さぬ驚異的なエラー率の低さを叩き出したことから,一躍脚光を浴びるに至りました。

2012年,トロント大学のディープラーニング搭載AI「SuperVision」の登場により画像認識エラー率が一気に縮まり,それ以降も順調にエラー率を縮め,現在では,ヒトの画像認識よりも高い精度の画像認識能力をもつAIが生まれている。

 ディープラーニングは,機械学習の一種です。

 機械学習とは,人間の学習に相当する仕組みをコンピューター等で実現するものであり,一定の計算方法(アルゴリズム)に基づき,入力されたデータからコンピューターがパターンやルールを発見し,そのパターンやルールを新たなデータに当てはめることで,その新たなデータに関する識別や予測等を可能とする手法のことをいいます総務省「令和元年版情報通信白書」

 機械学習には,教師あり学習や教師なし学習,強化学習といった様々な手法があり,ディープラーニングは,機械学習の数ある手法の一種にすぎません(ニューラルネットワークやディープラーニングは,基本的には教師あり学習を発展させたものといわれます)。

ディープラーニングの仕組み

ディープラーニングとは

 では,ディープラーニングが具体的にどういうAIの学習手法なのかというと,ディープラーニングは,ヒトの脳の情報処理を模したニューラルネットワーク(Neural Network)を多数の層で実行することで,学習済みモデルを作成する手法です。

 何のこっちゃっていう感じだと思います。

 そこで,まずヒトの脳の構造について説明したいと思います。

ヒトの脳の仕組み

 ヒトの脳は,神経細胞(ニューロン)グリア細胞という2種類の細胞からつくられています。

 そして,脳に1000億個以上存在するニューロンが脳の情報伝達の主役を担っています。

 ニューロン内部では,電気信号に化体した情報が流れています。

 そして,ニューロンどうしはシナプスと呼ばれる連結部でつながっており,そこで,情報の受渡しを行っています。

 シナプスには,わずかな隙間が空いており,電気信号のままでは,情報の受け手側のニューロンに情報を伝達することができないため,電気信号を神経伝達物質と呼ばれる化学的な信号に変換するための一定のプロセスを踏んで,受け手側のニューロンの表面に存在する受容体と呼ばれるタンパク質に運ばれることになります。

 一定以上の量の神経伝達物質が受容体に到達すると,受容体の構造が変化し,受容体に穴が空き,受け手側のニューロンに通気口のようなものが生じます。

 この穴から受け手側のニューロンの外部に存在する陽イオンであるナトリウムイオンが受け手側のニューロン内部に流入します。

 これにより,受け手側のニューロン内部で再び電気信号が発生します。この現象のことを「興奮」や「発火」と呼びます。

 こうして再びニューロン内部で電気信号に化体した情報が伝達されることになります。

 ヒトの脳の情報伝達は,以上のプロセスを無数に繰り返すことによって行われているのです。

 そして,ニューロンどうしのつながりが強くなるほど,情報の伝達効率も向上します。

ニューラルネットワークの仕組み

 先ほど述べたとおり,ディープラーニングは多階層のニューラルネットワークであり,ニューラルネットワークはヒトの脳の情報処理を模したものといわれています。

 そこで,今度はニューラルネットワークがどのような仕組みになっているのかについて説明します。

 ニューラルネットワークは,入力層・中間層(隠れ層)・出力層から構成され,各層のノードニューロンに相当するものです(以下では,説明を簡明なものにするため,中間層が1層のみのケースを前提として説明を行います)。

 ニューラルネットワークでは,まず,入力層にデータを入力し,そのデータを認識をするための指標である特徴量を入力します。

 そして,特徴量に対して数値による重みづけ(W2)を行い(この重みづけが,ニューロンどうしのつながりの強さに相当するものです。),出力された値を中間層のノードに伝達します。

 こうして入力層の各ノードから中間層の各ノードへとそれぞれ出力された値が伝達され,中間層の各ノードでは伝達された値を合計します。

 そして,その合計値にステップ関数やシグモイド関数等の活性化関数を適用します。

 活性化関数を適用して出力された値に,さらに数値による重みづけ(W1)を行い,出力された値が出力層のノードへと伝達されます。

 そして,出力層の各ノードには,それぞれ一定の想定される答えを設定しておき,正解が設定された出力層のノードへ期待する水準に達する値が伝達されたか否かを確認します。

 正解が設定された出力層のノードへ伝達された値が期待する水準に達しないものであった場合には,入力層と中間層の間の重みづけの数値(W2)や中間層と出力層の間の重みづけの数値(W1)を調整し,期待する水準以上の値が出力層のノードへ伝達されるようにします(正解へ達するパイプを太くする)

 こうした重みづけの調整を繰り返すことによって,AIが正解を導き出す精度を上げる代表的な学習法は,「誤差逆伝播(Back Propagation)」と呼ばれます。

ディープラーニングの仕組み

 ディープラーニングは,以上のような仕組みをもつニューラルネットワークのうち,中間層を複数もつという特徴を有するものです。

 このように層の数が多いことから,ディープラーニングは「深層学習」とも呼ばれます。

 ディープラーニングは中間層を複数にしたものとだけ言うと,簡単そうに聞こえますが,中間層を増やすことで誤差逆伝播の効果が末端の層に届きにくくなってしまうという問題がありました。

 しかし,一層ずつ段階的に学習させるようにしたり,自己符合化器(オートエンコーダ)という情報圧縮器を用いたりするなど,様々な工夫を凝らすことで,この問題を克服することができました。

 こうしてディープラーニングは生まれ,階層を経れば経るほど,より複雑な特徴や具体的な特徴を捉えることが可能な仕組みがつくられたのです。

 また,多層構造のニューラルネットワークに大量の画像,テキスト,音声データ等を入力することで,AIがパターンやルールを発見する上で何に着目するか(特徴量)を自ら抽出することが可能になったこともディープラーニングのすごいところです。

 AIが自ら特徴を抽出することができるようになったことで,例えば,画素と画素の複雑な関係のような,ヒトが明確な言葉で表現することが難しい特徴や,ヒトでは捉えきれない特徴等も捉えることができるようになりました

 こうしてディープラーニングは,画像認識や音声認識,自動運転等の精度向上に重要な影響をもたらしています。 

 なお,ここでは詳しくは述べませんが,ディープラーニングも1種類ではなく,主に画像認識に強みをもつ「畳み込みネットワーク」,時系列データの扱いに強みをもつ「再起型(リカレント)ネットワーク」,画像ノイズ除去や異常検知等に強みをもつ「自己符合化器(オートエンコーダ)」,架空のデータの生成に強みをもつ「敵対的生成ネットワーク」等の様々な手法が存在しています。

● 参考文献
松尾豊「人工知能は人間を超えるか」(KADOKAWA・2015年)
総務省「令和元年版情報通信白書」
Newton別冊「ゼロからわかる人工知能」(NEWTON PRESS・2020年)

Please follow and like us:

コメント

タイトルとURLをコピーしました