Upgrade to Pro — share decks privately, control downloads, hide ads and more …

テンソル分解の基礎と応用(MIRU2022チュートリアル)

 テンソル分解の基礎と応用(MIRU2022チュートリアル)

2022.7.25 MIRU2022 チュートリアル講演「テンソル分解の基礎と応用」でのスライド資料になります。

2ceafe46887b5d5b9cfb70ff49b40b92?s=128

Tatsuya Yokota

July 22, 2022
Tweet

Other Decks in Research

Transcript

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

  2. 2 2 概論

  3. 3 情報処理一般論 情報 処理 価値 情報処理:情報を処理して価値を生み出す 生成 理解 予測 制御

    音声 画像 言語 感性 触覚 など 変換 など 処理 = 表現+計算
  4. 4 情報処理:表現 + 計算 画像復元の例 損失を含む情報 表現:未完行列 計算:低ランクモデル 表現:点群 計算:ボロノイ図

    x y v 1 1 80 2 1 95 … … … 256 256 18 ◎ 多くの場合,表現の土台の上に計算がある ◎ 情報の「良い」表現とはなにか?
  5. 5 本講演で解説すること 情報をテンソル表現し,テンソル分解によって価値を生み出すアプローチ ⚫ テンソルとは ⚫ テンソル分解とは ⚫ テンソル分解のモデル ⚫

    テンソル分解のアルゴリズム ⚫ テンソル分解の応用事例 ⚫ テンソル分解技術への期待・課題など 情報 価値 テンソル表現 テンソル分解 テンソル情報処理
  6. 6 添え字のついた数 スカラー,ベクトル,行列を一般化したもの ⚫ 例: ⚫ 添え字の数を「階数(order)」と呼ぶ ➢ スカラー :

    0階テンソル(0th order tensor) ➢ ベクトル : 1階テンソル(1st order tensor) ➢ 行列 : 2階テンソル(2nd order tensor) ➢ … テンソルとは
  7. 7 多次元配列 ⚫ 0階テンソル : ⚫ 1階テンソル : ⚫ 2階テンソル

    : ⚫ 3階テンソル : テンソルデータ ベクトル → スカラーの配列 行列 → ベクトルの配列 3階テンソル → 行列の配列
  8. 8 3階テンソルを立方体で図示します 4階テンソル ⚫ ベクトルの3階テンソル ⚫ 行列の行列 ⚫ 3階テンソルのベクトル 5階テンソル

    ⚫ ベクトルの4階テンソル ⚫ 行列の3階テンソル ⚫ 3階テンソルの行列 ⚫ 4階テンソルのベクトル N階テンソル ⚫ N-1階テンソルのベクトル N階テンソル ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・・・ ・・・ ・・・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・・・ ・・・ ・・・ ・ ・ ・ ブロック行列 ブロック行列 ブロックベクトル ブロックベクトル
  9. 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階テンソル(+時間) ➢ (主語,述語,目的語)
  10. 10 深層学習に現れるテンソル TensorFlow ⚫ 名前に現れる , height width channels height

    width channels , , conv layer 幅 高さ バッチサイズ (R,G,B) ミニバッチ(中間層の表現) ⚫ 4階テンソル ➢ 幅 ➢ 高さ ➢ チャネル(RGBなど) ➢ バッチサイズ 畳み込み層の重み ⚫ 4階テンソル ➢ 畳み込みカーネルの幅 ➢ 畳み込みカーネルの高さ ➢ チャネル ➢ フィルタ数
  11. 11 線形写像 多重線形写像 ベクトル➔ベクトルな関数のヤコビ行列 ベクトル➔スカラーな関数のヘシアン(2回微分) 計量テンソル 共分散行列 相関係数行列 確率(同時確率,条件付き確率) 状態遷移行列

    グラフ(隣接行列) ハイパーグラフ(隣接テンソル) … 行列・テンソルで表現される数理的概念
  12. 12 階層構造としての解釈 ベクトル ベクトルのベクトル=行列 ベクトルのベクトルのべクトル=3階テンソル ベクトルのベクトルのベクトルのベクトル=4階テンソル … ⚫ 局所 ↔

    大局 ⚫ 日本 ∋ 兵庫県∋ 姫路市∋ 神屋町∋ 143番地 ∋ 2号
  13. 13 テンソルの抽象的な表記法の1つ テンソルダイアグラム ベクトル 行列 3階テンソル 4階テンソル 5階テンソル ・ ・

    ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・・・ ・・・ ・・・ ロジャー・ペンローズ 枝 足 ボンド モード
  14. 14 内積 (全モードの縮約) 外積 (モードを並べるのみ) 内積・外積・行列積・テンソル積など * * * *

    … * sum = = 行列積(特定のモードペアの縮約) テンソル積(特定のモードペアの縮約) = R I J I J = = R I J I J =
  15. 15 テンソルを複数のテンソルの積(縮約)で表現する数理モデル ⚫ 行列を表現する場合 ➔ 行列分解 ⚫ テンソルを表現する場合 ➔ テンソル分解

    さまざまな分解モデル テンソル分解 f( , , ) = QR分解 特異値分解 ランク1分解 CP分解 Tucker分解 TT分解
  16. 16 テンソル分解はどんなことに使えるか データ分析のための特徴抽出 ⚫ テンソル分解によって「因子行列」を得ることが目的 ⚫ 因子行列を観察・分析することで,データに対して説明・解釈を与えたい ⚫ 得られる分解(因子行列)が一意となることが望まれる ➢

    脳波解析(アルファ波が強い,運動野が活発,領域AとBに強い相関がある) ➢ バイオインフォマティクス(遺伝子,症例,ワクチン,タンパク質の関係などを分析) ➢ 独立成分分析/音源分離(バンド演奏 ➔ ボーカル,ギター,ベース,ドラム) 圧縮表現による軽量化,高速化 ⚫ テンソルをできるだけ少ないパラメータ数の表現へエンコードして保存する ⚫ 必要な時にはテンソル積によってデコードする ⚫ 分解は一意でなくて良い ➢ 画像圧縮(JPEG圧縮はTucker2分解と関係がある),動画像圧縮 ➢ ディープニューラルネットワークの重みパラメータを圧縮 劣化したデータの復元(逆問題) ⚫ ノイズ・外れ値・欠損値・ボケなどによる劣化(観測モデル)を仮定する ⚫ テンソル分解(低ランク性に基づく事前情報)を用いて原信号を復元する ⚫ 分解は一意でなくて良い ➢ ノイズ除去,外れ値除去(脳波,音声,自然画像,医用画像,ハイパースペクトル画像) ➢ テンソル補完(画像,推薦システム,交通データ,無線通信など)
  17. 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
  18. 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)
  19. 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)
  20. 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)
  21. 21 21 テンソル分解のモデルとアルゴリズム

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

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

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

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

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

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

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

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

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

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

    ◦ ◦ + …
  32. 32 ランク1テンソル ランク1行列 ◦ ランク1テンソル(3階) ◦ ランク1テンソル(N階) ◦ ◦・・・◦

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

  34. 34 ランク1分解とその一意性 あるテンソルが存在してランク1であることが分かっている時 ランク1分解を求めることができ,分解は符号・スケール不定性を除いて一意 ⚫ スケール不定性を除いたランク1分解 ⚫ 特異値 = テンソルのノルム

    ⚫ 任意のファイバーを取ってくればその正規化が因子ベクトル
  35. 35 ランクRテンソル 最小R個のランク1テンソルの和で表すことができるテンソル ⚫ このような分解をCP分解と呼ぶ ⚫ この定義に基づくテンソルランクはCPランクとも呼ばれる ランク未知のテンソルが与えられている時 ⚫ そのCPランクを求める問題はNP困難

    + = + ◦ ◦ ◦ + …
  36. 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のテンソル > ◦ ー が最も小さくなるような ◦ のこと
  37. 37 テンソルのランク1近似 任意のテンソルをランク1テンソルとして近似したい ⚫ べき乗法

  38. 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」として再定義された + = + ◦ ◦ ◦ + …
  39. 39 CP分解の特徴 「ある条件下で分解が一意である」点がしばしば取り上げられる ⚫ まず,A+B+C=C+B+Aのような自明な任意性は排除して考える(置換行列 ) ⚫ 各ランク1テンソルの因子ベクトルのスケールの任意性も自明なので排除する ⚫ 以下の条件が成り立つときCP分解は一意である

    ➢ クラスカルの条件(Kruskal, 1977)と呼ばれる ➢ 大雑把に言うと,Rが小さくテンソルのサイズが大きければそのCP分解は一意になりやすい ⚫ 因子行列からデータを説明したい時(データ分析)に特に重要 + + ◦ ◦ ◦ + … ※クラスカルランク k個の列ベクトルを自由に 取ってきて,それが線形独立 になってるようなkの最大値
  40. 40 最適化問題 交互最小二乗(ALS)アルゴリズムが良く用いられる ⚫ B,Cを固定すると,Aについて凸二次関数になっていて古典的な最小二乗法が使える ⚫ 各ステップで必ず部分最適解を得るので単調に誤差が減少(非増加)する CP分解のアルゴリズム 初期化:

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

  42. 42 CP分解を用いたデータ分析の具体例 Higher-order web link analysis using multilinear algebra ⚫

    Kolda+, International Conference on Data Mining (ICDM), 2005. [link] ⚫ 情報検索に用いられるページランキング手法にテンソル分解を導入した ➢ 従来は注目部分グラフを行列表現し特異値分解を行っていた クエリ 注目部分グラフ テンソル表現 CP分解 因子行列からページ ランキングを作成 ページランキング処理の流れ
  43. 43 Tucker分解 1つのコアテンソルと複数の因子行列に分解する ⚫ 1963年にTuckerによって提案されたためTucker分解と呼ばれる ⚫ コアテンソルの最小サイズはTuckerランクまたは多重線形ランクとして定義される ⚫ Tuckerランクは行列展開のランクと等しい ⚫

    因子行列の表現に回転とスケール倍の任意性がある =
  44. 44 Tucker分解の特徴 因子行列が誤差なしで直交化できる 因子行列が直交の時,ノルムはコアテンソルのみに依存する ⚫ コアテンソルは特異値分解における特異値のようなものである HOSVD

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

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

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

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

  49. 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分解
  50. 50 テンソルトレイン(TT)分解 高階テンソルを複数の3階テンソルに分解(最初と最後は2階) ⚫ 元々は物理シミュレーションに使われる「テンソルネットワーク法」に由来する ➢ 物理ではMatrix Product State(MPS)と呼ばれる,近年は量子計算のシミュレーションにも用いられる ⚫

    2011年にOseledetsがデータ分析モデルとして導入し,理論・アルゴリズムを整備した [pdf] ⚫ 各要素は以下のような連鎖的な行列ベクトル積の結果として計算できる =
  51. 51 TT分解の特徴 逐次的な方法で直交化できる ⚫ 左直交,右直交がある 直交化後のTT分解のノルムは1つのコアテンソルのノルムに集約される 大規模な行列やベクトルがTT形式で与えられていると計算が効率化される

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

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

  54. 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 表現 スイープ処理によって 重み係数を最適化する
  55. 55 その他のテンソルネットワークモデル = 階層Tucker (HT)分解 Projected Entangled-Pair States (PEPS) テンソルリング(TR)分解

    [Zhao+, 2016] Multi-scale Entanglement Renormalization Ansatz (MERA) 全結合テンソルネットワーク(FCTN)[Zheng+, 2021] =
  56. 56 次元削減への応用 信号復元への応用 深層学習への応用 テンソル分解の応用

  57. 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 指数関数的 線形的
  58. 58 3次元MRI画像をさまざまなRで分解するとどうなるか 行列分解 vs テンソル分解の実験 128 128 128 Unfold &

    SVD = 128 128*128 R CP分解 + … + + ◦ ◦ ◦ R Tucker分解 (R,R,R)
  59. 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)
  60. 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]
  61. 61 その他,テンソル分解に基づく次元削減法 テンソルのスパース符号化 [Caiafa+, 2013 (in NECO)] [Caiafa+, 2013 (in

    WIRES)] テンソルネットワークに基づく次元削減 [Zhao+, 2016] [Cichocki+, 2017] 遺伝的アルゴリズムによるテンソルネットワークのモデル選択 [Li+, 2020 (in ICML)]
  62. 62 ほとんどの場合観測信号は劣化している 信号復元 ノイズ除去 ボケ除去 補完 超解像

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

    CP decomposition Tucker decomposition TT decomposition etc 劣化信号 信号表現 再構成信号 最適化 最適化 最適化
  64. 64 信号復元の事例 低ランクテンソル補完 ⚫ 劣化信号(画像)を直接3階テンソルとして表現 (Height * Width * RGB)

    ⚫ 平滑CP分解 [Yokota+, 2016 (in IEEE-TSP)] = ・・・ height width rgb height width rgb 整合性最大化 + + ◦ ◦ ◦ ・・・ + + + + = ランク1平滑テンソルの和によって表現
  65. 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によってノイズ除去
  66. 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)]
  67. 67 近年,深層ニューラルネットはさまざまな信号情報処理において中心的役割を担っている 特に,畳み込みニューラルネット(CNN)は効率的に局所情報を活用する構造になっており ,盛んに使われている 深層ニューラルネット (DNNs) 認識 領域分割 強調 復元

    生成 音声 自然言語 画像 生体信号 グラフ Input Convolution Activation Convolution Activation … Output Convolution Convolution Activation ×
  68. 68 CNNの2D 畳み込み層は3階テンソルから3階テンソルへの線形写像 ⚫ その重み係数(パラメータ)は4階テンソル 深層ニューラルネット (DNNs) , height width

    channels height width channels , , conv layer
  69. 69 深層ニューラルネットにおける重み係数のテンソル表現と分解 ⚫ 畳み込み層 [Lebedev+, 2015 (in ICLR)] ⚫ 全結合層

    [Novikov+, 2015 (in NeurIPS)] 深層ニューラルネット (DNNs) , , , 折り畳み/テンソル化 = = TT 分解 CP 分解 ◦ ◦ ◦
  70. 70 テンソル分解と深層学習 ⚫ 畳み込み層 [Lebedev+, 2015 (in ICLR)] ➢ Full

    convolution (4階テンソル) をCP分解によって近似 ➢ ファイバーの逐次的な畳み込みへ分離できる ➢ 画像認識タスク(ILSVRC) :少しの精度低下で大幅なスピードアップに成功した 深層ニューラルネット (DNNs) , , , CP decomposition ◦ ◦ ◦ (9,9,48,128) CPランク
  71. 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 少しの精度低下で大幅な パラメータ圧縮に成功
  72. 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)]
  73. 73 まとめと重要な議論 情報をテンソル表現しテンソル分解する方法論とその応用事例について紹介 テンソルの低ランク近似によって,特徴抽出,次元圧縮,信号復元などに応用できる ⚫ データの説明・解釈などを目的とした特徴抽出(分析)では分解の一意性が求められる ➢ CP分解が好まれる,また非負制約,スパース制約,統計的独立性などを課すことで解釈性を改善できる(NMFなど) ⚫ 圧縮では,分解時のパラメータ数が少ないことが求められる

    ➢ 圧縮性の高さから,テンソルネットワーク分解の発展が期待される ⚫ 復元では,再構成された低ランク近似そのものが得られれば良い ➢ 復元対象の性質(Prior),ノイズの性質,劣化モデルの性質などに合わせて多種多様なモデリングと最適化の技術が必要とされる テンソル分解技術の要点 ⚫ 情報をどのようにテンソル表現するか?(テンソル化の方法はさまざま) ⚫ 分解のランク決定をどうするか? ⚫ テンソル分解を高速化するためには? ID 001 ID 002 ID 003 ID 004 = + + ◦ ◦ ◦
  74. 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階テンソル
  75. 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] ⚫ スーパーコンピュータなど分散処理が有効活用できる方法論の研究も重要である ⚫ 一意性のない分解モデルでは,多様体上の最適化など解空間を限定することで収束を早くできる
  76. 76 テンソル分解・テンソルネットワークのこれから 大規模データの圧縮・分散・高速処理 ⚫ テンソル表現 ➔ テンソルネットワーク表現 ⚫ テンソルネットワーク型に基づく情報処理の方法論構築と応用模索 ⚫

    テンソルネットワークの研究が盛んな物理分野との学際交流 ⚫ 量子計算,GPU計算,自動微分などとの技術的な融合 大規模 データ 価値 テンソルネットワークの進展 数理科学 2022年2月号
  77. 77 謝辞 Andrzej Cichocki (Skoltech) Qibin Zhao (RIKEN AIP) Chao

    Li (RIKEN AIP) Cesar F. Caiafa (CONICET) Hidekata Hontani (Nitech)
  78. 78 78 テンソルの基礎 補足資料

  79. 79 スカラー ⚫ 小文字 / 大文字 : ベクトル ⚫ 小文字ボールド

    : 行列 ⚫ 大文字ボールド : 高階テンソル (3rd, 4th, …, Nth ) ⚫ カリグラフの大文字ボールド : 数式での表記
  80. 80 テンソルの軸方向をモードと呼ぶ ⚫ 例:空間,時間,周波数,チャネル,サンプルなど モード 1st mode 2nd mode 3rd

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

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

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

  84. 84 行列の転置 ⚫ 一通り ⚫ 第1モードと第2モードの置換 転置 / モード置換 テンソルの転置(モード置換)

    いろいろな可能性 モードを選択して置換 3階テンソルなら6通り
  85. 85 テンソルから全てのファイバーを抽出し,それらを「縦に」つなぎ合わせて1 つのベクトルを構築する操作 ベクトル展開/ベクトル化

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

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

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

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

    第3モードは維持 第1, 2, 4, 5モードを展開
  90. 90 折り畳み/テンソル化 ベクトル化や行列化はどちらも展開操作になっている 逆の操作を折り畳みと呼ぶ 展開 折り畳み

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

  92. 92 2つのテンソルの和 ➔ 要素ごとの和 スカラー倍 ⚫ テンソル のスカラー 倍 足し算とスカラー倍

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

    = 要素ごとの商のイメージ / ◦ * / ◦
  94. 94 掛けて足す 2つのベクトルの内積は,アダマール積をして全要素の和と解釈できる。 2つのテンソルの内積も,アダマール積をして全要素の和と解釈できる。 ⚫ ベクトル化して内積と考えても良い 内積 * * *

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

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

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

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

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

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

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

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

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

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