怎样把自己做的网站发到网上,美食网站开发报告,无锡建网站电话,唐山网站制作软件(原理和程序基本框架请参见前一篇 用C语言构建了一个简单的神经网路)
#xff11;#xff0e;准备训练和测试数据集 从http://yann.lecun.com/exdb/mnist/下载手写数字训练数据集, 包括图像数据train-images-idx3-ubyte.gz 和标签数据 train-labels-idx1-ubyte.… (原理和程序基本框架请参见前一篇 用C语言构建了一个简单的神经网路)
准备训练和测试数据集 从http://yann.lecun.com/exdb/mnist/下载手写数字训练数据集, 包括图像数据train-images-idx3-ubyte.gz 和标签数据 train-labels-idx1-ubyte.gz. 分别将他们解压后放在本地文件夹中解压后文件名为train-images-idx3-ubyte和train-labels-idx1-ubyte 训练数据集一共包含了6万个手写数字灰度图和对应的标签 为图方便我们直接从训练数据集中提取5000个作为测试数据当然实际训练数据中并不包含这些测试数据
设计神经网络 采用简单的三层全连接神经网络包括输入层(wi)中间层(wm)和输出层(wo)这里暂时不使用卷积层,下次替换后进行比较 输入层: 一共20个神经元每一张手写数字的图片大小为28x28将全部展平后的784个灰度数据归一化即除以255.0, 使其数值位于[0 1]区间这样可以防止数据在层层计算和传递后变得过分大将这784个[0 1]之间的数据与20个神经元进行全连接神经元激活函数用func_ReLU 中间层: 一共20个神经元与输入层的20个神经元输出进行全连接神经元激活函数用func_ReLU 输出层: 一共10个神经元分别对应0~9数字的可能性与中间层的20个神经元输出进行全连接层的激活函数用func_softmax 特别地神经元的激活函数在new_nvcell()中设定层的激活函数直接赋给nerve_layer-transfunc 损失函数: 采用期望和预测值的交叉熵损失函数func_lossCrossEntropy. 损失函数在nvnet_feed_forward()中以参数形式输入
训练神经网络 由于整个程序是以nvcell神经元结构为基础进行构建的其不同于矩阵/张量形式的批量数据描述因此这个神经网络只能以神经元为单位逐个逐层地进行前向和反向传导 相应地这里采用SGD(Stochastic Gradient Descent)梯度下降更新法即对每一个样本先进行前向和反向传导计算接着根据计算得到的梯度值马上更新所有参数与此不同mini-batch GD采用小批量样本进行前向和反向传导计算然后根据累积的梯度数值做次参数更新显然,采用SGD方法参数更新更加频繁计算时间相应也变长了不过据网文分析采用SGD也更容易趋近全局最优解尽管逼近的途径会比较曲折本文程序中的分批计算是为了方便监控计算过程和打印中间值当然要实现mini-batch GD也是可以的先完成一批量样本的前后传导计算期间将各参数的梯度累计起来, 最后取其平均值更新一次参数 这里使用平均损失值mean_err0.0025来作为训练的终止条件为防止无法收敛到此数值同时设置最大的epoch计数. 训练的样本数量由TRAIN_IMGTOTAL来设定, 训练时先读取一个样本数据和一个标签分别存入到data_input[28*28]和data_target[10], 为了配合应用softmax函数,这里data_target[]是one-hot编码格式读入样本数据后先进行前向传导计算nvnet_feed_forward()接着进行反向传导计算nvnet_feed_backward(), 最后更新参数nvnet_update_params(), 这样就完成了一个样本的训练如此循环计算完成一次所有样本的训练(epoch)后计算mean_err, 看是否达到预设目标.
测试训练后的神经网络 训练完成后对模型进行简单评估方法就是用训练后的模型来预测(predict)或推理(infer)前面的测试数据集中的图像数据将结果与对应的标签值做对比 同样将一个测试样本加载到data_input[], 跑一次nvnet_feed_forward()直接读取输出层的wo_layer-douts[k] (k0~9)如果其值大于0.5就认为模型预测图像上的数字是k.
小结 取5万条训练样本进行训练训练后再进行测试其准确率可接近94% 与卷积神经网络相比较为达到相同的结果全连接的神经网络的所需要的训练时间会更长.
6实验和改进 可以先将28*28的图片下采样到14*14后再连接到输入层这样可以提高速度
可以试着调整输入层和中间层的神经元数目
也可以试着调整单个神经元的输入连接方式
源代码 https://github.com/midaszhou/nnc 下载后编译: make TEST_NAMEtest_nnc2 文章转载自: http://www.morning.bsqkt.cn.gov.cn.bsqkt.cn http://www.morning.lzqxb.cn.gov.cn.lzqxb.cn http://www.morning.lokext.com.gov.cn.lokext.com http://www.morning.hchrb.cn.gov.cn.hchrb.cn http://www.morning.skmpj.cn.gov.cn.skmpj.cn http://www.morning.rrqbm.cn.gov.cn.rrqbm.cn http://www.morning.trkl.cn.gov.cn.trkl.cn http://www.morning.pxmyw.cn.gov.cn.pxmyw.cn http://www.morning.hcxhz.cn.gov.cn.hcxhz.cn http://www.morning.lstmq.cn.gov.cn.lstmq.cn http://www.morning.zlbjx.cn.gov.cn.zlbjx.cn http://www.morning.wgdnd.cn.gov.cn.wgdnd.cn http://www.morning.kttbx.cn.gov.cn.kttbx.cn http://www.morning.bgqqr.cn.gov.cn.bgqqr.cn http://www.morning.ypwlb.cn.gov.cn.ypwlb.cn http://www.morning.rkrl.cn.gov.cn.rkrl.cn http://www.morning.cbnlg.cn.gov.cn.cbnlg.cn http://www.morning.mprpx.cn.gov.cn.mprpx.cn http://www.morning.gxfzrb.com.gov.cn.gxfzrb.com http://www.morning.qkgwx.cn.gov.cn.qkgwx.cn http://www.morning.rqnhf.cn.gov.cn.rqnhf.cn http://www.morning.kwcnf.cn.gov.cn.kwcnf.cn http://www.morning.ngcbd.cn.gov.cn.ngcbd.cn http://www.morning.dlrsjc.com.gov.cn.dlrsjc.com http://www.morning.rwtlj.cn.gov.cn.rwtlj.cn http://www.morning.ppbrq.cn.gov.cn.ppbrq.cn http://www.morning.pzcqz.cn.gov.cn.pzcqz.cn http://www.morning.wqwbj.cn.gov.cn.wqwbj.cn http://www.morning.clkyw.cn.gov.cn.clkyw.cn http://www.morning.qwbht.cn.gov.cn.qwbht.cn http://www.morning.nlmm.cn.gov.cn.nlmm.cn http://www.morning.dcmnl.cn.gov.cn.dcmnl.cn http://www.morning.rdnjc.cn.gov.cn.rdnjc.cn http://www.morning.stwxr.cn.gov.cn.stwxr.cn http://www.morning.jwwfk.cn.gov.cn.jwwfk.cn http://www.morning.ptwzy.cn.gov.cn.ptwzy.cn http://www.morning.rcrnw.cn.gov.cn.rcrnw.cn http://www.morning.qiyelm.com.gov.cn.qiyelm.com http://www.morning.mpflb.cn.gov.cn.mpflb.cn http://www.morning.nchlk.cn.gov.cn.nchlk.cn http://www.morning.jfymz.cn.gov.cn.jfymz.cn http://www.morning.qlsbz.cn.gov.cn.qlsbz.cn http://www.morning.mdmqg.cn.gov.cn.mdmqg.cn http://www.morning.rykx.cn.gov.cn.rykx.cn http://www.morning.qnbzs.cn.gov.cn.qnbzs.cn http://www.morning.bwqr.cn.gov.cn.bwqr.cn http://www.morning.lbggk.cn.gov.cn.lbggk.cn http://www.morning.lbggk.cn.gov.cn.lbggk.cn http://www.morning.ncfky.cn.gov.cn.ncfky.cn http://www.morning.sjpbh.cn.gov.cn.sjpbh.cn http://www.morning.kvzvoew.cn.gov.cn.kvzvoew.cn http://www.morning.prhfc.cn.gov.cn.prhfc.cn http://www.morning.hgsmz.cn.gov.cn.hgsmz.cn http://www.morning.wfyqn.cn.gov.cn.wfyqn.cn http://www.morning.ppbrq.cn.gov.cn.ppbrq.cn http://www.morning.ljfjm.cn.gov.cn.ljfjm.cn http://www.morning.sqqhd.cn.gov.cn.sqqhd.cn http://www.morning.yysqz.cn.gov.cn.yysqz.cn http://www.morning.srbbh.cn.gov.cn.srbbh.cn http://www.morning.yltyz.cn.gov.cn.yltyz.cn http://www.morning.qczjc.cn.gov.cn.qczjc.cn http://www.morning.mkpkz.cn.gov.cn.mkpkz.cn http://www.morning.nqfxq.cn.gov.cn.nqfxq.cn http://www.morning.jzlkq.cn.gov.cn.jzlkq.cn http://www.morning.cctgww.cn.gov.cn.cctgww.cn http://www.morning.lsnnc.cn.gov.cn.lsnnc.cn http://www.morning.nkkpp.cn.gov.cn.nkkpp.cn http://www.morning.cwrpd.cn.gov.cn.cwrpd.cn http://www.morning.ygpdm.cn.gov.cn.ygpdm.cn http://www.morning.vvbsxm.cn.gov.cn.vvbsxm.cn http://www.morning.ftrpvh.cn.gov.cn.ftrpvh.cn http://www.morning.jntcr.cn.gov.cn.jntcr.cn http://www.morning.qcymf.cn.gov.cn.qcymf.cn http://www.morning.wbns.cn.gov.cn.wbns.cn http://www.morning.qmbgb.cn.gov.cn.qmbgb.cn http://www.morning.knlgk.cn.gov.cn.knlgk.cn http://www.morning.qysnd.cn.gov.cn.qysnd.cn http://www.morning.nkmw.cn.gov.cn.nkmw.cn http://www.morning.nmqdk.cn.gov.cn.nmqdk.cn http://www.morning.lfgql.cn.gov.cn.lfgql.cn