Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
勾配降下法/machine-learning-lecture-gradient-descent
Search
monochromegane
July 14, 2020
Technology
0
7.1k
勾配降下法/machine-learning-lecture-gradient-descent
GMOペパボ新卒研修2020 機械学習入門 補足資料#02
monochromegane
July 14, 2020
Tweet
Share
More Decks by monochromegane
See All by monochromegane
ベクトル検索システムの気持ち
monochromegane
33
11k
Go言語での実装を通して学ぶ、高速なベクトル検索を支えるクラスタリング技術/fukuokago-kmeans
monochromegane
1
170
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
240
多様かつ継続的に変化する環境に適応する情報システム/thesis-defense-presentation
monochromegane
1
880
Online Nonstationary and Nonlinear Bandits with Recursive Weighted Gaussian Process
monochromegane
0
530
AIを前提とした体験の実現に向けて/toward_ai_based_experiences
monochromegane
2
950
Go言語でMac GPUプログラミング
monochromegane
1
600
Contextual and Nonstationary Multi-armed Bandits Using the Linear Gaussian State Space Model for the Meta-Recommender System
monochromegane
1
1k
迅速な学習機構を用いて逐次適応性を損なうことなく非線形性を扱う文脈付き多腕バンディット手法/extreme_neural_linear_bandits
monochromegane
0
2.2k
Other Decks in Technology
See All in Technology
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.6k
金融システムをモダナイズするためのAmazon Elastic Kubernetes Service(EKS)ノウハウ大全
daitak
0
120
Scale Security Programs with Scorecarding
ramimac
0
410
超簡単!RAGアプリケーション構築術
oracle4engineer
PRO
0
110
ソフトウェアテストのAI活用_ver1.10
fumisuke
0
220
Data Hubグループ 紹介資料
sansan33
PRO
0
1.7k
Machine Intelligence for Vision, Language, and Actions
keio_smilab
PRO
0
450
プロジェクトマネジメント実践論|現役エンジニアが語る!~チームでモノづくりをする時のコツとは?~
mixi_engineers
PRO
3
160
新卒から4年間、20年もののWebサービスと向き合って学んだソフトウェア考古学 - PHPカンファレンス新潟2025 / new graduate 4year software archeology
oguri
2
340
Azure Developer CLI と Azure Deployment Environment / Azure Developer CLI and Azure Deployment Environment
nnstt1
1
110
mnt_data_とは?ChatGPTコード実行環境を深堀りしてみた
icck
0
190
ProductZine Day 2025 Assuredのプロダクトディスカバリー
kechol
0
110
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.7k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
We Have a Design System, Now What?
morganepeng
52
7.6k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Practical Orchestrator
shlominoach
187
11k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
How GitHub (no longer) Works
holman
314
140k
How to Ace a Technical Interview
jacobian
276
23k
Adopting Sorbet at Scale
ufuk
76
9.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Transcript
1 勾配降下法 ペパボ研究所 三宅悠介 新卒研修 機械学習入門 補足資料#02 (2020/07/02 Update)
2 2 はじめに やりたいことと、やりたくないこと
3 入力から出力を推測したい やりたいこと 3
4 入力から出力を推測したい やりたいこと 4 入力から出力を予測 する関数を考える
5 入力から出力を推測したい やりたいこと 5 切片w0と傾きw1を持 つ一次関数で表す
6 入力から出力を予測したい やりたくないこと 6 ② w0とw1を発見させるプロ グラムを書く ① w0とw1を自分で決める
7 入力から出力を予測したい やりたくないこと 7 ② w0とw1を発見させるプロ グラムを書く ① w0とw1を自分で決める ❌
8 8 誤差関数 機械が学習するとは?
9 やりたいことの更新 9 適切なw0とw1を発見したい パラメータを探す
10 データ空間とパラメータ空間 10 データ空間 パラメータ空間
11 データ空間とパラメータ空間の関係 11
12 データ空間とパラメータ空間の関係 12 パラメータは固定 データは固定
13 パラメータ探索における目標地点を定義する 13 あるパラメータを用いた時の正 解と推定した値の差の合計が 最も小さくなる点 誤差関数
14 (*) w0とw1について0~3の範囲をそれ ぞれ100分割した組み合わせ 全ての組み合わせ*を試して探 してみる パラメータ探索における目標地点を発見する 14
15 パラメータ探索における目標地点を発見する 15
16 より精度良く効率の良い方法はないか? - 交点数 * データ数 * パラメータ数 - 範囲は未知
- 分割数は未知 パラメータ探索における目標地点を発見する 16 全ての組み合わせ*を試して探 してみる
17 17 勾配 ナブラ!
18 点では方向はわからないが、連続する ならば周辺との変化率から判断できる 勾配降下法の着目点 18 誤差が小さくなる方向へ パラメータを調整する 誤差関数の微分係数
19 微分係数 - 関数fの点aにおける平均変化率 - 導関数から求める 導関数 - 関数fの変数xにおける微分係数を
求めるための関数 - 関数fを微分して求める 微分のおさらい(微分係数と導関数) 19 微分係数の値は、関数fの結果を大きくす る方向と大きさを示す
20 勾配の可視化 20 誤差関数の微分係数をい くつかの点で求めてみる
21 勾配の可視化 21 誤差関数の微分係数をい くつかの点で求めてみる パラメータが複数ある場合は、一つの パラメータ以外は固定して微分係数を 求める。w0の軸での方向、w1の軸での 方向をそれぞれ見つける。 偏微分
22 勾配の可視化 22 誤差関数の微分係数をい くつかの点で求めてみる パラメータごとに偏微分した結果。 勾配
23 勾配の可視化 23 誤差関数の微分係数をい くつかの点で求めてみる パラメータごとに偏微分した結果。 勾配
24 24 勾配降下法 勾配の逆
25 f(g(x))のような合成関数の微分はそれ ぞれの関数の微分の積と等しい。 簡単な微分に分解することで、難しい微 分も解くことができる。 今回の誤差関数の勾配を求める 25 合成関数の微分 パラメータごとの偏微分
26 今回の誤差関数の勾配を求める 26 合成関数の微分 パラメータごとの偏微分 L(w)はfwからなり、fw(x)はwxからなる合成関数
27 今回の誤差関数の勾配を求める 27 パラメータごとの偏微分
28 勾配降下法 28 パラメータの更新 誤差関数の勾配
29 29 まとめ
30 • 入力から出力を推測する関数のパラメータを求める手法を学んだ ◦ 目標を誤差関数として定義した ◦ 最小の誤差関数の値を効率的に求めるため勾配を理解した ◦ 勾配を利用した勾配降下法によるパラメータの更新を学んだ •
誤差や勾配は学習データを全て用いて求めるため効率が悪い ◦ 最急降下法と呼ばれる ◦ ランダムな100~1000程度のデータを利用するミニバッチ勾配降下 法が良く利用される ◦ 特に1つだけのデータを利用する場合、確率的勾配降下法と呼ば れる まとめ 30
31 31 参考
32 参考文献 32 本資料における勾配降下法の導出は以下の文献を参考にしました。 より詳細、発展的な説明が必要であれば、精読し、理解を深めてみてください。 - LINE
Fukuoka株式会社 立石 賢吾, やさしく学ぶ 機械学習を理解するための数 学のきほん ~アヤノ&ミオと一緒に学ぶ 機械学習の理論と数学、実装まで~, マイ ナビ出版, 2017年09月20日. ISBN:978-4-8399-6352-1 - 三宅 悠介, Goによる勾配降下法 - 理論と実践 - , プログラマのための数学勉強 会@福岡 #5, 2016年8月