SlideShare a Scribd company logo
情強アルゴリズムL-BFGSの実装
棚橋 耕太郎
2015.11.6
l−bfgsってなに?
• l-bfgsはscikit-learnやspark MLlibなどで使われている計算
機に優しい(メモリ使用量が少ない)最適化アルゴリズム
• 準ニュートン法の一種
• 今日はスライドが多いので、15秒/1ページでいきます
(局所的)最適解
ニュートン法ってなに?
ルール
• まっすぐしか歩けない
• できるだけお金が多い場
所に行ける方向を探した
い
近くしか見れない人
(最急降下法)
ちょっと遠くも見れる人
(ニュートン法)
つまりこういうことです
(局所的)最適解
ちょっと遠くも見れる人
(ニュートン法)
近くしか見れない人
(最急降下法)
そう、こういうことです
ヘッセ行列
まとめると、こうなります
本題はここから
自明 自明
Bnを求める手がかりができた!!
もう一つの手がかり
Bnの更新式
疑似コードで書くと
pythonで書くと
全体も実装してみる
メイン部分
line-search部分
計算問題を解く
結果

More Related Content

What's hot

強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
Eiji Uchibe
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder
Sho Tatsuno
 
畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向
Yusuke Uchida
 
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
Deep Learning JP
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化
Yusuke Uchida
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)
Yoshitaka Ushiku
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理
Taiji Suzuki
 
グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題
joisino
 
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西
Keigo Nishida
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
joisino
 
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Satoshi Kato
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
joisino
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門Kawamoto_Kazuhiko
 
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
Deep Learning JP
 
HiPPO/S4解説
HiPPO/S4解説HiPPO/S4解説
HiPPO/S4解説
Morpho, Inc.
 
深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデル
Masahiro Suzuki
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
RyuichiKanoh
 
自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)
cvpaper. challenge
 
[DL輪読会]When Does Label Smoothing Help?
[DL輪読会]When Does Label Smoothing Help?[DL輪読会]When Does Label Smoothing Help?
[DL輪読会]When Does Label Smoothing Help?
Deep Learning JP
 

What's hot (20)

強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder
 
畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向畳み込みニューラルネットワークの研究動向
畳み込みニューラルネットワークの研究動向
 
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
[DL輪読会]NVAE: A Deep Hierarchical Variational Autoencoder
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化
 
Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)Curriculum Learning (関東CV勉強会)
Curriculum Learning (関東CV勉強会)
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理
 
グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題
 
Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西Layer Normalization@NIPS+読み会・関西
Layer Normalization@NIPS+読み会・関西
 
最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
 
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages. Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
Dimensionality reduction with t-SNE(Rtsne) and UMAP(uwot) using R packages.
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
最適輸送の解き方
最適輸送の解き方最適輸送の解き方
最適輸送の解き方
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
 
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
 
HiPPO/S4解説
HiPPO/S4解説HiPPO/S4解説
HiPPO/S4解説
 
深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデル
 
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
勾配ブースティングの基礎と最新の動向 (MIRU2020 Tutorial)
 
自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)自己教師学習(Self-Supervised Learning)
自己教師学習(Self-Supervised Learning)
 
[DL輪読会]When Does Label Smoothing Help?
[DL輪読会]When Does Label Smoothing Help?[DL輪読会]When Does Label Smoothing Help?
[DL輪読会]When Does Label Smoothing Help?
 

More from Kotaro Tanahashi

NIPS Paper Reading, Data Programing
NIPS Paper Reading, Data ProgramingNIPS Paper Reading, Data Programing
NIPS Paper Reading, Data Programing
Kotaro Tanahashi
 
WSDM2016読み会 Collaborative Denoising Auto-Encoders for Top-N Recommender Systems
WSDM2016読み会 Collaborative Denoising Auto-Encoders for Top-N Recommender SystemsWSDM2016読み会 Collaborative Denoising Auto-Encoders for Top-N Recommender Systems
WSDM2016読み会 Collaborative Denoising Auto-Encoders for Top-N Recommender Systems
Kotaro Tanahashi
 
変数の入れ替え(SWAPPING)で最速の方法は?
変数の入れ替え(SWAPPING)で最速の方法は?変数の入れ替え(SWAPPING)で最速の方法は?
変数の入れ替え(SWAPPING)で最速の方法は?
Kotaro Tanahashi
 
