给定一个只含有一层隐藏层的感知机模型,给定一个小批量样本X∈Rn×dX\in\mathbb{R}^{n\times d}X∈Rn×d,其批量大小为n,输入个数为d。感知机隐藏单元个数为h。记隐藏层的输出(也称为隐藏层变量或隐藏变量)为H,有H∈Rn×hH\in\mathbb{R}^{n\times h}H∈Rn×h。因为隐藏层和输出层均是全连接层,可以设隐藏层的权重参数和偏差参数分别为Wh∈Rd×hW_h\in\mathbb{R}^{d\times h}Wh​∈Rd×h和bh∈R1×hb_h\in\mathbb{R}^{1\times h}bh​∈R1×h,输出层的权重和偏差参数分别为Wo∈Rh×qW_o\in\mathbb{R}^{h\times q}Wo​∈Rh×q和bo∈R1×qb_o\in\mathbb{R}^{1\times q}bo​∈R1×q。

先来看一种含单隐藏层的多层感知机的设计。其输出O∈Rn×qO\in \mathbb{R}^{n\times q}O∈Rn×q的计算为:H=XWh+bhH=XW_h+b_hH=XWh​+bh​O=HWo+boO=HW_o+b_oO=HWo​+bo​也就是将隐藏层的输出直接作为输出层的输入。如果将以上两个式子联立起来,可以得到O=(XWh+bh)Wo+bo=XWhWo+bhWo+boO=(XW_h+b_h)W_o+b_o=XW_hW_o+b_hW_o+b_oO=(XWh​+bh​)Wo​+bo​=XWh​Wo​+bh​Wo​+bo​从联立后的式子可以看出,虽然神经网络引入了隐藏层,却依然等价于一个单层神经网络,其中输出层的权重参数为WhWoW_hW_oWh​Wo​,偏差参数为bhWo+bob_hW_o+b_obh​Wo​+bo​。

不难发现,即使再添加更多的隐藏层,以上设计依然只能与仅含输出层的单层神经网络等价。

上述问题的根源在于全连接层只是对数据做仿射变换,而多个仿射变换的叠加仍然是一个仿射变换。解决问题的一个方法是引入非线性变换,例如对隐藏变脸使用按元素运算的非线性函数进行变换,然后再作为下一个全连接层的输入。这个非线性函数被称为激活函数。

常用的激活函数有ReLU函数,sigmoid函数和tanh函数。

神经网络为什么需要激活函数相关推荐

  1. 基于Python实现神经网络中的激活函数图像绘制

    神经网络中的激活函数图像绘制 在深度学习中,常用的激活函数主要有:Sigmoid函数,Tanh函数,ReLU函数等. 图像绘制效果: 图像绘制代码下载链接:激活函数绘制.py Sigmoid函数 该函 ...

  2. 深度学习:神经网络中的激活函数

    http://blog.csdn.net/pipisorry/article/details/71157037 激活函数 神经网络神经元中,输入的 inputs 通过加权,求和后,还被作用了一个函数, ...

  3. 神经网络常见的激活函数汇总

    1.激活函数的作用 在神经网络中,激活函数的作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好地解决较为复杂的问题. 比如在下面的这个问题中: 如上图所示,这是一个简单的线性分类问题,只需要 ...

  4. 神经网络中的激活函数与损失函数深入理解推导softmax交叉熵

    神经网络中的激活函数与损失函数&深入理解softmax交叉熵 前面在深度学习入门笔记1和深度学习入门笔记2中已经介绍了激活函数和损失函数,这里做一些补充,主要是介绍softmax交叉熵损失函数 ...

  5. 完胜ReLU!斯坦福的神经网络采用这种激活函数,竟高保真还原各种图像视频

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 一个来自斯坦福团队研究的.名为SIREN的简单神经网络结构,刚引爆了机器学习圈. 不为别的,实在是因为它展现出来的音/视频及图像复原效果,太 ...

  6. 神经网络中的激活函数的作用和选择

    如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层输出都是上层输入的线性函数,很容易验证,无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是 ...

  7. 神经网络中的激活函数的比较

    常见激活函数 神经网络中,常见的激活函数有以下几种: 1. sigmoid f(x)=11+e−xf(x) = \frac{1}{1+e^{-x}}f(x)=1+e−x1​ f′(x)=f(x)(1− ...

  8. 神经网络激活函数对数函数_神经网络中的激活函数

    神经网络激活函数对数函数 Activation function, as the name suggests, decides whether a neuron should be activated ...

  9. 神经网络中常用激活函数总结

    好久没写博客和学习笔记了,感觉最近总是没有学习状态呀,就很烦.虽说确实是有在看一些视频课程但是总是精神有力,每天过得也好快总感觉啥都没学时间就过去了阿西.还是得逼最近写写笔记才能不那么恍惚.前几天开始 ...

最新文章

  1. eclipse java debug 日志输出到文件里面
  2. Task中的异常处理
  3. Atitit 实现java的linq 以及与stream api的比较
  4. 神经网络的分类准确率到底是一个什么物理量
  5. Oracle常见操作汇总(转)
  6. 485通讯线是几芯的_小令老师说门禁| 为什么485门禁必然会取代韦根?
  7. Libevent 事件循环(1)
  8. 【剑指Offer】15顺时针打印矩阵
  9. word域代码 乱序
  10. linux下sctp的安装、使用与编程
  11. 旧主机改NAS最终成功的过程
  12. 双远心镜头原理及选型方法(二)
  13. win7 Qt5.5安装Qwt 6.1.2
  14. 【备战春招/秋招系列】程序员的简历就该这样写
  15. matlab读取jra55数据,[转载][原创]灰色关联分析及Matlab程序实现
  16. opencv自定义从一幅图片截取特定区域函数cvExtractRegion
  17. 使用U-Net 进行图像分割
  18. 信息与通信的数学基础——Laplace变换
  19. 海信电视升级鸿蒙系统,海信电视陆续启动聚好看升级计划
  20. 怎么把科学计算机的fix弄掉,计算器上的fix怎么去掉

热门文章

  1. devexpress 主从表中从主、从表行列值的获得
  2. 2004-11-3 + 扩展Forms验证
  3. 在CentOS上安装NodeJS_v14.x
  4. Nginx根据路径设置静态资源
  5. 容器编排技术 -- 了解Kubernetes对象
  6. Linux中Tomcat 服务的搭建
  7. docker之阿里云centos 7.x 启动容器报错处理办法
  8. ubuntu 16.04 Nginx源码部署安装
  9. 【记录】启用Windows 10下的linux子系统
  10. 【踩坑记录】mybatis-plus的insert方法,默认会生成一个uuid作为主键,导致类型不一致,存入数据库报错