スパースモデリング入門

6,854 views

Published on

The basic concept of Sparse Modeling, Sparse Signal Decomposition, Sparse Coding.
スパースモデリングの基礎概念をまとめてみました。主に画像処理の観点で説明しています。

Published in: Technology
0 Comments
15 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
6,854
On SlideShare
0
From Embeds
0
Number of Embeds
302
Actions
Shares
0
Downloads
50
Comments
0
Likes
15
Embeds 0
No embeds

No notes for slide

スパースモデリング入門

  1. 1. スパース モデリング入門 2015/11/16 株式会社 オープンストリーム CTO 寺田英雄 https://www.facebook.com/hideo.terada.5 1
  2. 2. Copyright(C) Open Stream, Inc. All Rights Reserved. 経歴 ■ 大阪大学工学部機械系/電子制御機械工学科 卒 • 画像認識ソフトウェアを専攻 • Project-TEAM DoGA 初代メンバー:CG映画制作 • http://doga.jp/ ■ 仕事歴 • 1992 IHI入社・技術開発本部所属 • 2007 某モバイル動画ベンチャー 入社 • 2011 ベンチャー崩壊しはじめる • 2012 オープンストリーム入社 • 2014 オープンストリームCTO 2
  3. 3. Copyright(C) Open Stream, Inc. All Rights Reserved. コンピュータ歴 ■ コンピュータ歴 36年目(小学校5年から) ■ 言語 • 大阪弁、標準語、英語(少々) • Fortran, asm, basic, C/C++/Obj-C, Java, CUDA,
 Python, Ruby ■ 分野 • 画像認識、CG、ストリーミングシステム • FA制御、Linux/Windowsデバイスドライバ、CADシステム • モバイル・アプリケーション(iOS/Android) • 機械学習、数理アルゴリズム、データ解析 3
  4. 4. Copyright(C) Open Stream, Inc. All Rights Reserved. 開発経験 ■ 画像認識関連 • ごみ焼却炉制御用火炎認識システム(擬似3次元計測) • 鋳型組み立てロボット制御用、ワーク位置計測システム(ベクトル相関) • 舞台装置コンテナの荷降ろしロボット制御用位置決めシステム(ベクトル相関、直線検知) • 自動車工場の鋼板受け入れ検査システム(濃淡モフォロジー) • デパレタイザー用3次元認識(計算幾何学) • 監視カメラ用ハードディスクレコーダー(画像圧縮) • 乗用車用、歩行者検知システム(HoG, SVM, GPGPU) ■ 動画ストリーミング • 携帯電話用コーデック、画像・音声同期再生エンジン、マルチキャスト動画配信 ■ その他 • C-HTML編集エディタ、GTコジェネ制御ロジックCAD • Oracle用 C++ ORマッパーの開発 • 電子書籍フォーマット&デコーダ生成システムの開発 • DRM動画配信アプリ&状態マシンフレームワーク 4
  5. 5. Copyright(C) Open Stream, Inc. All Rights Reserved. 最近の興味 ■ 生物に学ぶ情報処理 • 全脳アーキテクチャー • Deep Learning • Sparse Modeling 5
  6. 6. Copyright(C) Open Stream, Inc. All Rights Reserved. アジェンダ ■ イントロ ■ スパースモデリングの数理入門 ■ スパースモデリングの応用 6
  7. 7. Copyright(C) Open Stream, Inc. All Rights Reserved. イントロ 7 01
  8. 8. Copyright(C) Open Stream, Inc. All Rights Reserved. 生物の一次視覚野(V1) ■ 目から入った視覚情報を最初に 受け取る脳の部位 ■ 方向・空間スケールに関する選 択的空間フィルタを有すること が知られている 8
  9. 9. Copyright(C) Open Stream, Inc. All Rights Reserved. 空間フィルタ ■ 網膜に特定の傾き のスリット光を与 えると、その時だ け反応する受容細 胞がある ■ ガボールフィルタで 近似できる 9
  10. 10. Copyright(C) Open Stream, Inc. All Rights Reserved. 視覚野はフィルタバンク ■ 様々な方向、空間周波数に対応した受容細胞(= フィルタ)の集まり ■ なぜこのように進化したか? • 有力な仮説: • 自然画像の統計的構造を利用 • 自然画像を効率的に符号化→エネルギー効率 • 脳はとてつもなく効率のよい計算機 10
  11. 11. Copyright(C) Open Stream, Inc. All Rights Reserved. スパースモデリングは V1の模倣 ■ 自然画像を基底画像(フィルタ)の
 線形結合として表す。 ■ 結合係数がスパース(Sparse:まばら)な行列 のとき、V1に良く一致する結果が得られる。 11
  12. 12. Copyright(C) Open Stream, Inc. All Rights Reserved. スパースモデリングの
 数理入門 12 02
  13. 13. Copyright(C) Open Stream, Inc. All Rights Reserved. 2つの主要なアイデア ■ スパース信号分解 ■ スパースコーディング 13
  14. 14. Copyright(C) Open Stream, Inc. All Rights Reserved. スパース信号分解とは ■ N次元(N=WxH) 画像信号 f の線形生成モデル ■ s:係数ベクトル ■ A:辞書(基底行列), ai:原子(基底ベクトル)// 既定とする ■ まばらに非ゼロ要素が分布する s で f を表現することを
 『スパース信号分解』という。 14 f = As (f 2 RN )
  15. 15. 線形生成モデルのイメージ
  16. 16. Copyright(C) Open Stream, Inc. All Rights Reserved. スパース信号分解
 アルゴリズム ■ 過完備(overcomplete)な基底行列とは • 基底ベクトルの数M>信号の次元数N • N個の互いに一次独立な基底ベクトルがある ■ Aが過完備なとき、sは一意に定まらない
 →どうする?
  答:制約条件をつけて数値的に解く 16 f = As
  17. 17. Copyright(C) Open Stream, Inc. All Rights Reserved. 制約条件= sに対するペナルティ ■ いろんな方法がありうる ■ よくあるペナルティは 『lp ノルム』 ■ l2:『最小ノルム解』:信号の再構成保証
 ■ l0:画像処理、情報圧縮でよく用いる 17 lp = s p = P n |sn|p 1 p p 0
  18. 18. Copyright(C) Open Stream, Inc. All Rights Reserved. l0ノルムによる スパース信号分解 ■ 以下の解を求める。(l0ノルムの最小化) ■ l0ノルムの最小化=非ゼロ要素数の最小化 ■ 解析的には解けない。最適解の探索は計算量 多い。 ■ 近似解を得る方法がいろいろ提案されている。 18
  19. 19. Copyright(C) Open Stream, Inc. All Rights Reserved. スパース信号分解 アルゴリズム例:MP ■ Matching pursuits(MP)アルゴリズム ■ 以下を反復する i=0,1,2… 1)初期残差信号 R(i=0)=f, s=(0,0,…,0)とおく 2)R(i)との内積が最大となる基底ベクトル ajmaxを検索し、sjmax←ajmax TR(i) と更新する 3)R(i+1)←R(i)-sjmaxajmax と更新する 4)終了条件満たさなければ 2)へ戻る 19
  20. 20. Copyright(C) Open Stream, Inc. All Rights Reserved. その他のアルゴリズム ■ OMP ■ BP ■ BPDN ■ BCR ■ ・・・ ■ 活発に改良案が研究されている 20
  21. 21. Copyright(C) Open Stream, Inc. All Rights Reserved. スパースコーディング ■ 復習:スパース信号分解は Aとfからsを求める方法 ■ スパースコーディングは辞書Aを作る方法: • 事前設計型 • DCT、Fourier変換、wavelet,、curvelet、… • 学習型 • INPUT: 学習用信号群 {fi}(i=1,2,…,I) • OUTPUT: A
 (ただし、できるだけ少ない基底ベクトルで) • これも、いろいろなアルゴリズムが提案されている 21
  22. 22. Copyright(C) Open Stream, Inc. All Rights Reserved. 代表的な学習型スパースコーディング 例:K-SVD法 ■ クラスタリングの k-means 法の一般化 ■ (係数の最適化 基底の最適化)
 を交互に繰り返す交互最適化 ■ 基本的な考え方 • 基底ベクトル ai を更新する際、ai抜きで近 似した信号と原信号の誤差を表現する基底 を新たな ai とする。 22
  23. 23. Copyright(C) Open Stream, Inc. All Rights Reserved. K-SVDの手順(1/2) (1)任意の方法(乱数など)で辞書Aを初期化する。
 このAに対する係数sをMP法などで求めておく。 (2)学習信号{fi}(i=1,2,…I)のなかで、更新対象の基底 al が
 表現に用いられている信号の添字集合Ωlを求める。
 • fiとaiの内積を取って、その値が小さいものは除外? (調査中) (3)Ωlに含まれる観測信号のみからなるfの部分行列f[l]を構 成する。同様に作った s[l] j を並べた係数行列 s[l] とする。 23 ⌦l = i 2 {1, · · · , n}| ⇥ C ⇤ li 6= 0
  24. 24. Copyright(C) Open Stream, Inc. All Rights Reserved. K-SVDの手順(2/2) (4)al を利用しないで観測信号を近似し、そのときの残差 Rl を求め る。
 
 (5)Rlを特異値分解(SVD)し、
 第一左特異ベクトル u1 を al とする。al ← u1。また最大特異値 σ1と第一右特異ベクトルv1を用いて sj ←σ1v1 として係数を修正 する。(特異ベクトルは、Rlを最も良く近似する成分となる) (6)ここまでの処理を全ての al について行い、順次 A を更新する。 (7)終了条件を満たさなければ、(2)へ戻る。 24 Rl = f[l] X j6=l ajsj [l] Rl = U⌃V T 特異値分解は スペクトル分解のような 効果
  25. 25. Copyright(C) Open Stream, Inc. All Rights Reserved. スパースモデリングの応用 25 03
  26. 26. Copyright(C) Open Stream, Inc. All Rights Reserved. 画像分離・画像修復 ■ 2つの異なる画像a,bが重なった画像 x があると き、2つの画像がそれぞれ異なる辞書 Aa, Ab と 係数 sa, sb で、Aasa, Absb と表せるとする。 ■ 次の問題を解けば、2つの画像を分離できる。 ■ Aa=原画像辞書, Ab=ノイズ画像辞書とすれば、 ノイズ除去(画像修復)に使える。 26 minimizesa,sb sa 0 + sb 0 subject to x Aasa Absb 2 2  ✏
  27. 27. Copyright(C) Open Stream, Inc. All Rights Reserved. 超解像 (次頁の図参照) ■ 高解像度の学習用画像から辞書 AH を学習しておく。 ■ AHにダウンサンプリング・ボケ関数などを施して低解 像度な辞書ALを作成する。 ■ 低解像度な入力画像列XL を AL でスパース信号分解す る。 ■ 上記で得られた非ゼロ係数列を使って、AHで画像を再 構成すると、高解像度画像XHが得られる。 ■ 高画質TV、患者の負担を減らした医療画像撮影などに 用いられる 27
  28. 28. 超解像処理の概念図
  29. 29. Copyright(C) Open Stream, Inc. All Rights Reserved. 顔認識(1/2) ■ 登録ユーザH人とする。各自は複数の顔画像f
 
 を登録しているとする。これらを基底として 扱い、辞書D
 
 を構成する。
 29 fh 1 , · · · , fh nh , h = 1, · · · , H D = (f1 1 , · · · , f1 n1 ; · · · ; fH 1 , · · · , fH n1 )
  30. 30. Copyright(C) Open Stream, Inc. All Rights Reserved. 顔認識(2/2) ■ 認識したい人物の顔画像XをDでスパース信号 分解すると、その人物が登録済みであれば、 その基底に該当するごく一部の係数だけが非 ゼロになる。 ■ この係数の大きさをスコアとして、認証判定 ができる。
 30
  31. 31. Copyright(C) Open Stream, Inc. All Rights Reserved. ディープラーニングと スパースモデリング ■ ディープラーニングの自己符号化器では
 スパースモデリングのアイデアを活用している。 ■ 『冗長(過完備)な基底ベクトルに対するス パースな係数行列でより高次の情報を表現す る』というモデルで、教師なし多層学習を 行っている。 31
  32. 32. Copyright(C) Open Stream, Inc. All Rights Reserved. まとめ ■ スパースモデリングは生物の信号処理をヒントに したアルゴリズム ■ 辞書の作成アルゴリズムと、辞書の利用アルゴリ ズム(スパースな係数行列を求める)が主要な理 論 ■ さまざまな自然信号の処理(画像、音声)に応用 できる。 ■ ディープラーニングとの関係性 32

×