(Classical) Gradient Descent
ืฆืขื ืืขืืืื ื gradient descent ื ืชืื ืขื ืืื:
ฮธ(t+1)=ฮธ(t)โฮทโฮธโg(ฮธ(t))
-
ื ERM:
ฮธargminโg(ฮธ;D)N1โi=1โNโl(h(x(i);ฮธ),y(i))โโ
-
MLE:
ฮธargminโg(ฮธ;D)โi=1โNโlog(pyโฃxโ(y(i)โฃx(i);ฮธ)โโ
(Classical) Gradient Descent
ื ERM:
ฮธargminโg(ฮธ;D)N1โi=1โNโl(h(x(i);ฮธ),y(i))โโ
ื MLE:
ฮธargminโโg(ฮธ;D)i=1โNโlog(py;xโ(y(i)โฃx(i);ฮธ)โโ
- ืืืจืืืื ื ืืืื ืกืืื ืขื ืื ืืืืื ืืฉืจ ืืืื ืืืืืช ืืขืืืชื ืืืฉืจ ืืืืื ืืืื.
- ื ืจืฆื ืืืฉืชืืฉ ืืืืฉืื ืืฉืจ ืืฉืชืืฉ ืืื ืฆืขื ืจืง ืืืืง ืื ืืืืื.
Stochastic Gradient Descent
Stochastic Gradient Descent
ืืชืจืื ืืช:
- ืืืืจ ืืืืจืฆืื ืื ืชืืื ืืืืื
- ืืืกืืื ืืืืืจืื
From https://www.stat.cmu.edu/~ryantibs/convexopt/lectures/stochastic-gd.pdf
Mini-Batch Gradient Descent
- ืคืชืจืื ืืื ืืื.
- ืืฉืืื ืื ื ืฉืชืืฉ ืืงืืืฆืช ืืืืืืช ืืชืื ืืืืื ืืืืื ื mini-batch. ืืื ืฆืขื ืื ื ื ืืืืฃ ืืช ื mini-batch.
- ืืฉืืื ืื ืคืืฆื ืืืืชืจ ืืืืืื ืฉื ืจืฉืชืืช ื ืืืจืื ืื.
- ืืืืื ืืืคืืื ืื ืฉื ื mini-batch ืืื ื 32-256 ืืืืืืช.
ืฉืืืช
- Epoch: ืืขืืจ ืฉืื ืขื ืืืืื.
- ืืชืืืืกืื ื mini-batch ืืฉื batch.
- ืืืืืืืช ืจืืืช ืืืืืืจืืชื gradient descent ืืืคืืข ืชืืช ืืฉื stochastic gradient descent.
ืขืฆืืจื ืืืงืืืช ืฉื gradient descent
- ืืจื ืืืฆืืืช ื ืืกืคืช ืืื ืืข ืืชืืืช-ืืชืจ ืืื ื ืืขืฆืืจ ืืช ืืืืืจืืชื ืืืจืืืื ื ืืคื ื ืฉืืื ืืชืื ืก.
- ืื ื ืขืฉื ืขื ืืื ืืืฉืื ื objective ืขื ื validataion set ืืืืืจืช ืืคืจืืืจืื ืฉืืืืขืจืื ืืช ื objective.
Convolutional Neural Networks (CNN)
Convolutional Neural Networks (CNN)
ืขื ืขืืฉืื ืื ืื ื ืฉืืืืคืืื ืื ื ืชืื ืื ืื ื. ืื ืงืืจื ืืืฉืจ ืืงืื ืืื ืืืช ืืืขื - ืชืืื ื, ืืืืื ืืื'?
Convolutional Neural Networks (CNN)
ืืืืืืฆืื ืืืื ืกืช ืืื ื ืืจืฉืชืืช ืขืฆืืืืช ืืขืืกืงืืช ืืชืืื ืืช
- ืืชืืื ืืช ืืืขืืืช ืืฉ ืงืืจืืฆืื ืืืืื ืืื ืคืืงืกืืื ืงืจืืืื ืฉืืืขืืช ืขื ืืืจืืง
- ืืชืืื ืืช ืืฉ ืืื ื ืืืจืจืื ืฉื ืืืคืืื ืื ืืงืืืืื (ืงืฆืืืช, ืฆืืจืืช, ืืืืืงืืื)
- ืืืืื ืืืืืงืืื ืืื ืืืจืืื ืื ืืืืงืื
- ืืืืืงืืื ืืืืื ืื ืืชืืื ื ืข"ื ืงืืืื ืืืืืื ืื ืฉืื ืื
- ืฉืื ืืื ืืืจื ืงืื ืื ืืจืขืฉ ืื ืืืืจืื ืืืฉืคืืข ืขื ืืืืื
ืฉืืื: ืืื ื ืืชื ืืืืืืข ืืืื ืืื ืืื ืืจืฉืช ืขืฆืืืช?
ืฉืืืช ืงืื ืืืืืฆืื
ื ืืืื ืืืช ืขืืืจ ืงืื ืื-ืืืื
- ืื ื ืืืจืื ืืฉืืื ืื ืืืื ืจืง ืืืืืช ืืืืืืช ืฉื ืขืจืืื ืื ืืฆืืื ืืกืืืืชื ืืงืจืืื.
- ืื ืื ืืืจืื ืื ืืฉืืื ืืกืืืืืช ืืืื (weight sharing).
ืฉืืืช ืงืื ืืืืืฆืื
ื ืืชื ืืืกืชืื ืขื ืืคืขืืื ืฉื ืฉืืืช ืืงืื ืืืืืฆืื ืืืืคื ืืื:
ืฉืืืช ืงืื ืืืืืฆืื
ืืชืืืืช ืืฉืืืื ืืืฆืขืช ืืช ืฉืืืฉ ืืคืขืืืืช ืืืืืช:
- ืคืขืืืช ืงืจืืก-ืงืืจืืฆืื (ืืื ืงืื ืืืืืฆืื) ืืื ืืงืืืจ ืืื ืืกื x ืืืงืืืจ ืืฉืงืืืืช w ืืืืจื K.
- ืืืกืคืช ืืกื b (ืืืคืฆืืื ืื).
- ืืคืขืื ืฉื ืคืื ืงืฆืืืช ืืคืขืื ืขื ืืงืืืจ ืืืืฆื ืืืืจ ืืืืจ.
ืฉืืืช ืงืื ืืืืืฆืื
ืคืขืืืช ืืงืจืืก-ืงืืจืืฆืื ืืืืืจืช ืืืืคื ืืื:
yiโ=m=1โKโxi+mโ1โwmโ
ืืงืืืจ ืืืฉืงืืืืช ืฉื ืฉืืืช ืืงืื ืืืืฆืื w ื ืงืจื ืืจืขืื ืืงืื ืืืืืฆืื (convolution kernel).
ืฉืืืช ืงืื ืืืืืฆืื
- ืืืื ืืืืฆื ืฉื ืฉืืืช ืืงืื ืืืืืฆืื ืืื ืงืื ืืืชืจ ืืืื ืืกื ืืืื ื ืชืื ืขื ืืื Doutโ=DinโโK+1.
- ืืฉืืืช FC ืงืืืืืช DinโรDoutโ ืืฉืงืืืืช ืืขืื Doutโ ืืืืจื ืืืกื.
- ืืฉืืืช ืงืื ืืืืฆืื ืืฉ K ืืฉืงืืืืช ืืืืืจ ืืืกื ืืืื.
ืฉืืืช ืงืื ืืืืืฆืื
ืงืื ืจื-ืขืจืืฆื
ืืืงืจืื ืจืืื ื ืจืฆื ืฉืฉืืืช ืืงืื ืืืืฆืื ืชืงืื ืงืื ืจื ืืืื, ืืืืืื, ืชืืื ื ืืขืืช ืฉืืืฉื ืขืจืืฆื ืฆืืข ืื ืงืื ืฉืืข ืืืกืคืจ ืขืจืืฆื ืืงืืื.
ืคืื ืจื-ืขืจืืฆื
ื ืจืฆื ืืจืื ืืืฉืชืืฉ ืืืืชืจ ืืืจืขืื ืงืื ืืืืืฆืื ืืื, ืืืงืจืื ืืื ื ืืืฆืจ ืืกืคืจ ืขืจืืฆืื ืืืฆืืื ืขืืืจ ืื ืืื ืืืจืขืื ื ืืงืื ืืืืืฆืื.
ืืื ืฉืืชืืฃ ืฉื ืืฉืงืืืืช ืืื ืขืจืืฆื ืืคืื ืืฉืื ืื.
ืคืื ืจื-ืขืจืืฆื
- Cinโ - ืืกืคืจ ืขืจืืฆื ืงืื.
- Coutโ - ืืกืคืจ ืขืจืืฆื ืคืื.
- K - ืืืื ืืืจืขืื.
ืืกืคืจ ืืคืจืืืจืื ืืฉืืื: theย weightsCinโรCoutโรKโโ+theย biasCoutโโโ.
Padding - ืจืืคืื
ืืืืื ืื ืจืฆื ืืฉืืืจ ืขื ืืืื ืืืงืืืจ ืืืืฆื ืฉื ืฉืืืช ืืงืื ืืืืืฆืื, ื ืืชื ืืจืคื ืืช ืืงืืืจ ืืื ืืกื ืืืคืกืื. ืืืืืื:
ืืืคืฉืจ ืืืื ืฉื ืืืจืขืื ืืืืจื ืืชืืื ื.
Stride - ืืืื ืฆืขื
ืืขืืชืื ื ืจืฆื ืืืืงื ืืืงืืื ืืช ืืืื ืืืงืืืจ ืืืืฆื ืืคืงืืืจ ืืกืืืื. ืืจื ืืืช ืืขืฉืืช ืืืช ืืื ืขื ืืื ืืืืื ืืืืฆื. ืืคืืขื ืืื ืฆืืจื ืืืฉื ืืช ืืขืจืืื ืืืืฆื ืฉื ืืจืงืื ืืืื ืืืขืฉื ื ืืชื ืืืฉื ืืช ืืงืื ืืืืืฆืื ืืงืคืืฆืืช ืืกืืืืืืช ืืืืื ืืช stride.
ืืฆืืฆื ืขืืืช ืืืฉืืืืช ืข"ื ืืืฆืืข downsampling.
Dilation - ืืชืจืืืืช
ืืืงืจืื ืืืจืื ื ืจืฆื ืืืืืื ืืช ืืืืืืจ ืฉืืื ื ืืืกืฃ ื ืืืจืื ืืกืืืื ืืช ืืงืื ืฉืื ืืืื ืืืืืื ืืช ืืกืคืจ ืืคืจืืืจืื ืืืช ืืกืืืืืืืช ืืืืฉืืืืช. ืืฉื ืื ื ืืชื ืืืื ืืช ืืืจื ืื ื ืืื ืืงืื ืขื ืื ืช ืืืจืืื ืืช ืืืืืจ ืืงืื. ืืื ืื ืจืฉืื ืืืจืช, ื dilation ืฉื ืฉืืื (ืืฆืคืืคืืช ืื ืืื ืืกื ื ืืืืช) ืืื 1.
Max / Average Pooling
ืืืืืืฆืื: ืืงืื ืช ืืจืืืืืฆืื ืืืจืืืืช, ืืฆืืจื ืืืืื ืืืืืืงืืื ืืืฉื.
ืฉืืืืช ื ืืกืคืืช ืืฉืจ ืืืคืืขืืช ืืืงืจืื ืจืืื ืืจืฉืชืืช CNN ืื ืฉืืืืช ืืกืื pooling. ืฉืชื ืฉืืืืช pooling ื ืคืืฆืืช ืื max pooling ื average pooling, ืฉืืื ืื ืืืงืืช ืืช ืืืืืฆืข ืื ืืืงืกืืืื ืฉื ืขืจืื ืืื ืืกื.
ืืืืื ืื ืืฆืืื max pooling ืืืืื 2 ืขื ืืืื ืฆืขื (stride) ืื ืื ืฉื 2:
ืืฉืืื ืืืช ืืื ืคืจืืืจืื ื ืืืืื.
2D Convolutional Layer
kernel size=3 padding=0 stride=1 dilation=1 |
kernel size=4 padding=2 stride=1 dilation=1 |
kernel size=3 padding=1 stride=1 dilation=1 (Half padding) |
kernel size=3 padding=2 stride=1 dilation=1 (Full padding) |
|
|
|
|
kernel size=3 padding=0 stride=2 dilation=1 |
kernel size=3 padding=1 stride=2 dilation=1 |
kernel size=3 padding=1 stride=2 dilation=1 |
kernel size=3 padding=0 stride=1 dilation=2 |
|
|
|
|
ืืื ื ืจืฉืช CNN
ืืื ื ืจืฉืช CNN ืืจืืฉืื ื ืฉืืืฆืื ืืฉื ืช 1989.
From https://d2l.ai/chapter_convolutional-neural-networks/lenet.html
ืืื CNN ืื ืื ืืืืื ืืืขืืืช ืืกืืืืืืช?
- CNNs ืืื ืืืืื ืืกืืืื ืฉื ืชืืื ืืช ืืคื ืืชืืื ืฉืืื.
- ืืกืืื ืฉืืืืื CNNs ืืชืืืืื ืืคืชืจืื ืฉื ืืขืื ืื ืืื ืืื ืืืชืจ ืืืื ืฉืฉืชื ืืชืืื ืืช, ืฉืืืืืืืช ืฉืืืช ืงืื ืืืืืฆืื ืืฉืืืืช FC, ืืชืืืืืช ืืืืฆืื ืฉื ืืคืชืจืื.
- ื ืชืืืืก ืืื ืืืช ืืฉืชื ืืชืืื ืืช ืื ืคืจื.
ืชืืืช ืฉื ืื ื ืืืจืื ืจืง ืืกืืืื ืืืืืืืช ืฉืื
ืื ื ืืืจืื ืจืืื ืจืง ืืช ืืกืืืื ืืืืืืืช ืฉืื ืืืื ืขื ืืจืฉืช ืืืื ืื ืกืืช ืื ืชื ืืช ืืชืืื ื ืืฆืืจื ืืืจืจืืืช:
Receptive Field
- ืืืืื ืฉื ืืืืืืจ ืฉืืื ื ืืืฉืคืข ื ืืืจืื ืืฉืืื ืืกืืืืืช ื ืงืจื ื receptive field ืฉืื.
- ืืืืืื, ื receptive field ืฉื ื ืืืจืื ืืฉืืื ืืฉืืืฉืืช ืืื 7.
- ืื ืืกืฃ, ืืฉ ืื ืืช ืฉืืืืช ื pooling ืืฉืจ ืืงืืื ืืช ืืช ืืืืืืื ืืืื ืืืืืืืช ืืช ื receptive filed.
ืืืืืฅ ืืืคืืื ืื ืืืชืืื ื
ื ืืืื ืืช ืืคืขืืื ืฉืืืฆืขืช ืืฉืืื ืืจืืฉืื ื ืืจืฉืช ืืฉืจ ืื ืกื ืืืืืช ืืื ืืชืืื ื ืืกืืืืืช ืืืคืืข ืคืจืฆืืฃ.
ืืจืขืื ื ืืงืื ืืืืืฆืื ืฉื ืืฉืืืืช ืืจืืฉืื ืืช ืืขืืจื ืขื ืืชืืื ื ืืืืคืฉื ืชืืคืขืืช ืืกืืกืืืช ืืื ืคืกืื ืื ืืืื, ืคืกืื ืืืคืงืืื, ืคืื ืืช, ื ืงืืืืช ืงืื ืืช ืืื'.
ืืืืืฅ ืืืคืืื ืื ืืืชืืื ื
ืื ืืจืขืื ืืืฆืจ ืขืจืืฅ ืืฉืจ ืืชืืื ืืชืืคืขื ืฉืืืชื ืืื ืืืคืฉ:
- ืืฉืืืืช ืืืืืช ืืจืฉืช ืืืคืฉื ืืืืืืงืืื ืืฉืจ ืืืจืืืื ืืืชืืคืขืืช ืฉืืฆืื ืืฉืืืืช ืืจืืฉืื ืืช.
- ืืืืืื ื ืืคืฉ ืืืืืจืื ืฉืืืืืื ืืจืื ืคืกืื ืื ืืืื ืืืื ืืืืืช ืฉืืขืจ, ืื ืฉื ื ืคืกืื ืืืคืงืืื ืกืืืืื ืฉืขืฉืืืื ืืืืื ืฉืคืชืืื. ืกืื ืื ืฉื ืขืืืื ืืืืข ืืืื ืืื ืฉืืืฆืขืื ืืืขืจืืช ืืจืืืื ืฉื ืืื ืงืื.
Weight sharing
ืืชืืื ื ืื ืืกืคืช ืฉื ืฉืืืช ืืงืื ืืืืืฆืื ืืื ื ืฉืืืฉืงืืืืช ืฉื ืื ืื ืืืจืื ืื ืืฉืืชืคืื ืืื ืื ืื ืืืจืื ืื ืืืืชื ืืฉืืื + ืขืจืืฅ.
ืืื ืื ืื ืืืืื ืืช ืืจืฉืช:
- ืืกืืืื ืฉื ืืชืืื ื ืื ืืืืจ ืืืืืช ืืืฉืคืข ืื ืืืืืื ืืช ืืืืืืืงื ืืชืืื ื ืืขื ืืฆืืืื.
- ืืคืขืืืืช ืฉืืฉืืืืช ืืจืืฉืื ืืช ืืืฆืขืืช, ืืืื ืืืคืืฉ ืงืืืื ืืืคืงืืื ืืื ืืืื ืืฉืืชืฃ ืืื ืืืืืืจืื ืืชืืื ื.
ืกืืืื - ืืชืจืื ืืช ืืืฉืช ื CNN
- ืขืืื ืืฉืืจืืช ืขื ืืงืื ืืืงืืจื - ืชืืื ื
- ืืืกืืืจืืช - ืืฆืืื ืืฉืืขืืชืืช ืจืืฉืื ื ืืฉืืคืืจ ืืืฆืืขืื ืืฉืืขืืชื (2012)
- ืืืคืืื ืื ืืงืืืืื ืชืืคืกืื ืืืื ืชืืื ืืช ืฉื ืชืืื ืืช ืืืฉืืืืื ืืืคืฉืจืื ืฉืืืื ืืืจืจืื
- ืืืคืืื ืื ืจืืื ืืืื ื ืืืืื ืืืืืืืืช (ืืืืคื ืืืจืจืื) โ ืจืืืืืฆืื ืืฉืชื ื
- ืืื ืืจืืื ืืืืช ืืืืืืช ืืืกืื ืืช ืืคื ื ืฉืื ืืืื ืื ืชืื ืื
- ืฉืืชืืฃ ืคืจืืืจืื โ ืืงืื ื ืืฉืืขืืชืืช ืืื ืืขืช ืืชืืืช ืืชืจ, ืืืกืืื ืืืืฉืื ืืืืืจืื
- ืืชืืืืช ืืืจืืืืช ืืืืฉืืืื ืืืจืื (ืืืืื, ืืืืืื)
- ืฉืืืื ืืืฉืื ืืืขืื ืืื ืืืข ืืืงืื (ืืื ื ืืจืฉืช) ืื ืชืื ืื ืืืขืืื
## Batch Normalization (ืื ืืืืื)
- ืืืช ืืืขืืืช ืืขืืืื ืขื ืจืฉืชืืช ืขืืืงืืช ืืื ื ืืฆื ืฉืื ืืขืจืืื ืืืืฆืืื ืฉื ืืฉืืืืช ืื ืืกืืจ ืืืื ืฉืื ื.
- ืืืืจ ืืฉืคืืข ืขื ืืืจืืืื ืืื ืืืงืฉื ืขื ืืืืืจื ืฉื ืืืื ืืฆืขื.
- ืืจื ืืืช ืื ืกืืช ืืืืืืื ืื ืืืืฆืืื ืืืื ืืขืจื ืืืืชื ืกืืจ ืืืื ืืื ื ืขื ืืื ืืืกืคื ืฉื ืฉืืื ืืฉื batch normalization.
Batch Normalization (ืื ืืืืื)
- ืื ืกื ืื ืจืื ืืช ืืขืจืืื ืืฉืจ ืขืืืจืื ืืจืื (ืืืืื ืืช ืืชืืืืช ืฉื ืืขืจืืื ื 0 ืืืช ืืกืืืืช ืชืงื ื 1).
- ืขืืฉื ืืืช ืขื ืืื ืืืฉืื ืืชืืืืช ืืกืืืืช ืืชืงื ืืืืคืืจืืช ืฉื ืืขืจืืื ืขื ืคื ื ื batch.
Batch Normalization (ืื ืืืืื)
ฮผ=M1โi=1โMโzin(i)โ
ฯ2=M1โi=1โMโ(zin(i)โโฮผ)2
ืืืืฆื ืฉื ืืฉืืื ืืืื:
zoutโ=ฯ+ฯตzinโโฮผโ
Batch Normalization (ืื ืืืืื)
ืืจืื ืืฉืืื ืชืืื ืื ืืจื ืกืคืืจืืฆืื ืืื ืืจืืช ื ืืืืช ืขื ืคืจืืืจืื ฮณ ื ฮฒ:
zoutโ=ฯ+ฯตzinโโฮผโโ
ฮณ+ฮฒ
ืืืฉืจ ฮณ ื ฮฒ ืืื ืืงืืืจืื ืืืืจื ืฉื z ืืืืืคืื ืขื ฮณ ืืื ืืืืจ ืืืืจ.
ืืืจื ืฉืื ืืืืืื
ืืืืื ืืืืืื ืืืืืงืื ืืืืฆืข ื ืข (exponantial moving average) ืฉื ืืขืจืืื ฮผ ื ฯ ืืืกืืฃ ืฉืื ืืืืืื ืืงืืขืื ืืช ืืขืจืืื ืฉืืื ืืืื ืืขืจืืื ืฉืืื ืืจืฉืช ืชืฉืชืืฉ ืืืืจ ืฉืื ืืืืืื.