美文网首页
深度学习之算法(Algorithm)

深度学习之算法(Algorithm)

作者: StarsOcean | 来源:发表于2018-06-09 19:38 被阅读0次

    背景:
    在讨论了损失函数后,已经将监督学习问题转化成最优化问题,现在就要考虑使用什么算法求解最优解,从而得到最优解情况下的模型参数,最优模型就基本得到了。

    一、有哪些最优化算法

    TensorFlow 有哪些最优化算法(优化器)

    image.png

    二、算法的对比

    然后参照莫烦大神的对比
    Stochastic Gradient Descent (SGD)
    Momentum 向下的惯性
    AdaGrad 一双不好走路的鞋子, 使得他一摇晃着走路就脚疼
    RMSProp
    Adam 一个下坡, 一双破鞋子, 功不可没

    三、学习率(learning rate)

    学习率决定了参数每次变化的幅度。学习率大了,更新速度快,但是不一定收敛;学习率小了,又很花时间。折中的方法,一开始的时候快点,随着迭代逐渐放慢,数学上用指数实现。

    # ----------------------------------指数衰减学习率---------------------------------------
    # exponential_decay(learning_rate, global_step, decay_steps, decay_rate, staircase=False, name=None)
    # decayed_learning_rate = learning_rate * decay_rate ^ (global_step / decay_steps)   ,(If the argument `staircase` is `True)
    
    global_step = tf.Variable(0)
    learning_rate = tf.train.exponential_decay(0.1, global_step, decay_steps=1000, decay_rate=0.96, staircase=True)  #staircase 楼梯。
    

    四、code

    # ----------------------------------指数衰减学习率---------------------------------------
    # exponential_decay(learning_rate, global_step, decay_steps, decay_rate, staircase=False, name=None)
    # decayed_learning_rate = learning_rate * decay_rate ^ (global_step / decay_steps)   ,(If the argument `staircase` is `True)
    
    global_step = tf.Variable(0)
    learning_rate = tf.train.exponential_decay(0.1, global_step, decay_steps=1000, decay_rate=0.96, staircase=True)    #staircase 楼梯。
    
    # ----------------------------------算法---------------------------------------
    opt = tf.train.GradientDescentOptimizer(learning_rate = learning_rate).minimize(loss)
    
    # 用AdamOptimizer,参数如下,迭代很慢
    # opt = tf.train.AdamOptimizer(learning_rate = 0.1).minimize(loss)
    # tf.train.AdamOptimizer.__init__
    # (learning_rate=0.001, beta1=0.9, beta2=0.999, epsilon=1e-08, use_locking=False, name='Adam')
    

    相关文章

      网友评论

          本文标题:深度学习之算法(Algorithm)

          本文链接:https://www.haomeiwen.com/subject/zguteftx.html