SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
スパース モデリング入門
2015/11/16 株式会社 オープンストリーム
CTO 寺田英雄
https://www.facebook.com/hideo.terada.5
1
Copyright(C) Open Stream, Inc. All Rights Reserved.
経歴
■ 大阪大学工学部機械系/電子制御機械工学科 卒
• 画像認識ソフトウェアを専攻
• Project-TEAM DoGA 初代メンバー:CG映画制作
• http://doga.jp/
■ 仕事歴
• 1992 IHI入社・技術開発本部所属
• 2007 某モバイル動画ベンチャー 入社
• 2011 ベンチャー崩壊しはじめる
• 2012 オープンストリーム入社
• 2014 オープンストリームCTO
2
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
Copyright(C) Open Stream, Inc. All Rights Reserved.
開発経験
■ 画像認識関連
• ごみ焼却炉制御用火炎認識システム(擬似3次元計測)
• 鋳型組み立てロボット制御用、ワーク位置計測システム(ベクトル相関)
• 舞台装置コンテナの荷降ろしロボット制御用位置決めシステム(ベクトル相関、直線検知)
• 自動車工場の鋼板受け入れ検査システム(濃淡モフォロジー)
• デパレタイザー用3次元認識(計算幾何学)
• 監視カメラ用ハードディスクレコーダー(画像圧縮)
• 乗用車用、歩行者検知システム(HoG, SVM, GPGPU)
■ 動画ストリーミング
• 携帯電話用コーデック、画像・音声同期再生エンジン、マルチキャスト動画配信
■ その他
• C-HTML編集エディタ、GTコジェネ制御ロジックCAD
• Oracle用 C++ ORマッパーの開発
• 電子書籍フォーマット&デコーダ生成システムの開発
• DRM動画配信アプリ&状態マシンフレームワーク
4
Copyright(C) Open Stream, Inc. All Rights Reserved.
最近の興味
■ 生物に学ぶ情報処理
• 全脳アーキテクチャー
• Deep Learning
• Sparse Modeling
5
Copyright(C) Open Stream, Inc. All Rights Reserved.
アジェンダ
■ イントロ
■ スパースモデリングの数理入門
■ スパースモデリングの応用
6
Copyright(C) Open Stream, Inc. All Rights Reserved.
イントロ
7
01
Copyright(C) Open Stream, Inc. All Rights Reserved.
生物の一次視覚野(V1)
■ 目から入った視覚情報を最初に
受け取る脳の部位
■ 方向・空間スケールに関する選
択的空間フィルタを有すること
が知られている
8
Copyright(C) Open Stream, Inc. All Rights Reserved.
空間フィルタ
■ 網膜に特定の傾き
のスリット光を与
えると、その時だ
け反応する受容細
胞がある
■ ガボールフィルタで
近似できる
9
Copyright(C) Open Stream, Inc. All Rights Reserved.
視覚野はフィルタバンク
■ 様々な方向、空間周波数に対応した受容細胞(=
フィルタ)の集まり
■ なぜこのように進化したか?
• 有力な仮説:
• 自然画像の統計的構造を利用
• 自然画像を効率的に符号化→エネルギー効率
• 脳はとてつもなく効率のよい計算機
10
Copyright(C) Open Stream, Inc. All Rights Reserved.
スパースモデリングは
V1の模倣
■ 自然画像を基底画像(フィルタ)の

線形結合として表す。
■ 結合係数がスパース(Sparse:まばら)な行列
のとき、V1に良く一致する結果が得られる。
11
Copyright(C) Open Stream, Inc. All Rights Reserved.
スパースモデリングの

数理入門
12
02
Copyright(C) Open Stream, Inc. All Rights Reserved.
2つの主要なアイデア
■ スパース信号分解
■ スパースコーディング
13
Copyright(C) Open Stream, Inc. All Rights Reserved.
スパース信号分解とは
■ N次元(N=WxH) 画像信号 f の線形生成モデル
■ s:係数ベクトル
■ A:辞書(基底行列), ai:原子(基底ベクトル)// 既定とする
■ まばらに非ゼロ要素が分布する s で f を表現することを

『スパース信号分解』という。
14
f = As (f 2 RN
)
線形生成モデルのイメージ
Copyright(C) Open Stream, Inc. All Rights Reserved.
スパース信号分解

