Slide 1

Slide 1 text

テンソル分解の基礎と応用 横田 達也 名古屋工業大学/理化学研究所 MIRU2022

Slide 2

Slide 2 text

2 2 概論

Slide 3

Slide 3 text

3 情報処理一般論 情報 処理 価値 情報処理:情報を処理して価値を生み出す 生成 理解 予測 制御 音声 画像 言語 感性 触覚 など 変換 など 処理 = 表現+計算

Slide 4

Slide 4 text

4 情報処理:表現 + 計算 画像復元の例 損失を含む情報 表現:未完行列 計算:低ランクモデル 表現:点群 計算:ボロノイ図 x y v 1 1 80 2 1 95 … … … 256 256 18 ◎ 多くの場合,表現の土台の上に計算がある ◎ 情報の「良い」表現とはなにか?

Slide 5

Slide 5 text

5 本講演で解説すること 情報をテンソル表現し,テンソル分解によって価値を生み出すアプローチ ⚫ テンソルとは ⚫ テンソル分解とは ⚫ テンソル分解のモデル ⚫ テンソル分解のアルゴリズム ⚫ テンソル分解の応用事例 ⚫ テンソル分解技術への期待・課題など 情報 価値 テンソル表現 テンソル分解 テンソル情報処理

Slide 6

Slide 6 text

6 添え字のついた数 スカラー,ベクトル,行列を一般化したもの ⚫ 例: ⚫ 添え字の数を「階数(order)」と呼ぶ ➢ スカラー : 0階テンソル(0th order tensor) ➢ ベクトル : 1階テンソル(1st order tensor) ➢ 行列 : 2階テンソル(2nd order tensor) ➢ … テンソルとは

Slide 7

Slide 7 text

7 多次元配列 ⚫ 0階テンソル : ⚫ 1階テンソル : ⚫ 2階テンソル : ⚫ 3階テンソル : テンソルデータ ベクトル → スカラーの配列 行列 → ベクトルの配列 3階テンソル → 行列の配列

Slide 8

Slide 8 text

8 3階テンソルを立方体で図示します 4階テンソル ⚫ ベクトルの3階テンソル ⚫ 行列の行列 ⚫ 3階テンソルのベクトル 5階テンソル ⚫ ベクトルの4階テンソル ⚫ 行列の3階テンソル ⚫ 3階テンソルの行列 ⚫ 4階テンソルのベクトル N階テンソル ⚫ N-1階テンソルのベクトル N階テンソル ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・・・ ・・・ ・・・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・・・ ・・・ ・・・ ・ ・ ・ ブロック行列 ブロック行列 ブロックベクトル ブロックベクトル

Slide 9

Slide 9 text

9 濃淡画像 ⚫ 2階テンソル テンソルデータの例 カラー画像(RGB) ⚫ 3階テンソル 高さ 幅 (R,G,B) 高さ 幅 空間(横向き) 周波数(横向き) 空 間 ( 縦 向 き ) 周 波 数 ( 縦 向 き ) 高さ 幅 色 時間 にんじ ん じゃが いも たまね ぎ にく Aさん 購入 Bさん 購入 購入 Cさん 購入 Dさん 購入 顧客 商品 Aさん Bさん Cさん Dさん Aさん フォロー フォロー フォロー Bさん フォロー Cさん フォロー Dさん ブロック ユ ー ザ ー ( す る 側 ) ユーザー(される側) 主語 述語 目的語 カラー動画像 ⚫ 4階テンソル 購買記録 ⚫ 2階テンソル(+時間) 2D離散コサイン基底 ⚫ 4階テンソル ソーシャルネット ⚫ 2階テンソル(+時間) 知識ベース ⚫ 3階テンソル(+時間) ➢ (主語,述語,目的語)

Slide 10

Slide 10 text

10 深層学習に現れるテンソル TensorFlow ⚫ 名前に現れる , height width channels height width channels , , conv layer 幅 高さ バッチサイズ (R,G,B) ミニバッチ(中間層の表現) ⚫ 4階テンソル ➢ 幅 ➢ 高さ ➢ チャネル(RGBなど) ➢ バッチサイズ 畳み込み層の重み ⚫ 4階テンソル ➢ 畳み込みカーネルの幅 ➢ 畳み込みカーネルの高さ ➢ チャネル ➢ フィルタ数

Slide 11

Slide 11 text

11 線形写像 多重線形写像 ベクトル➔ベクトルな関数のヤコビ行列 ベクトル➔スカラーな関数のヘシアン(2回微分) 計量テンソル 共分散行列 相関係数行列 確率(同時確率,条件付き確率) 状態遷移行列 グラフ(隣接行列) ハイパーグラフ(隣接テンソル) … 行列・テンソルで表現される数理的概念

Slide 12

Slide 12 text

