首页 > 其他分享 >激活函数---->反向传播----》更新参数----》初始化

激活函数---->反向传播----》更新参数----》初始化

时间:2022-11-14 17:01:33浏览次数:43  
标签:初始化 函数 relu ---- 神经网络 反向 激活

神经元包含了非线性计算,用g()来表示,非线性计算由激活函数来实现,激活函数统一表示成g(z),常见的激活函数:

1、sigmoid函数

如果神经元采用sigmoid函数作为激活函数,那么单个神经元实现的功能就相当于逻辑回归。

2、tanh函数

tanh函数是双曲正切函数

3、relu 函数

是一种流行的激活函数,它是分段函数,当z>0时,a=z;当z<=0时,a=0;

relu函数的最大特点就是在z>0时梯度恒为1,保证了网络训练时梯度下降的速度。但是它的缺点是在z<=0时;梯度为0;此时神经元不工作。实际应用中证明这种情况影响不大

4、leaky relu 函数

 是relu函数的改进,区别仅在于当z<=0时,a不恒为0,而是有一个小梯度,此处为0.01,可以更改,这样做的好处是始终保持梯度不为0;

5、如何选择合适的激活函数???

      首先对于 sigmoid 和 tanh 函数:

对于隐藏层一般是tanh更好一些,因为tanh取值范围在【-1,1】,隐藏层的输出被限定在【-1,1】,可以看成是在0值附近分布,均值为0;这样从隐藏层到输出层,数据达到了归一化(均值为0)的效果。

对于输出层的激活函数,因为二分类问题的输出取值为{0,1},所以一般会选择sigmoid函数。

      但是,两个函数有个缺点:在|z|很大时,激活函数的斜率很小,梯度下降算法会运行得很慢。

为了弥补这个缺点出现了relu 激活函数,在隐藏层,选择relu函数作为激活函数能够保证z>0时梯度总为1,从而提高梯度下降算法运算速度;

leaky relu 是为了弥补当z<0时,relu函数梯度为0的缺点

  !!!:如果是预测问题而不是分类问题,在输出是连续值的情况下,输出层的激活函数可以使用线性函数,如果输出值恒为正值,也可以使用relu激活函数

6、非线性激活函数

7、反向传播

神经网络经过前向传播之后,就可以计算损失函数。神经网络二分类与逻辑回归一样采用交叉熵损失

计算完交叉熵损失之后就可以进行反向传播。反向传播是对神经网络输出层,隐藏层的参数W和b计算偏导数的过程。

8、更新参数

神经网络完成反向传播之后,得到各层的参数梯度dW,db。然后根据梯度下降算法对参数W和b进行更新;

~~~~~~~~至此,经过前向传播,反向传播,更新参数之后,神经网络的一次训练就算完成了。经过N次迭代训练,参数W,b会不断更新,并接近全局最优解。

9、初始化

主要是针对神经网络中 W,b 的初始化,在逻辑回归中,W,b一般全部初始化为0即可,但是神经网络中不行。W 一般不会初始化为0,可以进行随机初始化;但是,偏置项b一般可以初始化为0;

 

标签:初始化,函数,relu,----,神经网络,反向,激活
From: https://www.cnblogs.com/ar-boke/p/16889519.html

相关文章

  • zabbix4.4搭建
    yuminstall-yhttpdsystemctlstarthttpd 访问http://172.29.128.54/若是nginx,配置文件为:yuminstall-yphp* cat1.php<?phpphpinfo();?>......
  • 大坝安全监测解决方案
    大坝安全监测解决方案实现大坝远程在线变形监测、位移监测,压力监测、渗流监测等功能,主要用于水库自动化监测,利用前端遥测终端采集大坝各项安全数据特征,通过运营商4G/3G/2G......
  • Symfony2在Nginx下的配置方法图文教程
    来源: https://www.xp.cn/b.php/79706.html Symfony2在Nginx下的配置方法图文教程本文详细讲述了Symfony2在Nginx下的配置方法。分享给大家供大家参考,具体如下:网上......
  • window下的nvm软件Node Version Manage
    windownvm链接:https://github.com/coreybutler/nvm-windows手动安装链接:https://github.com/coreybutler/nvm-windows/wiki#manual-installationnvm官方仅支持linux和os......
  • 4.go中的变量
    1.变量表示内存中的一个存储区域2.该区域有自己的名称(变量名)和类型(数据类型)3.使用的三种方式 指定变量类型,声明后若不赋值,使用默认值根据值自行判定变量类型(类型推导......
  • 【Azure Redis 缓存】Linux VM使用6380端口(SSL方式)连接Azure Redis (redis-cli & st
    本文介绍使用LinuxVM如何连接到AzureRedis,通过SSL方式(6380)或非SSL方式(6379)问题描述在AzureRedis的官方文档中,介绍了在Windows下,如何通过redis-cli.exe连接Redi......
  • 创建关机、睡眠快捷方式
    1.右键,创建快捷方式——填写如下内容——写“睡眠”,下次双击即可Rundll32.exePowrprof.dll,SetSuspendStateSleep关机同上,内容如下shutdown-s-t3......
  • nginx SSL证书配置
    #SSL-INFO-START#SSL证书#公钥+私钥ssl_certificatessl/fullchain.pem;#私钥ssl_certificate_keyssl/privkey.pem;#兼容性ssl_protocolsTLSv1TL......
  • Mongodb集群搭建
    mongodb的集群搭建方式主要有三种,主从模式,Replicaset模式,sharding模式,三种模式各有优劣,适用于不同的场合,属Replicaset应用最为广泛,主从模式现在用的较少,sharding模式最......
  • 第八章-XXE漏洞
    第一节XML快速入门1.1XML介绍及用途XML被设计用来传输和存储数据。XML文档形成了一种树结构,它从"根部"开始,然后扩展到"枝叶"。XML允许创作者定义自己的标签和自己的......