SlideShare a Scribd company logo
はじめてのKrylov部分空間法
前原 貴憲 (@tmaehara)
線型計算の主なタスク
• 線型方程式(linear solver)
Ax = b
• 固有値問題(eigenvalue problem)
Ax = λx
Krylov部分空間法:現代線型計算の基本手法
• 行列・ベクトル積が効率的に計算可能な場合に強い
(eg., Aが疎行列,関数として与えられる,etc)
• 綺麗な理論評価 ⇒ 収束改善法などが明確
1/ 9
Krylov部分空間Kd [Krylov 1931]
Kd(A, b) := span{b, Ab, A2
b, . . . , Ad−1
b}
Krylov部分空間法とは:
1. 問題を小さい次元のKrylov部分空間に射影して
2. そちらで解いた解を元の空間に引き戻す手法の総称
主な特徴:
• 次元を増やすと誤差減(反復法的側面)
• 十分大きな次元で厳密解(直接法的側面)
• 実用的には誤差の累積が問題(cf., CG法冬の時代)
– 前処理・リスタートなどと組み合わせる
2/ 9
行列多項式による誤差・残差評価
Kd(A, b) := span{b, Ab, A2
b, . . . , Ad−1
b}
= {p(A)b : pはd − 1次多項式}
誤差・残差は行列多項式p(A)の解析で見積もる
適用例(逆行列): d反復目まででの誤差が小さい
⇐⇒ A−1
がd次多項式p(A)で近似しやすい
⇐⇒ (λi, 1/λi)がd次多項式で近似しやすい
slow fast
3/ 9
Krylov空間への射影
• Arnoldi反復(一般行列)
• Lanczos反復(対称行列)
(Arnoldi反復の特殊ケース)
4/ 9
Arnoldi反復
{b, Ab, A2
b, . . .}のGram-Schmidt直交化(QR分解)
⇒ AQd = QdHd + rde⊤
d (Arnoldi関係式)
(∥rd∥が十分小さくなったら打ち切る)
• Qd:直交(Kd(A, b)の正規直交基底を並べたもの)
• Hd:Hessenberg形(上三角+下副対角)
※A対称のとき自動的にH 三重対角(Lanczos反復)
○ Hessenberg形なので各種計算が簡単
× Gram-Schmidtなので数値誤差が累積する
5/ 9
Krylov空間法の具体例
線型方程式:GMRES / 固有値問題:Arnoldi法
射影・引戻し・前処理の組み合わせで大量の手法が存在
• 基本的な性質はどれも類似
• 細かい部分の良し悪しは問題依存
⇒ 問題に応じて手法選択が必要
• 紹介する2つはベースライン;最初に試すべき手法
6/ 9
線型方程式:GMRES (Generalized Minimum RESidual)
Step 0. 初期解x0 設定.r0 ← Ax0 − b
Step 1. AをKd(A, r0)に射影:A ≃ V ⊤
HV
Step 2. 残差最小解を計算:min ∥H ˜x − ˜b∥
Step 3. 引き戻す:x = V ⊤
˜x
収束定理:Aが対角化可能(S−1
AS = Λ)のとき
∥rd∥
∥r0∥
≤ κ(S) min
p
max
λi
|p(λi)|
※Step 2 はQR分解で可能(Hessenberg形なので軽い)
7/ 9
固有値問題:Arnoldi法
Step 0. 適当なx0 設定
Step 1. AをKd(A, x0)に射影:A ≃ V ⊤
HV
Step 2. H の固有対(˜λi, ˜ui)を計算(QR法等)
Step 3. 引き戻す:(˜λi, V ⊤
˜ui)
収束定理:Aが適当な条件を満たすとき
∥˜u − u∥ = O(κ(A) min
p
max
λi
|p(λi)|)
(雑な評価,H ˜u = λuとして見積もる)
※外側の固有値から順番に収束していく
8/ 9
おまけ:線型方程式の解法選択
• CG, CGS, CGR, PCG, BiCG, BiCGStab, QMR, TFQMR,
MINRES, GMRES, LGMRES, CAGMRES, LSQR,
SYMMLQ, Orthomin, . . .
• 扱う問題に応じて手法の振る舞いが違う
• 問題を固定するとマイナー改良で既存手法に勝てる
⇒ 毎月数個以上新しいKrylov系手法が登場
(行列計算の専門家でもフォローするのは不可能)
• 非専門家が使う側の心得
– 複数の手法で検証(CG系 + GMRES系)
– 複数の前処理(小規模問題で固有値分布を観察する)
9/ 9

