ãªããŒã¿ã§ãããã€ãã¿ãŒã§äººå·¥ç¥èœã®ããšãä»åªäœã®èšäºãªã© ã玹ä»ããŠããŸãã®ã§ã人工ç¥èœã®ããšããã£ãšç¥ãããæ¹ãªã©ã¯ @omiita_atiimoãã芧ãã ããïŒ
ä»ã«ã次ã®ãããªèšäºãæžããŠããŸãã®ã§èå³ãããã°ãã²ïŒ
- ã2020決å®çãã¹ãŒããŒããããããæé©åã¢ã«ãŽãªãºã -æå€±é¢æ°ããAdamãšãã¥ãŒãã³æ³-
- ã€ãã«Adamãè¶ ããïŒææ°ã®æé©åã¢ã«ãŽãªãºã ãRAdamã解説
- æ°ããªæŽ»æ§å颿°ãFReLUãèªç&解説ïŒ
- 2019幎æåŒ·ã®ç»åèªèã¢ãã«EfficientNet解説
- ç»åèªèã®å€§é©åœãAIçã§è©±é¡ççºäžã®ãVision Transformerãã解説ïŒ
åºãããŠãã€ãã€ïŒææ°ãªããã£ãã€ã¶ãŒãAdaBeliefãã解説ïŒ
SGD+Momentum(ç·)ãšAdam(èµ€)ãšAdaBelief(é)ã®æ¯èŒãéãäžçªæ©ãåæããŠããããšãããããŸãã
"AdaBelief Optimizer: Adapting Stepsizes by the Belief in Observed Gradients", Zhuang, J., Tang, T., Ding, Y., Tatikonda, S., Dvornek, N., Papademetris, X., Duncan, J. (NeurIPS'20)
ãªããã£ãã€ã¶ãŒãšããŠããçšãããããã®ã«ã¢ãŒã¡ã³ã¿ã ä»ãSGD(以äžãSGD)ãšAdamããããŸããããã¡ã¯ãã¹ã¿ã³ããŒããšããŠAdamãããçšããããŸãããããã¯å¿ ãããAdamãSGDãããåªããŠããããã§ã¯ãªããããæçµçãªæ§èœ(æ±åæ§èœ)ã¯SGDã®ã»ããAdamãããè¯ãããšãå€ãã§ãããã ãAdamã¯SGDã«æ¯ã¹åæãéãã£ããå®å®æ§ãé«ãããããšãŠã䜿ãããããªããã£ãã€ã¶ãŒãšããŠäººæ°ã§ãããããªäžãæ°ããªãªããã£ãã€ã¶ãŒã**NeurIPS2020ã«ç»å ŽãSpotlightãšããŠéžã°ããŸããããã®åããAdaBeliefãã§ããã"AdaBelief Optimizer: Adapting Stepsizes by the Belief in Observed Gradients", Zhuang, J., Tang, T., Ding, Y., Tatikonda, S., Dvornek, N., Papademetris, X., Duncan, J. (NeurIPS'20)ãã§ææ¡ãããæ¬ææ³ã¯ãSGDã®ãããªãé«ãæ±åæ§èœããšAdamã®ãããªãéãåææ§ããããè¯ãå®å®æ§ãã®3ã€ãå Œãåãããªããã£ãã€ã¶ãŒãšããŠå€§ããªæåŸ ãå¯ããããŠããŸããç»ååé¡ãç»åçæãèšèªã¢ãã«ã§SGDãAdamãªã©ã®ä»ææ³ãããé«ãæ§èœã瀺ããŠããŸãããã®ãããã¢ã«ãŽãªãºã ã¯Adamã®äžéšãå°ãå€ããã ãã§ã»ãŒAdamãªã®ã§çè§£ãå®è£ ãç°¡å**ã§ããããã§ã¯æåŸ ã®AdaBeliefã«ã€ããŠèŠãŠãããŸãããïŒ
æ¬èšäºã®æµã:
- å¿ããæ¹ãž
-
ä»çµã¿ã®è§£èª¬
- Adamã®ãããã
- AdaBeliefã®ä»çµã¿
- ãªãAdaBeliefãè¯ãã®ã
- å®éšçµæ
- ãŸãšããšææ
- åè
åè«æ: "AdaBelief Optimizer: Adapting Stepsizes by the Belief in Observed Gradients", Zhuang, J., Tang, T., Ding, Y., Tatikonda, S., Dvornek, N., Papademetris, X., Duncan, J. (NeurIPS'20)
å ¬åŒå®è£ : ãã¡ã(PyTorch/TensorFlow)
0. å¿ããæ¹ãž
- AdaBeliefã¯é«ãæ±åæ§èœãéãåææ§ãããè¯ãå®å®æ§ã®3ã€ãå Œãåãããªããã£ãã€ã¶ãŒã ã
- ã¢ã«ãŽãªãºã ã¯Adamãšã»ãŒå€ãããªãã
- åŸé ã®äºæž¬å€ãšå®éã®åŸé ãšã®å·®ã§ã¹ããããµã€ãºã決å®ããã
- åŸé ã®ç§»åå¹³å(=ã¢ãŒã¡ã³ã¿ã )ãåŸé ã®äºæž¬å€ãšããŠããã
- åŸé ãäºæž¬å€ãšå€§ãããããŠããã°ã¹ããããµã€ãºãå°ããããåãã§ããã°ã¹ããããµã€ãºã倧ããããã
- ç»ååé¡/èšèªã¢ãã«/ç»åçæã§AdaBeliefã®åªäœæ§ã瀺ããã
- PyTorch:
pip install adabelief-pytorch==0.1.0
from adabelief_pytorch import AdaBelief
optimizer = AdaBelief(model.parameters(), lr=1e-3, eps=1e-16, betas=(0.9,0.999), weight_decouple = True, rectify = False)
- TensorFlow/Keras:
pip install adabelief-tf==0.0.1
from adabelief_tf import AdaBeliefOptimizer
optimizer = AdaBeliefOptimizer(learning_rate, epsilon=1e-12)
SGD+Momentum(ç·)ãšAdam(èµ€)ãšAdaBelief(é)ã®æ¯èŒãéãäžçªæ©ãåæããŠããããšãããããŸãã
"AdaBelief Optimizer: Adapting Stepsizes by the Belief in Observed Gradients", Zhuang, J., Tang, T., Ding, Y., Tatikonda, S., Dvornek, N., Papademetris, X., Duncan, J. (NeurIPS'20)
1. ä»çµã¿ã®è§£èª¬
AdaBeliefã¯ã»ãŒAdamã§ãããªã®ã§ãŸãã¯Adamã®ãããããããŠããAdaBeliefãžãšå ¥ã£ãŠãããŸãã
1.1 Adamã®ãããã
ã¢ãŒã¡ã³ã¿ã ãåŸé ãããããRMSPropãåŠç¿çãããããã®ã ãšèãããšãAdamã¯ãããäºã€ãåã«çµã¿åãããã ãã®ãã®ã§ãããªã®ã§ã¢ãŒã¡ã³ã¿ã ãšRMSPropã«ã€ããŠç°¡åã«è§ŠããŠãããŸãã
1.1.1 ã¢ãŒã¡ã³ã¿ã
ã¢ãŒã¡ã³ã¿ã ã§ã¯ãåŸé ã®(ææ°å¹³æ»)ç§»åå¹³åãåãããšã§ããåŸé ã®æ¥ãªå€åã«å¯ŸããŠãå®å®ããŠãã©ã¡ãŒã¿ã®æŽæ°ãã§ããŸããåŒã§èšãã°ã
$$
m_t \leftarrow \beta_1 m_{t-1} + (1-\beta_1)g_t \
\theta_t \leftarrow \theta_{t-1} - \alpha m_t
$$
1ã€ç®ã®åŒã¯ãã ã®ç§»åå¹³åã§ãããã¢ãŒã¡ã³ã¿ã ã衚ããŠããŸãã2ã€ç®ã®åŒã¯åŠç¿ç$\alpha$ãçšããŠãã©ã¡ãŒã¿$\theta$ãæŽæ°ããŠããã ãã§ãã$g_t$ã¯ã¹ããã$t$ã§ã®åŸé ã衚ãã$m_t$ã¯ã¹ããã$t$ã§ã®ç§»åå¹³åãé©çšåŸã®å€ã衚ããŠããŸãã$\beta_1$ã¯$[0,1]$ã®å®æ°ã§ã0ã«è¿ããã°$m_{t-1}$ãæ¶ããŠãããŸãã®ã§ã¹ããã$t$ã§ã®åŸé ã®ã¿ãéèŠããããšã«ãªãã1ã«è¿ããã°$g_t$ãæ¶ããŠãããŸãã®ã§ä»ãŸã§ã®åŸé ãã¡ãéèŠãããšããããšã«ãªããŸãã$\beta_1=0.9$ããã䜿ãããã®ã§ãå®éã®åŠç¿ã§ã¯çµæ§éå»ãèæ ®ããæ¹ãè¯ãããã§ããã
1.1.2 RMSProp
äžæ¹ã§ãRMSPropã¯ãåŸé ã®2ä¹ã®(ææ°å¹³æ»)ç§»åå¹³åãåããã®å€ã§åŠç¿çãå²ããŸããããã«ãããåŸé ã®å°ãããšãããªã©ã§ã¯æŽæ°å ·åã倧ãããå éãããããšãã§ããŸããã€ãŸããRMSPropã¯æŽæ°ã®ã¹ããããµã€ãºãåŸé ã®å€§ããã«ãããã£ãŠèª¿æŽããŠãããšããããšã§ããåŒã§è¡šããšã
$$
v_t \leftarrow \beta_2 v_{t-1} + (1-\beta_2)g_t^2 \
\theta_t \leftarrow \theta_{t-1} - \frac{\alpha}{\sqrt{s_t}+\epsilon}g_t
$$
ãã®æŽæ°åŒãèŠããš$v_t$ã¯åŸé
ã®äºä¹ãä¿æããŠããŸããããã©ã¡ãŒã¿$\theta$ã®æŽæ°æã«ã¯ã«ãŒãããããŠããŸãã®ã§ãåã«åŠç¿çãåŸé
ã®å€§ãã(ã®ç§»åå¹³å)ã§å²ã£ãŠããã ãã§ããããšãããããŸãããªã®ã§åŸé
ã倧ãããã°æŽæ°åºŠåãã¯æããããéã«å°ãããã°æŽæ°åºŠåãã倧ãããªããŸãã$\epsilon$ã¯ãŒãé€ç®ãé²ãããã®éåžžã«å°ããªå®æ°ã§1e-8ã®ãããªå€ãçšããããŸãã$\beta_2$ã¯$[0,1]$ã®å®æ°ã§ã¢ãŒã¡ã³ã¿ã ã®æã®$\beta_1$ãšå
šãåã圹å²ãæãããŸã(=ä»ãéèŠãããéå»ãéèŠããã)ã$\beta_2=0.999$ãããèŠãããŸãã®ã§ãéå»ãæãã£ããèæ
®ããŠããããšãããããŸãã
1.1.3 Adam
ãããŸã§çè§£ã§ããŠããã°Adamã¯ãšãŠãç°¡åã§ããæŽæ°åŒãèŠãŠã¿ãŸãã(ç°¡åã®ãããã€ã¢ã¹ã³ã¬ã¯ã·ã§ã³ã¯èæ ®ããŸããã)
$$
m_t \leftarrow \beta_1 m_{t-1} + (1-\beta_1)g_t \
v_t \leftarrow \beta_2 v_{t-1} + (1-\beta_2)g_t^2 \
\theta_t \leftarrow \theta_{t-1} - \frac{\alpha}{\sqrt{v_t}+\epsilon}m_t
$$
第äžåŒã¯ã¢ãŒã¡ã³ã¿ã ã第äºåŒã¯RMSPropããããŠããšã¯ç¬¬äžåŒã®æŽæ°åŒã§ãã©ã¡ãŒã¿ãæŽæ°ããã ãã§ãããšããããšã§ãã¢ãŒã¡ã³ã¿ã ãšRMSPropãçµã¿åããããã®ãAdam(=Adaptive moment estimation)ã®æ£äœãšãªããŸãããããŸã§ã«ã€ããŠãã£ãšäžå¯§ãªè§£èª¬ã欲ããæ¹ã¯æèã®ãã¡ãã®èšäºãã芧ãã ãããæå€±é¢æ°ããAdamãŸã§äžå¯§ã«è§£èª¬ããŠããŸããã¡ãªã¿ã«ãå ã«ãã¿ãã¬ãããšAdaBeliefã§ã¯Adamã®ç¬¬äºåŒãã»ãã®å°ã倿ŽããŠããã ãã§ããããã§ã¯æåŸã«Adamããã£ãšã¢ã«ãŽãªãºã ã£ãœã衚èšããŠAdaBeliefãžãšç§»ããŸãã
1.2 AdaBeliefã®ä»çµã¿
AdaBeliefã®æŽæ°åŒãæ©éèŠããæ¹ããšãŠããããããããšæããŸãã
$$
m_t \leftarrow \beta_1 m_{t-1} + (1-\beta_1)g_t \
s_t \leftarrow \beta_2 s_{t-1} + (1-\beta_2)(g_t-m_t)^2 \
\theta_t \leftarrow \theta_{t-1} - \frac{\alpha}{\sqrt{s_t}+\epsilon}m_t
$$
äžãAdaBeliefã®æŽæ°åŒãšãªããŸããã±ã£ãšèŠAdamãšå šãåãã§ããã第äºåŒã®ã¹ããããµã€ãºã決å®ããåŒãèŠããšåãªãåŸé ã®2ä¹ã§ã¯ãªã$(g_t-m_t)^2$ãšãªã£ãŠããŸããéãã¯ããã ãã§ã(èšå·ã®æ··åãé¿ããããã«$v_t$ã§ã¯ãªã$s_t$ã«ããŠããŸã)ããããçŽæçã«çè§£ããã«ã¯ã第äžåŒã®ç§»åå¹³åãèãããšããããããããšæããŸãã第äžåŒã®ç§»åå¹³åã«ãã£ãŠåŸé ã®æ¯åãæããããããã§ãããããã¯ã€ãŸãç§»åå¹³åã«ãã£ãŠããæ£ç¢ºãªåŸé ã®å€ãäºæž¬ããŠãããšãæããããšãã§ããŸããç§»åå¹³åãåŸé ã®äºæž¬å€ãšæããããšã§ç¬¬äºåŒã¯çŸåšã®å®éã®åŸé $g_t$ãšãã®äºæž¬å€$m_t$ã®å·®ã§æçµçãªã¹ããããµã€ãºã決å®ããŠããããšãããããŸãããã®å·®ã倧ãããªãã°ãã©ã¡ãŒã¿ãæŽæ°ããéã®ã¹ããããµã€ãºã¯($s_t$ã¯åæ¯ã«ããã®ã§)å°ãããªããéã«ãã®å·®ãå°ãããã°æŽæ°ããéã®ã¹ããããµã€ãºã¯å€§ãããªããŸãããªã®ã§ãAdaBeliefã®æ°æã¡ãšããŠã¯ããçŸåšã®åŸé å€ãäºæž¬å€ããã倧ãããããããã§ããã°ä¿¡çšã§ããªãã®ã§ã¹ããããµã€ãºãå°ããããããŸããããªãããã§ããã°ä¿¡çšã«è¶³ãã®ã§ã¹ããããµã€ãºã倧ãããããããšèšããŸãããã®Belief(=ä¿¡çš)ãçšããŠAdaptive(=é©å¿ç)ã«ã¹ããããµã€ãºã決å®ããŠããã®ã§AdaBeliefã«ãªãããã§ããããšããããšã§æåŸã«å ã»ã©åæ§ãã£ãšã¢ã«ãŽãªãºã ã£ãœã瀺ããŸããéåãä»åã®AdaBeliefã«ãããæ¹è¯ç¹ã§ããæ¬¡ã¯AdaBeliefããªãè¯ãã®ããšããã®ãå°ã詳ããèŠãŠãããŸãããã
1.3 ãªãAdaBeliefãè¯ãã®ã
è«æäžã§ã¯AdaBeliefã®åªäœæ§ãããã€ãã®ãã€ãããã¬ã ãçšããŠèª¬æããŠããŸãããªãAdaBeliefã仿æ³ãããåªããŠããã®ããšããããšãåãããããçè§£ã§ããŸãã
1.3.1 AdaBeliefã®åªäœæ§
äžå³ãçšããŠAdaBeliefã®SGDãšAdamã«å¯Ÿããåªäœæ§ã瀺ããŠãããŸããäžå³ã«ãããŠãªã¬ã³ãžè²ã§å²ã£ãæå°å€ãç®æããŠããã赀䞞ã¯åã¹ãããã§ã®ãã©ã¡ãŒã¿ãšãã®æã®æå€±ã衚ããŠããŸããç·è²ã§å²ã£ã3ã€ã®åºåããããã§AdaBeliefã®è¯ãã瀺ããŸãã念ã®ããSGDãAdamãAdaBeliefã®æŽæ°åŒãåæ²ããŸãã
$$
\Delta\theta_t^{SGD} = -\alpha m_t \
\Delta\theta_t^{Adam} = -\frac{\alpha}{\sqrt{v_t}} m_t \
\Delta\theta_t^{AdaBelief} = -\frac{\alpha}{\sqrt{s_t}} m_t
$$
1.3.1.1 å Žæ1ã®å Žå
ãŸããâ ã«ã€ããŠèŠãŠãããŸããããå¹³ããªâ ã«ãããŠåŸé ã¯ãšãŠãå°ãããªã£ãŠããŸã£ãŠé²ã¿ãé ãã®ã§ãçæ³ã¯å€§ããªæŽæ°ããããªã£ãŠâ ãæ©ãæãåºãããã§ãããã®æãSGDã¯åãªãåŸé ãªã®ã§æŽæ°ã¯å°ãããªã£ãŠããŸãã®ã§è¯ããããŸãããäžæ¹ã§Adamã¯åŸé ãå°ãããã$v_t$ã¯å°ãããªãããã®éæ°ãšãªãã¹ããããµã€ãºã¯å€§ãããªããã倧ããªæŽæ°ãè¡ããŸãããŸããâ ã«ãããŠãããã®åŸé ã倧ããå€åã¯ããªãããåŸé ã®ç§»åå¹³åãšã®å·®ã§ãã$s_t$ã¯å°ãããªããAdaBeliefãâ ã«ãããŠå€§ããªæŽæ°ãè¡ããŸãããŸãšãããšãäžè¡šã§ãã
| ãªããã£ãã€ã¶ãŒ | æŽæ° | è¯ãæªã |
|---|---|---|
| çæ³ | 倧 | - |
| SGD | å° | â |
| Adam | 倧 | âïž |
| AdaBelief | 倧 | âïž |
1.3.1.2 å Žæ2ã®å Žå
ç¶ããŠãâ¡ã«ã€ããŠèŠãŠãããŸããããã¯æ¥å³»ã§æšªå¹ ãçãããã«ãªãŒããŒã·ã¥ãŒããèµ·ãããŠããŸããããªå Žæã§ãããã®ããããã®ãããªå ŽåããªãŒããŒã·ã¥ãŒããé²ãããã«çæ³ã®æŽæ°éã¯å°ãããã£ãŠæ¬²ããã§ãããŸãSGDã«ã€ããŠã§ããããã®å Žæã®åŸé ã¯å€§ããã®ã§æŽæ°ã倧ãããªã£ãŠããŸãäžå³ã®ãããªãªãŒããŒã·ã¥ãŒããèµ·ãããŠããŸããŸããããã§ã¯Adamã§ã¯ã©ãã§ãããããAdamã¯å€§ããåŸé ã®éæ°ã§ã¹ããããµã€ãºãšãªãã®ã§ãæŽæ°ã¯å°ãããªãçæ³éãã®æŽæ°ãšãªããŸãããããŠAdaBeliefã§ãããããã§ã®ã¹ãããããšã®åŸé ã¯å€§ããå€å(ãªãŒããŒã·ã¥ãŒãããŠãããã$\theta$æ¹åã§ã¯ç¬Šå·ãã²ã£ããè¿ãã»ã©ã®å€å)ããŠããããããã®éæ°ã§ã¹ããããµã€ãºã決å®ããŠããã®ã§AdaBeliefãæŽæ°ã¯å°ãããªãçæ³éããšãªããŸãã
| ãªããã£ãã€ã¶ãŒ | æŽæ° | è¯ãæªã |
|---|---|---|
| çæ³ | å° | - |
| SGD | 倧 | â |
| Adam | å° | âïž |
| AdaBelief | å° | âïž |
1.3.1.3 å Žæ3ã®å Žå
ããã§ã¯ãâ¢ã«ã€ããŠèŠãŠãããŸãããããããŸã§ã¯Adam/AdaBeliefã®SGDã«å¯Ÿããåªäœæ§ãèŠãŠããŸããããããã§ãã£ãšAdaBeliefã®Adamã«å¯Ÿããåªäœæ§ãèŠããŸããåŸããæ¥ã§ããã®ãç¶ããŠããâ¢ã§ã¯ããã®ãŸãŸå€§ããé²ãã§ãã£ãŠæ¬²ããã®ã§çæ³ã®æŽæ°ã¯å€§ãããã®ã§ããã¯ãã§ããSGDã¯ããããæºãããŠããŸãããåçŽã«åŸé ã倧ããã®ã§æŽæ°ã倧ãããªããŸããäžæ¹ã§Adamã«ã€ããŠã§ãããAdamã¯å€§ããªåŸé ã®æã¯ãã€ã§ãã¹ããããµã€ãºãå°ããããŠããŸããããæŽæ°ã¯å°ãããªã£ãŠããŸãã¹ããŒãããŠã³ããŠããŸããŸããããããAdaBeliefã¯ãããã¡ãããšæ¹è¯ã§ããŠããŠãâ¢ã«ãããŠåŸé ã®å€åã¯ãªãåžžã«äžå®ã®æ¹åãåããŠããããã$s_t$ã¯å°ãããªãã¹ããããµã€ãºã¯å€§ãããªã£ãŠãããŸããAdaBeliefãAdamãããåªããŠãããã¿ãŒã³ãåºãŠããŠãããŸããã
| ãªããã£ãã€ã¶ãŒ | æŽæ° | è¯ãæªã |
|---|---|---|
| çæ³ | 倧 | - |
| SGD | 倧 | âïž |
| Adam | å° | â |
| AdaBelief | 倧 | âïž |
ãšããããšã§ãäžèš3ãã¿ãŒã³å šãŠã«ãããŠçæ³ã®æŽæ°ã瀺ããŠããã®ã¯AdaBeliefã ããšããããšã«ãªããŸããããããå ã«ç¶ããŠã¯å ·äœçãªé¢æ°ã§ãèŠãŠã¿ãŸãã
1.3.2 å®éã®é¢æ°äžã§ã®æ¯èŒ
ããã§ã¯äžå³ãçšããŸããäžå³ã¯é¢æ°$f(x,y)=|x|+|y|$ãªã®ã§ãããã±ã£ãšèŠãããããã¥ããã§ãã$f(x,y)=|x|+|y|$ã¯3Dã§è¡šããšäžå³ã®ããã«ãªããŸãã
ãããçäž(z軞äž)ããèŠäžãããŠã¿ãŸãããã
ããã§ãããããèŠããšãå ã»ã©èŠãå³ã«ãªããšããããšã§ãã
3Dã®å³ãé ã«å ¥ã£ãŠããã°äžå³ã¯ãããããããšæããŸããå³ã«ããéããããŽãŒã«ã§ããæå°å€ã瀺ããŠããŸããããã§$f(x,y)=|x|+|y|$ãæ¡çšããŠããã®ã¯ãå šç®æã§åŸé ã¯1ã-1ã®ãããããåããªãã®ã§åãããããããã§ããå®éã«äžå³ã®éç¢å°ã«åã£ãŠåã¹ãããã§ã®xæ¹åãyæ¹åã®åŸé ã衚ããšã
| Step | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| $g_{t,x}$ | 1 | 1 | 1 | 1 | 1 |
| $g_{t,y}$ | -1 | 1 | -1 | 1 | -1 |
ãšãªããŸããx軞ã¯äžå®ã§1ã§ãããy軞æ¹åã¯1ãš-1ãè¡ã£ããæ¥ããããŠããŸãããã®æãAdamã®$v_x$ãš$v_y$ ã¯ã©ããªãããšãããšãåŸé ã®å€§ããã®ç§»åå¹³åãªã®ã§æ¬¡ã®ããã«å šãŠ1ãšãªããŸããã€ãŸããAdamã«ãããŠã¯x軞ãy軞ãåã倧ããã®åŸé ãšãªããããå šäœã®åŸé ã¯45床ãåããŠäžå³ã®ãããªãžã°ã¶ã°ãäœã£ãŠããŸããšããããšã§ãã
| Step | 1 | 2 | 3 | 4 | 5 | |
|---|---|---|---|---|---|---|
| Adam | $v_{t,x}$ | 1 | 1 | 1 | 1 | 1 |
| $v_{t,y}$ | -1 | 1 | -1 | 1 | -1 |
äžæ¹ã§AdaBeliefã®$s_x$ãš$s_y$ ãã©ããªããã§ãããåŸé ã®ç§»åå¹³åãåŸé ã®æåŸ å€ã§ãããšä»®å®(ç§»åå¹³åã¯è¯ããæªããåŸé ãäºæž¬ããŠãããã®ãªã®ã§çŽæçã«ããã®ä»®å®ã¯çŽåŸã§ããŸãã)ããŸã眮ããŸãããããããšãå°ãåŒå€åœ¢ããããšã$s_t$ã¯$g_t$ã®åæ£ãšå矩ã§ããããšãå°ããŸãããã®ããšãçšãããšãxæ¹åã«ã¯å€åããªãã®ã§$s_{t,x}=0$ãšãªããyæ¹åã¯åæ£ã1ãªã®ã§$s_{t,y}=1$ãšãªããŸãã衚ã§è¡šãã°äžè¡šã§ããããã«ãã£ãŠã$s_{t,x}\lt s_{t,y}$ ãå®çŸããxæ¹åã«ã ãæãã£ããé²ãåŸé ã宿ããŸããã€ãŸããyæ¹åã®æ¯åãèš±ããªããããx軞ã«é²ãã§ããããšããããšã§ããAdaBeliefãAdamãããåªããŠãããšããããŸã1ã€åãããŸãããã
| Step | 1 | 2 | 3 | 4 | 5 | |
|---|---|---|---|---|---|---|
| AdaBelief | $s_{t,x}$ | 0 | 0 | 0 | 0 | 0 |
| $s_{t,y}$ | 1 | 1 | 1 | 1 | 1 |
æåŸã«ä»ã®é¢æ°ãã¡ã§ã®AdaBeliefã®åªäœæ§ãã¢ãã¡ãŒã·ã§ã³ã§èŠãŸããæåãå°ãããŠèŠã¥ãããããããŸãããã"ã¢ãŒã¡ã³ã¿ã ä»ãSGD"(ç·è²)ãš"Adam"(èµ€è²)ãš"AdaBelief(éè²)"ãæ¯ã¹ãŠããŸããäžå³ã§ã¯èš6ã€ã®é¢æ°ã®äŸã§ãããããã®2次å å¹³é¢ããã³3次å ã§ã®ãã©ã¡ãŒã¿ã®é²ã¿æ¹ã瀺ããŠããŸãããããã®é¢æ°ã§ãAdaBelief(éè²)ãäžçªæ©ãåæããŠããããšãããããŸããã¡ãªã¿ã«äžæ®µå·Šã¯å ã»ã©äŸã«ãšã£ã$f(x,y)=|x|+|y|$ã§ãAdaBeliefãäžçªæ©ãåæããŠããŸããã
2. å®éšçµæ
ç»ååé¡ãèšèªã¢ãã«ãããŠç»åçæã®3ã€ã§ã§ä»ãªããã£ãã€ã¶ãŒãšã®æ§èœæ¯èŒãè¡ãªã£ãŠããŸããããããã®ããŒã¿ã»ããã¯ä»¥äžã®ããã«ãªã£ãŠããŸãã
-
ç»ååé¡:
- CIFAR-10
- CIFAR-100
- ImageNet
-
èšèªã¢ãã«:
- Penn TreeBank
-
ç»åçæ:
- CIFAR-10
ããã§ã¯ããããã®çµæã«ã€ããŠèŠãŠãããŸãããã
2.1 ç»ååé¡
ãŸãã¯CIFAR-10/CIFAR-100ã«ã€ããŠèŠãŠãããŸãããšããã¯æ°ã¯200ã§ã¢ãã«ã¯VGG11/ResNet34/DenseNet121ãçšããŠããŸããäžå³ã¯ããããã®ãã¹ãããŒã¿ã«å¯Ÿãã粟床ã瀺ããŠãããäžæ®µ(a,b,c)ãCIFAR-10ã§äžæ®µ(d,e,f)ãCIFAR-100ã§ãããšããã¯150ã§ç²ŸåºŠã®ãžã£ã³ããããã®ã¯ãããã§åŠç¿çã$\frac{1}{10}$ã«èœãšããŠããããã§ããDenseNet121(CIFAR-100)ãæ©è²ã®SGDãšæ®æããŠããŸããããã以å€ã¯ãããã«ãããŠãéè²ã®AdaBeliefãé ã²ãšã€æããŠããŸãããããã¯åçŽã«ãããã§ãã
ç¶ããŠãImageNetã«ã€ããŠã§ããå®éšã«ã¯ResNet18ãçšããŠããŸãããšããã¯æ°ã¯90ã§ããããã§ãç»åèªèããã£ãŠããæ¹ã ãšããªãResNet18ïŒæ®éImageNetã®æ§èœè©äŸ¡ãªãResNet50ã§ã¯ãªããŠïŒããšæãæ¹ããããããããŸããããããã«é¢ããŠã¯è«æèè ã®èšç®ãªãœãŒã¹ãè¶³ããªãããã«å°åã®ResNet18ãçšããŠããããã§ã(Redditã®æžã蟌ã¿ãã)ãäžè¡šãèŠããšãAdaBeliefãSGD以å€ã®ä»ææ³ãèŠäºã«æã¡è² ãããŠããŸãããã ããSGDã«ã¯ããè² ããŠããŸãããã¯ãæ±åæ§èœã§ã¯SGD匷æµã§ããããããè«æèè ã¯ãAdaptiveç³»ææ³ãšSGDãšã®æ±åæ§èœã®å·®ãçž®ããããïŒããšããžãã£ãã«æããŠããŸãã(AdaBeliefãSGDã«è² ããŠããã®ã«å€ªåã«ããŠããã®ã¯å°ãã»ã³ãæããããŸããç¬)
2.2 èšèªã¢ãã«
äžå³ã¯Penn TreeBankããŒã¿ã»ããã«ãããèšèªã¢ãã«ã®ããŒãã¬ãã·ãã£(å°ããæ¹ãè¯ã)ã瀺ããŠããŸããå·Šãããããã1/2/3å±€LSTMãçšããå Žåã瀺ããŠããŸããèŠãã¥ããã§ãããäžæ¹ã§1å±€LSTMã§ã¯AdaBoundã«ãããã«è² ããŠããŸã£ãŠããŸãããã ã2å±€LSTM(äžå€®)ãš3å±€LSTM(å³)ã®æã«ä»ææ³ããã倧ããªå·®ã§é«ãæ§èœã瀺ããŠããŸããã
ã¡ãªã¿ã«ãèšèªã¢ãã«ã§ã¯ãªãã§ããGithubã§Transformerã«ãã翻蚳ã®çµæã1ã€ã ã瀺ããŠãããäžè¡šã®ããã«AdaBeliefãAdamWãšRAdamã«åã£ãŠããŸãã
2.3 ç»åçæ
æåŸã«GANãçšããç»åçæã§ããç»åçæã«ãããŠããªããã£ãã€ã¶ãŒã®æ§èœãæ¯èŒããŠãããšããã®ãå人çã«æ°é®®ã§ããããã«ãã£ãŠãªããã£ãã€ã¶ãŒã®å®å®æ§ã瀺ããŠããããã§ããããŒã¿ã»ããã¯CIFAR-10ã§ã¢ãã«ã¯WGAN(äžå³a)ãšWGAN-GP(äžå³b)ãçšããŠããŸããFIDã¯äœãæ¹ãããã®ã§ãç»åçæã«ãããŠãAdaBeliefãäžçªè¯ãããšãããããŸãã
ã€ãã§ã«PadamãšåŒã°ããææ³ãšãæ¯èŒããŠããŸããäžè¡šããã®çµæã§ããPadamã¯SGDãšAdamã®äžéã®ãããªãã®ã§ãAdamã®æŽæ°åŒã$\theta_{t+1}=\theta_t-\frac{\alpha}{v_t^p} m_t$ã«ãªã£ãŠããã ãã§ãããã®åŒã®éããã€ããŒãã©ã¡ãŒã¿$p$ã«ãã£ãŠAdamæã匷ããã®ãSGDæã匷ããã®ãã調æŽããŠããŸãã$p=\frac{1}{2}$ã§Adamã$p=1$ã§SGDãšãªããŸããPadamã®ãããã®ãã€ããŒãã©ã¡ãŒã¿ã§ãAdaBeliefãäžçªFIDãäœãã§ãããImageNetã¯èå¥ç²ŸåºŠã«ãªã£ãŠããŸãããPadamãSGDã£ãœã($p<\frac{1}{8}$)ãªããšAdaBeliefãšæ®æããã®ãããããŸããã¡ãªã¿ã«ãããŸã§ã®å®éšã§çšããŠããGANã®ã¢ãŒããã¯ãã£ã¯ä»¥äžã«ãªããŸããSpectral Normã¯äœ¿ã£ãŠããªãç°¡æœãªã¢ãŒããã¯ãã£ã§ããããã«FIDãå šäœçã«é«ãã«ãªã£ãŠããŸãã
SNGANã«ã€ããŠã®å®éšã瀺ããŠãããããã§ã¯ãã£ãããšäœãFIDã§AdaBeliefãäžçªè¯ãã§ããã(RAdamãšã¯çµæ§å å·®ã§ããã)
3. ãŸãšããšææ
ç»ååé¡ãèšèªã¢ãã«ãç»åçæã§åªäœæ§ã瀺ããAdaBeliefãæ±åæ§èœãåææ§ãå®å®æ§ã®ïŒã€ãå ŒãåããæåŸ ã®ãªããã£ãã€ã¶ãŒãšããŠãã®å ã©ãã»ã©äœ¿ãããããã«ãªãããšãŠãæ°ã«ãªããŸããäœ¿ãæ¹ãéåžžã«ç°¡åã§ãPyTorchã ãš
pip install adabelief-pytorch==0.1.0
from adabelief_pytorch import AdaBelief
optimizer = AdaBelief(model.parameters(), lr=1e-3, eps=1e-16, betas=(0.9,0.999), weight_decouple = True, rectify = False)
ããã§ããšã¯éåžžã®ãªããã£ãã€ã¶ãŒãšåæ§ã«äœ¿ããŸããTensorFlowãåæ§ã«ä»¥äžã§ãã
pip install adabelief-tf==0.0.1
from adabelief_tf import AdaBeliefOptimizer
optimizer = AdaBeliefOptimizer(learning_rate, epsilon=1e-12)
åã¿ã¹ã¯ã«å¯Ÿãã詳ãããã€ããŒãã©ã¡ãŒã¿ãªã©ãGithubã§ãŸãšããŠãããŠããã®ã§ãã¡ããåç §ããªããããã²è©ŠããŠã¿ãŠãã ããïŒ
Twitterã§äººå·¥ç¥èœã®ããšãä»åªäœã®èšäºãªã©ã玹ä»ããŠããŸãã®ã§@omiita_atiimoãã芧ãã ããã
ãã¡ããã©ããïŒ
- ã2020決å®çãã¹ãŒããŒããããããæé©åã¢ã«ãŽãªãºã -æå€±é¢æ°ããAdamãšãã¥ãŒãã³æ³-
- ã€ãã«Adamãè¶ ããïŒææ°ã®æé©åã¢ã«ãŽãªãºã ãRAdamã解説
- æ°ããªæŽ»æ§å颿°ãFReLUãèªç&解説ïŒ
- 2019幎æåŒ·ã®ç»åèªèã¢ãã«EfficientNet解説
- ç»åèªèã®å€§é©åœãAIçã§è©±é¡ççºäžã®ãVision Transformerãã解説ïŒ
4. åè
-
"AdaBelief Optimizer: Adapting Stepsizes by the Belief in Observed Gradients", Zhuang, J., Tang, T., Ding, Y., Tatikonda, S., Dvornek, N., Papademetris, X., Duncan, J. (NeurIPS'20)
åè«æ -
AdaBelief Optimizer, Toy examples
AdaBeliefãåŸé ãäžã£ãŠããã¢ãã¡ãŒã·ã§ã³ã®ãã¬ã€ãªã¹ã


