アルゴリズム
■ 過完備(overcomplete)な基底行列とは
• 基底ベクトルの数M>信号の次元数N
• N個の互いに一次独立な基底ベクトルがある
■ Aが過完備なとき、sは一意に定まらない

→どうする?

 答:制約条件をつけて数値的に解く
16
f = As
Copyright(C) Open Stream, Inc. All Rights Reserved.
制約条件=
sに対するペナルティ
■ いろんな方法がありうる
■ よくあるペナルティは 『lp ノルム』
■ l2:『最小ノルム解』:信号の再構成保証

■ l0:画像処理、情報圧縮でよく用いる
17
lp = s p
=
P
n |sn|p
1
p p 0
Copyright(C) Open Stream, Inc. All Rights Reserved.
l0ノルムによる
スパース信号分解
■ 以下の解を求める。(l0ノルムの最小化)
■ l0ノルムの最小化=非ゼロ要素数の最小化
■ 解析的には解けない。最適解の探索は計算量
多い。
■ 近似解を得る方法がいろいろ提案されている。
18
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
Copyright(C) Open Stream, Inc. All Rights Reserved.
その他のアルゴリズム
■ OMP
■ BP
■ BPDN
■ BCR
■ ・・・
■ 活発に改良案が研究されている
20
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
Copyright(C) Open Stream, Inc. All Rights Reserved.
代表的な学習型スパースコーディング
例:K-SVD法
■ クラスタリングの k-means 法の一般化
■ (係数の最適化 基底の最適化)

を交互に繰り返す交互最適化
■ 基本的な考え方
• 基底ベクトル ai を更新する際、ai抜きで近
似した信号と原信号の誤差を表現する基底
を新たな ai とする。
22
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
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
特異値分解は
スペクトル分解のような
効果
Copyright(C) Open Stream, Inc. All Rights Reserved.
スパースモデリングの応用
25
03
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
 ✏
Copyright(C) Open Stream, Inc. All Rights Reserved.
超解像
(次頁の図参照)
■ 高解像度の学習用画像から辞書 AH を学習しておく。
■ AHにダウンサンプリング・ボケ関数などを施して低解
像度な辞書ALを作成する。
■ 低解像度な入力画像列XL を AL でスパース信号分解す
る。
■ 上記で得られた非ゼロ係数列を使って、AHで画像を再
構成すると、高解像度画像XHが得られる。
■ 高画質TV、患者の負担を減らした医療画像撮影などに
用いられる
27
超解像処理の概念図
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
)
Copyright(C) Open Stream, Inc. All Rights Reserved.
顔認識(2/2)
■ 認識したい人物の顔画像XをDでスパース信号
分解すると、その人物が登録済みであれば、
その基底に該当するごく一部の係数だけが非
ゼロになる。
■ この係数の大きさをスコアとして、認証判定
ができる。

30
Copyright(C) Open Stream, Inc. All Rights Reserved.
ディープラーニングと
スパースモデリング
■ ディープラーニングの自己符号化器では

スパースモデリングのアイデアを活用している。
■ 『冗長(過完備)な基底ベクトルに対するス
パースな係数行列でより高次の情報を表現す
る』というモデルで、教師なし多層学習を
行っている。
31
Copyright(C) Open Stream, Inc. All Rights Reserved.
まとめ
■ スパースモデリングは生物の信号処理をヒントに
したアルゴリズム
■ 辞書の作成アルゴリズムと、辞書の利用アルゴリ
ズム(スパースな係数行列を求める)が主要な理
論
■ さまざまな自然信号の処理(画像、音声)に応用
できる。
■ ディープラーニングとの関係性
32

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ【DL輪読会】ViT + Self Supervised Learningまとめ
【DL輪読会】ViT + Self Supervised Learningまとめ
 
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
[DL輪読会]近年のオフライン強化学習のまとめ —Offline Reinforcement Learning: Tutorial, Review, an...
 
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
SSII2021 [TS2] 深層強化学習 〜 強化学習の基礎から応用まで 〜
 
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)
 
「世界モデル」と関連研究について
「世界モデル」と関連研究について「世界モデル」と関連研究について
「世界モデル」と関連研究について
 