12 階層構造としての解釈 ベクトル ベクトルのベクトル=行列 ベクトルのベクトルのべクトル=3階テンソル ベクトルのベクトルのベクトルのベクトル=4階テンソル … ⚫ 局所 ↔ 大局 ⚫ 日本 ∋ 兵庫県∋ 姫路市∋ 神屋町∋ 143番地 ∋ 2号

Slide 13

Slide 13 text

13 テンソルの抽象的な表記法の1つ テンソルダイアグラム ベクトル 行列 3階テンソル 4階テンソル 5階テンソル ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・・・ ・・・ ・・・ ロジャー・ペンローズ 枝 足 ボンド モード

Slide 14

Slide 14 text

14 内積 (全モードの縮約) 外積 (モードを並べるのみ) 内積・外積・行列積・テンソル積など * * * * … * sum = = 行列積(特定のモードペアの縮約) テンソル積(特定のモードペアの縮約) = R I J I J = = R I J I J =

Slide 15

Slide 15 text

15 テンソルを複数のテンソルの積(縮約)で表現する数理モデル ⚫ 行列を表現する場合 ➔ 行列分解 ⚫ テンソルを表現する場合 ➔ テンソル分解 さまざまな分解モデル テンソル分解 f( , , ) = QR分解 特異値分解 ランク1分解 CP分解 Tucker分解 TT分解

Slide 16

Slide 16 text

16 テンソル分解はどんなことに使えるか データ分析のための特徴抽出 ⚫ テンソル分解によって「因子行列」を得ることが目的 ⚫ 因子行列を観察・分析することで,データに対して説明・解釈を与えたい ⚫ 得られる分解(因子行列)が一意となることが望まれる ➢ 脳波解析(アルファ波が強い,運動野が活発,領域AとBに強い相関がある) ➢ バイオインフォマティクス(遺伝子,症例,ワクチン,タンパク質の関係などを分析) ➢ 独立成分分析/音源分離(バンド演奏 ➔ ボーカル,ギター,ベース,ドラム) 圧縮表現による軽量化,高速化 ⚫ テンソルをできるだけ少ないパラメータ数の表現へエンコードして保存する ⚫ 必要な時にはテンソル積によってデコードする ⚫ 分解は一意でなくて良い ➢ 画像圧縮(JPEG圧縮はTucker2分解と関係がある),動画像圧縮 ➢ ディープニューラルネットワークの重みパラメータを圧縮 劣化したデータの復元(逆問題) ⚫ ノイズ・外れ値・欠損値・ボケなどによる劣化(観測モデル)を仮定する ⚫ テンソル分解(低ランク性に基づく事前情報)を用いて原信号を復元する ⚫ 分解は一意でなくて良い ➢ ノイズ除去,外れ値除去(脳波,音声,自然画像,医用画像,ハイパースペクトル画像) ➢ テンソル補完(画像,推薦システム,交通データ,無線通信など)

Slide 17

Slide 17 text

17 テンソル分解の応用分野 情報処理の幅広い分野において行列・テンソル分解が扱われています ⚫ マルチメディア(音声,自然言語,画像,3D画像,ビデオ) ⚫ 生体データ(脳波,PET,MRI,機能的MRI,拡散テンソル画像) ⚫ バイオインフォマティクス ➢ Unsupervised Feature Extraction Applied to Bioinformatics: A PCA based and TD based approach [Taguchi, 2019] ➢ 行列・テンソル分解によるヘテロバイオデータ統合解析の数理 第{1,2,3}回 [露崎, 2021-2022] ⚫ ネットワークデータ分析(無線通信,交通,ソーシャルネットワーク,文献,Web) ➢ Accurate Recovery of Internet Traffic Data: A Tensor Completion Approach [Xie+, 2016] ➢ HaTen2: Billion-scale Tensor Decomposition [Jeon+, 2015] ⚫ など… ID 001 ID 002 ID 003 ID 004

Slide 18

Slide 18 text

18 テンソル分解のパイオニアと重要な文献 Koldaのレビュー論文 Tensor Decompositions and Applications Kolda&Bader, SIAM Review, 2009 [pdf] 講演 [youtube] Cichockiらのレビュー論文 Tensor Decompositions for Signal Processing Applications Cichocki+, IEEE SPM, 2015 [pdf] T. G. Kolda (MathSci.ai) Signal Processing Society Magazine Best Paper Award (ICASSPにて) A. Cichocki (Skoltech) L. De Lathauwer (KULeuven)

Slide 19

Slide 19 text

19 テンソル分解のパイオニアと重要な文献 Sidiropoulosらのレビュー論文 Tensor Decomposition for Signal Processing and Machine Learning Sidiropoulos+, IEEE TSP, 2017 [pdf] Cichockiらの書籍 Tensor Networks for Dimensionality Reduction and Large-Scale Optimization: Part 1 [link] , Part 2 [pdf] Cichocki+, Foundations and Trends in Machine Learning, 2016 [link] N. Sidiropoulos (Univ. of Virginia)

Slide 20

Slide 20 text

