ディープラーニングの覚書です。
第8章 ディープラーニングの研究分野
8.1 画像認識分野
8.1.1 ILSVRC
ILSVRC 国際的な画像認識コンテスト
2012年 サポートベクトル(SVM)に代わって ディープラーニングによって生成されたAlexNet (アレックスネット)というモデルが優勝
ILSVRCの評価指標:正解率の高さではなく、エラー率の低さ
ILSVRCは、単なる画像分類の精度を測るものではなく、一般物体認識(画像の中に含まれる物体を一般的な名称で認識すること)の制度を測るものである
8.1.2 一般物体認識とは
画像の中にある物体(範囲)が背景なのか物体なのか(物体検出タスク)
もし物体であるならば何の物体なのか(物体認識タスク)
8.1.3 物体検出タスクに置いてある物体の領域を特定する方法
バウンディングボックスは矩形単位に領域を切り出して物体を特定する
関心領域の切り出しに使用する矩形領域(長方形)は四点の座標によって表現することになる。すなわち四つの座標を予測する回帰問題とみなすことができる。矩形の座標を回帰することで領域のズレを補正することができる。セマンティックセグメンテーションはピクセル単位で物体の領域を特定する
物体検出タスクと物体認識タスクをこなして一般物体認識をするアルゴリズムの原型とも言える R-CNN ( Regional CNN ) というネットワークがある。
8.1.4 R-CNN とは
画像の中の「どこ」、すなわち関心領域( Region of Interest : ROI )の切り出しをする。
関心領域の切り出しには CNN を用いた手法もあるが 、R-CNN では CNN を用いずに物体の存在する範囲を予測しながら関心領域を探し出し、バウンディングボックスとして切り出している。すなわち矩形領域ごとに画像の中を探索するのである。
こうして関心領域の切り出しをした後は、領域ごとに個別に CNN を呼び出して画像認識をすることで何の物体なのかを特定する。
8.1.5 一般物体認識手法の発展
R-CNN における欠点 : 関心領域の切り出しとCNNによる物体認識の2段階のモデルであり、関心領域の個数だけ CNN による計算をしていたため処理に時間がかかる。
⇒
関心領域の切り出しと CNN による物体認識の二段階のモデルであり、 R CNN を高速化する研究が進められ改良されたモデルが高速 R-CNN ( fast RCNN )である
高速 RCNN では画像全体に対して1度だけ CNN を適用し、その後で関心領域の特徴を取り出すことで物体認識をする構造となっている。これにより CNN の計算量を大幅に削減することができ、従来の RCNN より大幅な高速化を実現することができるようになった。
また更なる発展形として YOLO (You Only Look Onse ) や SSD (Single Shot Detector ) と言ったモデルの提唱された。いずれも領域の切り出しと物体認識を同時に行う CNN である。
YOLO(You Only Lock Once) はCNNから発展したモデルの一つで、その特徴はあらかじめ画像全体をグリッド分割しておき、分割された各領域から複数個のバウンディングボックス(矩形領域)を推定することにあります。
推定したバウンディングボックスの物体である確率を信頼度スコアとして表すことで、物体検出を行う仕組みとなっています。
従来の CNN はバウンディングボックスを少しずつずらしながら物体の確率を求めていたため処理に時間がかかっていましたが、 YOLA ではリアルタイムな物体検出が可能となりました。
8.2 自然言語処理
自然言語文を学習させるためには、テキストデータを機械学習で扱える形式に変換する必要がある。
日本語の自然言語処理の簡単なフローで考えると、まず、文章を言語などの最小単位(品詞ごと)を分解する形態素解析を行う。次に、データクレンジングにより不要な文字列を取り除く。
そしてBag of Words という手法を用いて分解された単語群をベクトル化する。最後に TF-IDF などの手法を用いて、出現頻度などから各単語の重要度を評価する。このように、テキストデータを機械学習に入力するためには多くの処理が必要になる。
形態素解析とは、日本語などの単語間に区切りのない文章の場合、品詞ごとに分解する必要があります。
構文解析とは形態素間(品詞間)の関係を木構造などを用いて解析します。
意味解析とは構文解析により文章の係り受けの構造を構文木で表現できますが、意味的に正しいかどうかは問題になります。そこで辞書をもとに単語間の意味的な関係性を調べます
Word 2 vec は、単語をベクトルに変換するだけでなく、ベクトル内で単語の意味を表現します。これにより単語間の意味的な関係性をとらえることができます。
文章中の単語群をベクトル形式に変換するモデルである word2vec には二つの手法がある。
ある単語から周辺の単語を予測する SKIP-gram と、
周辺の単語からある単語を予測する CBOW である。
Word 2 vec などの単語埋め込みモデルは爆発的に発展していき、自動翻訳などの自然言語処理に大きく貢献した。
8.2.1 画像キャプチャ生成
キャプション生成または画像キャプション生成は、画像を与えると、その画像を説明する文書(キャプション)を自動に生成する技術です。例えば、バイクの画像を与えると「道路脇に停車している赤いバイク」といった文章が生成されます。
ディープランニングによって画像キャプチャを生成する代表的な手法に、ニューラル画像を脚注付け(Neural image Caption : NIC ) があります。 NIC は CNN から RNA からから構成されており、 CNN によって画像から特徴を抽出しその特徴を RNN に渡すことで高精度なテキストを生成します。
8.2.2 ニューラル機械翻訳
seq 2 seq とは入力された文章を別の文章に置き換える。
seq 2 seq は自動翻訳技術に用いられる RNN のモデルです。翻訳元となる文章を中間層を経由して翻訳先となる文章に置き換えます。英語を日本語に置き換えたり、質問を回答に置き換えたりすることができます。
RNN のどの時間軸の出力が重要であるかを重み付をする技術を Attention と言います。
例えば機械翻訳では入力の単語と出力の単語の対応関係を意識した予測がされると考えられます。そのため、自動翻訳において重要な技術とされる Google 翻訳の精度向上に大きく寄与したニューラル機械翻訳は seq 2 seq をモデルに Attention を組み合わせて実現されています。
8.2.3 BERT
自然言語処理分野において大きなブレークスルーを与えたモデルとして、2018年10月に Google が発表した BERT がである。 BERT とは質疑応答や自然言語推論と言ったタスクにおいて、非常に高い予測性能を実現した。性能向上に貢献したしくみ次文予測とマスクされた言語モデルがある。
次文予測は与えられた二つの文章が意味的に繋がるかどうかを判定するという特徴がある。マスクされた言語モデルは、任意の文字は文字列を隠して前後の文脈を予測するという特徴がある。
8.3 音声認識分野
一般的な音声処理音声認識処理は次の順序に行われる。
①音声の波形から周波数や時間変化などの特徴を抽出する
②音声の波形から音声を特定する。
③どの単語を走っているのかパターンマッチングする
④単語のつながりを解析して文を生成する
WaveNetはサンプリングした人間の音声から音声波形を細かく細分化して解析することで、精度の高い音声認識とより人間らしい発話を可能にしています。
またいくつかの入力をスキップすることで、音声データの特徴である長い入力を効率的に処理するという特徴があります。
ブラインドテストにおいては英語と中国語ともともに既存手法を超える結果を出しています。
CNN ではなく RNN を使用する事で本性生成を音声認識を可能にしています。