深層学習DAY4要約2
Section5)Transformer
Seq2Seq
・Encoder-decoderモデルとも呼ばれる。入力系列がエンコードされ、内部状態からデコードされ系列に変化される。
例)翻訳、音声認識、チャットボット
・要は二つの言語モデルを連結した形になっている。
・単語の並びに対して、尤度すなわち文章として自然かを確率で評価する。
・数式的には同時確立を事後確率に分解して表せる。
・時刻t~1までの情報で時刻tの事後確立を求めることが目標
Encoder-decorderモデルの問題点
・文章が長くなると表現力が足りなくなる
Attention
・翻訳先の書く単語を選択する際に、翻訳元の文中の各単語の隠れ状態を利用
・Attentionは辞書オブジェクト
・クエリに一致するキーを索引し、対応するValueを取り出す操作であるとみなせる。
Transformer
・RNNを使わない、必要なのはAttentionだけ
・当時のSPTAを遥かに少ない計算量で実現
・英仏の学習を8GP Uで3.5日で達成
Attention
・注意機構には二種類ある。ソースターゲット注意機構と自己注意機構
・自己注意機構により文脈を考慮して各単語をエンコード
Position-wise Feed Forward Networks
・位置情報を保持したまま、順伝播が可能。
Self dot product Attention
・全単語に関するAttention をまとめて計算する。
Multi-head Attention
8個のScaled Dot-attentionの出力をConcat
それぞれのヘッドが異なる種類の情報を収集
decorder
・エンコーダーと同じく6層
・注意機構の仕組みはエンコーダーとほぼ同じ
Position Encording
・RNNを用いないので、単語列の語順情報を追加する必要がある。
Section6)物体検知・セグメンテーション
広義の物体認識タスク
分類:画像に対し、単一または複数のクラスラベル
ーーー物体の位置に興味なしーーー
物体検知:Bounding box
意味領域分割:各ピクセルに対し、単一のクラスラベル
ーーーインスタンスの区別に興味なしーーー
個体領域分割:各ピクセルに対し、単一のクラスラベル
代表的データセット
・VOC12、ILSVRCはBox/画像が小さく、アイコン的な写り。日常感とかけ離れている。
・MSCOCO18、OICID18は部分的な重なり等も見られ、日常生活のコンテキストに近い。
・目的にあったデータセットを選ぶべき
評価指標
適合率:Precision = TP/(TP+FP)
再現率:Recall = TP/(TP+FN)
Confidenceの閾値を変化させることでPrecision -Recall curveが書ける
IoU Intersection over Union
・物体検知においてはクラスラベルだけではなく、物体位置の予測精度も評価したい。
IoU = Area of Overlap / Area of Union
mAP:Mean Average Precision
AP =∮P(R)dR(曲線の下側面積)
mAPはAPの算術平均値
mAP =1/CΣAP
FPS:Flames per Second
応用上の要請から、検出精度に加え、検出速度も問題となる。
物体検知の大枠
・Alexnetの登場を皮切りに、時代はSIFTからDCNNに変わった。
2段階検出機(RCNN、SPPNET、Fast RCNN、Faster RCNN 、RFCN、FPN、Mask RCNN)
・候補領域の検出とクラス推定を別々に行う
・相対的に精度が高い傾向
・相対的に計算量が大きく推論も遅い傾向
1段階検出機(Detector Net、SSD、YOLO、YOLO9000、RetinaNet、CornerNet)
・候補領域の検出とクラス推定を同時に行う。
・相対的に精度が低い傾向
・相対的に計算量が小さく推論も早い傾向
SSD:Single shot detector
1Default boxを用意
2DefaultBoxを変形し、Confを出力
・VGG16をベースとしている
・マップ中の1つの特徴量における、1つのDefaultBoxについて、出力サイズは#Class + 4(オフセット項)
・マップ中の各特徴量にKこのDefault boxを用意するとき、出力サイズはKとなる。さらに特徴マップのサイズがm×nであるとすれば、出力サイズはKmnとなる。
多数のDefault boxを用意することで生ずる問題への対処
・Non-Maimum Supression
1つしか物体が映っていないのに、複数のBounding boxが存在してしまう問題。
対策として、IoUを計算し、IoUが閾値以上であれば、最もConfが高いものだけを残す。
・Hard Negative Mining
背景として判断されるNegative Classが多数存在することが予想される。そのため背景と物体のバランスが不均衡になることが予想される。対策として、最大でも1:3に検出されるように、NegativeのBouding boxを削る。
Semantic segmentation
・解像度が層を進むごとに落ちていく
→入力時と異なる解像度をどのようにして元の解像度に戻すのか(アップサンプリング)の方法が問題になっていた
De convolution\Transposed convolution
・通常のConvolution層と同様に、カーネルサイズ、パディング、ストライドを指定する。
・逆畳み込みと呼ばれることも多いが、畳み込みの逆演算ではないことに注意。
輪郭情報の補完
・プーリング5の情報をいきなり元の情報までアップサンプリングするのではなく、まずはプーリング4の情報までアップサンプリングし、各要素を足し合わせる。これを繰り返し元の情報まで戻す。
Unpooling
・プーリングした時の位置情報を保持しておく方法。
ダイレイト畳み込み
プーリングを用いずに受容野を広げる方法