20 宣伝 Book chapterを書きました Tensors for Data Processing, Elsevier, 2021 [link] 目次 1章 Tensor decompositions: Computations, applications, and challenges 2章 Transform-based tensor SVD in multidimensional image recovery 3章 Partensor 4章 A Riemannian approach to low-rank tensor learning 5章 Generalized thresholding for low-rank tensor recovery 6章 Tensor principal component analysis 7章 Tensors for deep learning theory 8章 Tensor network algorithms for image classification 9章 High-performance TD for compressing and accelerating DNN 10章 Coupled tensor decomposition for data fusion 11章 Tensor methods for low-level vision T. Yokota, CF. Caiafa, and Q. Zhao テンソル分解を用いた画像復元法についてまとめました 12章 Tensors for neuroimaging 13章 Tensor representation for remote sensing images 14章 Structured TT decomposition for speeding up kernel learning Qibin Zhao (RIKEN AIP) Cesar F. Caiafa (CONICET)

Slide 21

Slide 21 text

21 21 テンソル分解のモデルとアルゴリズム

Slide 22

Slide 22 text

22 QR分解 行列を「直交行列×上三角行列」の形に分解する ⚫ グラムシュミットの直交化によって得られる 1 1 1

Slide 23

Slide 23 text

23 固有値分解 実対称行列を「直交行列×対角行列×直交行列」の形に分解する ⚫ 任意の実対称行列を固有値分解することができる ⚫ べき乗法(行列積とQR分解の反復)による固有値分解

Slide 24

Slide 24 text

24 特異値分解(SVD) 行列を「直交行列×対角行列×直交行列」の形に分解する ⚫ 任意の行列を特異値分解することができる ⚫ 固有値分解ができれば特異値分解も求まる

Slide 25

Slide 25 text

25 行列ノルムの導出 数式による導出 ダイアグラムによる導出

Slide 26

Slide 26 text

26 行列の低ランク近似 任意の行列をそれよりも低いランクの行列に近似したい エッカート・ヤングの定理 ⚫最良ランクk近似は切り捨て特異値分解によって与えられる

Slide 27

Slide 27 text

27 特異値分解の応用例 濃淡画像(行列)の特異値 切り捨て特異値分解による低ランク近似 特異値の値 ランク1 ランク5 ランク10 ランク30 ランク50 256 256

Slide 28

Slide 28 text

28 画像の低ランク性とは ファイバー(部分ベクトル)の類似性 空間の連続性が無視されている点は要注意 ⚫ 行列ランクは行/列の入れ換えに不変 類似 類似 ≈ ≈ 入れ換え R ランクR ランクR R R R R R ランクR ≈

Slide 29

Slide 29 text

29 低ランク性に基づく画像復元 ノイズ除去(PSNR=22.10) PSNR=24.10 画像補完 (50%) ボケ+ノイズ復元 超解像 (1/4) PSNR=23.04 PSNR=24.12 PSNR=22.02

Slide 30

Slide 30 text

30 テンソルデータへの適用 テンソルを行列化(行列展開)してSVDすれば良いのでは? ⚫ それぞれ1つのモードに着目した低ランク性しか捉えられない ⚫ 全モードの低ランク性を同時に捉えたい ➔ それがまさに テンソル分解 ≈ ≈ ≈

Slide 31

Slide 31 text

31 さまざまなテンソル分解モデル ランク1分解 CP分解 Tucker分解 TT分解 ○ + + ○ ○ ○ + …

Slide 32

Slide 32 text

32 ランク1テンソル ランク1行列 ○ ランク1テンソル(3階) ○ ランク1テンソル(N階) ○ ○・・・○

Slide 33

Slide 33 text

33 ランク1テンソルの行列ノルム 数式による導出 ダイアグラムによる導出

Slide 34

Slide 34 text

34 ランク1分解とその一意性 あるテンソルが存在してランク1であることが分かっている時 ランク1分解を求めることができ,分解は符号・スケール不定性を除いて一意 ⚫ スケール不定性を除いたランク1分解 ⚫ 特異値 = テンソルのノルム ⚫ 任意のファイバーを取ってくればその正規化が因子ベクトル

Slide 35

Slide 35 text

35 ランクRテンソル 最小R個のランク1テンソルの和で表すことができるテンソル ⚫ このような分解をCP分解と呼ぶ ⚫ この定義に基づくテンソルランクはCPランクとも呼ばれる ランク未知のテンソルが与えられている時 ⚫ そのCPランクを求める問題はNP困難 + = + ○ ○ ○ + …

Slide 36

Slide 36 text

