当前位置: 首页 > wzjs >正文

深圳哪家公司做网站好短信广告投放软件

深圳哪家公司做网站好,短信广告投放软件,wap网站开发 费用,wordpress数据库连接不上之前学习了四种更新优化路径方法:SGD、Momentum、AdaGrad以及Adam。这篇文章我们将要了解权重的设定方法。 6.2 权重的初始值 6.2.1 权重初始值可以设为0吗? 神经网络学习中权重初始值极为重要,实际上,设定什么样的权重初始值往…

之前学习了四种更新优化路径方法:SGD、Momentum、AdaGrad以及Adam。这篇文章我们将要了解权重的设定方法。

6.2 权重的初始值

6.2.1 权重初始值可以设为0吗?

神经网络学习中权重初始值极为重要,实际上,设定什么样的权重初始值往往关系到神经网络学习的成功与否。本节会介绍权重初始值的设置的推荐值并通过实验确认。

后面我们会介绍抑制过拟合、提高泛化能力的技巧——权值衰减(weight decay)。 也就是通过减小权重参数的值为目的进行学习的方法。通过减小权重参数的值抑制过拟合发生。

如果想减小权重的值,初始值设为较小的值是最好的方法。而实际上,这之前权重初始值都是设定为0.01*np.random(10,100)这样的值,使用高斯分布生成的值乘以0.01后得到的值(标准差为0.01的高斯分布)

如果初始值设为0会不会最好呢?实际上,并不行,这样反而会导致神经网络无法学习。在误差反向传播法中,所有的权重值都会进行相同的更新。比如在两层神经网络中,假设第一层和第二层的权重为0,这样一来,正向传播时输入层权重为0,第二层神经元全部被传递相同的值,这就意味着反向传播时第二层权重全部进行相同的更新。因此,权重被更新为相同的值,并拥有了对称的值。这使得神经网络拥有许多不同的权重的意义丧失了。为了防止“权重均一化”,严格来说是为了瓦解权重的对称结构,必须随机生成初始值。

6.2.2 隐藏层的激活值分布

观察隐藏层的激活值(激活函数层的输出值,有的文献中会将层之间流动的数据称为“激活值”),的分布,可以获得很多启发。我们通过一个实验来说明,向一个五层神经网络(激活函数为sigmoid)传入随机生成的输入数据,用直方图绘制各层激活值的数据分布。部分代码如下:

import numpy as npimport matplotlib.pyplot as pltdef sigmoid(x):return 1 / (1 + np.exp(-x))x = np.random.randn(1000, 100) # 1000个数据
node_num = 100        # 各隐藏层的节点(神经元)数
hidden_layer_size = 5 # 隐藏层有5层
activations = {}      # 激活值的结果保存在这里
for i in range(hidden_layer_size):if i != 0:x = activations[i-1]w = np.random.randn(node_num, node_num) * 1z = np.dot(x, w)a = sigmoid(z)   # sigmoid函数activations[i] = a

这里假设神经网络有五层,每层100个神经元。然后用高斯分布随机生成1000个数据作为输入数据,并把他们传给五层神经网络。每层的激活值的结果保存在activations变量中。代码段中需要注意的是权重的尺度。虽然这次使用的是标准差为1的高斯分布,但实验的目的是通过改变这个尺度(标准差),观察激活值的分布如何变化。下面我们将保存在activations中的各层数据绘制成直方图。

代码如下:

# 绘制直方图
for i, a in activations.items():plt.subplot(1, len(activations), i+1)plt.title(str(i+1) + "-layer")plt.hist(a.flatten(), 30, range=(0,1))plt.show()

运行代码得到如下结果:

可以看到,各层的激活值呈偏向0和1的分布。sigmoid函数是S型函数,随着输出不断靠近0或1,导数的值逐渐接近0.因此偏向0和1的数据分布会造成反向传播中梯度的值不断变小,最后消失。这个问题称为梯度消失(gradient vanishing)。层次加深的深度学习中这个问题会更加严重。

下面将权重标准差设为0.01,进行相同的实验,实验代码只需要将设定权重初始值的地方换成下面的代码即可:

# w = np.random.randn(node_num, node_num) * 1w = np.random.randn(node_num, node_num) * 0.01

得到结果如下:

这次集中在0.5附近的分布,不像刚刚偏向0和1,所以不会有梯度消失的问题,但是激活值的分布有所偏向,说明在表现力上会有很大问题。为什么呢?因为如果多个神经元都输出几乎相同的值,那他们的存在就没有意义了。比如,如果100个神经元都输出几乎相同的值,那么也可以由1个神经元来表达基本i相同的事情。因此激活值在分布上有所偏向会出现“表现力受限”的问题。

接着我们使用Xavier Glorot等人论文中推荐的权重初始值。其为了使各层的激活值呈现出具有相同广度的分布,推导了合适的权重尺度,推导出的结论是:如果前一层的节点数为n,则初始值使用标准差为\frac{1}{\sqrt{n}}的分布。

使用该初始值后,前一层节点数越多,要设定为目标节点的初始值的权重尺度就越小。现在使用该初始值进行实验,实验代码只需要将设定权重初始值的地方换成如下内容即可:

node_num = 100 # 前一层的节点数
w = np.random.randn(node_num, node_num) / np.sqrt(node_num)

使用该初始值得到的结果如下:

可以看到,越是后面的层,图像越歪斜,但是呈现了比之前更有广度的分布,各层间传递的数据有适当的广度。所以sigmoid函数的表现力不受限制,有望进行更高效的学习。

http://www.dtcms.com/wzjs/29571.html

相关文章:

  • 莆田有哪些网站建设公司集客营销软件
  • 润商网站建设网络推广和网站推广
  • 作业网站的设计制作案例aso优化排名
  • 深圳网站制作哪家好域名注册查询系统
  • 家具网站建设案例今天的热点新闻
  • 婚纱外贸网站找培训机构的网站
  • win2003 做网站服务器可靠的网站优化
  • 济南微网站建设河南整站关键词排名优化软件
  • 怎么查网站制作空间有效期搜索引擎营销的手段包括
  • 郑州郑州网站建设河南做网站公司深圳seo优化公司搜索引擎优化方案
  • 网站建设 从用户角度开始广州网站排名推广
  • 网站备案后可以修改吗免费网站怎么做出来的
  • 智慧团建网站登录操作百度网站首页提交入口
  • 信阳 网站建设杭州seo营销公司
  • wordpress 多站点设置中国十大搜索引擎排名
  • 模块建站平台生成关键词的软件
  • 淘宝属于什么网站怎么做网络安全培训机构哪家好
  • 学校风采网站建设需求百度收录申请入口
  • 企业网站模板 首页大图怎样创建网页
  • 扬州市做网站外贸seo软件
  • 登录注册网站怎么做网站的优化
  • 自己这么做网站2023第二波疫情已经到来了
  • 网站建设电脑端手机端今日热点新闻事件简介
  • 界面设计好看的网站沈阳seo关键词排名
  • javaweb做网站的优点关键词优化seo排名
  • 广告传媒公司哪家好西安关键词seo
  • 新乐市做网站网址
  • 企业做网站要注意些什么杭州网站制作排名
  • 武汉优联网站建设厦门seo外包
  • wordpress采集微信公众号seo搜索引擎优化工资薪酬