神经网络入门教程:流行的神经网络类型及其应用

2018 年 1 月 14 日 论智 Jay Shah
作者:Jay Shah:
编译:weakish

编者按:Statsbot深度学习开发者Jay Shah带你入门神经网络,一起了解自动编码器、卷积神经网络、循环神经网络等流行的神经网络类型及其应用。

如今,人们使用神经网络解决销售预测、客户调研、数据验证、风险管理之类的众多商业问题。例如,Statsbot中,我们将神经网络应用于时间序列预测、异常数据检测、自然语言理解。

在这篇文章中,我们将解释什么是神经网络,初学者使用神经网络将面临的主要挑战,流行的神经网络类型及其应用。我们还将描述神经网络如何应用于不同的行业和部门。

神经网络的想法


最近在计算机科学领域“神经网络”这个词引起了很大的轰动,引起了很多人的关注。不过,神经网络到底是怎么一回事,它是怎么工作的,它真的有帮助吗?

本质上,神经网络由称为神经元的计算单元层组成,层与层之间相互连接。神经网络转换数据,直到网络可以输出分类。每个神经元将一个初始值乘以一定的权重,与进入同一神经元的其他值相加,并基于神经元的偏置调整所得结果,接着使用激活函数归一化输出。

迭代学习过程

神经网络的一个关键特征是迭代学习过程,在该过程中记录(行)逐一提供给网络,每次与输入值相关的权重都进行调整。在所有情况都提供之后,这一过程常常会重复开始。在这一学习阶段,网络通过调整权重来预测输入样本的正确类别标签,以训练自身。

神经网络的优势包括对噪声数据的高耐受性,以及分类未训练过的模式的能力。最流行的神经网络算法是反向传播算法。

一旦为特定的应用确立了网络架构之后,就可以训练网络了。刚开始,初始权重(下一节具体讨论)是随机选择的。接着训练(学习)开始。

网络使用隐藏层中的权重和函数逐个处理“训练集”中的记录,接着比较实际输出与期望输出。误差在系统中反向传播,系统据此调整权重,调整后的权重将应用到下一个记录。

这个过程随着权重的调整而重复。在网络训练过程中,随着连接权重的不断改善,同一数据集会多次处理。

所以难在哪里?

初学者在学习神经网络时遇到的一个挑战就是了解网络的每一层到底发生了什么。我们知道,训练之后,每个层都会提取数据集(输入)的更高层次的特征,直到最后一层决定输入特征指什么。这是如何做到的呢?

我们可以让网络来决策,而不是确切地规定我们希望网络增强的特征。比方说,我们简单地给网络传入一张任意图像或照片,让网络来分析图片。接着,我们选择一个层,并要求网络加强该层检测到的东西。网络的每一层处理不同抽象层次的特征,因此我们生成的特征的复杂性取决于我们选择增强哪一层。

流行的神经网络类型和用途

在这篇面向初学者的神经网络文章中,我们将讨论自动编码器、卷积神经网络、循环神经网络。

自动编码器

自动编码器基于这样一个观察,随机初始化是一个坏主意,而基于无监督学习算法预训练每个网络层可以得到更好的初始权重。这种无监督算法的一个例子是深度性念网络(Deep Belief Networks)。最近有一些研究尝试复兴这一领域,例如使用概率自动编码器的变分方法。

实际应用很少使用它们。最近,批量归一化允许更深的网络,我们可以基于残差学习从头训练来任意深度的网络。通过适当的维度和稀疏性约束,自动编码器可以学习比PCA或其他基本技术更有趣的数据投影。

我们来看看自动编码器的两个有趣的实际应用:

基于卷积层构建的去噪自动编码器,可以高效地去除噪声。

去噪自动编码器,一些输入设定为缺失

上图中,随机毁坏过程随机地将一些输入设定为零,强迫去噪自动编码器为随机选择的缺失模式的子集预测缺失(毁坏)的值。

数据可视化的降维尝试使用主成分分析(PCA)和t分布随机近邻嵌入(t-SNE)进行降维。在神经网络训练中使用这两种方法以增加模型预测的精确性。同时,MLP神经网络预测的精确性高度依赖于神经网络的结构,数据的预处理,以及开发网络面对的问题类型。

卷积神经网络

卷积网络得名于“卷积”运算,卷积的主要用途是提取输入图像的特征。通过基于输入数据的小块学习图像的特征,卷积保留了像素间的空间关系。下面是一些成功应用卷积网络的例子:

