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

深圳市网站建设_网站建设公司_测试工程师_seo优化

网站文化制度建设,discuz应用中心打不开,平面设计图网站有哪些?,温江网站制作关于神经网络权重初始值的设置的研究一、权重初始值二、权重初始值会影响隐藏层的激活值分布三、Xavier初始值四、He初始值五、基于MNIST数据集的权重初始值的比较一、权重初始值 权值衰减—抑制过拟合、提高泛化能力。 所谓权值衰减#xff0c;即#xff0c;以减小权重参数… 关于神经网络权重初始值的设置的研究一、权重初始值二、权重初始值会影响隐藏层的激活值分布三、Xavier初始值四、He初始值五、基于MNIST数据集的权重初始值的比较一、权重初始值 权值衰减—抑制过拟合、提高泛化能力。 所谓权值衰减即以减小权重参数的值为目的进行学习。 所以说人们一开始就想把权重初始值设置的比较小。 那如果权重初始值全设为0或者一样的值呢那可不行如果输入层权重为0那么第二层神经元都到的全是0如果第二层是乘法节点拿上图举例子xy0所以返回来的两个梯度是一个样的。就没意义了。所有权重共同进退有何意义权重共同进退术语叫做权重均一化。 二、权重初始值会影响隐藏层的激活值分布 先看斯坦福大学做的一个实验 向一个5层神经网络传入随机生成的输入数据用直方图绘制各层激活值的数据分布。 实验目的是通过改变标准差观察激活值的分布如何变化。 实验代码 这个实验各层激活值的结果保存在activations变量中。 import numpy as np import matplotlib.pyplot as pltdef sigmoid(x):return 1 / (1 np.exp(-x))def ReLU(x):return np.maximum(0, x)def tanh(x):return np.tanh(x)input_data np.random.randn(1000, 100) # 1000个数据 node_num 100 # 各隐藏层的节点神经元数 hidden_layer_size 5 # 隐藏层有5层 activations {} # 激活值的结果保存在这里x input_datafor i in range(hidden_layer_size):if i ! 0:x activations[i-1]# 改变初始值进行实验w np.random.randn(node_num, node_num) * 1# w np.random.randn(node_num, node_num) * 0.01# w np.random.randn(node_num, node_num) * np.sqrt(1.0 / node_num)# w np.random.randn(node_num, node_num) * np.sqrt(2.0 / node_num)a np.dot(x, w)# 将激活函数的种类也改变来进行实验z sigmoid(a)# z ReLU(a)# z tanh(a)activations[i] z# 绘制直方图 for i, a in activations.items():plt.subplot(1, len(activations), i1)plt.title(str(i1) -layer)if i ! 0: plt.yticks([], [])# plt.xlim(0.1, 1)# plt.ylim(0, 7000)plt.hist(a.flatten(), 30, range(0,1)) plt.show() 首先来看使用的权重初始值是标准差为1的高斯分布时激活值的分布w np.random.randn(node_num, node_num) * 1。 再看使用的权重初始值是标准差为0.01的高斯分布时激活值的分布 看到使用的权重初始值是标准差为1的高斯分布时激活值偏向0和1的分布。这会导致随着输出不断靠近0或1导数的值逐渐接近0反向传播中梯度的值不断变小最后会消失。这就是所谓的梯度消失。 使用的权重初始值是标准差为0.01的高斯分布时不会发生梯度消失但是激活值分布偏向0.5说明表现力有大问题。如果100个神经元输出都几乎相同那我可以用1个神经元表达100个神经元干的事。术语所谓的表现力受限问题。 三、Xavier初始值 Xavier提出如果前一层的节点数为n则初始值使用标准差为根号n分之一的分布。 代码里就这句话w np.random.randn(node_num, node_num) * np.sqrt(1.0 / node_num) 效果如下呈现了比之前更有广度的分布。 Xavier的初始值是以激活函数是线性函数为前提而推导得出。 四、He初始值 Kaiming He提出当前一层的节点数为n时He的初始值使用标准差为根号(n分之2)的高斯分布。 我们研究一下激活函数用ReLU时不同权重初始值下每一层激活值分布的区别。 权重初始值为He初始值时 权重初始值为Xavier时 权重初始值为标准差为0.01的高斯分布时 明显ReLU更适合用He初始值。因为分布广度好表现力好。 初始值为Xavier时随层次加深往0那边偏我猜如果加深网络会出现梯度消失现象。 五、基于MNIST数据集的权重初始值的比较 这个对比揭示了很多时候权重初始值的设定关系到神经网络的学习能否成功。 代码 import os import syssys.path.append(os.pardir) # 为了导入父目录的文件而进行的设定 import numpy as np import matplotlib.pyplot as plt from dataset.mnist import load_mnist from common.util import smooth_curve from common.multi_layer_net import MultiLayerNet from common.optimizer import SGD# 0:读入MNIST数据 (x_train, t_train), (x_test, t_test) load_mnist(normalizeTrue)train_size x_train.shape[0] batch_size 128 max_iterations 2000# 1:进行实验的设置 weight_init_types {std0.01: 0.01, Xavier: sigmoid, He: relu} optimizer SGD(lr0.01)networks {} train_loss {} for key, weight_type in weight_init_types.items():networks[key] MultiLayerNet(input_size784, hidden_size_list[100, 100, 100, 100],output_size10, weight_init_stdweight_type)train_loss[key] []# 2:开始训练 for i in range(max_iterations):batch_mask np.random.choice(train_size, batch_size)x_batch x_train[batch_mask]t_batch t_train[batch_mask]for key in weight_init_types.keys():grads networks[key].gradient(x_batch, t_batch)optimizer.update(networks[key].params, grads)loss networks[key].loss(x_batch, t_batch)train_loss[key].append(loss)if i % 100 0:print( iteration: str(i) )for key in weight_init_types.keys():loss networks[key].loss(x_batch, t_batch)print(key : str(loss))# 3.绘制图形 markers {std0.01: o, Xavier: s, He: D} x np.arange(max_iterations) for key in weight_init_types.keys():plt.plot(x, smooth_curve(train_loss[key]), markermarkers[key], markevery100, labelkey) plt.xlabel(iterations) plt.ylabel(loss) plt.ylim(0, 2.5) plt.legend() plt.show()
http://www.ihoyoo.com/news/89864.html

