开发者社区> 行者武松> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

零基础入门神经网络:从原理、主要类型到行业应用

简介:
+关注继续查看
本文来自AI新媒体量子位(QbitAI)

最近,神经网络这个词特别火,吸引不少眼球。但是神经网络是个啥?有啥用?

这篇文章和大家唠唠,啥是神经网络,对于初学者来说主要有哪些挑战,以及介绍几种经典的神经网络类型,和相关行业应用。

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1

神经网络的工作原理

基本上,神经网络是由一层一层的不同的计算单位连接起来的。我们把计算单位称为神经元,这些网络可以把数据处理分类,就是我们要的输出。

每个神经元把最初的输入值乘以一定的权重,并加上其他输入到这个神经元里的值(并结合其他信息值),最后算出一个总和,再经过神经元的偏差调整,最后用激励函数把输出值标准化。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

迭代的学习过程

神经网络有个很关键的特征,它的学习过程是迭代的。也就是说,在学习期间,处理数据的过程会不断重复,而且为了准确预测输入值的分类,每次都会调整和输入数据有关的权重。

神经网络的优点,在于他们对很乱的数据的容忍度很高,同时也有很强的分类能力,连未训练的数据也能区分出来。

而最受欢迎的神经网络算法,是反向传播算法。

为了解决某个特定问题,神经网络要得到足够的训练。在训练最开始的时候,初始权重是随机定的。

如果在输出层得不到期望的输出值,则取输出与期望的误差的平方和作为目标函数,转入反向传播,逐层求出目标函数对各神经元权值的偏导数,构成目标函数对权值向量的梯量,作为修改权值的依据,网络的学习在权值修改过程中完成。误差达到所期望值时,网络学习结束。

神经网络通过隐藏层里的权重和函数,一次处理训练集里的一组数据,然后把输出值和实际结果作对比。然后把误差返回给整个网络系统,针对要解决的问题来调权重。再输入下一组数据,看偏差值有没有变小。

这个过程要不断地反复调整权重。所以在训练的过程中,同一组数据会被处理很多次,直到每一层的权重都被精细地调校过。

这个过程有多困难呢?

对于神经网络的初学者来说,其中的一个挑战是要理解每一层有什么用。我们知道,在训练过后,每一层都会抽取出来输入值的高阶或更高阶的特征,直到最后一层决定输入的特征所指的是什么。那这个过程是怎么完成的?

与其指定神经网络最后放大的特征,还不如让神经网络自己得出来。

由于神经网络的每一层的处理,是不同维度的抽象特征。所以强化哪一层,会对最后的值的特征的复杂性有不同的影响。而在我们选了其中一个层后,就可以看到神经网络最后增强了什么的特征。

流行的神经网络类型及其应用

接下来,我们会了解一下自动编码器,卷积神经网络和循环神经网络。

自动编码器

根据之前的经验,随机初始化的结果并不好。所以为了获得更好的初始权重,我们可以考虑用无监督学习算法来预训练每个层。

类似的例子,可以参考被无监督算法训练的Deep Belief Networks。 最近,有一些新的研究尝试在这个领域寻找突破,比如,使用概率自动编码器的变分方法。

不过实际上,它们很少被用到。 最近,对于更深的神经网络来说,已经可以进行批量地标准化。通过残差学习,我们能从头开始训练任意深度神经网络了。在适当的维度和稀疏性的约束下,自动编码器可以学习到,比PCA或其他基本技术更有趣的数据投影。

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

医学图像的降噪

通过卷积层,自动编码器实现高效降噪。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

 降噪自动编码器,就是设定为忽略某些输入的

在随机干扰过程中,通过随机地将一些输入数据设为零,让降噪自动编码器自己判断哪些是丢失(损坏)的值,从而预测出哪些是丢失模式的子集。

数据可视化

用主成分分析(PCA),和t分布随机相邻嵌入(t-SNE)等方法,可以实现降维。 在训练神经网络的时候,结合以上方法,能提高模型的预测精度。而且,多层神经网络的预测精度很大程度上依赖于神经网络结构,预处理的数据,以及该神经网络要解决的问题类型。

卷积神经网络

卷积神经网络,这个名字是来源于“卷积”运算符。 它的主要目的,在于从输入的图像中提取特征。而特征的提取,是通过使用输入数据里3×3的区域学习到的。这样,卷积网络就能够保留像素之间的空间关系。

卷积神经网络在以下领域取得了成功:

人脸识别

级联卷积神经网络,可以快速高效地识别人脸。 检测器先用低分辨率评估输入图像,把非面部区域快速排除掉,再以更高的分辨率,仔细处理并精确检测更复杂的区域。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

为了加速检测并提高边框质量,还在级联中引入了校准网络。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

自动驾驶

卷积神经网络传统上用于图像分析和目标识别。

在自动驾驶的项目中,空间纵深的估算能力特别重要。没有它,就无法确保乘客和其他车辆的安全。NVIDIA的自动驾驶汽车等项目,就已经开始使用CNN了。

CNN非常灵活,可以通过多层的参数来处理输入,其中还包括深度信念网络(DBN)。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

另外,还有个好玩的用法, 可以在游戏模拟器中,用CNN来开车并预测转弯的角度 。

循环神经网络

循环神经网络可以生成序列。每次处理单组的真实数据序列之后,就预测接下来会发生什么。那这种模型是怎么一步一步搭起来的呢?

