当前位置: 首页 > 知识库问答 >
问题:

MNIST-培训卡住了

戚飞虎
2023-03-14

我正在阅读神经网络和深度学习(前两章),我正在尝试跟进并构建自己的ANN以从MNIST数据集中对数字进行分类。

我已经抓耳挠腮好几天了,因为我的实现在从测试集中分类数字时达到了约57%的准确率(有些5734/10000)在10个纪元后(训练集的准确率在第10个纪元后停滞不前,测试集的准确率可能会因为过度拟合而恶化)。

我使用与书中几乎相同的配置:所有层完全连接的2层前馈ANN(784-30-10);标准乙状结肠激活函数;二次代价函数;权重以相同的方式初始化(取自均值为0和均方差为1的高斯分布)唯一的区别是我使用在线训练而不是批量/小批量训练,学习率为1.0而不是3.0(不过我尝试过3.0的小批量训练学习率)

反向传播算法产生的结果示例

使用与上述配置相同的简单前馈网络(在线训练学习率为1.0):3个输入神经元、2个隐藏神经元和1个输出神经元。

初始权重初始化如下:

Layer #0 (3 neurons)

Layer #1 (2 neurons)
  - Neuron #1: weights=[0.1, 0.15, 0.2] bias=0.25
  - Neuron #2: weights=[0.3, 0.35, 0.4] bias=0.45

Layer #2 (1 neuron)
  - Neuron #1: weights=[0.5, 0.55] bias=0.6

如果输入值为[0.0、0.5、1.0],则输出值为0.78900331。对于相同的输入和1.0的期望输出,反向传播得到以下偏导数(dw=导数wrt权重,db=导数wrt偏差):

Layer #0 (3 neurons)

Layer #1 (2 neurons)
  - Neuron #1: dw=[0, 0.0066968054, 0.013393611] db=0.013393611
  - Neuron #2: dw=[0, 0.0061298212, 0.012259642] db=0.012259642

Layer #2 (1 neuron)
  - Neuron #1: dw=[0.072069918, 0.084415339] db=0.11470326

用这些偏导数更新网络后,校正后的输出值为0.74862305。

如果有人愿意确认上述结果,这将对我帮助很大,因为我已经排除了反向传播是错误的这一问题的原因。

有人在解决MNIST问题时遇到过这个问题吗?即使是我应该检查的建议也会有所帮助,因为我在这里真的迷路了。

共有1个答案

方浩旷
2023-03-14

Doh。。

我的反向传播实现没有问题。。。

问题是我将图像读取到一个有符号字符(C)数组中,像素值溢出,因此当我除以255.0将输入向量规格化为0.0-1.0范围时,实际上得到了负值…;-;

因此,基本上我花了大约四天的时间调试和重新实现相同的东西,而问题完全在其他地方。

 类似资料:
  • QA职责 QA起到监督项目执行进度、监控项目质量的重要责任; QA辅助项目经理,推进项目开发; QA向公司的QA部门负责人汇报; QA需了解项目的所有需求; QA人员,同时承担项目上的开发工作,开发与项目保障并进。 对于目前的状况,QA的规划有如下特点: QA不作为公司的一个单独部门,而是由分散到每个项目的指定开发人员临时担任; QA是培养项目经理的重要岗位 QA工作内容 每天的进度反馈(从用户视

  • 两周培训规划 基础培训及考核-2d 代码规范培训-4h Linux基础-20h 工具培训及考核-6d gulp-4h webpack-4h postman-4h webstorm-4h git-8h gitlab-4h npm-4h bower-4h Lo-Dash-8h Chrome-dev-tool-4h Swagger-4h Graphql-4h SecureCRT-2h gitbook/m

  • DevOps培训认证可以帮助任何渴望成为DevOps工程师职业的人。认证可从亚马逊网络服务,红帽,微软学院,DevOps Institute获得。 下面我们将一个一个地来了解他们 - AWS认证DevOps工程师 此DevOps工程师证书将测试如何使用最常见的DevOps模式在AWS上开发,部署和维护应用程序。它还会评估DevOps方法的核心原则。 该认证有两个必要条件。认证费用为美元,持续时间为

  • 概述 毫末的技术人员,需要掌握的技能从以下几个方面逐步提升: 工作必备技能。通过老员工在实际项目中教授新员工的方式。例如:git、jira等。 编码能力。编码能力,对我们公司而言是非常重要的基本功。将通过代码质量流程、以考促学等方式促进员工编码能力提升。 调试技巧。调试技巧对工作中解决问题而言非常关键。 理论知识。主要指的工作中经常用到的框架、工具背后的工作原理。 初级培训 初级升中级培训 中级升

  • 1 要达到什么程度? 培训材料,要达到以下几个目的: 快速:以最短的时间掌握相关技能。所以:copy/paste要适度。 全面:对相关领域,有全面的讲解。这个全面指的是:对技术的历史、现状和未来,都应该有清晰的认识。 条理:由浅入深、循序渐进 趣味:有趣的历史,通俗易懂的示例 培训材料,需要训练的能力: 归纳法:总结归纳。 演绎法:深入剖析 比较法:对比分析 2 要写什么? 写材料的人,要写两份文

  • 培训大纲 内容分类 培训内容 掌握程度 理论学习 应用交互设计历史及趋势 熟悉设计历史及趋势 设计理论 熟悉常见的产品设计理论 设计心理学 熟悉常见的设计心理 设计实践 行业产品设计规范及设计 熟练设计产品设计规范及UI界面 基础UI库设计 基本了解基础UI库设计 创新产品设计 基本了解创新产品设计流程 文档能力 UI库设计文档 熟练制作UI库设计文档 设计规范文档 熟练编制设计规范 系统能力 带