SWARでpop countをしよう
SWARでpop countをしようSWARでpop countをしよう
SWARでpop countをしよう
Kotaro Tanahashi
 
Deep Q-Network 論文輪読会
Deep Q-Network 論文輪読会Deep Q-Network 論文輪読会
Deep Q-Network 論文輪読会
Kotaro Tanahashi
 
2.2. map reduce and the new software stack
2.2. map reduce and the new software stack2.2. map reduce and the new software stack
2.2. map reduce and the new software stack
Kotaro Tanahashi
 
Cythonの一喜一憂
Cythonの一喜一憂Cythonの一喜一憂
Cythonの一喜一憂
Kotaro Tanahashi
 
deep learning library coyoteの開発(CNN編)
deep learning library coyoteの開発(CNN編)deep learning library coyoteの開発(CNN編)
deep learning library coyoteの開発(CNN編)
Kotaro Tanahashi
 
recurrent models of visual attentionメモ
recurrent models of visual attentionメモrecurrent models of visual attentionメモ
recurrent models of visual attentionメモ
Kotaro Tanahashi
 
情強アルゴリズムDIMSUM
情強アルゴリズムDIMSUM情強アルゴリズムDIMSUM
情強アルゴリズムDIMSUM
Kotaro Tanahashi
 
Fokker–Planck equation and DPD simulations
Fokker–Planck equation and DPD simulationsFokker–Planck equation and DPD simulations
Fokker–Planck equation and DPD simulations
Kotaro Tanahashi
 
DSP開発におけるSpark MLlibの活用
DSP開発におけるSpark MLlibの活用DSP開発におけるSpark MLlibの活用
DSP開発におけるSpark MLlibの活用
Kotaro Tanahashi
 
How nosql fundamentally changed machine learning?
How nosql fundamentally changed machine  learning?How nosql fundamentally changed machine  learning?
How nosql fundamentally changed machine learning?
Kotaro Tanahashi
 

More from Kotaro Tanahashi (13)

NIPS Paper Reading, Data Programing
NIPS Paper Reading, Data ProgramingNIPS Paper Reading, Data Programing
NIPS Paper Reading, Data Programing
 
WSDM2016読み会 Collaborative Denoising Auto-Encoders for Top-N Recommender Systems
WSDM2016読み会 Collaborative Denoising Auto-Encoders for Top-N Recommender SystemsWSDM2016読み会 Collaborative Denoising Auto-Encoders for Top-N Recommender Systems
WSDM2016読み会 Collaborative Denoising Auto-Encoders for Top-N Recommender Systems
 
変数の入れ替え(SWAPPING)で最速の方法は?
変数の入れ替え(SWAPPING)で最速の方法は?変数の入れ替え(SWAPPING)で最速の方法は?
変数の入れ替え(SWAPPING)で最速の方法は?
 
SWARでpop countをしよう
SWARでpop countをしようSWARでpop countをしよう
SWARでpop countをしよう
 
Deep Q-Network 論文輪読会
Deep Q-Network 論文輪読会Deep Q-Network 論文輪読会
Deep Q-Network 論文輪読会
 
2.2. map reduce and the new software stack
2.2. map reduce and the new software stack2.2. map reduce and the new software stack
2.2. map reduce and the new software stack
 
Cythonの一喜一憂
Cythonの一喜一憂Cythonの一喜一憂
Cythonの一喜一憂
 
deep learning library coyoteの開発(CNN編)
deep learning library coyoteの開発(CNN編)deep learning library coyoteの開発(CNN編)
deep learning library coyoteの開発(CNN編)
 
recurrent models of visual attentionメモ
recurrent models of visual attentionメモrecurrent models of visual attentionメモ
recurrent models of visual attentionメモ
 
情強アルゴリズムDIMSUM
情強アルゴリズムDIMSUM情強アルゴリズムDIMSUM
情強アルゴリズムDIMSUM
 
Fokker–Planck equation and DPD simulations
Fokker–Planck equation and DPD simulationsFokker–Planck equation and DPD simulations
Fokker–Planck equation and DPD simulations
 
DSP開発におけるSpark MLlibの活用
DSP開発におけるSpark MLlibの活用DSP開発におけるSpark MLlibの活用
DSP開発におけるSpark MLlibの活用
 
How nosql fundamentally changed machine learning?
How nosql fundamentally changed machine  learning?How nosql fundamentally changed machine  learning?
How nosql fundamentally changed machine learning?