TensotFlow 应用实例:07-优化器 Optimizer 介绍

来源:互联网 发布:软件社区 编辑:程序博客网 时间:2024/06/05 21:53

TensotFlow 应用实例:07-优化器 Optimizer 介绍

本文是我在学习TensotFlow 的时候所记录的笔记,共享出来希望能够帮助一些需要的人。

本文其实主要是在介绍什么是优化器以及常用的优化器,由于时间有限,文本就不在处理,直接贴在代码段当中,希望理解。

import tensorflow as tf# optimizer# 优化器 Optimizer 加速神经网络训练 (深度学习) Speed up neural network training process (deep learning)# SGD Stochastic Gradient Descent# Stochastic adj. [数] 随机的;猜测的# 随机梯度下降# Momentum, 惯性原则:在走的路上动手脚,将平地换成一个下坡,就可以避免走很多弯路# m = b1 * m - Learning rate * dx# W += m# AdaGrad, 错误方向的阻力:这种方式是在学习率上动动手脚,给他一双特殊的鞋子,使得他在走弯路的时候会不舒服# 这样他就会走你想让他走的路了# v += dx^2# W += -Learning rate * dx / √V (v的开方)# RMSProp# 结合以上两种方式, 但是并没有把Momentum完全合并,还缺少了Momentum的 【- Learning rate * dx】# v = b1 * v + (1 - b1) * dx^2# W += -Learning rate * dx / √V (v的开方)# Adam 是补上RMSProp中缺少的Momentum的 【- Learning rate * dx】# m = b1 * m - Learning rate * dx ---> Momentum# W += -Learning rate * dx / √V (v的开方) --->  AdaGrad# 实验表明,大多数时候使用Adam都能又快又好的达到目标# AlphaGo 使用的是 RMSPropOptimizer# 机器学习也就是从一个cost比较大的地方走到一个cost最小的地方# 初学者的使用GradientDescent基本上级就可以了

本文代码GitHub地址 tensorflow_learning_notes