神经网络

带你跨过神经网络训练常见的37个坑

神经网络已经持续训练了 12 个小时。它看起来很好:梯度在变化,损失也在下降。但是预测结果出来了:全部都是零值,全部都是背景,什么也检测不到。我质问我的计算机:“我做错了什么?”,它却无法回答。

如果你的模型正在输出垃圾(比如预测所有输出的平均值,或者它的精确度真的很低),那么你从哪里开始检查呢?

无法训练神经网络的原因有很多。在经历了许多次调试之后,我发现有一些检查是经常做的。这张列表汇总了我的经验以及最好的想法,希望对读者也有所帮助。

作者:Slav Ivanovzz,保加利亚索菲亚的企业家和ML实践者。博客主页

〇. 使用指南

许多事情都可能出错。但其中有些事情相比于其他方面更容易出问题。在出现问题时,我通常会做以下几件事情。

1.从已知的用于该数据类型的简单模型入手(例如VGG用于图像处理)。尽可能使用标准误差。
2.去掉所有的花哨的预处理程序,例如正则化和数据增强。
3.微调模型,仔细检查预处理,应该和原始模型的训练设置保持一致。
4.验证输入数据的正确性。
5.从较小的数据集开始(2-20个样本)。在小数据集上过拟合之后再增加数据量。

【导读】如果你的神经网络不工作,该怎么办?本文作者列举了搭建神经网络时可能遇到的11个常见问题,包括预处理数据、正则化、学习率、激活函数、网络权重设置等,并提供解决方法和原因解释,是深度学习实践的有用资料。

如果你的神经网络不工作,该怎么办?作者在这里列出了建神经网络时所有可能做错的事情,以及他自己的解决经验。

1.忘记规范化数据
2.忘记检查结果
3.忘记预处理数据
4.忘记使用正则化
5.使用的batch太大
6.使用了不正确的学习率
7.在最后层使用了错误的激活函数
8.你的网络包含了Bad Gradients
9.初始化网络权重不正确
10.你使用的网络太深了
11.使用隐藏单元的数量不对

忘记规范化数据了

问题描述:
在使用神经网络时,思考如何正确地规范化数据是非常重要的。这是一个无法改变的步骤——假如这一步骤没有小心、正确地做,你的网络就几乎不可能工作。由于这个步骤非常重要,在深度学习社区中也是众所周知的,所以它很少在论文中被提及,因此初学者常常在这一步出错。

怎样解决?

深度 | 神奇的神经机器翻译:从发展脉络到未来前景

机器翻译(MT)是借机器之力「自动地将一种自然语言文本(源语言)翻译成另一种自然语言文本(目标语言)」。使用机器做翻译的思想最早由 Warren Weaver 于 1949 年提出。在很长一段时间里(20 世纪 50 年代到 80 年代),机器翻译都是通过研究源语言与目标语言的语言学信息来做的,也就是基于词典和语法生成翻译,这被称为基于规则的机器翻译(RBMT)。随着统计学的发展,研究者开始将统计模型应用于机器翻译,这种方法是基于对双语文本语料库的分析来生成翻译结果。这种方法被称为统计机器翻译(SMT),它的表现比 RBMT 更好,并且在 1980 年代到 2000 年代之间主宰了这一领域。1997 年,Ramon Neco 和 Mikel Forcada 提出了使用「编码器-解码器」结构做机器翻译的想法 。几年之后的 2003 年,蒙特利尔大学 Yoshua Bengio 领导的一个研究团队开发了一个基于神经网络的语言模型 ,改善了传统 SMT 模型的数据稀疏性问题。他们的研究工作为未来神经网络在机器翻译上的应用奠定了基础。

神经机器翻译的诞生

华盛顿州立大学姬水旺等人的研究团队首次提出一种计算机算法,在绘制大脑神经网络方面的准确度达到几乎与人类同等的水平,这是有助于加速用于理解大脑回路的图像分析的一项突破。相关论文发表在《生物信息学》(Bioinformatics)。

