機械学習と読書の世界

やさしい深層学習の原理

深層学習入門(HP用)1

それでは、最先端分野である人工知能で利用されている、「深層学習(ディープラーニング)」について、その動作原理を簡単に説明しましょう。この深層学習は、現在最もホットな研究分野なので、毎週のように新しい研究成果が発表されています。このため、ここでの情報も半年も経つと陳腐化してしまう恐れがあります。この「やさしい深層学習」は、できるだけ原理的な概念に留めますので、その点はご了解ください。

深層学習入門(HP用)2

深層学習(Deep Learning)とは、機械学習の1種である「ニューラルネットワークNeural Network)」の階層を深めたアルゴリズムです。このニューラルネットワークとは、生物の脳の神経細胞(ニューロン)をモデルとしたアルゴリズムで、1940年代から始まる長い研究の歴史があります。

上の図は、このニューラルネットワークの構造を示しています。ニューラルネットワークは、「入力層」、「隠れ層」、「出力層」と各層を持ち、各層は複数の「ノード(もしくはユニット)」が「エッジ」で結ばれる構造となっています。この隠れ層は複数の層を持つことができ、特に深い隠れ層を持つものを深層学習(ディープラーニング)と呼んでいます。

各層は「活性化関数」と呼ばれる関数を持ち、エッジは「重み」を持つことができます。そして各ノードの値は、そのノードと接続する前の層のノードの値から計算します。すなわち、前の層のノードの値、接続エッジの重みの値、そして層が持つ活性化関数から計算します。この計算方法には様々な種類がありますが、ここでは概念だけとし省略します。

深層学習入門(HP用)3

では、どうしてこのニューラルネットワークで、物体認識などが実現できるのでしょうか。まだまだ研究段階にある深層学習は、ノードの接続方法にも様々な種類が提案されています。その中でも画像認識で実績のある「CNNConvolution Neural Network」を例にして、理解しやすいように概念だけで説明してみましょう。

CNNでは、上図のように隠れ層は「畳み込み層」と「プーリング層」で構成されます。畳み込み層は、前の層で近くにあるノードにフィルタ処理して「特徴マップ」を得ます。プーリング層は、畳込み層から出力された特徴マップを、さらに縮小して新たな特徴マップとします。この際に着目する領域のどの値を用いるかですが、上図のように最大値を得ることで、画像の多少のずれも吸収されます。したがって、この処理により画像の位置移動に対する普遍性を獲得したことになります。

畳み込み層は画像の局所的な特徴を抽出し、プーリング層は局所的な特徴をまとめあげる処理をしています。つまり、これらの処理の意味するところは、入力画像の特徴を維持しながら画像を縮小処理していることになります。今までの画像縮小処理と異なるところは、画像の特徴を維持しながら画像の持つ情報量を大幅に圧縮できるところだと思います。これを言い換えると、画像の「抽象化」とも言えます。これは画期的なことだと思っています。ネットワークに記憶された、この抽象化された画像イメージを用いて、入力される画像を認識、つまり画像の分類をすることができるのです。

このCNN以外にも、深層学習・ディープラーニングには「AutoEncoder」や「RNNRecurrent Neural Network)」があります。

CNNが扱う画像データは二次元の矩形データでしたが、音声データは可変長の時系列データです。この可変長データをニューラルネットワークで扱うため、隠れ層の値を再び隠れ層に入力するというネットワーク構造にしたのが、RNNRecurrent Neural Network)です。右の図は、この隠れ層に戻すという操作を、時間軸方向に展開した図になります。

このRNNには、長時間前のデータを利用しようとすると、誤差が消滅したり演算量が爆発するなどの問題があり、短時間のデータしか処理できませんでした。

LSTMLong Short-Term Memory)はRNNの欠点を解消し、長期の時系列データを学習することができる強力なモデルです。発表されたのは1997年とかなり前ですが、ディープラーニングの流行と共に、最近急速に注目され始めたモデルです。自然言語処理に応用される、大きな成果をあげ始めています。

画像を認識するとは、画像を分類してラベルを付与することです。これを模式化すると、図の左のグラフのようなイメージです。2次元のグラフでは上手く表現できませんが、画像Aと画像B をCNNなどで識別できたということは、高次の多項式でどこかに境界線を引けたということになります。
それならば、教師画像である大量の画像Aを学習して識別できたネットワークに対して、画像Aに似た画像データを生成して、学習済みネットワークが画像Aとラベルを付与したら、画像Aと同等の画像が生成できたことになります。
図の右のグラフは、そのイメージです。教師画像Aの分布と同等の分布を持った画像データを、学習によって生成していくような考え方です。したがって、あくまで教師画像つまり手本がなければ、画像は生成できません。このように、教師データを基にして、それと似た新しいデータを創るモデルを生成モデルと呼びます。

最新の生成モデルであるGANGenerative Adversarial Networkは、非常に注目を集めている手法です。GANの基本的な考え方はシンプルなので、たとえ話で説明します。図のイラストのように、ニセ札造りの偽造者と警察官の2名の登場人物がいるとします。偽造者は、本物の紙幣と似たニセ札を造ります。警察官は、ニセ札を見破ろうとします。下手なニセ札は簡単に警察官に見破られますが、偽造者の腕が上がって精巧なニセ札になっていくと、警察官もなんとかニセ札を見破ろうと頑張って見分けようとします。お互いに切磋琢磨していくと、最終的にはニセ札が本物の紙幣と区別がつかなくなるでしょう。

この関係をモデル化したのが、図の下の絵です。GAN生成器GGenerator識別器DDiscriminatorの2つのニューラルネットワーク多層パーセプトロン)で構成されています。生成器が偽造者で、識別器が警察官の役割になります。この場合GANは、DとGを引数に持つ評価関数Vで表現されるミニマックスゲームtwo-player minimax game)として定義されます。数式で示すと、図の最下段の式になります。

 

メッセンジャーで遊べる無料のチャットボット

Amazonで「ディープラーニング入門書」を発売中

Amazonで「機械学習の入門書」を発売中

面白い本を探している本好きの人にお薦めします

Amazonから紙の本でも発売中

ミステリィやエンターテイメント、恋愛小説に文芸小説など、確実に面白い本100冊を紹介するブックレビューです

PAGETOP
Copyright © TickTack World All Rights Reserved.
Powered by WordPress & BizVektor Theme by Vektor,Inc. technology.