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

做游戏模板下载网站专注服务于站长和网站的信息平台.

做游戏模板下载网站,专注服务于站长和网站的信息平台.,谷歌seo是什么意思,wordpress教程自学网7.3 误差反向传播法的梯度确认 我们现在学习了两种求梯度的方法,一种是基于数值微分的方法,另一种是解析性地求解数学式的方法。后者通过使用误差反向传播法,即使存在大量参数,也可以高效计算梯度。之后我们就使用误差反向传播法…

7.3 误差反向传播法的梯度确认

我们现在学习了两种求梯度的方法,一种是基于数值微分的方法,另一种是解析性地求解数学式的方法。后者通过使用误差反向传播法,即使存在大量参数,也可以高效计算梯度。之后我们就使用误差反向传播法而不再通过数值微分进行求解。

那么,数值微分存在的意义是什么呢?

实际上,我们在缺人误差反向传播法的实现是否正确时就会用到数值微分。因为其实现较为简单,而且一般情况下不会出现错误。误差反向传播则计算复杂,很容易出错,确认二者计算的结果是否一致的操作称为 “梯度确认”。其代码实现如下:

import sys,os
sys.path.append(os.pardir)
import numpy as np
from dataset.mnist import load_mnist
from two_layer_net import TwoLayerNet#读入数据
(x_train, t_train),(x_test, t_test) = \load_mnist(normalize=True, one_hot_label = True)
network = TwoLayerNet(input_size = 784, hidden_size = 50, out_size = 10)
x_batch = x_train[:3]
t_batch = t_train[:3]grad_numerical = network.numerical_gradient(x_batch, t_batch)
grad_backprop = network.gradient(x_batch, t_batch)#求各个权重的绝对误差的平均值
for key in grad_numerical.keys():diff = np.average(np.abs(grad_backprop[key] - grad_numerical[key]))print(key + ":" + str(diff))

最初 我们读入mnist数据集,使用其中的一部分,确认数值微分求出的梯度和误差反向传播法求出的梯度的误差。误差的计算方法是求各个权重参数中对应元素的差的绝对值,并求其平均值。运行上面的代码后,会输出下面的结果。

b1: 9.70418809871e -13

w2: 8.41139039497e -13

b2: 1.1945999745e -10

w1: 2.223246644e -13

从结果可以看出, 数值微分和误差反向传播法的梯度误差很小,第一层只有9.7e-13,这样我们就知道误差反向传播法求出的梯度是正确的,实现无误。

一般来说,数值微分和误差反向传播法的梯度误差不会等于0,因为计算机计算精度有限(通常是32位),实现正确的话这个误差值一般是一个很小很小的数,无线接近于0,但不会到0.如果这个值很大,则说明误差反向传播法的实现存在错误。

7.4 使用误差反向传播法的学习

接下来,我们再看一下使用误差反向传播法的神经网络学习。和之前的实现相比,不同之处仅在于使用误差反向传播法求梯度这一个地方。这里只展示代码:

import sys, os
sys.path.append(os.pardir)
import numpy as np
from dataset.mnist import load_mnist 
from two_layer_net import TwoLayerNet# 读入数据
(x_train, t_train), (x_test,t_test) = \  load_mnist(normalize=True, one_hot_label=True)network = TwoLayerNet(input_size = 784, hiddent_size=59, output_size = 10)iters_num = 10000
train_size = x_train.shape[0]
batch_size = 100
learning_rate = 0.1
train_loss_list = []
train_acc_list = []
test_acc_list = []iter_per_epoch = max(train_size / batch_size, 1)for i in range(iters_num):batch_mask = np.random.choice(train_size, batch_size)x_batch = x_train[batch_mask]t_batch = t_train[bacth_mask]# 通过误差反向传播法求梯度grad = network.gradient(x_batch, t_batch)# 更新for key in ('W1','b1','W2','b2'):network.params[key] -= learning_rate * grad[key]    loss = network.loss(x_batch, t_batch)train_loss_list.append(loss)if i % iter_per_epoch == 0:train_acc = network.accuracy(x_train, t_train)test_acc = network.accuracy(x_test, t_test)train_acc_list.append(train_acc)test_acc_list.append(test_acc)print(train_acc, test_acc)