Stevens Institute of Technology和Adobe合作的人脸识别研究使用了级联卷积神经网络高速地识别人脸。解码器在低分辨率下评估输入图像以快速剔除非面部区域,然后以更高的分辨率仔细处理关键区域以精确地检测人脸。

级联结构还引入了校正网络(calibration network)以加速识别并改善限界盒质量。

在自动驾驶汽车项目中,景深估计是自动驾驶需要考虑的重点,以确保乘客和其他载具的安全。这方面的CNN被应用于诸如NVIDIA的自动驾驶汽车这样的项目中。

CNN层可以通过多参数处理输入,因此CNN层提供了极高的灵活多变性。这些网络的子类也包括深度信念网络。传统上,卷积神经网络用于图像分析和对象识别。

顺便提一个趣味项目,使用CNN在游戏模拟器中驾驶汽车并预测驾驶方向。

循环神经网络

用于序列生成的RNN(循环神经网络)是这样训练的,处理真实的数据序列的一步并预测下一步。这里有一份如何实现该模型的指南。

假设预测是概率性的,从网络的输出分布迭代采样,然后将样本传给下一步作为输入,训练网络可以生成新的序列。换句话说,让网络把自己发明的看成是真实的,就像一个人在做梦。

RNN可以用于语言驱动的图像生成,基于给定的文本生成手写。为了应对这一挑战,将卷积文本字符串的软窗口作为额外输入传给预测网络。在网络进行预测的同时输出窗口的参数,这样,网络动态地决定文本和笔位置的对齐。简单来说,网络学习下一个要书写的字符。

给定特定的输入,经训练的神经网络可以生成预期输出。如果我们有一个拟合良好的建模已知值序列的网络,那么我们可以使用它来预测未来的结果。股票市场预测是一个明显的例子。

神经网络在不同产业的应用

神经网络广泛用于真实世界的商业问题,例如销售预测、客户调研、数据验证、风险管理。

营销

精准营销涉及市场细分,根据客户行为的不同将市场分为不同的客户群。

神经网络可以根据基本特征,包括人口、经济状况、位置、购买模式、对产品的态度,细分客户。无监督神经网络可以自动基于客户属性的相似性进行分组,而监督神经网络可以通过训练基于同一组客户的特征学习客户分区间的界限。

销售

神经网络具备同时考虑多个变量的能力,例如市场需求、客户收人、人口、产品价格。对超市而言,预测销售很有帮助。

如果两个产品在一段时期内形成关联,比如购买了打印机的客户会在3到4个月内返回购买一个新的墨盒,那么零售商可以利用这一信息及时联系客户,降低客户从竞争者那里购买产品的概率。

银行和财政

神经网络成功应用于衍生证券定价和对冲,未来价格预测,汇率预测,以及股票表现。传统上,这样的软件由统计技术驱动。然而今天,神经网络成为驱动决策的底层技术。

医药

神经网络在医药领域的研究正成为潮流。人们相信,在接下来的几年,神经网络将在生物医学系统中得到广泛应用。就目前而言,大部分研究建模人体的部分,通过各种扫描识别疾病。

结论

也许神经网络可以给我们一些关于认知的“简单问题”的洞见:大脑如何处理环境模拟?大脑如何集成信息?不过,真正的问题在于,人类的这些处理为何以及如何与内在体验的人生相伴,机器能达到这样的自我意识吗?

这让我们思考神经网络是否能帮助艺术家的工作——一种新的重组视觉概念的方式——也许甚至能够启发我们认识到通过的创造性过程的根源。

总而言之,神经网络使计算机系统更人性化了,从而使它们更加有用。所以下一次你想你可能会喜欢让你的大脑像电脑一样可靠的时候,再想一想——已经有这样一个超级神经网络安装在你的头脑里了,你该为此感恩!

我希望这个面向初学者的神经网络介绍可以帮助你创建自己的第一个神经网络项目。

原文地址:https://blog.statsbot.co/neural-networks-for-beginners-d99f2235efca

登录查看更多
0

相关内容