More Related Content

What's hot

【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
Kenjiro Sugimoto
 
リプシッツ連続性に基づく勾配法・ニュートン型手法の計算量解析
リプシッツ連続性に基づく勾配法・ニュートン型手法の計算量解析リプシッツ連続性に基づく勾配法・ニュートン型手法の計算量解析
リプシッツ連続性に基づく勾配法・ニュートン型手法の計算量解析
京都大学大学院情報学研究科数理工学専攻
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
narumikanno0918
 
強化学習 DQNからPPOまで
強化学習 DQNからPPOまで強化学習 DQNからPPOまで
強化学習 DQNからPPOまで
harmonylab
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門Kawamoto_Kazuhiko
 
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
Deep Learning JP
 
[DL輪読会]1次近似系MAMLとその理論的背景
[DL輪読会]1次近似系MAMLとその理論的背景[DL輪読会]1次近似系MAMLとその理論的背景
[DL輪読会]1次近似系MAMLとその理論的背景
Deep Learning JP
 
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西
Keigo Nishida
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
Akira Masuda
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
Preferred Networks
 
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs 【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs
Deep Learning JP
 
[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models
Deep Learning JP
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
joisino
 
幾何と機械学習: A Short Intro
幾何と機械学習: A Short Intro幾何と機械学習: A Short Intro
幾何と機械学習: A Short Intro
Ichigaku Takigawa
 
相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心takehikoihayashi
 
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用
Yasunori Ozaki
 
Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)
Shohei Taniguchi
 
Skip Connection まとめ(Neural Network)
Skip Connection まとめ(Neural Network)Skip Connection まとめ(Neural Network)
Skip Connection まとめ(Neural Network)
Yamato OKAMOTO
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)Takao Yamanaka
 
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
mlm_kansai
 

What's hot (20)

【解説】 一般逆行列
【解説】 一般逆行列【解説】 一般逆行列
【解説】 一般逆行列
 
リプシッツ連続性に基づく勾配法・ニュートン型手法の計算量解析
リプシッツ連続性に基づく勾配法・ニュートン型手法の計算量解析リプシッツ連続性に基づく勾配法・ニュートン型手法の計算量解析
リプシッツ連続性に基づく勾配法・ニュートン型手法の計算量解析
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
 
強化学習 DQNからPPOまで
強化学習 DQNからPPOまで強化学習 DQNからPPOまで
強化学習 DQNからPPOまで
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
 
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing[DL輪読会]GLIDE: Guided Language to Image Diffusion  for Generation and Editing
[DL輪読会]GLIDE: Guided Language to Image Diffusion for Generation and Editing
 
[DL輪読会]1次近似系MAMLとその理論的背景
[DL輪読会]1次近似系MAMLとその理論的背景[DL輪読会]1次近似系MAMLとその理論的背景
[DL輪読会]1次近似系MAMLとその理論的背景
 
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西
 
ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定ようやく分かった!最尤推定とベイズ推定
ようやく分かった!最尤推定とベイズ推定
 
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learningゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
ゼロから始める深層強化学習(NLP2018講演資料)/ Introduction of Deep Reinforcement Learning
 
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs 【DL輪読会】Perceiver io  a general architecture for structured inputs & outputs
【DL輪読会】Perceiver io a general architecture for structured inputs & outputs
 
[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models[DL輪読会]Flow-based Deep Generative Models
[DL輪読会]Flow-based Deep Generative Models
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
 
幾何と機械学習: A Short Intro
幾何と機械学習: A Short Intro幾何と機械学習: A Short Intro
幾何と機械学習: A Short Intro
 
相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心相関と因果について考える:統計的因果推論、その(不)可能性の中心
相関と因果について考える:統計的因果推論、その(不)可能性の中心
 
POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用POMDP下での強化学習の基礎と応用
POMDP下での強化学習の基礎と応用
 
Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)Control as Inference (強化学習とベイズ統計)
Control as Inference (強化学習とベイズ統計)
 
Skip Connection まとめ(Neural Network)
Skip Connection まとめ(Neural Network)Skip Connection まとめ(Neural Network)
Skip Connection まとめ(Neural Network)
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
 
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
 

