Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

スパースモデリング入門

26,262 views

Published on

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

Published in: Technology
  • Be the first to comment

スパースモデリング入門

  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

×