36 CPランクの不思議 Subtracting a best rank-1 approximation may increase tensor rank ⚫ Stegeman&Comon, Linear Algebra and its Applications, 433(7): 1276-1300, 2010. ⚫ 最良ランク1近似をして差分を取るとき,当然誤差は小さくなるが,必ずしもCPランクは縮退しない ⚫ 行列の場合は(エッカート・ヤングの定理より)切り捨て特異値分解との差分となるため必ず縮退する 最良ランク1近似 ⚫ ほぼ全ての実数テンソルにおいて最良ランク1近似は一意 ➢ 定理2, Friedland&Ottaviani, The Number of Singular Vector Tuples and Uniqueness of Best Rank- One Approximation of Tensors, Foundations of Computational Mathematics, 14:1209-1242, 2014. 最良ランク1近似 ランク3になってしまう ○ = ー ランク2のテンソル > ○ ー が最も小さくなるような ○ のこと

Slide 37

Slide 37 text

37 テンソルのランク1近似 任意のテンソルをランク1テンソルとして近似したい ⚫ べき乗法

Slide 38

Slide 38 text

38 CP分解 R個のランク1テンソルの和に分解 ⚫ 1927年Hitchcookが「Polyadic form」という呼び方で提案 ⚫ 1970年Carroll&Changが「CANDECOMP (canonical decomposition)」として提案 ⚫ 1970年Harchmanが「PARAFAC (parallel factor) analysis」として提案 ⚫ 2000年Kiersが「CP(CANDECOMP/PARAFAC)」と呼び,CP分解が定着した ⚫ その後Hitchcookの業績として再発見され「CP=Canonical Polyadic」として再定義された + = + ○ ○ ○ + …

Slide 39

Slide 39 text

39 CP分解の特徴 「ある条件下で分解が一意である」点がしばしば取り上げられる ⚫ まず,A+B+C=C+B+Aのような自明な任意性は排除して考える(置換行列 ) ⚫ 各ランク1テンソルの因子ベクトルのスケールの任意性も自明なので排除する ⚫ 以下の条件が成り立つときCP分解は一意である ➢ クラスカルの条件(Kruskal, 1977)と呼ばれる ➢ 大雑把に言うと,Rが小さくテンソルのサイズが大きければそのCP分解は一意になりやすい ⚫ 因子行列からデータを説明したい時(データ分析)に特に重要 + + ○ ○ ○ + … ※クラスカルランク k個の列ベクトルを自由に 取ってきて,それが線形独立 になってるようなkの最大値

Slide 40

Slide 40 text

40 最適化問題 交互最小二乗(ALS)アルゴリズムが良く用いられる ⚫ B,Cを固定すると,Aについて凸二次関数になっていて古典的な最小二乗法が使える ⚫ 各ステップで必ず部分最適解を得るので単調に誤差が減少(非増加)する CP分解のアルゴリズム 初期化:

Slide 41

Slide 41 text

41 ALSアルゴリズムの各更新式の導出 ノルム内のテンソルを行列展開 ⚫ 偏微分 ⚫ 線形方程式の解析解 関係式

Slide 42

Slide 42 text

42 CP分解を用いたデータ分析の具体例 Higher-order web link analysis using multilinear algebra ⚫ Kolda+, International Conference on Data Mining (ICDM), 2005. [link] ⚫ 情報検索に用いられるページランキング手法にテンソル分解を導入した ➢ 従来は注目部分グラフを行列表現し特異値分解を行っていた クエリ 注目部分グラフ テンソル表現 CP分解 因子行列からページ ランキングを作成 ページランキング処理の流れ

Slide 43

Slide 43 text

43 Tucker分解 1つのコアテンソルと複数の因子行列に分解する ⚫ 1963年にTuckerによって提案されたためTucker分解と呼ばれる ⚫ コアテンソルの最小サイズはTuckerランクまたは多重線形ランクとして定義される ⚫ Tuckerランクは行列展開のランクと等しい ⚫ 因子行列の表現に回転とスケール倍の任意性がある =

Slide 44

Slide 44 text

44 Tucker分解の特徴 因子行列が誤差なしで直交化できる 因子行列が直交の時,ノルムはコアテンソルのみに依存する ⚫ コアテンソルは特異値分解における特異値のようなものである HOSVD

Slide 45

Slide 45 text

45 最適化問題 ⚫ コアテンソルについてベクトル化 ⚫ 偏微分から最小二乗解を導出 ⚫ コアテンソルはコスト関数から消去できる Tucker分解のアルゴリズム 関係式

Slide 46

Slide 46 text

46 最適化問題の変形 Tucker分解のアルゴリズム

Slide 47

Slide 47 text

47 最適化問題 交互最小二乗 (ALS) アルゴリズム ⚫ B, Cを固定してAを更新 ⚫ その他同様に更新 Tucker分解のアルゴリズム Initialize:

Slide 48

Slide 48 text

48 ALSアルゴリズムの各更新式の導出 ノルム内を行列展開 ⚫ 直交制約があるため,ラグランジュ関数を考える ⚫ 方程式の解 関係式 ラグランジュ乗数 固有値問題

Slide 49

Slide 49 text