假设,预测的结果是存在概率分布的话,那么可以反复取各种输入值,产生新的序列。输入值的来源可以是已经训练过的网络的输出值,取得越分散越好。换句话说,让神经网络把自己生成的结果,当作真实世界里产生的数据值,用作输入,就像一个人在做梦一样。梦里那些虚幻不存在的场景,也能成为我们记忆中感知的一部分。

640?wx_fmt=png&wxfrom=5&wx_lazy=1

预测

神经网络经过训练后,给定一个输入值,就能得到在预期内的输出值。

如果我们有个神经网络,能够完美地拟合一系列已知的值,那么这个网络也能预测未来的值。

现在,预测股价的模型用得最6。

不同领域里神经网络的应用

在真实的商业环境里,神经网络已经应用很广泛了,比如销售量预测,用户调查,数据有效性,和风险调控。

市场

目标市场与市场细分有关,根据用户不同的消费行为,我们能把市场划分得很细。

按地域分布,经济能力、购买习惯、对产品的态度等维度分类,是神经网络最拿手的事。无监督学习可以自动把有相似属性的用户分类到一起。

零售行业

神经网络用来预测超市的销售量特别有优势,因为它能多维度考虑问题。比如一个产品可能有多大的市场需求量,一个消费者的收入,人口分布,产品价格等方面。

一旦两个商品,在某段时间内他们的销售量存在间接的联系,像一个用户买完打印机之后,很大可能会在3到4个月的时候需要补充新墨盒,那么零售商可以从顾客的购买数据来有效地推产品,避免顾客流失到竞争对手那。

金融行业

神经网络已经成功解决了多个金融类的问题,比如衍生类的保值型理财产品,未来价值的预测,外汇汇率的预测,以及股票市场的表现。以前,是数据技术驱动着软件的发展;现在,神经网络驱动着大家做出更优的理财选择。

医药行业

高效的人体生理系统建模、快速检测疾病这些方面的工作,需要大量神经网络来支持。大家都很看好未来神经网络在医疗领域大规模的应用。

结论

也许,用神经网络解决实际问题的同时,未来神经网络还能当艺术家创作的工具,混合出新的视觉效果。说不定我们还可以从中发现创意的规律。

总的来说,神经网络让计算机更像人,get到越来越多的技能,可以帮我们做更多的事儿。

原文链接:
http://t.cn/RYqmhBG

本文作者:Root
原文发布时间:2017-11-26

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《JS零基础入门教程(上册)》下载
通过阅读本书,您能学到JS零基础入门教学、JavaScpript实战案例解析、JS常用结构、工具及语法汇总详解和理论与实践的结合。
3 0
零基础如何入门数学建模?
​ 🐏小羊简介: 💖博客主页:小羊不会飞 🚀年龄:20 大二在读 💪爱好:干饭,运动,码代码,看书,旅游 📃即将更新: 🎯1、手把手带你搭建个人博客网站 🎯2、后台管理系统模块更新 🚍:感兴趣的朋友,赶紧上车吧!! 🎉欢迎关注🔍点赞👍收藏🎇留言📙 🎄有任何疑问,欢迎留言讨论!!! ​
36 0
首次:磐久服务器M系列和倚天710芯片双双通过PCIe 5.0官方认证
全球范围内首个通过PCIe 5.0认证测试的量产服务器硬件系统和数据中心服务器芯片
143 0
SAP RETAIL 对WG22执行LSMW批量导入物料组描述信息时需要前台执行
SAP RETAIL 对WG22执行LSMW批量导入物料组描述信息时需要前台执行
62 0
【Python零基础到入门】Python基础语法篇——基本数据类型【文末送书】
目录 📢 前言 👑Python基础语法篇——基本数据类型 🍓标准数据类型 🍉Number(数字) 🍊String(字符串) 🥭List(列表) 🥝Tuple(元组) 🍈Dictionary(字典) 🍇Set(集合) 🍒多个变量赋值 💬总结 👑评论区抽奖送书 🎁抽奖规则 🎄推荐理由(⭐⭐⭐⭐⭐)
49 0
零基础入门系列
简介: 为了让宝贵的经验传播,方便大家快速上手 Flink,小编将零基础入门系列整理成合集供大家下载,学习和使用。
6899 0
C#消息队列(MQ)零基础从入门到实战演练
一、课程介绍 如果您从工作中之听过但未有接触过消息对队列(MQ),如果你接触过一点关于MQ的知识,如果没有这么的多如果的话......,那么阿笨将通过本次《C#消息队列零基础从入门到实战演练》分享课让您对消息队列有一个实质性的了解和认识,达到实际的灵活贯通和运用。
2316 0
【JAVA零基础入门系列】Day14 Java对象的克隆
  【JAVA零基础入门系列】(已完结)导航目录 Day1 开发环境搭建 Day2 Java集成开发环境IDEA Day3 Java基本数据类型 Day4 变量与常量 Day5 Java中的运算符 Day6 Java字符串 Day7 Java输入与输出 Day8 Java的控制流程 Day9 Java中的那个大数值 Day10 Java中的数组 Day11 Java中的类和对象 Day12 Java类的简单应用 Day13 Java类的继承与多态 Day14 Java对象的克隆 Day15 对象的比较   今天要介绍一个概念,对象的克隆。
766 0
+关注
行者武松
杀人者,打虎武松也。
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
典型模型-卷积神经网络入门 从概念原理到应用实现
立即下载
典型模型-卷积神经网络入门
立即下载
数据+算法定义新世界
立即下载