金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル金融時系列のための深層t過程回帰モデル
金融時系列のための深層t過程回帰モデル
 
coordinate descent 法について
coordinate descent 法についてcoordinate descent 法について
coordinate descent 法について
 
全体セミナー20170629
全体セミナー20170629全体セミナー20170629
全体セミナー20170629
 
Transformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法についてTransformerを多層にする際の勾配消失問題と解決法について
Transformerを多層にする際の勾配消失問題と解決法について
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識
 
[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs[DL輪読会]逆強化学習とGANs
[DL輪読会]逆強化学習とGANs
 
スパースモデリングによる多次元信号・画像復元
スパースモデリングによる多次元信号・画像復元スパースモデリングによる多次元信号・画像復元
スパースモデリングによる多次元信号・画像復元
 
[DL輪読会]“SimPLe”,“Improved Dynamics Model”,“PlaNet” 近年のVAEベース系列モデルの進展とそのモデルベース...
[DL輪読会]“SimPLe”,“Improved Dynamics Model”,“PlaNet” 近年のVAEベース系列モデルの進展とそのモデルベース...[DL輪読会]“SimPLe”,“Improved Dynamics Model”,“PlaNet” 近年のVAEベース系列モデルの進展とそのモデルベース...
[DL輪読会]“SimPLe”,“Improved Dynamics Model”,“PlaNet” 近年のVAEベース系列モデルの進展とそのモデルベース...
 
DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜
 
勾配降下法の 最適化アルゴリズム
勾配降下法の最適化アルゴリズム勾配降下法の最適化アルゴリズム
勾配降下法の 最適化アルゴリズム
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
 
【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?【論文紹介】How Powerful are Graph Neural Networks?
【論文紹介】How Powerful are Graph Neural Networks?
 
グラフニューラルネットワーク入門
グラフニューラルネットワーク入門グラフニューラルネットワーク入門
グラフニューラルネットワーク入門
 
【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習【メタサーベイ】数式ドリブン教師あり学習
【メタサーベイ】数式ドリブン教師あり学習
 

Andere mochten auch

Ppt compressed sensing a tutorial
Ppt compressed sensing a tutorialPpt compressed sensing a tutorial
Ppt compressed sensing a tutorial
Terence Gao
 
Introduction to compressive sensing
Introduction to compressive sensingIntroduction to compressive sensing
Introduction to compressive sensing
Mohammed Musfir N N
 

Andere mochten auch (17)

スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
 
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
 
夏前ゼミ
夏前ゼミ夏前ゼミ
夏前ゼミ
 
cvsaisentan20141004 kanezaki
cvsaisentan20141004 kanezakicvsaisentan20141004 kanezaki
cvsaisentan20141004 kanezaki
 
Pcl180+vs2015インストールマニュアル
Pcl180+vs2015インストールマニュアルPcl180+vs2015インストールマニュアル
Pcl180+vs2015インストールマニュアル
 
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
三次元点群処理ライブラリPCLと 統合ロボットシステム研究での 利用例の紹介
 
Sparse representation and compressive sensing
Sparse representation and compressive sensingSparse representation and compressive sensing
Sparse representation and compressive sensing
 
Learning Sparse Representation
Learning Sparse RepresentationLearning Sparse Representation
Learning Sparse Representation
 
Lec17 sparse signal processing & applications
Lec17 sparse signal processing & applicationsLec17 sparse signal processing & applications
Lec17 sparse signal processing & applications
 
Compressive Sensing Basics - Medical Imaging - MRI
Compressive Sensing Basics - Medical Imaging - MRICompressive Sensing Basics - Medical Imaging - MRI
Compressive Sensing Basics - Medical Imaging - MRI
 
Ppt compressed sensing a tutorial
Ppt compressed sensing a tutorialPpt compressed sensing a tutorial
Ppt compressed sensing a tutorial
 
20150414seminar
20150414seminar20150414seminar
20150414seminar
 
Introduction to compressive sensing
Introduction to compressive sensingIntroduction to compressive sensing
Introduction to compressive sensing
 
Introduction to compressive sensing
Introduction to compressive sensingIntroduction to compressive sensing
Introduction to compressive sensing
 
Introduction to Compressive Sensing (Compressed Sensing)
Introduction to Compressive Sensing (Compressed Sensing)Introduction to Compressive Sensing (Compressed Sensing)
Introduction to Compressive Sensing (Compressed Sensing)
 
Convex Optimization Modelling with CVXOPT
Convex Optimization Modelling with CVXOPTConvex Optimization Modelling with CVXOPT
Convex Optimization Modelling with CVXOPT
 
PCL
PCLPCL
PCL
 

Ähnlich wie スパースモデリング入門

Ähnlich wie スパースモデリング入門 (20)

データ中心の時代を生き抜くエンジニアに知ってほしい10?のこと
データ中心の時代を生き抜くエンジニアに知ってほしい10?のことデータ中心の時代を生き抜くエンジニアに知ってほしい10?のこと
データ中心の時代を生き抜くエンジニアに知ってほしい10?のこと
 
The beginners guide of real-time audio processing (Part 1:Equalizer)
The beginners guide of real-time audio processing (Part 1:Equalizer)The beginners guide of real-time audio processing (Part 1:Equalizer)
The beginners guide of real-time audio processing (Part 1:Equalizer)
 
「Pythonでやってみた」~広がるプログラミングの愉しみ~
「Pythonでやってみた」~広がるプログラミングの愉しみ~「Pythonでやってみた」~広がるプログラミングの愉しみ~
「Pythonでやってみた」~広がるプログラミングの愉しみ~
 
KDD 2015勉強会_高橋
KDD 2015勉強会_高橋KDD 2015勉強会_高橋
KDD 2015勉強会_高橋
 
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
メモリ抽象化フレームワークPyCoRAMを用いたソフトプロセッサ混載FPGAアクセラレータの開発
 
Pycon reject banditアルゴリズムを用いた自動abテスト
Pycon reject banditアルゴリズムを用いた自動abテストPycon reject banditアルゴリズムを用いた自動abテスト
Pycon reject banditアルゴリズムを用いた自動abテスト
 
オタク×Node.js勉強会
オタク×Node.js勉強会オタク×Node.js勉強会
オタク×Node.js勉強会
 
Show and tell takmin
Show and tell takminShow and tell takmin
Show and tell takmin
 
ドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkinsドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkins
 
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
SORACOM Technology Camp 2018 アドバンストラック4 | スモールスタートの次の一手は?成長できるIoTシステムの実例と回避した...
 
Pydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセス
Pydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセスPydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセス
Pydata_リクルートにおけるbanditアルゴリズム_実装前までのプロセス
 
音声認識におけるサーバサイド開発_Shuta Ichimura
音声認識におけるサーバサイド開発_Shuta Ichimura音声認識におけるサーバサイド開発_Shuta Ichimura
音声認識におけるサーバサイド開発_Shuta Ichimura
 
ADS-B on raspberry pi
ADS-B on raspberry piADS-B on raspberry pi
ADS-B on raspberry pi
 
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
PyCoRAM (高位合成友の会@ドワンゴ, 2015年1月16日)
 
FPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティングFPGA, AI, エッジコンピューティング
FPGA, AI, エッジコンピューティング
 
Yahoo! JAPANにおけるオンライン機械学習実例 #streamctjp
Yahoo! JAPANにおけるオンライン機械学習実例 #streamctjpYahoo! JAPANにおけるオンライン機械学習実例 #streamctjp
Yahoo! JAPANにおけるオンライン機械学習実例 #streamctjp
 
20170806 Discriminative Optimization
20170806 Discriminative Optimization20170806 Discriminative Optimization
20170806 Discriminative Optimization
 
kagamicomput201813
kagamicomput201813kagamicomput201813
kagamicomput201813
 
ソフト屋が挑戦した電子工作 〜力ずくの10か月〜
ソフト屋が挑戦した電子工作 〜力ずくの10か月〜ソフト屋が挑戦した電子工作 〜力ずくの10か月〜
ソフト屋が挑戦した電子工作 〜力ずくの10か月〜
 
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第1回
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第1回(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第1回
(Pythonで作って学ぶ) Youtube の動画リストを作るアプリの開発 
第1回
 

Mehr von Hideo Terada

Mehr von Hideo Terada (7)

2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”
2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”
2021 09 豆寄席:(公開用)長く生き残るitエンジニアの”リベラル・アーツ”
 
画像処理AIを用いた異常検知
画像処理AIを用いた異常検知画像処理AIを用いた異常検知
画像処理AIを用いた異常検知
 
B-DCGAN Slides for ICONIP2019
B-DCGAN Slides for ICONIP2019B-DCGAN Slides for ICONIP2019
B-DCGAN Slides for ICONIP2019
 
論文紹介 dhSegment:文書セグメンテーションのための包括的ディープラーニングアプローチ
論文紹介 dhSegment:文書セグメンテーションのための包括的ディープラーニングアプローチ論文紹介 dhSegment:文書セグメンテーションのための包括的ディープラーニングアプローチ
論文紹介 dhSegment:文書セグメンテーションのための包括的ディープラーニングアプローチ
 
ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)ディープラーニングの2値化(Binarized Neural Network)
ディープラーニングの2値化(Binarized Neural Network)
 
機械学習のための数学のおさらい
機械学習のための数学のおさらい機械学習のための数学のおさらい
機械学習のための数学のおさらい
 
技術系文書作成のコツ
技術系文書作成のコツ技術系文書作成のコツ
技術系文書作成のコツ
 

スパースモデリング入門

  • 1. スパース モデリング入門 2015/11/16 株式会社 オープンストリーム CTO 寺田英雄 https://www.facebook.com/hideo.terada.5 1
  • 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. 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. Copyright(C) Open Stream, Inc. All Rights Reserved. 開発経験 ■ 画像認識関連 • ごみ焼却炉制御用火炎認識システム(擬似3次元計測) • 鋳型組み立てロボット制御用、ワーク位置計測システム(ベクトル相関) • 舞台装置コンテナの荷降ろしロボット制御用位置決めシステム(ベクトル相関、直線検知) • 自動車工場の鋼板受け入れ検査システム(濃淡モフォロジー) • デパレタイザー用3次元認識(計算幾何学) • 監視カメラ用ハードディスクレコーダー(画像圧縮) • 乗用車用、歩行者検知システム(HoG, SVM, GPGPU) ■ 動画ストリーミング • 携帯電話用コーデック、画像・音声同期再生エンジン、マルチキャスト動画配信 ■ その他 • C-HTML編集エディタ、GTコジェネ制御ロジックCAD • Oracle用 C++ ORマッパーの開発 • 電子書籍フォーマット&デコーダ生成システムの開発 • DRM動画配信アプリ&状態マシンフレームワーク 4
  • 5. Copyright(C) Open Stream, Inc. All Rights Reserved. 最近の興味 ■ 生物に学ぶ情報処理 • 全脳アーキテクチャー • Deep Learning • Sparse Modeling 5
  • 6. Copyright(C) Open Stream, Inc. All Rights Reserved. アジェンダ ■ イントロ ■ スパースモデリングの数理入門 ■ スパースモデリングの応用 6
  • 7. Copyright(C) Open Stream, Inc. All Rights Reserved. イントロ 7 01
  • 8. Copyright(C) Open Stream, Inc. All Rights Reserved. 生物の一次視覚野(V1) ■ 目から入った視覚情報を最初に 受け取る脳の部位 ■ 方向・空間スケールに関する選 択的空間フィルタを有すること が知られている 8
  • 9. Copyright(C) Open Stream, Inc. All Rights Reserved. 空間フィルタ ■ 網膜に特定の傾き のスリット光を与 えると、その時だ け反応する受容細 胞がある ■ ガボールフィルタで 近似できる 9
  • 10. Copyright(C) Open Stream, Inc. All Rights Reserved. 視覚野はフィルタバンク ■ 様々な方向、空間周波数に対応した受容細胞(= フィルタ)の集まり ■ なぜこのように進化したか? • 有力な仮説: • 自然画像の統計的構造を利用 • 自然画像を効率的に符号化→エネルギー効率 • 脳はとてつもなく効率のよい計算機 10
  • 11. Copyright(C) Open Stream, Inc. All Rights Reserved. スパースモデリングは V1の模倣 ■ 自然画像を基底画像(フィルタ)の
 線形結合として表す。 ■ 結合係数がスパース(Sparse:まばら)な行列 のとき、V1に良く一致する結果が得られる。 11
  • 12. Copyright(C) Open Stream, Inc. All Rights Reserved. スパースモデリングの
 数理入門 12 02
  • 13. Copyright(C) Open Stream, Inc. All Rights Reserved. 2つの主要なアイデア ■ スパース信号分解 ■ スパースコーディング 13
  • 14. Copyright(C) Open Stream, Inc. All Rights Reserved. スパース信号分解とは ■ N次元(N=WxH) 画像信号 f の線形生成モデル ■ s:係数ベクトル ■ A:辞書(基底行列), ai:原子(基底ベクトル)// 既定とする ■ まばらに非ゼロ要素が分布する s で f を表現することを
 『スパース信号分解』という。 14 f = As (f 2 RN )
  • 16. Copyright(C) Open Stream, Inc. All Rights Reserved. スパース信号分解
 アルゴリズム ■ 過完備(overcomplete)な基底行列とは • 基底ベクトルの数M>信号の次元数N • N個の互いに一次独立な基底ベクトルがある ■ Aが過完備なとき、sは一意に定まらない
 →どうする?
  答:制約条件をつけて数値的に解く 16 f = As
  • 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. Copyright(C) Open Stream, Inc. All Rights Reserved. l0ノルムによる スパース信号分解 ■ 以下の解を求める。(l0ノルムの最小化) ■ l0ノルムの最小化=非ゼロ要素数の最小化 ■ 解析的には解けない。最適解の探索は計算量 多い。 ■ 近似解を得る方法がいろいろ提案されている。 18
  • 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. Copyright(C) Open Stream, Inc. All Rights Reserved. その他のアルゴリズム ■ OMP ■ BP ■ BPDN ■ BCR ■ ・・・ ■ 活発に改良案が研究されている 20
  • 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. Copyright(C) Open Stream, Inc. All Rights Reserved. 代表的な学習型スパースコーディング 例:K-SVD法 ■ クラスタリングの k-means 法の一般化 ■ (係数の最適化 基底の最適化)
 を交互に繰り返す交互最適化 ■ 基本的な考え方 • 基底ベクトル ai を更新する際、ai抜きで近 似した信号と原信号の誤差を表現する基底 を新たな ai とする。 22
  • 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. 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. Copyright(C) Open Stream, Inc. All Rights Reserved. スパースモデリングの応用 25 03
  • 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. Copyright(C) Open Stream, Inc. All Rights Reserved. 超解像 (次頁の図参照) ■ 高解像度の学習用画像から辞書 AH を学習しておく。 ■ AHにダウンサンプリング・ボケ関数などを施して低解 像度な辞書ALを作成する。 ■ 低解像度な入力画像列XL を AL でスパース信号分解す る。 ■ 上記で得られた非ゼロ係数列を使って、AHで画像を再 構成すると、高解像度画像XHが得られる。 ■ 高画質TV、患者の負担を減らした医療画像撮影などに 用いられる 27
  • 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. Copyright(C) Open Stream, Inc. All Rights Reserved. 顔認識(2/2) ■ 認識したい人物の顔画像XをDでスパース信号 分解すると、その人物が登録済みであれば、 その基底に該当するごく一部の係数だけが非 ゼロになる。 ■ この係数の大きさをスコアとして、認証判定 ができる。
 30
  • 31. Copyright(C) Open Stream, Inc. All Rights Reserved. ディープラーニングと スパースモデリング ■ ディープラーニングの自己符号化器では
 スパースモデリングのアイデアを活用している。 ■ 『冗長(過完備)な基底ベクトルに対するス パースな係数行列でより高次の情報を表現す る』というモデルで、教師なし多層学習を 行っている。 31
  • 32. Copyright(C) Open Stream, Inc. All Rights Reserved. まとめ ■ スパースモデリングは生物の信号処理をヒントに したアルゴリズム ■ 辞書の作成アルゴリズムと、辞書の利用アルゴリ ズム(スパースな係数行列を求める)が主要な理 論 ■ さまざまな自然信号の処理(画像、音声)に応用 できる。 ■ ディープラーニングとの関係性 32