49 遅延埋め込み空間におけるタッカー分解を用いた画像補間(インペインティング) ⚫ Yokota+, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2018. [pdf] ⚫ Yamamoto+, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2021. [pdf] ⚫ 欠損画像➔遅延埋め込み変換➔低ランクテンソル補完➔逆変換 Tucker分解を用いた画像復元の具体例 信号空間 遅延埋め込み空間 高階低ランクテンソル 結果 欠損画像 原画像 埋め込み 逆変換 Tucker分解

Slide 50

Slide 50 text

50 テンソルトレイン(TT)分解 高階テンソルを複数の3階テンソルに分解(最初と最後は2階) ⚫ 元々は物理シミュレーションに使われる「テンソルネットワーク法」に由来する ➢ 物理ではMatrix Product State(MPS)と呼ばれる,近年は量子計算のシミュレーションにも用いられる ⚫ 2011年にOseledetsがデータ分析モデルとして導入し,理論・アルゴリズムを整備した [pdf] ⚫ 各要素は以下のような連鎖的な行列ベクトル積の結果として計算できる =

Slide 51

Slide 51 text

51 TT分解の特徴 逐次的な方法で直交化できる ⚫ 左直交,右直交がある 直交化後のTT分解のノルムは1つのコアテンソルのノルムに集約される 大規模な行列やベクトルがTT形式で与えられていると計算が効率化される

Slide 52

Slide 52 text

52 TT分解のアルゴリズム TTSVD [Oseledets, 2011] ⚫ 与えられたテンソルに対して切り捨て特異値分解を繰り返す

Slide 53

Slide 53 text

53 TT分解の交互最小二乗アルゴリズム TT-MALSアルゴリズム [Holtz+, 2012] ⚫ 最小二乗法による部分更新と切り捨て特異値分解を繰り返す ⚫ 1巡することをスイープ処理と呼ぶ

Slide 54

Slide 54 text

54 TT分解を用いたパターン認識の例 Supervised Learning with Tensor Networks ⚫ Stoudenmire&Schwab, Advanced in Neural Information Processing Systems (NeurIPS), 2016 [pdf] ⚫ パターン認識では画像の非線形な埋め込みに対して線形識別する仕組みが良く用いられてきたがこの線形識別の ところをテンソルネットワークによって記述するアプローチが提案されている ⚫ MNIST識別タスクで99.03%の精度を達成した。 パターンxをランク1 テンソルへ埋め込む one-hot 表現 スイープ処理によって 重み係数を最適化する

Slide 55

Slide 55 text

55 その他のテンソルネットワークモデル = 階層Tucker (HT)分解 Projected Entangled-Pair States (PEPS) テンソルリング(TR)分解 [Zhao+, 2016] Multi-scale Entanglement Renormalization Ansatz (MERA) 全結合テンソルネットワーク(FCTN)[Zheng+, 2021] =

Slide 56

Slide 56 text

56 次元削減への応用 信号復元への応用 深層学習への応用 テンソル分解の応用

Slide 57

Slide 57 text

57 一般的に,N階テンソルの要素数(パラメータ数)は階数Nに関して指数関数 的に増加する テンソル分解によって,必要なパラメータ数を削減することができる ⚫ I=10, R = 10でCP分解した場合 次元削減 階数 テンソルの要素数 CP分解 (R=10) N=3 1,000 3,00 N=4 10,000 4,00 N=5 100,000 5,00 N=6 1,000,000 6,00 指数関数的 線形的

Slide 58

Slide 58 text

58 3次元MRI画像をさまざまなRで分解するとどうなるか 行列分解 vs テンソル分解の実験 128 128 128 Unfold & SVD = 128 128*128 R CP分解 + … + + ○ ○ ○ R Tucker分解 (R,R,R)

Slide 59

Slide 59 text

59 さまざまなRにおける再構成結果 行列分解 vs テンソル分解の実験 CP Tucker SVD R=1 R=10 R=100 R=200 R=400 R=800 R=1600 R=(1,1,1) R=1 R=5 R=10 R=20 R=40 R=70 R=100 R=(10,10,10) R=(30,30,30) R=(40,40,40) R=(50,50,50) R=(80,80,80) R=(120,120,120)

Slide 60

Slide 60 text

