• 卷积神经网络的应用实例,卷积神经网络可解释性


    神经网络激活函数与损失函数的作用

    谷歌人工智能写作项目:神经网络伪原创

    深度学习之损失函数与激活函数的选择

    深度学习之损失函数与激活函数的选择在深度神经网络(DNN)反向传播算法(BP)中,我们对DNN的前向反向传播算法的使用做了总结文案狗。其中使用的损失函数是均方差,而激活函数是Sigmoid。

    实际上DNN可以使用的损失函数和激活函数不少。这些损失函数和激活函数如何选择呢?以下是本文的内容。MSE损失+Sigmoid激活函数的问题先来看看均方差+Sigmoid的组合有什么问题。

    回顾下Sigmoid激活函数的表达式为:函数图像如下:从图上可以看出,对于Sigmoid,当z的取值越来越大后,函数曲线变得越来越平缓,意味着此时的导数σ′(z)也越来越小。

    同样的,当z的取值越来越小时,也有这个问题。仅仅在z取值为0附近时,导数σ′(z)的取值较大。在均方差+Sigmoid的反向传播算法中,每一层向前递推都要乘以σ′(z),得到梯度变化值。

    Sigmoid的这个曲线意味着在大多数时候,我们的梯度变化值很小,导致我们的W,b更新到极值的速度较慢,也就是我们的算法收敛速度较慢。那么有什么什么办法可以改进呢?

    交叉熵损失+Sigmoid改进收敛速度Sigmoid的函数特性导致反向传播算法收敛速度慢的问题,那么如何改进呢?换掉Sigmoid?这当然是一种选择。

    另一种常见的选择是用交叉熵损失函数来代替均方差损失函数。每个样本的交叉熵损失函数的形式:其中,?为向量内积。

    这个形式其实很熟悉,在逻辑回归原理小结中其实我们就用到了类似的形式,只是当时我们是用最大似然估计推导出来的,而这个损失函数的学名叫交叉熵。

    使用了交叉熵损失函数,就能解决Sigmoid函数导数变化大多数时候反向传播算法慢的问题吗?我们来看看当使用交叉熵时,我们输出层δL的梯度情况。

    对比一下均方差损失函数时在δL梯度使用交叉熵,得到的的δl梯度表达式没有了σ′(z),梯度为预测值和真实值的差距,这样求得的Wl,bl的梯度也不

  • 相关阅读:
    皮革行业S2B2C系统网站数据化智能分析,驱动运营快速增长
    vue中的数据依赖如何追踪收集
    微信小程序替换双重循环渲染中报错图片
    洛谷P5732 【深基5.习7】杨辉三角题解
    Linux高并发连接数解决
    科技云报道:发布分布式云战略,中国电子云吹响冲锋号角
    gym强化学习环境搭建
    CS50_AI_2_Uncertainty 概率 (Python实现 - 英文注释)
    HTML5期末大作业:个人生活网站设计——嘉尔明星(7页)带特效带音乐
    Ts内置类型---下
  • 原文地址:https://blog.csdn.net/aifamao6/article/details/127095334