前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >零基础入门神经网络:从原理、主要类型到行业应用

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

作者头像
量子位
发布2018-03-23 15:13:42
6550
发布2018-03-23 15:13:42
举报
文章被收录于专栏:量子位量子位
原作 Jay Shah Root 编译自 Jay Shah寄几的博客 量子位 出品 | 公众号 QbitAI

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

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

神经网络的工作原理

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

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

迭代的学习过程

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

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

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

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

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

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

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

这个过程有多困难呢?

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

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

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

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

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

自动编码器

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

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

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

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

医学图像的降噪

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

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

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

数据可视化

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

卷积神经网络

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

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

人脸识别

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

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

自动驾驶

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

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

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

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

循环神经网络

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

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

预测

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

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

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

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

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

市场

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

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

零售行业

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

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

金融行业

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

医药行业

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

结论

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

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 量子位 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 神经网络的工作原理
    • 迭代的学习过程
      • 这个过程有多困难呢?
      • 流行的神经网络类型及其应用
        • 自动编码器
          • 卷积神经网络
            • 循环神经网络
            • 不同领域里神经网络的应用
              • 市场
                • 零售行业
                  • 金融行业
                    • 医药行业
                    • 结论
                    相关产品与服务
                    人脸识别
                    腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档