60 再構成精度(SNR) vs パラメータ数(#parameters) 再構成精度 vs パラメータ数のトレードオフ SVD, R=10 Tucker, R=[50, 50, 50] CP, R=400 SVD, R=10 CP, R=400 Tucker R=[50, 50, 50]

Slide 61

Slide 61 text

61 その他,テンソル分解に基づく次元削減法 テンソルのスパース符号化 [Caiafa+, 2013 (in NECO)] [Caiafa+, 2013 (in WIRES)] テンソルネットワークに基づく次元削減 [Zhao+, 2016] [Cichocki+, 2017] 遺伝的アルゴリズムによるテンソルネットワークのモデル選択 [Li+, 2020 (in ICML)]

Slide 62

Slide 62 text

62 ほとんどの場合観測信号は劣化している 信号復元 ノイズ除去 ボケ除去 補完 超解像

Slide 63

Slide 63 text

63 テンソル分解に基づく信号復元の基本的な枠組み 信号が低ランク構造を持つときに,テンソル分解によって信号復元できる = 整合性最大化 テンソル表現 f( , , ) CP decomposition Tucker decomposition TT decomposition etc 劣化信号 信号表現 再構成信号 最適化 最適化 最適化

Slide 64

Slide 64 text

64 信号復元の事例 低ランクテンソル補完 ⚫ 劣化信号(画像)を直接3階テンソルとして表現 (Height * Width * RGB) ⚫ 平滑CP分解 [Yokota+, 2016 (in IEEE-TSP)] = ・・・ height width rgb height width rgb 整合性最大化 + + ○ ○ ○ ・・・ + + + + = ランク1平滑テンソルの和によって表現

Slide 65

Slide 65 text

65 信号復元の事例 非局所フィルタによるノイズ除去 ⚫ BM3D [Dabov+, 2007 (in IEEE-TIP)] ⚫ GSR [Zhang+, 2014 (in IEEE-TIP)] ⚫ Truncated HOSVD [Yokota+, 2017 (in IEEE-TSP)] http://www.cs.tut.fi/~foi/GCF-BM3D/ ①類似パッチを抽出してテンソル表現 ② 切り捨てHOSVDによってノイズ除去

Slide 66

Slide 66 text

66 その他,テンソル分解に基づく信号復元法 低ランクテンソル信号復元 ⚫ Low-n-rank tensor recovery [Gandy+, 2011 (in Iverse Problems)] ⚫ Low rank tensor completion [Liu+, 2012 (in IEEE-TPAMI)] ⚫ Bayesian CP decomposition [Zhao+, 2015 (in IEEE-TPAMI)] ⚫ t-SVD [Zhang+, 2017 (in IEEE-TSP)] ⚫ Low-rank and smooth tensor recovery [Yokota+, 2017 (in CVPR)] [Yokota+, 2019 (in IEEE-Access)] ⚫ Tensor ring completion [Wang+, 2017 (in ICCV)]

Slide 67

Slide 67 text

67 近年,深層ニューラルネットはさまざまな信号情報処理において中心的役割を担っている 特に,畳み込みニューラルネット(CNN)は効率的に局所情報を活用する構造になっており ,盛んに使われている 深層ニューラルネット (DNNs) 認識 領域分割 強調 復元 生成 音声 自然言語 画像 生体信号 グラフ Input Convolution Activation Convolution Activation … Output Convolution Convolution Activation ×

Slide 68

Slide 68 text

68 CNNの2D 畳み込み層は3階テンソルから3階テンソルへの線形写像 ⚫ その重み係数(パラメータ)は4階テンソル 深層ニューラルネット (DNNs) , height width channels height width channels , , conv layer

Slide 69

Slide 69 text

69 深層ニューラルネットにおける重み係数のテンソル表現と分解 ⚫ 畳み込み層 [Lebedev+, 2015 (in ICLR)] ⚫ 全結合層 [Novikov+, 2015 (in NeurIPS)] 深層ニューラルネット (DNNs) , , , 折り畳み/テンソル化 = = TT 分解 CP 分解 ○ ○ ○

Slide 70

Slide 70 text

70 テンソル分解と深層学習 ⚫ 畳み込み層 [Lebedev+, 2015 (in ICLR)] ➢ Full convolution (4階テンソル) をCP分解によって近似 ➢ ファイバーの逐次的な畳み込みへ分離できる ➢ 画像認識タスク(ILSVRC) :少しの精度低下で大幅なスピードアップに成功した 深層ニューラルネット (DNNs) , , , CP decomposition ○ ○ ○ (9,9,48,128) CPランク

Slide 71

Slide 71 text

71 テンソル分解と深層学習 ⚫ 全結合(FC)層 [Novikov+, 2015 (in NeurIPS)] ➢ 実験: 1000クラス画像分類タスク(ImageNet)におけるVGG16,VGG19を圧縮 ➢ 3つの全結合層 深層ニューラルネット (DNNs) = = TT分解 FC1 (25088, 4096) FC2 (4096, 4096) FC3 (4096, 1000) 25088 = 2*7*8*8*7*4 4096 = 4*4*4*4*4*4 何もしない場合 ➔ TT分解 TTランク ➔ 1, 2, or 4 行列分解 行列ランク ➔ 1, 5, or 50 少しの精度低下で大幅な パラメータ圧縮に成功

Slide 72

Slide 72 text

72 深層ニューラルネット (DNNs) その他の文献 ⚫ Compression of CNN with Tucker [Kim+, 2016 (in ICLR)] ⚫ Supervised Learning with Tensor Networks [Stoudenmire+, 2016 (in NeurIPS)] ⚫ Exponential Machines [Nivikov+, 2017 (in ICLR workshop)] ⚫ Compact RNNs with Block-term Tensor Decomposition [Ye+, 2018 (in CVPR)] ⚫ Compressing RNNs with Tensor Ring [Pan+, 2019 (in AAAI)] ⚫ Tensor network decomposition of CNN kernels [Hayashi+, 2019 (in NeurIPS)] ⚫ For understanding DNNs [Li+, 2019 (in ICASSP)] [Li+, 2020 (in AISTATS)]

Slide 73

Slide 73 text

73 まとめと重要な議論 情報をテンソル表現しテンソル分解する方法論とその応用事例について紹介 テンソルの低ランク近似によって,特徴抽出,次元圧縮,信号復元などに応用できる ⚫ データの説明・解釈などを目的とした特徴抽出(分析)では分解の一意性が求められる ➢ CP分解が好まれる,また非負制約,スパース制約,統計的独立性などを課すことで解釈性を改善できる(NMFなど) ⚫ 圧縮では,分解時のパラメータ数が少ないことが求められる ➢ 圧縮性の高さから,テンソルネットワーク分解の発展が期待される ⚫ 復元では,再構成された低ランク近似そのものが得られれば良い ➢ 復元対象の性質(Prior),ノイズの性質,劣化モデルの性質などに合わせて多種多様なモデリングと最適化の技術が必要とされる テンソル分解技術の要点 ⚫ 情報をどのようにテンソル表現するか?(テンソル化の方法はさまざま) ⚫ 分解のランク決定をどうするか? ⚫ テンソル分解を高速化するためには? ID 001 ID 002 ID 003 ID 004 = + + ○ ○ ○

Slide 74

Slide 74 text

74 良いテンソル表現とは? さまざまなテンソル化(折り畳み)の方法が考えられている 変換による高階テンソル化 ⚫ 類似パッチ抽出によるテンソル構築 [Dabov+, 2007 (in IEEE-TIP)] ⚫ 短時間フーリエ変換,ウェーブレット変換 [Tao+, 2007 (in TPAMI)] ⚫ 遅延埋め込み変換(ハンケル行列化) [Yokota+, 2018 (in CVPR)] (256,256) (2,2,2,2,2,2,2,2) (2,2,2,2,2,2,2,2) 16階テンソル Folding (4,4,4,4,4,4,4,4) Ket augmentation (KA) 8階テンソル

Slide 75

Slide 75 text

75 モデル選択と高速最適化 モデル選択 ⚫ 様々なテンソル分解モデルが提案されていて,何を使えば良いのか分からない ⚫ これはデータの特性とモデルの特性両方に精通している熟練者でないと難しい ⚫ テンソルネットワークの探索的モデル選択の手法が提案されている ➢ Evolutionary Topology Search for Tensor Networks [Li+, 2020 (in ICML)] ⚫ また,テンソル分解のランク決定も重要なモデル選択問題の1つである ➢ スパース化 [Yokota, 2014],情報量基準 [Yokota+, 2017],ベイズ推論 [Takayama+, 2022] 高速最適化 ⚫ テンソルが大規模な時など,省メモリかつ高速にテンソル分解を求めるアルゴリズムが求められる ➢ 勾配法,ニュートン法,交互最小二乗法,階層的ALS,確率的勾配法,MMアルゴリズム,主双対分離… ⚫ ランダムサンプリング(射影)を用いた高速化も盛んに研究されている ➢ Randomized SVD [Minster+, 2020] [Ahmadi-Asl+, 2020] ➢ TensorSketch [Malik+, 2018 (in NeurIPS)] ➢ GPU acceleration [Choi+, 2018] ⚫ スーパーコンピュータなど分散処理が有効活用できる方法論の研究も重要である ⚫ 一意性のない分解モデルでは,多様体上の最適化など解空間を限定することで収束を早くできる

Slide 76

Slide 76 text

76 テンソル分解・テンソルネットワークのこれから 大規模データの圧縮・分散・高速処理 ⚫ テンソル表現 ➔ テンソルネットワーク表現 ⚫ テンソルネットワーク型に基づく情報処理の方法論構築と応用模索 ⚫ テンソルネットワークの研究が盛んな物理分野との学際交流 ⚫ 量子計算,GPU計算,自動微分などとの技術的な融合 大規模 データ 価値 テンソルネットワークの進展 数理科学 2022年2月号

Slide 77

Slide 77 text

77 謝辞 Andrzej Cichocki (Skoltech) Qibin Zhao (RIKEN AIP) Chao Li (RIKEN AIP) Cesar F. Caiafa (CONICET) Hidekata Hontani (Nitech)

Slide 78

Slide 78 text

78 78 テンソルの基礎 補足資料

Slide 79

Slide 79 text

79 スカラー ⚫ 小文字 / 大文字 : ベクトル ⚫ 小文字ボールド : 行列 ⚫ 大文字ボールド : 高階テンソル (3rd, 4th, …, Nth ) ⚫ カリグラフの大文字ボールド : 数式での表記

Slide 80

Slide 80 text

80 テンソルの軸方向をモードと呼ぶ ⚫ 例:空間,時間,周波数,チャネル,サンプルなど モード 1st mode 2nd mode 3rd mode

Slide 81

Slide 81 text

81 (i, j, k) 番目の要素 テンソルの要素

Slide 82

Slide 82 text

82 テンソル内部のベクトル ファイバー 第1モードに沿うファイバー 第2モードに沿うファイバー 第3モードに沿うファイバー

Slide 83

Slide 83 text

83 テンソル内部の行列 スライス 第2,3モードに沿うスライス 第1,3モードに沿うスライス 第1,2モードに沿うスライス

Slide 84

Slide 84 text

84 行列の転置 ⚫ 一通り ⚫ 第1モードと第2モードの置換 転置 / モード置換 テンソルの転置(モード置換) いろいろな可能性 モードを選択して置換 3階テンソルなら6通り

Slide 85

Slide 85 text

85 テンソルから全てのファイバーを抽出し,それらを「縦に」つなぎ合わせて1 つのベクトルを構築する操作 ベクトル展開/ベクトル化

Slide 86

Slide 86 text

86 要素の対応 ベクトル展開/ベクトル化

Slide 87

Slide 87 text

87 ベクトル展開/ベクトル化 ノルムや内積はテンソルやベクトルなどの表現に依存しない ⚫ ノルム ⚫ 内積

Slide 88

Slide 88 text

88 テンソルから全てのファイバーを抽出し,それらを「横に」並べて行列を構築 する操作,ファイバーのモードを指して第nモードに沿う行列展開などと呼ぶ 行列展開/行列化

Slide 89

Slide 89 text

89 第nモードに沿う行列展開 「第nモードに沿う行列展開」を丁寧に言い直すと ⚫ 例) 5階テンソルの第3モードに沿う行列展開 第nモード に沿う 行列展開 第nモード以外のモードをすべて展開し行列にする 第3モードは維持 第1, 2, 4, 5モードを展開

