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

テンソル分解の基礎(2014.3.13)

Tatsuya Yokota
May 31, 2024
470

 テンソル分解の基礎(2014.3.13)

「テンソルデータ解析の基礎と応用」(コロナ社)の出版記念ということで10年前(D卒直前)の若気の至りスライドをアップします!
https://www.coronasha.co.jp/np/isbn/9784339014075/

Tatsuya Yokota

May 31, 2024
Tweet

Transcript

  1. 高校時代 ~魚ロボット~ 大学時代 情報工学科 (計算機システム・プログラミングなど) 大学院 機械学習(パターン認識・データ解析)を研究 卒業後 → 理研の研究員

    学歴 研究 2005年3月 東京工業大学工学部附属 工業高等学校機械科卒業 ↓ 特別推薦で合格 (10/200) 2009年3月 東京工業大学 卒業 杉山研究室 2011年3月 東京工業大学大学院 修士課程修了 山下研究室 2011年4月 ~現在 東京工業大学大学院 博士後期課程在学 大学:山下研 理研:チホツキ研 2 自己紹介
  2. 7 テンソルデータの例 時系列データ ➔ 1階のテンソル (ベクトル) 多チャンネルの時系列データ ➔ 2階のテンソル (行列)

    濃淡画像 カラー画像 ➔ 2階のテンソル (行列) ➔ 3階のテンソル (RGB×濃淡画像) カラー動画 ➔ 4階のテンソル (フレーム×カラー画像)
  3. n方向の行列化(n-way matricization) 12 テンソルの計算(5) -行列化の手順- ① テンソルをn方向へ スライスする。 (In 個のスライス)

    ② 各スライスを行ベク トルへ展開する。 (In 個のベクトル) ③ 各行ベクトルを上から 下に縦に並べる。
  4. 行列と行列の積 (I×J)行列 ・(J×K)行列 = (I×K)行列 テンソルと行列の積 (I×J×K)テンソル ×1 (L×I)行列 =

    (L×J×K)テンソル (I×J×K)テンソル ×2 (L×J)行列 = (I×L×K)テンソル (I×J×K)テンソル ×3 (L×K)行列 = (I×J×L)テンソル 13 テンソルの計算(6) = ・ I J J K K I I J K ×1 I L = L J K I L I = JK L JK 行列化 行列化 ・
  5. 3階テンソルと3つの行列との積 14 テンソルの計算(7) I J K ×1 L = L

    M N ×2 M ×3 N I J K I L I = JK L MN ・ ・ MN JK 行列化で表記すると = IJK LMN ・ ベクトル化で表記すると IJK LMN
  6. 全部同じモデルを指す CP: canonical polyadic decomposition PARAFAC: pararell factor analysis CANDECOMP:

    canonical decomposition ここでは、CPモデルとよびます。 1ランクテンソル N個のベクトルの外積で表せるN階テンソル CPモデル(3階テンソル) Rランクへの近似モデルになっている 19 CPモデル
  7. Tuckerモデルの行列化(3階テンソル) Tuckerモデルのベクトル化 25 Tuckerモデルの展開 I R1 I = JK R2R3

    JK A R1 R2R3 (C × B) 〇 T G(1) [Tuck](1) (C × B × A) 〇 〇 = IJK IJK R1R2R3 R1R2R3 ・
  8. 入力: X, R1, R2 , R3 初期化ステップ Repeat(収束まで) End 出力:

    G, A, B, C 29 Tucker分解のアルゴリズムまとめ HOSVD HOOI
  9. スパースとは、 ベクトルの成分のほとんどの値が 0 のような状態をいう 例: a = [0 0 0

    0 5 0 0 0 -1 4 0 0 0 0 0 0 -9 0 0 0 0] スパース性を得るための制約 l1-ノルムの最小化が良く用いられる l1-ノルム 評価基準: LASSO と呼ばれる 二次の目的関数+L1ノルムの最小化 λ:正則化パラメータ 弱い成分をつぶして、主要な成分のみを残す 33 スパース制約 l1ノルムの等高線 目的関数の等高線
  10. スムース性 ベクトルの隣り合う成分の値の差が小さい 例: a = [0 -3 9 0 5

    15 0 0 0 0 1 1 0 -1 -1 1 2] 良く用いられる評価基準(fused lasso, total variation) 他にも、Aをスムースな基底関数の線形結合としてモデル 化する方法が提案されている A=ΦW ノイズに対する頑健性が得られる 34 スムース制約 スムースでない スムース
  11. スパース・スムース・非負制約などを付加したさまざまな 拡張が提案されている。 スパースCP分解[Allen, 2012] スパースTucker分解 非負CP分解 非負Tucker分解[Kim&Choi, 2007][Phan&Cichoki, 2008,2009,2011] スムース非負CP分解[Yokota

    et al, 2015] スムース非負Tucker分解[Tokota et al, 2015] 行列分解の多様な技術をテンソル分解に拡張したい 主成分分析(PCA)、スパースPCA、スパース&スムースPCA 非負行列分解(NMF)、スパースNMF、スムースNMF 独立成分分析(ICA) 共通個別因子分析など 36 CP・Tucker分解のさまざまな拡張
  12. 39 二次元DCT と Tucker2分解 の違い A BT Tucker2モデル 基底行列 基底行列

    コアテンソル C1 C2 T コサイン 関数行列 コサイン 関数行列 コアテンソル DCT 基底行列が決まっていて、 コアテンソルだけを最適化して フィッティングしている 基底行列と コアテンソル両方最適化する フィッティングする DCT基底 Tucker2 基底
  13. PSNR(peak signal to noise ratio) 41 再構成誤差の評価 11枚 33 pixels

    26 pixels G A C BT ・・・ 15人 ・・・ ・・・ ・・・ ・・・ 11枚 858 pixels R1×10×10 ・画像にはノイズ(10dB)が付加されている ・R1個のパーツで各顔画像を再構成する ・再構成した画像とノイズのない原画像をPSNRで比較
  14. 42 応用例2: 3階テンソルデータのノイズ除去 7.21 dB 非負CP分解 (19.8 dB) 非負Tucker分解 (13.5

    dB) スムース非負 CP分解(26.8 dB) スムース非負Tu- cker分解(23.9 dB) Gaussian noise G A C B T G U W VT T 非負Tucker分解 非負CP分解 スムース非負Tucker分解 スムース非負CP分解
  15. テンソルの概念とさまざまな計算則を紹介 2つのテンソル分解モデルを紹介 CPモデル Tuckerモデル 最も基本的な分解アルゴリズムを紹介 CP-ALS アルゴリズム HOOI アルゴリズム 制約付きテンソル分解について紹介

    直交制約 スパース制約 スムース制約 非負制約 簡単な応用例を紹介 Tucker2モデルによる直交基底の学習 CP・Tucker分解によるノイズ除去 43 まとめ