论文地址:https://academic.oup.com/bioinformatics/article-abstract/33/16/2555/3096435/DeepEM3D-approaching-human-level-performance-on-3D

就像绘制1000亿个房子

几十年来,人们一直在努力加深对大脑神经回路的了解,但其庞大和复杂性是一大挑战。这项研究的主管研究员、WSU电气工程和计算机科学学院副教授姬水旺(Shuiwang Ji)说,这就像拥有一张地球的卫星图像,我们要尝试绘制出地球上的1000亿个房子,以及将所有房子连接起来的街道和每个人的目的地。

深藏不露,挖掘4种大脑网络中的管理工具

作者:亚当·韦茨,莉亚·梅森

走过了百余年发展历程的管理理论与实践,自身体系正在不断深化与创新,其中一个重要领域是对脑神经科学成果的利用。

虽然柯洁以0:3败给了AlphaGo,虽然人工智能可以完成一些人类所不能及的工作,但是人类的大脑在很多方面依然无可替代。

虽然,仅凭功能磁共振成像(fMRI)的扫描数据,看不出消费者是喜欢可口可乐还是百事可乐;仅凭大脑中岛皮层活跃度的数据,也不能判断一个人对手机的感情是否高于比对母亲的感情。

但目前,神经科学已经获得了大量研究成果,可以向我们提供一些极有价值的信息。本文从全球脑科学家现已发现的15个脑神经网络和子网络中,挑选了4个已得到广泛认可的大脑网络,即默认网络、奖赏网络、情感网络、控制网络,向我们分析了这四大网络对于管理的意义。

默认网络
触发创意与灵感

过去10年间最激动人心的神经科学发现之一,就是大脑从不真正处于休息状态。

科普 | 深度学习并不是在尝试模拟大脑

通过历史背景了解深度学习是最简单的方式。这里我们仅指出深度学习的几个关键趋势,而不是提供其详细的历史:

深度学习有着悠久而丰富的历史,但随着许多不同哲学观点的渐渐消逝,与之对应的名称也渐渐尘封。 随着可用的训练数据量不断增加,深度学习变得更加有用。 随着时间的推移,针对深度学习的计算机软硬件基础设施都有所改善,深度学习模型的规模也随之增长。 随着时间的推移,深度学习已经解决日益复杂的应用,并且精度不断提高。

**神经网络的众多名称和命运变迁**

许多人都听说过深度学习这一激动人心的新技术。事实上,深度学习的历史可以追溯到 20 世纪 40 年代。深度学习看似是一个全新的领域,只不过因为在目前流行的前几年它还是相对冷门的,同时也因为它被赋予了许多不同的名称 (其中大部分已经不再使用),最近才成为众所周知的“深度学习”。这个领域已经更换了很多名称,它反映了不同的研究人员和不同观点的影响。

一般认为,迄今为止深度学习已经经历了 3 次发展浪潮:
20 世纪 40 年代到 60 年代,深度学习的雏形出现在控制论(cybernetics) 中;
20 世纪 80 年代到 90 年代,深度学习表现为联结主义(connectionism);
直到 2006 年,才真正以深度学习之名复兴。
图 1 给出了定量的展示。

Jason Yosinski坐在美国加州旧金山的一个小型玻璃办公室内,陷入了对人工智能的沉思。作为优步公司的研究科学家,Yosinski正为在笔记本电脑上运行的人工智能(AI)进行“脑外科手术”。

很多AI将改变人类现代生活,例如优步的无人驾驶汽车,Yosinski的程序是一个深度神经网络,其架构或多或少受到了大脑的启发。正如人类大脑一样,这个程序很难从外部理解:它是一个黑箱。

这一特殊的AI能通过大量的标注图像被训练,从而识别像斑马线、消防车、安全带等物体。但它能够识别Yosinski和摄像头前面的记者吗?Yosinski放大了其中一个AI的独立计算节点(神经元),从而查看是什么引发了其响应。