Slide 90

Slide 90 text

90 折り畳み/テンソル化 ベクトル化や行列化はどちらも展開操作になっている 逆の操作を折り畳みと呼ぶ 展開 折り畳み

Slide 91

Slide 91 text

91 テンソルは折り畳みや展開によって表現を自在に変える 折り畳みや展開は線形操作 折り畳みと展開 折り畳み 折り畳み 展開 展開 折り畳み 展開 …

Slide 92

Slide 92 text

92 2つのテンソルの和 ➔ 要素ごとの和 スカラー倍 ⚫ テンソル のスカラー 倍 足し算とスカラー倍 + = + = = = * * 和のイメージ スカラー倍のイメージ

Slide 93

Slide 93 text

93 要素ごとの積(アダマール積)と商はそれぞれ と によってあらわす 要素ごとの積/要素ごとの商 = = アダマール積のイメージ * = = 要素ごとの商のイメージ / ○ * / ○

Slide 94

Slide 94 text

94 掛けて足す 2つのベクトルの内積は,アダマール積をして全要素の和と解釈できる。 2つのテンソルの内積も,アダマール積をして全要素の和と解釈できる。 ⚫ ベクトル化して内積と考えても良い 内積 * * * * … * sum * * * * … * sum vec vec

Slide 95

Slide 95 text