人工神经网络(Artificial Neural Network,即ANN ),是20世纪80 年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重,这相当于人工神经网络的记忆。网络的输出则依网络的连接方式,权重值和激励函数的不同而不同。而网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。 最近十多年来,人工神经网络的研究工作不断深入,已经取得了很大的进展,其在模式识别、智能机器人、自动控制、预测估计、生物、医学、经济等领域已成功地解决了许多现代计算机难以解决的实际问题,表现出了良好的智能特性。
【干货书】高级应用深度学习,294页pdf
专知会员服务
151+阅读 · 2020年6月20日
最新《自动微分手册》77页pdf
专知会员服务
100+阅读 · 2020年6月6日
【新书册】贝叶斯神经网络,41页pdf
专知会员服务
177+阅读 · 2020年6月3日
【新书】傻瓜式入门深度学习,371页pdf
专知会员服务
187+阅读 · 2019年12月28日
深度学习算法与架构回顾
专知会员服务
80+阅读 · 2019年10月20日
卷积神经网络简明教程
论智
8+阅读 · 2018年8月24日
卷积神经网络的最佳解释!
专知
12+阅读 · 2018年5月1日
干货 | 受限玻尔兹曼机基础教程
机器学习算法与Python学习
7+阅读 · 2018年3月27日
理解神经网络的激活函数
论智
7+阅读 · 2018年1月8日
TensorFlow实现神经网络入门篇
机器学习研究会
10+阅读 · 2017年11月19日
新手|TensorFlow实现神经网络入门篇!
全球人工智能
9+阅读 · 2017年11月17日
入门 | 一文概览深度学习中的激活函数
深度学习世界
4+阅读 · 2017年11月3日
深入浅出介绍:GAN的基本原理与入门应用!
全球人工智能
14+阅读 · 2017年10月23日
深入浅出:GAN原理与应用入门介绍
深度学习世界
6+阅读 · 2017年8月23日
Arxiv
8+阅读 · 2019年5月20日
A Probe into Understanding GAN and VAE models
Arxiv
9+阅读 · 2018年12月13日
Arxiv
53+阅读 · 2018年12月11日
Adversarial Transfer Learning
Arxiv
12+阅读 · 2018年12月6日
Arxiv
19+阅读 · 2018年6月27日
Arxiv
14+阅读 · 2018年5月15日
Arxiv
5+阅读 · 2018年1月16日
Arxiv
7+阅读 · 2018年1月10日
Arxiv
6+阅读 · 2016年1月15日
VIP会员
相关VIP内容
【干货书】高级应用深度学习,294页pdf
专知会员服务
151+阅读 · 2020年6月20日
最新《自动微分手册》77页pdf
专知会员服务
100+阅读 · 2020年6月6日
【新书册】贝叶斯神经网络,41页pdf
专知会员服务
177+阅读 · 2020年6月3日
【新书】傻瓜式入门深度学习,371页pdf
专知会员服务
187+阅读 · 2019年12月28日
深度学习算法与架构回顾
专知会员服务
80+阅读 · 2019年10月20日
相关资讯
卷积神经网络简明教程
论智
8+阅读 · 2018年8月24日
卷积神经网络的最佳解释!
专知
12+阅读 · 2018年5月1日
干货 | 受限玻尔兹曼机基础教程
机器学习算法与Python学习
7+阅读 · 2018年3月27日
理解神经网络的激活函数
论智
7+阅读 · 2018年1月8日
TensorFlow实现神经网络入门篇
机器学习研究会
10+阅读 · 2017年11月19日
新手|TensorFlow实现神经网络入门篇!
全球人工智能
9+阅读 · 2017年11月17日
入门 | 一文概览深度学习中的激活函数
深度学习世界
4+阅读 · 2017年11月3日
深入浅出介绍:GAN的基本原理与入门应用!
全球人工智能
14+阅读 · 2017年10月23日
深入浅出:GAN原理与应用入门介绍
深度学习世界
6+阅读 · 2017年8月23日
相关论文
Arxiv
8+阅读 · 2019年5月20日
A Probe into Understanding GAN and VAE models
Arxiv
9+阅读 · 2018年12月13日
Arxiv
53+阅读 · 2018年12月11日
Adversarial Transfer Learning
Arxiv
12+阅读 · 2018年12月6日
Arxiv
19+阅读 · 2018年6月27日
Arxiv
14+阅读 · 2018年5月15日
Arxiv
5+阅读 · 2018年1月16日
Arxiv
7+阅读 · 2018年1月10日
Arxiv
6+阅读 · 2016年1月15日
Top
微信扫码咨询专知VIP会员