Similar to はじめてのKrylov部分空間法

210603 yamamoto
210603 yamamoto210603 yamamoto
210603 yamamoto
RCCSRENKEI
 
第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)
RCCSRENKEI
 
El text.tokuron a(2019).yamamoto190620
El text.tokuron a(2019).yamamoto190620El text.tokuron a(2019).yamamoto190620
El text.tokuron a(2019).yamamoto190620
RCCSRENKEI
 
Jokyonokai130531
Jokyonokai130531Jokyonokai130531
Jokyonokai130531nwpmq516
 
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
Computational Materials Science Initiative
 
第9回 配信講義 計算科学技術特論A(2021)
第9回 配信講義 計算科学技術特論A(2021)第9回 配信講義 計算科学技術特論A(2021)
第9回 配信講義 計算科学技術特論A(2021)
RCCSRENKEI
 
El text.tokuron a(2019).yamamoto190627
El text.tokuron a(2019).yamamoto190627El text.tokuron a(2019).yamamoto190627
El text.tokuron a(2019).yamamoto190627
RCCSRENKEI
 

Similar to はじめてのKrylov部分空間法 (7)

210603 yamamoto
210603 yamamoto210603 yamamoto
210603 yamamoto
 
第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)第8回 配信講義 計算科学技術特論A(2021)
第8回 配信講義 計算科学技術特論A(2021)
 
El text.tokuron a(2019).yamamoto190620
El text.tokuron a(2019).yamamoto190620El text.tokuron a(2019).yamamoto190620
El text.tokuron a(2019).yamamoto190620
 
Jokyonokai130531
Jokyonokai130531Jokyonokai130531
Jokyonokai130531
 
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
CMSI計算科学技術特論A (2015) 第10回 行列計算における高速アルゴリズム1
 
第9回 配信講義 計算科学技術特論A(2021)
第9回 配信講義 計算科学技術特論A(2021)第9回 配信講義 計算科学技術特論A(2021)
第9回 配信講義 計算科学技術特論A(2021)
 
El text.tokuron a(2019).yamamoto190627
El text.tokuron a(2019).yamamoto190627El text.tokuron a(2019).yamamoto190627
El text.tokuron a(2019).yamamoto190627
 

More from tmaehara

ICPC国内予選F解説
ICPC国内予選F解説ICPC国内予選F解説
ICPC国内予選F解説
tmaehara
 
クリプタン帝国の暗号文を解読しよう(問1)
クリプタン帝国の暗号文を解読しよう(問1)クリプタン帝国の暗号文を解読しよう(問1)
クリプタン帝国の暗号文を解読しよう(問1)tmaehara
 
クリプタン帝国の暗号文を解読しよう(問1)
クリプタン帝国の暗号文を解読しよう(問1)クリプタン帝国の暗号文を解読しよう(問1)
クリプタン帝国の暗号文を解読しよう(問1)tmaehara
 
inversion counting
inversion countinginversion counting
inversion countingtmaehara
 
競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系tmaehara
 
様々な全域木問題
様々な全域木問題様々な全域木問題
様々な全域木問題
tmaehara
 
simultaneous block diagonalization of matrices
simultaneous block diagonalization of matricessimultaneous block diagonalization of matrices
simultaneous block diagonalization of matricestmaehara
 

More from tmaehara (8)

ICPC国内予選F解説
ICPC国内予選F解説ICPC国内予選F解説
ICPC国内予選F解説
 
クリプタン帝国の暗号文を解読しよう(問1)
クリプタン帝国の暗号文を解読しよう(問1)クリプタン帝国の暗号文を解読しよう(問1)
クリプタン帝国の暗号文を解読しよう(問1)
 
Slide
SlideSlide
Slide
 
クリプタン帝国の暗号文を解読しよう(問1)
クリプタン帝国の暗号文を解読しよう(問1)クリプタン帝国の暗号文を解読しよう(問1)
クリプタン帝国の暗号文を解読しよう(問1)
 
inversion counting
inversion countinginversion counting
inversion counting
 
競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系
 
様々な全域木問題
様々な全域木問題様々な全域木問題
様々な全域木問題
 
simultaneous block diagonalization of matrices
simultaneous block diagonalization of matricessimultaneous block diagonalization of matrices
simultaneous block diagonalization of matrices
 

