• vcjmhg
    2021-11-05
    不全是基于反向传播的,正常来说训练权重的方法有两种: 第一种是基于数值微分(如梯度下降算法),这种方式的优点就是实现简单便于编写代码不容易出错,但缺点在于时间复杂高,计算比较耗时 第二种是基于反向传播,它优点是效率高计算速度快,但缺点在于实现起来比较复杂,容易出错。 因此在实际工程应用中,会比较数值微分和反向传播的结果(两者的的结果应该非常接近),以确定我们书写的反向传播逻辑的正确性,这样的操作也被称为梯度确认。

    作者回复: 你好,vcjmhg,感谢你的留言。👍🏻👍🏻👍🏻,每次都非常正确,厉害^^。

    共 3 条评论
    25
  • 官
    2021-11-05
    个人觉得不全是,比如在验证集和测试集测试模型不存在训练的过程,应该也就不存在反向传播吧?

    作者回复: 你好,官。谢谢你的留言。你说的是正确的,只有在训练时才会有反向传播。 除此之外,主流的深度学习模型是基于反向传播和梯度下降的,但是一些非梯度下降的二阶优化算法也是存在的,比如拟牛顿法等。不过计算代价非常大,用的就比较少了。

    
    8
  • Chloe
    2022-01-30
    赞这个总结“模型通过梯度下降的方式,在梯度方向的反方向上不断减小损失函数值,从而进行学习。”

    作者回复: ^^

    
    1
  • piboye
    2023-06-29 来自广东
    这个前馈网络就是MLP 吧?

    作者回复: 对,是的,就是MLP

    
    
  • 小平的IO
    2022-08-17 来自北京
    这个图的输入层是4维的吧

    作者回复: 你好,感谢你的留言。 对 batch, height, width, channel

    
    
  • 北方剑圣
    2022-02-23
    链式法则部分似乎有个公式每显示出来,损失函数H的表示那里
    
    1
  • Geek_9f1b33
    2021-12-05
    不太理解,深度学习不都是反向传播吗? 通过误差反向传播迭代更新
    
    1
  • John(易筋)
    2022-08-05 来自广东
    方老师强调的要点摘录: 模型就是通过不断地减小损失函数值的方式来进行学习的。让损失函数最小化,通常就要采用梯度下降的方式,即:每一次给模型的权重进行更新的时候,都要按照梯度的反方向进行。 模型通过梯度下降的方式,在梯度方向的反方向上不断减小损失函数值,从而进行学习。
    
    
  • 亚林
    2022-05-18
    不是。参考一下百科: 反向传播算法和梯度下降法由于其实现简单,与其他方法相比能够收敛到更好的局部最优值而成为神经网络训练的通行方法。但是,这些方法的计算代价很高,尤其是在训练深度神经网络时,因为深度神经网络的规模(即层数和每层的节点数)、学习率、初始权重等众多参数都需要考虑。扫描所有参数由于时间代价的原因并不可行,因而小批量训练(mini-batching),即将多个训练样本组合进行训练而不是每次只使用一个样本进行训练,被用于加速模型训练[49]。而最显著地速度提升来自GPU,因为矩阵和向量计算非常适合使用GPU实现。但使用大规模集群进行深度神经网络训练仍然存在困难,因而深度神经网络在训练并行化方面仍有提升的空间。
    
    