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主頁
相關文章
- 斜率優化學習筆記優化筆記
- mysql優化學習筆記MySql優化筆記
- 深度學習的優化器(各類 optimizer 的原理、優缺點及數學推導)深度學習優化
- TensorFlow學習筆記(二)筆記
- tensorflow學習筆記3筆記
- Tensorflow學習筆記一筆記
- Tensorflow學習筆記二筆記
- Mysql 優化(學習筆記二十)MySql優化筆記
- oracle 學習筆記---效能優化學習(1)Oracle筆記優化
- AI學習筆記AI筆記
- 學習筆記:深度學習中的正則化筆記深度學習
- TensorFlow Java API 學習筆記JavaAPI筆記
- tensorflow學習筆記——DenseNet筆記SENet
- Tensorflow學習筆記No.10筆記
- Tensorflow學習筆記No.11筆記
- Tensorflow學習筆記No.8筆記
- Tensorflow學習筆記No.7筆記
- TensorFlow筆記-07-神經網路優化-學習率,滑動平均筆記神經網路優化
- MySQL優化學習筆記之索引MySql優化筆記索引
- MySQL優化學習筆記之explainMySql優化筆記AI
- Android卡頓優化學習筆記Android優化筆記
- HTTPS 效能優化學習筆記HTTP優化筆記
- ORACLE學習筆記--效能優化FAQ。Oracle筆記優化
- oracle 學習筆記---效能優化(1)Oracle筆記優化
- oracle 學習筆記---效能優化(2)Oracle筆記優化
- oracle 學習筆記---效能優化(3)Oracle筆記優化
- oracle 學習筆記---效能優化(4)Oracle筆記優化
- oracle 學習筆記---效能優化(5)Oracle筆記優化
- oracle 學習筆記---效能優化(6)Oracle筆記優化
- oracle 學習筆記---效能優化(7)Oracle筆記優化
- TensorFlow筆記(5)——優化手寫數字識別模型之優化器筆記優化模型
- real-world performance學習筆記之 optimizer exposeORM筆記
- MySql 學習筆記三:常用SQL優化MySql筆記優化
- 【筆記】oracle 優化器筆記Oracle優化
- Oracle效能優化視訊學習筆記-效能優化概念(一)Oracle優化筆記
- Oracle效能優化視訊學習筆記-效能優化概念(二)Oracle優化筆記
- MySql 學習筆記一:SQL語句優化MySql筆記優化
- Nginx效能優化(學習筆記二十五)Nginx優化筆記