SlideShare a Scribd company logo
1 of 26
Download to read offline
ディープラーニングのすごさを共有したい
~活性化関数ReLUについて~
by @tree__and__tree
ディープラーニングとは
学習の仕方
勾配消失問題
勾配消失問題の解決(ゴール!)
おしながき
by @tree__and__tree 2
ディープラーニングとは
ディープラーニングとは
学習の仕方
勾配消失問題
勾配消失問題の解決(ゴール!)
by @tree__and__tree 3
コンピュータが人間みたいなことをできるようになる学習方法
コンピュータ:知識0常識0だが、めちゃポテンシャル高い
上手に学習させた結果:多様な AI(人工知能) を実現
画像認識、機械翻訳、検索、要約、レコメンド、自動運転、物体検知、画像
生成、音声認識、AlphaGo、、
余談:画像生成界隈、ガチで22年が転換点ぽい
22年8月:ヤバめのText-to-Imageが複数出現
Midjourney, Stable Diffusion, DALL·E 2
22年9月:Text-to-Video、Text-to-3D、Text-to-Audioが出現
22年10月:Text-to-Image、爆速で発展
NovelAIの登場、Stable Diffusionは各地でカスタマイズ化
ディープラーニングとは
by @tree__and__tree 4
猫です
AI
以下の二つともやっていることは一緒
入力したものを2倍にして返す
画像分類の例(右図)
入力した画像を何らかのカテゴリーに分け
る
AI:数学的にはただの関数
何かを入力→内部で変換→何かを出力
f(x) = 2x
by @tree__and__tree 5
学習:良い関数を見つけること
i. 「良さ」を決める
その関数がどれくらい良い関数なのかを評価できるようにする
→評価関数、目的関数
ii. 使う関数を決める
無数にある関数の中から、ある程度大枠を決めておく
ex) 2次関数にしよう→
iii. 良い関数を探す:後で詳しく
ex)良さが最大になるように二次関数のa,b,cを決める
推論:見つけた関数を使うこと
学習と推論
f(x) = ax +
2
bx + c
by @tree__and__tree 6
f1(x)=x2+2
f2(x)=2x2-3x
...
f10(x)=-4x2-x+1
猫です
※イメージ
10層で学習
ex)2次関数を2個つなげると4次関数に
と をつなげる
→10個つなげたら 次関数に
深層の真相
複雑な関数を、単純な関数の積み重ねで表現する
f ​
(x) =
1 x +
2
2 f ​
(x) =
2 2x −
2
3x
f ​
(f ​
(x)) =
2 1 2(x +
2
2) −
2
3(x +
2
2)
2 =
10
1024
by @tree__and__tree 7
学習の仕方
ディープラーニングとは
学習の仕方
勾配消失問題
勾配消失問題の解決(ゴール!)
by @tree__and__tree 8
モデル(関数の集まり)︓f
⼊⼒︓x
出⼒︓y
データ︓x, t
正解︓t
⽬的関数
パラメータ更新
1. パラメータの初期値をランダムに決定
2. そのパラメータで計算して予測値 を出す
3. 予測値 を正解 と比べて評価する
目的関数に を入れ、良さor悪さを出す
4. 目的関数の値をより大きくor小さくするために
パラメータの値を更新する
←ここをさらに詳しく
5. 2-4を繰り返し、パラメータの値を最適化する
パラメータの最適化=目的関数が一番大きいor
小さい
学習の流れ
y
y t
y, t
by @tree__and__tree 9
Φ(y)
y
こんな例で考えてみる
目的関数:
誤差が小さいほど予測値と正解が近い(良いモデル)
→ を小さくするようにパラメータを更新
具体的に...
のとき: を小さくする
のとき: を大きくする
→ のようにすれば良い
( は学習率、勾配をどれくらい反映させるかを決め
る)
誤差を、勾配(微分)を使って小さく(降下)させている!
パラメータを更新:勾配降下法
Φ(y) = (y − t)2
Φ(y)
y > t y
y < t y
y ​
=
new y − α ∗ ϕ (y)
′
α
by @tree__and__tree 10
⼊⼒︓x
x 1 =ax+5
y=bx 1 +3
出⼒︓y
⽬的関数︓Φ(y)=(y-t) 2
正解︓t
パラメータを更新
誤差逆伝播法
モデルのパラメータを出力に近い層
から更新していく
こんな例で考えてみる
2層でできたモデル
更新するパラメータ:
モデルのパラメータを更新
a, b
by @tree__and__tree 11
⼊⼒︓2
x 1 =2*2+5
=9
y=1*9+3
=12
出⼒︓12
⽬的関数︓Φ(y)=(12-10) 2
=4
正解︓10
パラメータを更新
こんな例で考えてみる
入力
正解
パラメータの初期値
を更新して、 を に近づけたい!
モデルのパラメータを更新
x = 2
t = 10
a = 2
b = 1
a, b y t
by @tree__and__tree 12
予測値の更新:
→パラメータ を更新すれば、予測値 も更新される
パラメータの更新:それぞれの勾配を使う
→全部 ??
偏微分:その関数を、色々な変数で微分する
を で微分: 、 を で微分:
モデルのパラメータを更新
y ​ =
new y − α ∗ ϕ (y)(yの勾配)
′
y = bx ​ +
1 3 = b(ax + 5) + 3
a, b y
b ​ =
new b − α ​ ∗
b ϕ (y)(bの勾配)
′
a ​ =
new a − α ​ ∗
a ϕ (y)(aの勾配)
′
ϕ (y)
′
y a ​
∂a
∂y
y b ​
∂b
∂y
by @tree__and__tree 13
⼊⼒︓x
x 1 =ax+5
y=bx 1 +3
b new =b-[bの勾配]
出⼒︓y
⽬的関数︓Φ(y)=(y-t) 2
正解︓t
bを更新
bの勾配を計算
の更新
代入すると、、、
モデルのパラメータを更新
b
b ​
=
new b − α ​
∗
b ​
∂b
∂ϕ
= b − α ​ ∗
b ​ ∗
∂y
∂ϕ
​
∂b
∂y
= b − α ​ ∗
b 2(y − 10) ∗ x ​
1
b ​
=
new 1 − α ​
∗
b 2(12 − 10) ∗ 9
= 1 − α ​ ∗
b 36
by @tree__and__tree 14
⼊⼒︓x
x 1 =ax+5
a new =a-[aの勾配]
出⼒︓y
⽬的関数︓Φ(y)=(y-t) 2
正解︓t
aを更新
aの勾配を計算
y=bx 1 +3
の更新
←微分の数増えた!
代入すると、、、
モデルのパラメータを更新
a
a ​ =
new a − α ​ ∗
a ​
∂a
∂ϕ
= a − α ​ ∗
a ​ ∗
∂y
∂ϕ
​ ∗
∂x ​
1
∂y
​
∂a
∂x ​
1
= a − α ​ ∗
a 2(y − 10) ∗ b ∗ x
a ​ =
new 2 − α ​ ∗
a 2(12 − 10) ∗ 1 ∗ 2
= 1 − α ​
∗
a 8
by @tree__and__tree 15
⼊⼒︓x
x 1 =ax+5
y=bx 1 +3
出⼒︓y
⽬的関数︓Φ(y)=(y-t) 2
正解︓t
パラメータを更新
ポイント
勾配(微分)を使って、目的関数の値を良くするよう
に更新している
出力に近い層のパラメータから順番に更新される
層をたくさん重ねると、、、
入力に近い層は微分をたくさんしないと更新できな
い!
モデルのパラメータを更新
by @tree__and__tree 16
勾配消失問題
ディープラーニングとは
学習の仕方
勾配消失問題
勾配消失問題の解決(ゴール!)
by @tree__and__tree 17
x mid =f linear (x in )
X in
X out
x out =f nonlinear (x mid )
線形変換:1次関数
非線形変換:それ以外の関数(2次関数
も非線形)
活性化関数と呼ばれている
各層の中で線形変換→非線形変換を行っている
ことが多い
線形変換と非線形変換
by @tree__and__tree 18
f1=A1◦Linear1
f2=A2◦Linear2
...
fn=An◦Linearn
⼊⼒︓x
出⼒︓y
⽬的関数︓Φ(y)=(y-t)2
正解︓t
たくさん微分が連なる
第1層のパラメータ更新のイメージ
→活性化関数( )の微分が大量に並ぶ
が全部1未満だと、、、
掛け算するほど は小さくなってしま
う
→更新するとほぼ0になり、上手く学習で
きない
勾配消失問題
a ​ =
1new −α ​ ∗
1 ​ ∗
∂y
∂ϕ
w ​ ∗
2 ...w ​ ∗
n A ​ ∗
2
′
A ​ ∗
3
′
... ∗ A ​
n
′
A
A
a ​
1new
by @tree__and__tree 19
y=1
y=-1
元の関数
微分
y=1
y=0
従来の活性化関数
※2010年代前半くらいまでの主流
シグモイド関数
tanh関数
どちらも微分値が1以下しか取らない
→層をたくさん重ねると、勾配消失
問題が発生して上手く学習できない
勾配消失問題
by @tree__and__tree 20
勾配消失問題の解決(ゴール!)
ディープラーニングとは
学習の仕方
勾配消失問題
勾配消失問題の解決(ゴール!)
by @tree__and__tree 21
ReLU:Rectified Linear Units
入力がプラスならそのまま出力
入力がマイナスなら0で出力
めっちゃシンプル!
勾配消失問題を解決する関数
y = ​
{
x (x > 0のとき)
0 (x ≤ 0のとき)
by @tree__and__tree 22
f1=A1◦Linear1
f2=A2◦Linear2
...
fn=An◦Linearn
⼊⼒︓x
出⼒︓y
⽬的関数︓Φ(y)=(y-t)2
正解︓t
たくさん微分が連なる
第1層のパラメータ更新のイメージ(再び)
活性化関数にReLUを使うと、 の部分が
全部1になる
→層を深くしても、上手く学習できる!!
勾配消失問題を解決する関数
a ​ =
1new −α ​ ∗
1 ​ ∗
∂y
∂ϕ
w ​ ∗
2 ...w ​ ∗
n A ​ ∗
2
′
A ​
∗
3
′
... ∗ A ​
n
′
A
by @tree__and__tree 23
AlexNet(2012):画像処理のコンペにて、既存手法に対して圧倒的な精度差で勝利
したモデル
全8層からなる
この頃からとてつもない技術発展がはじまっていく—
VGGNet(2014):全19層。様々なモデルに応用されるベース的な立ち位置に
GoogLeNet(2015):全22層。情報を圧縮し効率化に成功
ResNet(2015):全152層。今までと段違いの深さになった
Transformer(2017):自然言語処理分野でのブレイクスルー。話題の画像生成分野
でも使われている
BERT(2018):Transformerを活用したモデル。少しのデータで良いモデルが作れる
ディープラーニングの夜明け
by @tree__and__tree 24
『本質をとらえたデータ分析のための分析モデル入門』
ニューラルネットワークの数学(順伝播)
ニューラルネットワークの数学(逆伝播)
勾配消失問題とは?
畳み込みニューラルネットワークの最新研究動向 (〜2017)
シグモイド関数の意味と簡単な性質
tanhの意味、グラフ、微分、積分
ディープラーニング(Deep Learning)の歴史を振り返る
GeoGebra:関数描画に使用
参考
by @tree__and__tree 25
MIdjourney
Stable Diffusion
DALL·E 2
Text-to-Audio
Text-to-Video
Text-to-3D
日刊 画像生成AI
NovelAI
参考(画像生成系)
by @tree__and__tree 26

More Related Content

Similar to ディープラーニングのすごさを共有したい.pdf

Introduction to YOLO detection model
Introduction to YOLO detection modelIntroduction to YOLO detection model
Introduction to YOLO detection modelWEBFARMER. ltd.
 
スパースモデリングによる多次元信号・画像復元
スパースモデリングによる多次元信号・画像復元スパースモデリングによる多次元信号・画像復元
スパースモデリングによる多次元信号・画像復元Shogo Muramatsu
 
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1hirokazutanaka
 
Casual learning machine learning with_excel_no4
Casual learning machine learning with_excel_no4Casual learning machine learning with_excel_no4
Casual learning machine learning with_excel_no4KazuhiroSato8
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろHiroshi Yamashita
 
30分で博士号がとれる画像処理講座
30分で博士号がとれる画像処理講座30分で博士号がとれる画像処理講座
30分で博士号がとれる画像処理講座Sakiyama Kei
 
Donutsプロコンチャレンジ 2015 解説
Donutsプロコンチャレンジ 2015 解説Donutsプロコンチャレンジ 2015 解説
Donutsプロコンチャレンジ 2015 解説kuno4n
 
NN, CNN, and Image Analysis
NN, CNN, and Image AnalysisNN, CNN, and Image Analysis
NN, CNN, and Image AnalysisYuki Shimada
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~Takuya Akiba
 
これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法kenyanonaka
 
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++sleepy_yoshi
 
ディープニューラルネット入門
ディープニューラルネット入門ディープニューラルネット入門
ディープニューラルネット入門TanUkkii
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011finalMikio Kubo
 
テーマ「最適化」
テーマ「最適化」テーマ「最適化」
テーマ「最適化」technocat
 
introduce "Stealing Machine Learning Models via Prediction APIs"
introduce "Stealing Machine Learning Models  via Prediction APIs"introduce "Stealing Machine Learning Models  via Prediction APIs"
introduce "Stealing Machine Learning Models via Prediction APIs"Isao Takaesu
 

Similar to ディープラーニングのすごさを共有したい.pdf (20)

Cv 14th
Cv 14thCv 14th
Cv 14th
 
Gurobi python
Gurobi pythonGurobi python
Gurobi python
 
Rで学ぶロバスト推定
Rで学ぶロバスト推定Rで学ぶロバスト推定
Rで学ぶロバスト推定
 
Introduction to YOLO detection model
Introduction to YOLO detection modelIntroduction to YOLO detection model
Introduction to YOLO detection model
 
スパースモデリングによる多次元信号・画像復元
スパースモデリングによる多次元信号・画像復元スパースモデリングによる多次元信号・画像復元
スパースモデリングによる多次元信号・画像復元
 
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
 
Casual learning machine learning with_excel_no4
Casual learning machine learning with_excel_no4Casual learning machine learning with_excel_no4
Casual learning machine learning with_excel_no4
 
充足可能性問題のいろいろ
充足可能性問題のいろいろ充足可能性問題のいろいろ
充足可能性問題のいろいろ
 
30分で博士号がとれる画像処理講座
30分で博士号がとれる画像処理講座30分で博士号がとれる画像処理講座
30分で博士号がとれる画像処理講座
 
Donutsプロコンチャレンジ 2015 解説
Donutsプロコンチャレンジ 2015 解説Donutsプロコンチャレンジ 2015 解説
Donutsプロコンチャレンジ 2015 解説
 
NN, CNN, and Image Analysis
NN, CNN, and Image AnalysisNN, CNN, and Image Analysis
NN, CNN, and Image Analysis
 
プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~プログラミングコンテストでのデータ構造 2 ~動的木編~
プログラミングコンテストでのデータ構造 2 ~動的木編~
 
双対性
双対性双対性
双対性
 
これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法これならわかる最適化数学8章_動的計画法
これならわかる最適化数学8章_動的計画法
 
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++
 
CG2013 02
CG2013 02CG2013 02
CG2013 02
 
ディープニューラルネット入門
ディープニューラルネット入門ディープニューラルネット入門
ディープニューラルネット入門
 
Or seminar2011final
Or seminar2011finalOr seminar2011final
Or seminar2011final
 
テーマ「最適化」
テーマ「最適化」テーマ「最適化」
テーマ「最適化」
 
introduce "Stealing Machine Learning Models via Prediction APIs"
introduce "Stealing Machine Learning Models  via Prediction APIs"introduce "Stealing Machine Learning Models  via Prediction APIs"
introduce "Stealing Machine Learning Models via Prediction APIs"
 

ディープラーニングのすごさを共有したい.pdf