两个幽灵般的白色椭圆状物体浮动在屏幕上。这个神经元似乎已经学会了如何探测人脸轮廓。他说:“它会对你我的面部做出反应,也会对不同大小、不同颜色的人脸做出反应。”

不过,没有人训练这种网络识别人脸。在训练图像中,人类不被标注,但是网络确实在学习识别人脸,也许是与人脸一同出现的物体,比如领带、牛仔帽。该网络如此复杂,以至于人类无法理解其做出的决策。

而Yosinski的探索虽然指明了部分道路,但总体状况依然不清楚。他说:“我们有令人惊叹的模型,但实际上并不理解它们,而且这种情况在逐年恶化。”

深度学习

人工神经网络之几何原理Ⅰ:单(隐藏)层神经网络

本文旨在通过几何方法来阐述为何人工神经网络能够有效地工作。

人工神经网络之几何原理
(Geometric principle of Artificial Neural Networks)

本文探讨的人工神经网络仅仅为最简单的ReLU神经元所构成的普通神经网络(非CNN和RNN),且只探讨了单(隐藏)层的分类这一个经典的场景。

基本约定

为了方便讨论和图像化, 全文使用的激活函数均为ReLU, 原始输入的X为二维向量。

实例1

下图为一个最简单的人工神经网络,其包含两个节点的输入层,两个节点的输出层,以及三个节点的隐藏层。该网络可以用于解决输入为二维向量的二元分类问题,其输出为两种分类的概率。

人工神经网络之几何原理Ⅰ:单(隐藏)层神经网络

○ 输入层 - 2维向量X

一文看懂各种神经网络优化算法:从梯度下降到Adam方法

在调整模型更新权重和偏差参数的方式时,你是否考虑过哪种优化算法能使模型产生更好且更快的效果?应该用梯度下降,随机梯度下降,还是Adam方法?

这篇文章介绍了不同优化算法之间的主要区别,以及如何选择最佳的优化方法。

什么是优化算法?

优化算法的功能,是通过改善训练方式,来最小化(或最大化)损失函数E(x)。

模型内部有些参数,是用来计算测试集中目标值Y的真实值和预测值的偏差程度的,基于这些参数,就形成了损失函数E(x)。

比如说,权重(W)和偏差(b)就是这样的内部参数,一般用于计算输出值,在训练神经网络模型时起到主要作用。

在有效地训练模型并产生准确结果时,模型的内部参数起到了非常重要的作用。这也是为什么我们应该用各种优化策略和算法,来更新和计算影响模型训练和模型输出的网络参数,使其逼近或达到最优值。

优化算法分为两大类:

1. 一阶优化算法

深入研究神经网络和深度学习丨心得

机器学习技术正在走进数据中心,它既能改善内部IT管理,还能使关键业务流程更加智能化。你可能已经听说过深度学习的神秘性了,它涉及到一切领域,从系统管理到自动驾驶汽车。到底深度学习是一个刚刚在世人面前揭开面纱的非常聪明的新兴人工智能,还是仅仅一种营销宣传手段,将已有的复杂机器学习算法重新包装成为新的卖点?

深度学习无疑激发了大众的想象力,但它其实并不那么复杂。在技术层面上,深度学习主要指大规模运行的大型计算密集型神经网络。这些神经网络往往是由难以用基于逻辑和规则的机器学习方法进行处理的大数据集训练而成,如图像、语音、视频和其他内在具有复杂模式的密集数据。

神经网络本身并不新。几乎从现代计算机开创阶段起,神经网络算法已经被研究用于复杂数据流中辅助识别隐藏的内在模式。在这个意义上,深度学习是建立在众所周知的机器学习技术上的。然而,当新兴计算复杂度更高的神经网络算法与如今的大数据集合应用到一起,创造出了重大的新机遇。使用低成本的云服务或商业scale-out大数据结构,可以创建这些“深度”模型,并实时应用于大规模应用场景中。

敏感的神经网络

同步内容
--电子创新网--
粤ICP备12070055号