95 掛けて並べる 2つのベクトル の外積は行列となる 3つのベクトル の外積は3階テンソルとなる 外積 = =

Slide 96

Slide 96 text

96 2つの行列を掛け合わせて大きな1つの行列を得る クロネッカー積 ○ × = * * * * * * =

Slide 97

Slide 97 text

97 クロネッカー積は外積と本質的に同じ(表現が異なるだけ) クロネッカー積 ○ × = * * * * * * Vectorize each * * * * * * Vectorize reshaping =

Slide 98

Slide 98 text

98 列ごとのクロネッカー積 横幅が同じ2つの行列に定義できる カトリ・ラオ積 = * * * * * * =

Slide 99

Slide 99 text

99 2つの行列を掛け合わせて1つの行列を得る ⚫ 内積と外積の組み合わせ 行列積 = + + = 内積 外積 = + +

Slide 100

Slide 100 text

100 カトリ・ラオ積 ➔ 和 ➔ 折り畳み と等価 行列積 = + + = = + + = * * * * * * = sum fold

Slide 101

Slide 101 text

101 テンソルと行列の積 テンソルと行列を掛け合わせテンソルを得る ⚫ 内積と外積の組み合わせ 内積 外積 = = fold / unfold fold / unfold

Slide 102

Slide 102 text

102 テンソルと行列の積 テンソルを行列展開 ➔ 行列積 ➔ 折り畳み と等価 inner prod

Slide 103

Slide 103 text

103 テンソルと行列の積 all modes 全方向から行列を掛ける inner prod

Slide 104

Slide 104 text

104 テンソルと行列の積 クロネッカー積を用いて行列ベクトル積の表現で解釈することもできる ベクトル展開&クロネッカー積➔行列ベクトル積➔折り畳み と等価 = vec =