在本章节中,我们将计算过程可视化,称为计算图,并使用计算图介绍了神经网络中的误差反向传播法,以层为单位实现了神经网络中的处理。我们学过的层有ReLU、Softmax-with-Loss层、Affine层、Softmax层等等,这些层都实现了forward和backward方法,将数据进行正向传播和反向传播,高效计算权重参数的梯度。通过层进行模块化,神经网络可以自由地组装层,构建不同的神经网络。

本章节所学内容可以总结如下:


文章转载自:

http://E0oNIwfe.nckzt.cn
http://DiMHD3K2.nckzt.cn
http://BuKXwm0G.nckzt.cn
http://R6tPdUnK.nckzt.cn
http://HpF5ObWa.nckzt.cn
http://HXZNkqGq.nckzt.cn
http://LzoFR4y0.nckzt.cn
http://nrD8XGVa.nckzt.cn
http://VcVStCSN.nckzt.cn
http://6ZWolvjF.nckzt.cn
http://NdBdutil.nckzt.cn
http://oxSU8ack.nckzt.cn
http://daEpsQQM.nckzt.cn
http://7qNTSwPx.nckzt.cn
http://scUC8lGX.nckzt.cn
http://nYhzLxpq.nckzt.cn
http://rQC2bkbV.nckzt.cn
http://Lc1gfOx5.nckzt.cn
http://xnf4nWqD.nckzt.cn
http://oRFN4uTc.nckzt.cn
http://IAYqgsrz.nckzt.cn
http://QtDqtd1C.nckzt.cn
http://zfNAEql5.nckzt.cn
http://Nvg9pqBo.nckzt.cn
http://cWddO3Pk.nckzt.cn
http://jYSfWVhI.nckzt.cn
http://sinyg9xU.nckzt.cn
http://dB333DgH.nckzt.cn
http://fsudHDwj.nckzt.cn
http://5cOSOtep.nckzt.cn
http://www.dtcms.com/wzjs/773028.html

相关文章:

  • 上海网站备案咨询手机登录网站怎么建设
  • 贵阳免费做网站莱芜可信赖的网站建设
  • 福州网站建设机构网络建设与维护是什么工作
  • 公司建设网站价格企业信用公示信息系统(全国)官网
  • 徐州网站建设网站制作合作制作网站
  • 网站推广应该怎么做深圳市做网站有哪些公司
  • 网站开发需求描述诸暨网站建设公司
  • asp.net做的音乐网站山东网站建设找哪家
  • 绵阳辉煌网站建设wordpress 转发
  • 长春建工集团官网seo待遇
  • 怎样查看别人网站流量公司网站不备案和备案有什么区别
  • 河北提供网站制作公司哪家专业wordpress安装到主机名
  • 广东网站建设怎么收费网页设计与网站建设课程报告
  • 中国廉政建设网网站温州微网站制作电话
  • 做灯箱的网站建网站开源代码
  • 怎样做seo网站链接dw网页设计代码案例
  • 中国企业网站开发怎样做互联网推广
  • 网站设计 价格wordpress突然很慢
  • 符合网络营销网站建设怎么网站定制
  • 贵阳网站推广江苏网站开发建设电话
  • 专业微网站建设公司首选公司哪家好虚拟主机可以做视频网站嘛
  • 网站备案 照片专业网站建设的软件
  • 微信群如何推广网站建设网站流量超了
  • 做公益网站需要什么资质九江集团网站建设
  • 上海网站建设怎么赚钱wordpress设置文章显示图片
  • 千博企业网站管理系统完整版 2014建设礼品网站的策划书
  • 网站做等级测评免费学做衣服的网站
  • 好网站开发策划要求网站开发语言windows
  • 购物网站模板免费做一个网站需要多少钱
  • 扬州专业网站制作谷歌浏览器下载官方正版