Upload
koichi-takahashi
View
1.303
Download
0
Embed Size (px)
Citation preview
Sparsifying Neural Network Connections for Face Recognition
@51takahashi
• さのまる
• @51Takahashi
• 顔認証の研究開発やっています
• 今回の発表は所属組織と関係ありません
自己紹介 CVPR2016読み会
2
はじめに CVPR2016読み会
3
• CVPR2016の顔関連の研究はどれくらい?
– 検索条件: 手動
» 39/643件(DNN/RNN系は11件)
» 全部は読めてません…
– 研究動向
» 顔認証/検索 9件(4件)⇒ 1つ紹介します
» 3D顔モデリング 7件(0件)
» 顔特徴点検出 7件(3件)
» 表情認識 6件(1件)
» 年齢 3件(2件)
» データセット 2件(0件)
» 顔属性認識 2件(0件)
» 顔検出 1件(1件)
» 視線推定 1件(0件)
» 心拍推定 1件(0件)
論文の概要 CVPR2016読み会
4
• タイトル
– Sparsifying Neural Network Connections for Face Recognition
– 顔認証のためのニューラルネットワーク結合のスパース化
• どこの研究?
– SenseTimeとThe Chinese University of Hong Kong(CUHK)の人たち
• どんな研究?
– 顔認証用CNNを枝刈りして(疎にして)パラメータ数削減・性能向上
• どんな手法?
– パラメータ数の多い最終層から順に枝刈り
» ニューロン間が無相関な結合を主に枝刈りしよう!という発想
• 結果は?
– パラメータの圧縮率は12~76%
– 顔認証の性能は若干向上
» LFWデータセットで、精度98.95% ⇒ 99.30%(圧縮率76%)
» (エラー1.05% ⇒ 0.70%)
著者紹介 CVPR2016読み会
5
• Yi Sun(SenseTime), Xiaogang Wang(CUHK), Xiaoou Tang(CUHK)
– CUHKのすごいひとたち
– CUHKのグループはCVPR2016だけで16件発表
• 顔関連の主要論文
– 顔認証
» Deep learning face representation from predicting 10,000 classes (通称DeepID, CVPR2014) ⇒ Facebookの対抗馬
» Deep Learning Face Representation by Joint Identification-Verification (通称DeepID2, NIPS2014)
» Surpassing Human-Level Face Verification Performance on LFW with GaussianFace (通称GaussianFace, AAAI2015)
» Deeply learned face representations are sparse, selective, and robust (通称DeepID2+, CVPR2015) ⇒ Googleの対抗馬
– 顔特徴点検出
» Face Alignment by Coarse-to-Fine Shape Searching (CVPR2015)
予備知識1: LFW CVPR2016読み会
6
• 近年の顔認証=LFW (Labeled Faces in the Wild)
– 顔認証ではMNIST的な存在 (2007年~)
– 本人ペア3000組+他人ペア3000組を正しく分類する問題
• LFW (unrestricted: 外部データあり) の歴史
– 2012年
» 92.40%: Joint Bayesian, ECCV (MSRA)
– 2013年
» 95.17%: High-dimensional LBP, CVPR (MSRA)
– 2014年
» 97.35%: DeepFace*, CVPR (Facebook)
» 97.45%: DeepID*, CVPR (CUHK)
– 2015年
» 98.52%: GaussianFace, AAAI (CUHK)
» 99.47%: DeepID2+*, CVPR (CUHK)
» 99.63%: FaceNet*, CVPR (Google)
⇒ 性能は上限まで達成、高速化や省メモリ化が課題か?
Aaron Eckhartさん はLena的存在♡
予備知識2: LFWの後継者 CVPR2016読み会
7
• LFWの終焉
– Googleの2億枚の学習画像を使った力技でほぼ完全攻略
– 新たな顔認証研究の幕開けでもあった…
• LFWの後継者
– YTF (YouTube Face, CVPR2011)
» YouTube動画からクロップしたデータセット、低画質
– IJB-A (IARPA Janus Benchmark A, CVPR2015)
» ネットで収集した画像、顔向きとか年齢とかエグい
» スポンサーはNIST (アメリカ国立標準技術研究所)
– MegaFace (CVPR2016)
» Flickrで収集した100万枚の中から特定の人を見つけるベンチマーク
» 顔認証というより顔検索
» スポンサー欄にはSamsung、Google、Intelの名前が…
– MS-Celeb-1M (ACMMM2016)
» 3日前にその存在を知りました…
Shinzo Abeさん (IJB-Aの例)
予備知識3: DeepFace・DeepID CVPR2016読み会
8
• ディープラーニングを使った顔認証
– 学習方法
» n人の学習データをnクラス分類するようにネットワークを学習
– 顔認証方法
» 最終隠れ層のアクティベーションを特徴量として利用
» 特徴量のコサイン類似度を計算することで顔認証の類似度になる
DeepID, CVPR2014 Bottleneckとも
本題:既存手法の問題点 CVPR2016読み会
9
• ディープラーニングを使った顔認証
– 計算コストが高い
– 必要メモリが大きい
» 小さなネットワークで顔認証したい!
» あわよくば性能向上させたい!
• ネットワークの軽量化(枝刈り)に関する先行研究
– OBD (Optimal Brain Damage) [LeCun+, NIPS1990]
– 重みの絶対値が小さい結合を枝刈り [Collins+, arXiv2014]
– BRP (Bayesian Regularization and Pruning) [Williams, NC1994]
» もっといい方法が欲しい!
• ネットワークの圧縮に関する先行研究
– ニューロンの重みをSVDしてモデルを圧縮 [Denton+, NIPS2014等]
– Knowledge distillation [Hinton+, arXiv2014]
提案手法のアイデア CVPR2016読み会
10
• ニューロン間の相関に基づく枝刈り
– 無相関なニューロン間の結合は枝刈りしてしまおう!
– 最終層の結合から順に枝刈りさせよう!
主に最終層付近の パラメータ数が多い!
提案手法 CVPR2016読み会
11
提案手法のアルゴリズム
1. ネットワークN0を普通に学習する (15万回)
2. for m from 1 to M
3. 最後からm層目の結合を枝刈り
4. Nm-1を初期値として、ネットワークNmを学習 (7万回)
5. end for
6. NM が完成
N0 N1 N2
… …
赤字は枝刈りした層 ※プーリング層はできません
…
枝刈り CVPR2016読み会
12
枝刈りのアルゴリズム(full/local connection層)
1. ある出力側ニューロンと結合してる入力側ニューロンの数をKとする
2. 疎性パラメータS、偏りパラメータλを決める (0<S<1、0≦λ≦1)
3. 相関計算用データで、各ニューロン間の相関 rk を計算する
4. rk において、正/負の値を rk+/rk
-、数をK+/K-とする (K++K-=K)
5. rk+を大きい順にソートする
6. 上位半分からλSK+個、下位半分から(1-λ)SK+個を残してランダムに刈る
7. rk-を絶対値の大きい順にソートする
8. 上位半分からλSK-個、下位半分から(1-λ)SK-個を残してランダムに刈る
K=36個の結合の例 ⇒ 枝刈り後はSK個になる
λ=0.75のとき、 強相関な結合の75% 弱相関な結合の25% が残される
実験 CVPR2016読み会
13
• ネットワークの学習
– 学習用画像: 12,000名・290,000枚
» ディープラーニング用途としては小さめのデータセット
– 評価用画像: LFW、YTF、IJB-A
» 結果が細かすぎるのでLFWだけ紹介します…
– 疎性パラメータS: バリデーションセットで決定
– 偏りパラメータλ: 0.75
• 実装
– Caffeを使用
– 枝刈りを使った学習は、0/1のdropping matrixを使うと実装できる
実験結果1: LFW CVPR2016読み会
14
枝刈りしたらすこし性能向上した! 12%のパラメータでもオリジナルの性能!
実験結果2: 偏りパラメータの効果 CVPR2016読み会
15 ランダム枝刈り(λ=0.5)・弱相関枝刈り(λ=1)は性能低下
実験結果3: フルスクラッチとの比較 CVPR2016読み会
16
フルスクラッチでスパースなネットワークは学習できない
実験結果4: 従来手法との比較 CVPR2016読み会
17
劇的によくなっている訳ではない…
論文のまとめ CVPR2016読み会
18
• タイトル
– Sparsifying Neural Network Connections for Face Recognition
– 顔認証のためのニューラルネットワーク結合のスパース化
• どこの研究?
– SenseTimeとThe Chinese University of Hong Kong(CUHK)の人たち
• どんな研究?
– 顔認証用CNNを枝刈りして(疎にして)パラメータ数削減・性能向上
• どんな手法?
– パラメータ数の多い最終層から順に枝刈り
» ニューロン間が無相関な結合を主に枝刈りしよう!という発想
• 結果は?
– パラメータの圧縮率は12~76%
– 顔認証の性能は若干向上
» LFWデータセットで、精度98.95% ⇒ 99.30%(圧縮率76%)
» (エラー1.05% ⇒ 0.70%)
おつかれさまでした