相关文章:

  • c语言除了做网站还能干什么wordpress 画展主题
  • 杭州萧山区专业做网站的公司永久免费的个人oa办公软件
  • 电子商务网站上线活动策划网站点击赚钱怎么做
  • 生成论坛网站wordpress 饼状图
  • 不做百度推广网站关键词被屏蔽百度关键词排名联系
  • 万网有网站建设吗谷歌有做网站建设
  • 设计可以在哪个网站接单衡水市住房和城乡建设局网站
  • 一个网站可以做几个关键词如何做网站效果图
  • 在哪个网站做简历比较好aspnet网站开发选择题
  • 网站链接改名怎做301朝阳免费网站制作
  • 网站建设忄金手指快速县城服务网站如何做
  • 网站建设与维护 国赛网页网站怎么做的吗
  • 诸暨公司网站建设折腾wordpress
  • 校园门户网站系统建设方案苏州高新区网站建设
  • 广州建设银行保安招聘网站资深的网站推广
  • 莆田建设项目环境网站乾安网站建设公司电话
  • wordpress hppts手机网站建设优化软件
  • 怎样免费建公司网站初中生可做兼职的网站
  • 教育集团网站建设的目的抄袭别人网站的前端代码合法吗
  • 大连哪家公司做网站比较好个人网站设计怎么做
  • 个人网站如果做seo工具下载
  • 徐州建站模板公司怎么让自己的网站通过域名访问
  • 怎么建设网站让国外看苏州工作平台有哪些公司
  • 专业做甜点的网站网站做可信认证多少钱
  • 常州手机网站建设可以发布商品的免费平台
  • 江苏林润建设工程有限公司网站创建官方网站网址
  • 北京网站建设怎么样wordpress更换网站数据库
  • 嘉兴做网站建设dw做网站步骤
  • 专业的扬州网站建设客厅装修风格
  • 自己搭建服务器访问国外网站企业品牌网站设计