はじめてのKrylov部分空間法

  • 2. 線型計算の主なタスク • 線型方程式(linear solver) Ax = b • 固有値問題(eigenvalue problem) Ax = λx Krylov部分空間法:現代線型計算の基本手法 • 行列・ベクトル積が効率的に計算可能な場合に強い (eg., Aが疎行列,関数として与えられる,etc) • 綺麗な理論評価 ⇒ 収束改善法などが明確 1/ 9
  • 3. Krylov部分空間Kd [Krylov 1931] Kd(A, b) := span{b, Ab, A2 b, . . . , Ad−1 b} Krylov部分空間法とは: 1. 問題を小さい次元のKrylov部分空間に射影して 2. そちらで解いた解を元の空間に引き戻す手法の総称 主な特徴: • 次元を増やすと誤差減(反復法的側面) • 十分大きな次元で厳密解(直接法的側面) • 実用的には誤差の累積が問題(cf., CG法冬の時代) – 前処理・リスタートなどと組み合わせる 2/ 9
  • 4. 行列多項式による誤差・残差評価 Kd(A, b) := span{b, Ab, A2 b, . . . , Ad−1 b} = {p(A)b : pはd − 1次多項式} 誤差・残差は行列多項式p(A)の解析で見積もる 適用例(逆行列): d反復目まででの誤差が小さい ⇐⇒ A−1 がd次多項式p(A)で近似しやすい ⇐⇒ (λi, 1/λi)がd次多項式で近似しやすい slow fast 3/ 9
  • 6. Arnoldi反復 {b, Ab, A2 b, . . .}のGram-Schmidt直交化(QR分解) ⇒ AQd = QdHd + rde⊤ d (Arnoldi関係式) (∥rd∥が十分小さくなったら打ち切る) • Qd:直交(Kd(A, b)の正規直交基底を並べたもの) • Hd:Hessenberg形(上三角+下副対角) ※A対称のとき自動的にH 三重対角(Lanczos反復) ○ Hessenberg形なので各種計算が簡単 × Gram-Schmidtなので数値誤差が累積する 5/ 9
  • 7. Krylov空間法の具体例 線型方程式:GMRES / 固有値問題:Arnoldi法 射影・引戻し・前処理の組み合わせで大量の手法が存在 • 基本的な性質はどれも類似 • 細かい部分の良し悪しは問題依存 ⇒ 問題に応じて手法選択が必要 • 紹介する2つはベースライン;最初に試すべき手法 6/ 9
  • 8. 線型方程式:GMRES (Generalized Minimum RESidual) Step 0. 初期解x0 設定.r0 ← Ax0 − b Step 1. AをKd(A, r0)に射影:A ≃ V ⊤ HV Step 2. 残差最小解を計算:min ∥H ˜x − ˜b∥ Step 3. 引き戻す:x = V ⊤ ˜x 収束定理:Aが対角化可能(S−1 AS = Λ)のとき ∥rd∥ ∥r0∥ ≤ κ(S) min p max λi |p(λi)| ※Step 2 はQR分解で可能(Hessenberg形なので軽い) 7/ 9
  • 9. 固有値問題:Arnoldi法 Step 0. 適当なx0 設定 Step 1. AをKd(A, x0)に射影:A ≃ V ⊤ HV Step 2. H の固有対(˜λi, ˜ui)を計算(QR法等) Step 3. 引き戻す:(˜λi, V ⊤ ˜ui) 収束定理:Aが適当な条件を満たすとき ∥˜u − u∥ = O(κ(A) min p max λi |p(λi)|) (雑な評価,H ˜u = λuとして見積もる) ※外側の固有値から順番に収束していく 8/ 9
  • 10. おまけ:線型方程式の解法選択 • CG, CGS, CGR, PCG, BiCG, BiCGStab, QMR, TFQMR, MINRES, GMRES, LGMRES, CAGMRES, LSQR, SYMMLQ, Orthomin, . . . • 扱う問題に応じて手法の振る舞いが違う • 問題を固定するとマイナー改良で既存手法に勝てる ⇒ 毎月数個以上新しいKrylov系手法が登場 (行列計算の専門家でもフォローするのは不可能) • 非専門家が使う側の心得 – 複数の手法で検証(CG系 + GMRES系) – 複数の前処理(小規模問題で固有値分布を観察する) 9/ 9