SlideShare a Scribd company logo
1 of 12
Download to read offline
思いついたアルゴリズムを
TensorFlow で実装してみた話
TensorFlow 勉強会@ DeNA
藤原 秀平
2015-12-11
2015-12-11 1 / 12
自己紹介
▶ 氏名: 藤原秀平
▶ Mail: shuhei.fujiwara@gmail.com
▶ 所属: TOPGATE inc.
▶ Google の技術を扱う会社です
▶ 学生のときは最適化と SVM やってました
▶ SVM 信者だったが, 流行に負けて最近ニューラルネットを
勉強し始めた
2015-12-11 2 / 12
あらすじ
1. TensorFlow でニューラルネットとかを実装して遊んでいたが, ステッ
プサイズの設定が面倒だった
2. 確率的勾配降下法に対抗して SVM に対する確率的近接点法っぽいも
のを思い付いて TensorFlow で実装してみた
3. 何か安定している気がする
4. ちょっと嬉しい
2015-12-11 3 / 12
勾配降下法
min
w
{
f(w) =
∑
i
fi(w)
}
(1)
普通のやつ
wk+1 ← wk − η∇f(wk) (2)
確率的なやつ
wk+1 ← wk − η∇fi(wk) (3)
▶ ステップサイズ η が大きいと w が行方不明になる
2015-12-11 4 / 12
すべてが nan になる
▶ そろそろ見慣れてきた光景
▶ 悲しみに包まれる
2015-12-11 5 / 12
近接点法
min
w
{
f(w) =
∑
i
fi(w)
}
(4)
近接点法の更新
wk+1 ∈ argmin
w
{
f(w) +
1
η
∥w − wk∥2
}
(5)
▶ Rockafellar 大先生曰くすごい
▶ w が行方不明にならなさそう
2015-12-11 6 / 12
確率的な感じにしてみた
wk+1 ∈ argmin
w
{
fi(w) +
1
η
∥w − wk∥2
}
SVM で言うとこんな感じ
wk+1 ∈ argmin
w,ξ
λ
2
∥w∥2 + ξ +
1
2η
∥w − wk∥2
s.t. yi⟨w, xi⟩ ≥ 1 − ξ, ξ ≥ 0
(6)
▶ Passive-Aggressive に正則化項が付いた感じ
▶ この部分問題は陽に解けそうな匂いがする
2015-12-11 7 / 12
解いた
wk+1 =
1
ηλ + 1
wk +
η
ηλ + 1
αyixi
where
α = min{max{0, ˜α}, 1},
˜α =
1
η∥xi∥2
{1 − yi⟨wk, xi⟩ + ηλ}
2015-12-11 8 / 12
TensorFlow で実装して走らせてみた
2015-12-11 9 / 12
TensorFlow で実装して走らせてみた
2015-12-11 10 / 12
▶ η = 104 とかいう非常識な設定でも生存確認できた
▶ もちろん適切に設定すれば勾配法と同等以上っぽい感じで収束
▶ とりあえず行方不明にならないだけありがたい
2015-12-11 11 / 12
まとめと今後
▶ ニューラルネット以外にも TensorFlow を使ってみた
▶ 思い付いたアイデアを手軽に実装
▶ 思っていたより TensorBoard が便利だった
▶ TOPGATE 社では現在雑談対話エージェントの開発を行っています
▶ TensorFlow を実務で使った話とかできると良いですね
2015-12-11 12 / 12

More Related Content

What's hot

NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
Yuya Unno
 

What's hot (18)

AI入門「第1回:AIの歴史とTensorFlow」
AI入門「第1回:AIの歴史とTensorFlow」AI入門「第1回:AIの歴史とTensorFlow」
AI入門「第1回:AIの歴史とTensorFlow」
 
言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール言語と知識の深層学習@認知科学会サマースクール
言語と知識の深層学習@認知科学会サマースクール
 
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
NIPS2013読み会: Distributed Representations of Words and Phrases and their Compo...
 
NLP2017 NMT Tutorial
NLP2017 NMT TutorialNLP2017 NMT Tutorial
NLP2017 NMT Tutorial
 
子供の言語獲得と機械の言語獲得
子供の言語獲得と機械の言語獲得子供の言語獲得と機械の言語獲得
子供の言語獲得と機械の言語獲得
 
Chainerのテスト環境とDockerでのCUDAの利用
Chainerのテスト環境とDockerでのCUDAの利用Chainerのテスト環境とDockerでのCUDAの利用
Chainerのテスト環境とDockerでのCUDAの利用
 
ピーFIの研究開発現場
ピーFIの研究開発現場ピーFIの研究開発現場
ピーFIの研究開発現場
 
Enriching Word Vectors with Subword Information
Enriching Word Vectors with Subword InformationEnriching Word Vectors with Subword Information
Enriching Word Vectors with Subword Information
 
Emnlp読み会資料
Emnlp読み会資料Emnlp読み会資料
Emnlp読み会資料
 
Facebookの人工知能アルゴリズム「memory networks」について調べてみた
Facebookの人工知能アルゴリズム「memory networks」について調べてみたFacebookの人工知能アルゴリズム「memory networks」について調べてみた
Facebookの人工知能アルゴリズム「memory networks」について調べてみた
 
予測型戦略を知るための機械学習チュートリアル
予測型戦略を知るための機械学習チュートリアル予測型戦略を知るための機械学習チュートリアル
予測型戦略を知るための機械学習チュートリアル
 
NIP2015読み会「End-To-End Memory Networks」
NIP2015読み会「End-To-End Memory Networks」NIP2015読み会「End-To-End Memory Networks」
NIP2015読み会「End-To-End Memory Networks」
 
2016tf study5
2016tf study52016tf study5
2016tf study5
 
深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーション深層学習による機械とのコミュニケーション
深層学習による機械とのコミュニケーション
 
最先端NLP勉強会 “Learning Language Games through Interaction” Sida I. Wang, Percy L...
最先端NLP勉強会“Learning Language Games through Interaction”Sida I. Wang, Percy L...最先端NLP勉強会“Learning Language Games through Interaction”Sida I. Wang, Percy L...
最先端NLP勉強会 “Learning Language Games through Interaction” Sida I. Wang, Percy L...
 
深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴深層学習フレームワークChainerの特徴
深層学習フレームワークChainerの特徴
 
全脳アーキテクチャ若手の会20170131
全脳アーキテクチャ若手の会20170131全脳アーキテクチャ若手の会20170131
全脳アーキテクチャ若手の会20170131
 
Chainerの使い方と 自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と 自然言語処理への応用
 

思いついたアルゴリズムを TensorFlow で実装してみた話