AI學習筆記——Tensorflow中的Optimizer(優化器)
在使用Tensorflow搭建神經網路的時候,最後一步總會用到tf.train.XxxOptimizer(). 然後會有很多Optimizer()如下圖
其實這些Optimizer 都是優化演算法下面重點介紹幾個常見的
1. Gradient Decent
這是最基礎的梯度下降演算法,更新權重W,不多解釋。
W += - α * dx
其中 α是learning rate(學習速率)。我們可以把下降的損失函式看成一個機器人,由於在下降的時候坡度不是均勻的,機器人會左右搖擺,所以下降速度會比較慢,有時候遇到區域性最優,還可能在原地徘徊好長時間。
2. Momentum
顧名思義這個優化演算法實際上給了一個動量,讓機器人下降的的時候帶一個慣性,下降的速度就加快了。
演算法如下:
m = b1*m - α * dx
W += m
3. AdaGrad
這個演算法是通過動態改變學習速率,提高下降速度,相當於給機器人穿上一個左右側滑有阻力的鞋子,讓它只好沿著正確的方向下滑。
v = dx^2
W += -(α/sqrt(v)) * dx
4. RMSProp
這個演算法相當於在AdaGrad中引入了Momentum的慣性
v = b1 * v + (1-b1)*dx^2
W += -(α/sqrt(v)) * dx
但是RMSprop缺少了Momentum的變數m
5. Adam
Adam是目前用得最廣的優化演算法,它結合了AdaGrad和Momentum的優點(所以叫才Adam嘛)
m = b1m + (1-b1)dx
v = b2v + (1-b2)dx^2
W += -(α*m/sqrt(v)) * dx
這個演算法相當於給機器人一個慣性,同時還讓它穿上了防止側滑的鞋子,當然就相當好用用啦。
給大家看看不同優化演算法下降速度的差距
文章首發steemit.com 為了方便牆內閱讀,搬運至此,歡迎留言或者訪問我的Steemit主頁
相關文章
- TensorFlow 學習筆記筆記
- 深度學習的優化器(各類 optimizer 的原理、優缺點及數學推導)深度學習優化
- TensorFlow學習筆記(二)筆記
- tensorflow學習筆記3筆記
- tensorflow學習筆記——DenseNet筆記SENet
- 斜率優化學習筆記優化筆記
- TensorFlow Java API 學習筆記JavaAPI筆記
- Tensorflow學習筆記No.7筆記
- Tensorflow學習筆記No.8筆記
- Tensorflow學習筆記No.10筆記
- Tensorflow學習筆記No.11筆記
- Mysql 優化(學習筆記二十)MySql優化筆記
- TensorFlow筆記(5)——優化手寫數字識別模型之優化器筆記優化模型
- TensorFlow筆記-07-神經網路優化-學習率,滑動平均筆記神經網路優化
- MySQL優化學習筆記之explainMySql優化筆記AI
- MySQL優化學習筆記之索引MySql優化筆記索引
- Android卡頓優化學習筆記Android優化筆記
- AI學習筆記AI筆記
- 學習筆記:深度學習中的正則化筆記深度學習
- tensorflow學習筆記--embedding_lookup()用法筆記
- AI學習筆記之——如何理解機器學習(Machine Learning)AI筆記機器學習Mac
- Scikit-Learn 與 TensorFlow 機器學習實用指南學習筆記2 — 機器學習的主要挑戰機器學習筆記
- 機器學習框架ML.NET學習筆記【6】TensorFlow圖片分類機器學習框架筆記
- 強化學習-學習筆記14 | 策略梯度中的 Baseline強化學習筆記梯度
- Nginx效能優化(學習筆記二十五)Nginx優化筆記
- 機器學習筆記——特徵標準化機器學習筆記特徵
- TensorFlow Hub:探索機器學習元件化機器學習元件化
- 機器學習學習筆記機器學習筆記
- NginxPHP配置與優化(學習筆記二十二)NginxPHP優化筆記
- Tensorflow學習筆記: 變數及共享變數筆記變數
- 中斷的學習筆記筆記
- 機器學習整合學習—Apple的學習筆記機器學習APP筆記
- 強化學習筆記強化學習筆記
- tensorflow學習筆記keras(5)------北京大學 曹健筆記Keras
- 機器學習筆記機器學習筆記
- 【學習筆記】初次學習斜率最佳化的程式碼及筆記筆記
- Scikit-Learn 與 TensorFlow 機器學習實用指南學習筆記1 — 機器學習基礎知識簡介機器學習筆記
- TensorFlow筆記(1)——TensorFlow中的相關基本概念筆記