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
なめらかなシステムと運用維持の終わらぬ未来 / dicomo2025_coherently_fittable_system
monochromegane
0
330
ベクトル検索システムの気持ち
monochromegane
33
11k
Go言語での実装を通して学ぶ、高速なベクトル検索を支えるクラスタリング技術/fukuokago-kmeans
monochromegane
1
180
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
260
多様かつ継続的に変化する環境に適応する情報システム/thesis-defense-presentation
monochromegane
1
920
Online Nonstationary and Nonlinear Bandits with Recursive Weighted Gaussian Process
monochromegane
0
560
AIを前提とした体験の実現に向けて/toward_ai_based_experiences
monochromegane
2
960
Go言語でMac GPUプログラミング
monochromegane
1
620
Contextual and Nonstationary Multi-armed Bandits Using the Linear Gaussian State Space Model for the Meta-Recommender System
monochromegane
1
1.1k
Other Decks in Technology
See All in Technology
ひとり情シスなCTOがLLMと始めるオペレーション最適化 / CTO's LLM-Powered Ops
yamitzky
0
440
“社内”だけで完結していた私が、AWS Community Builder になるまで
nagisa53
1
400
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
290
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.3k
【PHPカンファレンス 2025】PHPを愛するひとに伝えたい PHPとキャリアの話
tenshoku_draft
0
120
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
190
Oracle Audit Vault and Database Firewall 20 概要
oracle4engineer
PRO
3
1.7k
Javaで作る RAGを活用した Q&Aアプリケーション
recruitengineers
PRO
1
120
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
120
250627 関西Ruby会議08 前夜祭 RejectKaigi「DJ on Ruby Ver.0.1」
msykd
PRO
2
330
Claude Code Actionを使ったコード品質改善の取り組み
potix2
PRO
6
2.4k
生成AIで小説を書くためにプロンプトの制約や原則について学ぶ / prompt-engineering-for-ai-fiction
nwiizo
4
2.5k
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
Site-Speed That Sticks
csswizardry
10
660
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.3k
Practical Orchestrator
shlominoach
188
11k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Six Lessons from altMBA
skipperchong
28
3.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
Typedesign – Prime Four
hannesfritz
42
2.7k
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月