前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >通俗讲解深度学习和神经网络!

通俗讲解深度学习和神经网络!

作者头像
Datawhale
发布于 2021-12-08 10:20:38
发布于 2021-12-08 10:20:38
1.9K0
举报
文章被收录于专栏:Datawhale专栏Datawhale专栏

作者:知乎King James,伦敦国王大学

前言:本篇文章主要面向产品、业务、运营人员等任何非技术人员通俗易懂地讲解什么是深度学习和神经网络,二者的联系和区别是什么。无需技术背景也可以有一个比较全面清晰的认识。同时也为为大家讲解TensorFlow、Caffe、Pytorch等深度学习框架和目前工业界深度学习应用比较广的领域。

01 人工智能、机器学习、深度学习

1.1 人工智能是什么

在介绍深度学习之前,先和大家介绍一下AI和Machine Learning,才能理清AI、Machine Learning、Deep Learning三者之间的关系。

1956年8月,在美国汉诺斯小镇的达特茅斯学院中,几位科学家在会议上正式提出“人工智能”这一概念,这一年也被称为人工智能元年。在此之前,人类已经制造出各类各样的机器如汽车、飞机等,但这些机器都需要经过人来操作使用,无法自己具备操作的能力。科学家探讨能不能制造出一个可以像人类大脑的一样思考的机器,拥有人类的智慧,这就是人工智能。

同时科学家们也对AI未来的发展畅想了三个阶段:

大家在电影上看到的各种AI都是强人工智能,但目前我们仍处在弱人工智能阶段,什么时候进入强人工智能阶段未知。强人工智能阶段,机器可以完美媲美人脑,像人类一样有情感地、批判性地去思考。同时可以快速学习,拥有极强的自学能力。

那么如何实现人工智能,实现人工智能的方法是什么?

1.2 机器学习是什么

实现人工智能的方法我们统称为“机器学习”。同样是1956年的美国达特茅斯会议上,IBM的工程师Arthur Samuel正式提出“Machine Learning”这个概念,1956年真的是特殊的一年。

机器学习既是一种实现AI的方法,又是一门研究如何实现AI的学科,你可以理解为和数学、物理一样的学科。机器学习,简单来说就是从历史数据中学习规律,然后将规律应用到未来中。国内大家一致推荐的,南京大学周志华教授的机器学习教材西瓜书里面如此介绍机器学习。

机器学习是机器从历史数据中学习规律,来提升系统的某个性能度量。其实人类的行为也是通过学习和模仿得来的,所以我们就希望计算机和人类的学习行为一样,从历史数据和行为中学习和模仿,从而实现AI。

简单点讲,大家从小到大都学习过数学,刷过大量的题库。老师和我们强调什么?要学会去总结,从之前做过的题目中,总结经验和方法。总结的经验和方法,可以理解为就是机器学习产出的模型,然后我们再做数学题利用之前总结的经验和方法就可以考更高的分。有些人总结完可以考很高的分,说明他总结的经验和方法是对的,他产出的的模型是一个好模型。

既然有了机器学习这一方法论,科学家们基于这一方法论,慢慢开始提出各类各样的算法和去解决各种“智能”问题。就像在物理学领域,物理学家们提出各种各样的定理和公式,不断地推动着物理学的进步。牛顿的三大定律奠定了经典力学的基础。而传统机器学习的决策树、贝叶斯、聚类算法等奠定了传统机器学习的基础。

1.3 深度学习是什么

但是随着研究的不断深入,传统机器学习算法在很多“智能”问题上效果不佳,无法实现真正的“智能”。就像牛顿三大定律,无法解释一些天文现象。在1905年,爱因斯坦提出“相对论”,解释了之前牛顿三大定律无法解释的天文现象。同样2006年,加拿大多伦多大学教授Geoffrey Hinton对传统的神经网络算法进行优化,在此基础上提出了Deep Neural Network的概念,他们在《Science》上发表了一篇Paper,引起Deep Learning在学术界研究的热潮。(paper原文:http://www.cs.toronto.edu/~hinton/science.pdf)

2012年Geoffrey Hinton老爷子的课题组,在参加业界知名的ImageNet图像识别大赛中,构建的CNN网络AlexNet一举夺得冠军,且碾压第二名(SVM方法)。也正是因为该比赛,Deep Learning引起了工业界的关注,迅速将Deep Learning引进到工业界的应用上。深度学习技术解决了很多传统机器学习算法效果不佳的“智能”问题,尤其是图片识别、语音识别和语义理解等。某种程度上,深度学习就是机器学习领域的相对论。

将人工智能和机器学习带到一个新高度的技术就是:Deep Learning。深度学习是一种机器学习的技术。

同时大家应该听到过一大堆的“学习”名词:机器学习、深度学习、强化学习等等。在这里面机器学习是“爸爸”,是父节点;其他都是它“儿子”,是子节点。AI、Machine Learning和Deep Learning的关系可以通过下图进行描述。

让机器实现人工智能是人类的一个美好愿景,而机器学习是实现AI的一种方法论,深度学习是该方法论下一种新的技术,在图像识别、语义理解和语音识别等领域具有优秀的效果。(对强化学习感兴趣的读者可以参考:https://zhuanlan.zhihu.com/p/150451604)

那么深度学习到底是一门什么技术?“深度”到底代表什么?

02 深度学习与神经网络

2.1 生物神经网络

介绍深度学习就必须要介绍神经网络,因为深度学习是基于神经网络算法的,其实最开始只有神经网络算法,上文也提到2006年Geoffrey Hinton老爷子提出Deep Learning,核心还是人工神经网络算法,换了一个新的叫法,最基本的算法没有变。学过生物的都知道神经网络是什么?下图是生物神经网络及神经元的基本组成部分。

人类的大脑可以实现如此复杂的计算和记忆,就完全靠900亿神经元组成的神经网络。那么生物神经网络是如何运作的?可以参照下图:

通过神经元接收外界信号,达到一定阈值,触发动作电位,通过突触释放神经递质,可以是兴奋或抑制,影响突触后神经元。通过此实现大脑的计算、记忆、逻辑处理等,进行做出一系列行为等。同时不断地在不同神经元之间构建新的突触连接和对现有突触进行改造,来进行调整。有时候不得不感叹大自然的鬼斧神工,900亿神经元组成的神经网络可以让大脑实现如此复杂的计算和逻辑处理。

2.2 人工神经网络

科学家们从生物神经网络的运作机制得到启发,构建了人工神经网络。其实人类很多的发明都是从自然界模仿得来的,比如飞机和潜艇等。下图是最经典的MP神经元模型,是1943年由科学家McCulloch和Pitts提出的,他们将神经元的整个工作过程抽象为下述的模型。

  • x_1,x_2,x_3,x_n:模拟生物神经网络中来自其他神经元的输入;
  • ω_1,ω_2,ω_3,ω_n:模拟生物神经网络中每个神经元对外接收的突触强度不同,所以外界接收的输入乘以一定权重;
  • Σ-Sum:模拟生物神经网络中神经元对外接收的信号进行累加汇总;
  • Bias:模拟生物神经网络中神经元的一般敏感性。每个神经元的敏感性不同,所以需要一定的偏差来调整汇总值;
  • Activation Function:模拟生物神经网络中信号累积到一定程度产生的动作电位,当累积到一定程度就会“激活”动作电位。实际使用时我们一般使用Sigmoid函数;
  • Output:模拟生物神经网络中神经元对外释放的新的信号;

现在我们知道了最简单的神经元模型,我们该如何使用该模型从历史数据中进行学习,推导出相关模型?我们使用上述MP模型学习一个最简单的二分类模型。

如上图,为了训练简单,我们训练集里面只有两条数据。同时激活函数,我们也是最简单的激活函数,当φ(∗) > 0时输出为1,当φ(∗) ≤ 0时输出为0。然后对于参数的更新规则Updated Rule,我们使用的Sequential Delta learning rule和Back Propagation算法,该规则和算法不详细介绍了,可以理解为就像物理、数学领域一些科学家发现的普适性定理和公式,已经得到证明,用就完事了。因为Input只有1个值x_1,所以初始设定参数ω_1,同时还需要一个Bias,我们将Bias设定为ω_0。上述两个参数,我们需要从历史数据中学习出来,但是最开始我们需要一个初始值,假设初始值为ω_1 = 2, ω_0 = 1.5 ;然后我们通过不断地更新迭代最终ω_1和 ω_0 将稳定在两个固定的值,这就是我们最终通过一个简单MP模型学习出来的参数。下图是整个更新迭代学习的过程:

大家可以看到上图最后一次循环ω已经不再发生变化,说明[0.5,-1]就是最终我们学习出来的固定参数。那么上述整个过程就是一个通过神经网络MP模型学习的全过程。下图是最终学习出来的Classifier分类器,我们带入一个新的数据,就可以进行Class预测了。

2.3 何为”深度“

上文我们已经介绍了人工神经网络经典的MP模型,那么在深度学习里面我们使用的是什么样的神经网络,这个”深度“到底指的是什么?其实就是如下图所示的,输入层和输出层之间加更多的”Hidden Layer“隐藏层,加的越多越”深“。

最早的MP神经网络实际应用的时候因为训练速度慢、容易过拟合、经常出现梯度消失以及在网络层次比较少的情况下效果并不比其他算法更优等原因,实际应用的很少。中间很长一段时间神经网络算法的研究一直处于停滞状态。人们也尝试模拟人脑结构,中间加入更多的层”Hidden Layer“隐藏层,和人脑一样,输入到输出中间要经历很多层的突触才会产生最终的Output。加入更多层的网络可以实现更加复杂的运算和逻辑处理,效果也会更好。

但是传统的训练方式也就是我Part 2.2里面介绍的:随机设定参数的初始值,计算当前网络的输出,再根据当前输出和实际Label的差异去更新之前设定的参数,直到收敛。这种训练方式也叫做Back Propagation方式。Back Propagation方式在层数较多的神经网络训练上不适用,经常会收敛到局部最优上,而不是整体最优。同时Back Propagation对训练数据必须要有Label,但实际应用时很多数据都是不存在标签的,比如人脸。

当人们加入更多的”Hidden Layer“时,如果对所有层同时训练,计算量太大,根本无法训练;如果每次训练一层,偏差就会逐层传递,最终训练出来的结果会严重欠拟合(因为深度网络的神经元和参数太多了)。

所以一直到2006年,Geoffrey Hinton老爷子提出了一种新的解决方案:无监督预训练对权值进行初始化+有监督训练微调。

归纳一下Deep Learning与传统的神经网络算法最大的三点不同就是:

  • 训练数据:传统的神经网络算法必须使用有Label的数据,但是Deep Learning下不需要;
  • 训练方式不同:传统使用的是Back Propagation算法,但是Deep Learning使用自下上升非监督学习,再结合自顶向下的监督学习的方式。对于监督学习和非监督学习概念不清楚的读者可以阅读我上文引用的强化学习文章,里面有详细介绍。
  • 层数不同:传统的神经网络算法只有2-3层,再多层训练效果可能就不会再有比较大的提升,甚至会衰减。同时训练时间更长,甚至无法完成训练。但是Deep Learning可以有非常多层的“Hidden Layer”,并且效果很好。

(想了解更多细节的可以阅读:https://blog.csdn.net/zouxy09/article/details/8775518)

不管怎么样Deep Learning也还是在传统神经网络算法基础上演变而来的,它还是一种基于神经网络的算法。今天已经是2021年了,深度学习在很多领域得到了广泛的应用,而且和很多其他学习也结合起来一起使用,比如深度强化学习,有种物理化学专业的赶脚。

MIT讲解了Deep Learning最新的一些研究和应用,详情可以关注这个B站视频:https://www.bilibili.com/video/BV1vg4y1B7Nz?from=search&seid=6689440565680809808。知乎上也有作者解读过这个视频@套牌神仙。

3. 深度学习框架

大家了解深度学习和神经网络以后,相信大家也经常听到如下的英文单词:Tensorflow、Caffe、Pytorch等,这些都是做什么的了。Tensorflow是Google旗下的开源软件库,里面含有深度学习的各类标准算法API和数据集等,Pytorch是Facebook旗下的开源机器学习库,也包含了大量的深度学习标准算法API和数据集等。Caffe是贾扬清大神在UC Berkeley读博士时开发的深度学习框架,2018年时并入到了Pytorch中。

因为深度学习发展至今,很多算法都已经是通用的,而且得到过验证的。那么有些公司就希望将一些标准算法一次性开发好,封装起来,后面再使用时直接调用引入即可,不需要再写一遍。就像大家小时候学习英文一样,英文字典有牛津版本的,也有朗文版本的。对于收录的英文单词,英文单词如何使用,如何造句等,已经有了标准的用法。我们只需要查阅这些字典即可,而Tensorflow、Caffe、Pytorch做的其实也就是计算机届的牛津、朗文英文大词典。国内百度目前也有自己的深度学习框架Paddle-Paddle。

目前一般是学术界用Pytorch较多,Pytorch更适合新手入门,上手快。工业界用Tensorflow较多,更适合工业界的落地和部署等。

4. 深度学习在工业界主要应用领域

目前深度学习应用最广泛的就是传统机器学习算法解决不了的领域或者是效果不佳的领域:视觉、自然语言和语音识别领域。当样本数量少的时候,传统机器学习算法还可以通过一些结构化特征组合在一起然后区分出来。比如区分汽车和摩托车,可以通过轮子数量。但对于人脸,千万张人脸相似的太多,已经完全无法通过鼻子、头发、眼睛这些简单的特征组合进行区分。需要探索更多更复杂的特征,组合在一起才能将千万张人脸区分开来。

所以这时候就需要Deep Learning构建多层神经网络,探索组合更多的特征,才能识别区分千万级别甚至亿万级别的人脸。这在传统神经网络算法和机器学习算法是完全实现不了的。当然实现上述功能,也是因为现阶段有了更多的数据可以进行训练,同时有了更好的算力可以快速完成训练。传统的CPU进行训练,可能训练几个月都训练不出来结果。GPU的出现和改进加速了上述训练过程。

目前应用最广的一些领域:

  • CV:计算机视觉领域。随处可见的人脸识别、物体识别和文字识别OCR。广泛应用于安防领域,同时零售行业也在通过CV技术实现线下门店的数字化。目前国内头部公司就是CV四小龙:商汤、旷视、云从、依图;
  • NLP:自然语言处理领域。目前整体的NLP技术还是不够成熟,无法实现人们设想的机器人可以完全智能对话,机器人目前只能做一些简单的信息提取和检索整合的事情。NLP目前也是最难做的,同样一句话可能会有不同种意思。人有时都很难理解,更何况机器。目前国内头部公司主要是百度和达观;
  • ASR:语音识别领域。目前国内独一档就是科大讯飞,尤其是能够做到很多地方方言的精准识别。语音识别目前主要主要用在语音客服上,有时候大家接到的推销电话其实背后都是电话机器人打的。电话机器人能够完全和用户进行对话,一定程度上也需要NLP的技术,因为它需要理解用户的意思。
  • Autopilot:自动驾驶其实也是CV的衍生领域,目前世界上做自动驾驶最好的其实还是汽车公司比如特斯拉。因为没有车,自动驾驶想获得训练数据都很困难。没有车,自动驾驶技术想实验都跑不通。目前国内百度差不多算第一档。
  • 推荐:传统的推荐都是用GBDT+LR模型来做的,目前深度学习在推荐领域也得到了广泛的应用,下面是深度学习在美团点评里搜索推荐的应用可以阅读一下。

以上就是站在一个PM角度来和大家通俗易懂的介绍深度学习和神经网络,欢迎大家沟通交流指正。

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

本文分享自 Datawhale 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
企业云迁移全攻略:成功迁移的几大关键步骤及注意事项
在当今这个数据驱动的时代,企业比以往任何时候都能访问更多的数据。这些数据不仅数量庞大,而且变化速度惊人。无论是采用传统的数据分析方法还是利用机器学习和人工智能等前沿技术,将来自各个来源的信息集中到云存储库中对于业务来说至关重要。
ICT系统集成阿祥
2025/01/10
1530
企业云迁移全攻略:成功迁移的几大关键步骤及注意事项
进行大规模云迁移的挑战和建议
云迁移的过程非常复杂,需要适当的计划和执行。可以肯定的是,很多企业在迁移过程中将面临意想不到的挑战。为了缓解一些挑战,企业可以通过云计算提供商的合作伙伴生态系统或云计算提供商提供的专业服务寻求帮助。
静一
2020/12/02
6260
关于云迁移,企业需要了解的事
当企业计划将业务迁移到云平台时,需要了解云计算迁移的模式列表,了解其可以做什么以及应该避免什么,这将有助于企业做出明智的决定。
静一
2020/05/19
5360
关于云迁移,企业需要了解的事
如何优化云计算投资
关注组织的目标可以确保支出、连接性和安全性保持在可控制的范围内,并与组织的IT愿景保持一致。成本优化的云平台将利用所有资源并以更低成本实现目标,从而使组织能够专注于其他IT优先事项。
静一
2020/06/17
9070
成功进行云计算迁移的八个步骤
在调查中,90%的企业表示难以迁移到云中,复杂性是最常被引用的问题,可以肯定的是,转移物理系统是很多问题的根源。它们通常是传统IT战略的最后一个遗留问题,因为它们支撑着业务运营。 根据调查,英国企业的云采用率现在已接近90%,并且不久之后,所有组织都将在一定程度上从云计算的灵活性、效率和成本节约中受益。经过第一次采用的浪潮,人们看到企业增加了他们迁移到云中的工作负载和应用程序的复杂性。 也许这也是90%的公司在云迁移项目中遇到困难的原因。这对IT团队在部署云解决方案时感到沮丧,因为按理说,
静一
2018/06/08
1.8K0
实施云迁移之前如何计算成本
计算云迁移成本的第一步是在企业将工作负载迁移到云平台之前开始。数据中心管理人员需要评估现有硬件和软件资产的成本,然后评估其与云平台环境的比较方式。在估计了内部部署环境的成本之后,企业可以计算计划构建的云计算环境的成本,并将两者进行比较。计算云计算成本的最佳方法是使用为这一目的而设计的计算器工具。所有主要的云供应商都有自己的计算器。
静一
2021/06/01
9880
将Oracle企业应用程序迁移到云端需要了解的信息
云计算、公共云、多云……人们几乎每天都能听到有关云计算的新闻。事实上,它已成为企业获得敏锐信息技术的推动力。作为Oracle应用程序用户,云计算是企业战略的一部分吗?企业是否考虑将其电子商务套件、Pe
静一
2019/07/05
7530
将Oracle企业应用程序迁移到云端需要了解的信息
云容量管理和应用
几十年来,容量管理一直用于优化组织内部资源。现在,随着IT逐步转向云环境,这种方法正在被扩展,以便在同一个地方和同一时间实现所有资源(包括云计算和本地部署)的整体规划、管理和优化。
静一
2019/03/07
3.2K0
云容量管理和应用
有效的云迁移策略为企业带来的六大好处
实现内部部署设施到多云之间的数据迁移将加快创新速度,将业务人员从运营工作中解放出来,并在混合云和多云部署环境之间构建一座桥梁。
静一
2022/04/02
5510
为什么云中有那么多企业遭遇安全漏洞?
现在企业的网络安全现状不乐观,如果企业对此无动于衷,他们将有一半的机会成为下一个被攻击的目标。如果企业的云计算资产配置不正确、不进行持续监控和更新,那么业务可能会受到攻击。本文介绍了企业确保云资产安全的五个提示。
静一
2022/09/02
3040
企业在云迁移之后面临的5大挑战
如今,企业将业务迁移到云平台的好处已得到充分证明:提高了效率、可扩展性、业务敏捷性,简化管理,并降低总体成本。将业务迁移到云平台中可以推动企业的数字化转型,并使他们能够更快地适应新技术,这项功能对于当今快速发展的业务格局至关重要。
CloudBest
2019/12/06
1K0
企业在云迁移之后面临的5大挑战
企业将如何迁移到云平台?
考虑到新冠病毒疫情导致资金紧缩,云迁移正越来越多地受到企业财务主管的推动,他们希望从资本支出转向运营支出。
静一
2020/11/19
1.6K0
如何正确进行云迁移
对于许多企业来说,如何更好地将关键业务数据和元数据迁移到云端以支持持续的运营和分析仍然是一个难题。要充分利用现代数据堆栈,需要清楚地了解迁移到云端的用例以及成功所需的数据。
静一
2022/12/08
8250
云迁移可能失败的5种方式以及成功的5种方式
对于大多数企业而言,将业务迁移到云平台不再是一个难题。通过将应用程序迁移到云平台中,企业可以提高安全性、数据访问、可扩展性和IT灵活性。将业务迁移到云平台还可以为企业节省成本。
静一
2019/11/22
8940
混合云:如何在公有云和私有云的结合中保持平衡
在混合云世界中,人们将会发现公共云和私有云混合部署的优势:企业需要对某些数据和应用程序进行内部控制,以及为其他业务提供公共云的可扩展性。IT人员需要花费时间查看业务的整体解决方案,并遵循最佳实践帮助企业充分利用这一环境,同时在预算、安全、合规性和优化方面取得更大进展。
静一
2019/08/09
2.1K0
为什么会发生云迁移故障以及如何预防
企业如今向云平台迁移的应用程序比以往任何时候都要多,但其中的许多计划都失败了。企业应该学习如何避免在云迁移方面犯错。
静一
2020/02/26
7830
为什么多云战略对于企业数据保护至关重要
RightScale公司还进行了一项调查,结果发现企业正在考虑并逐步增加对多个公共云平台的使用,而不是只与一家云计算提供商合作。ESG公司2017年开展的调查报告证实了这些发现,81%的组织报告了多云战略和实施计划。
静一
2018/12/19
3730
为什么多云战略对于企业数据保护至关重要
成功进行云迁移的方法
已经开始进行云计算之旅的组织已经展现出对于应对疫情的更大弹性和响应能力。预计在不久的将来,随着不同的云服务模型(SaaS、PaaS、IaaS)以及混合云和多云拓扑的结合,预计各行业组织的云计算采用率将显著提高。
静一
2021/02/05
1.2K0
成功进行云迁移的方法
有效实现多云成本管理的8个步骤
众所周知,企业采用多云可以节省成本,并提高生产力。但是多云基础设施很复杂,具有多家云计算供应商提供的不同服务和条款。企业在采用多个云平台时,很容易在自己没有意识到的情况下造成资金的浪费。
静一
2018/12/18
6480
有效实现多云成本管理的8个步骤
迁移到云端的企业为数字化转型做好准备了吗?
如今,很多企业的首席信息官都在考虑数字化转型,一些技术决策者正寻求将业务迁移到云端,其原因有很多,例如,认为大型机过时的观念、降低成本,以及提高生产力。
静一
2019/05/08
6220
迁移到云端的企业为数字化转型做好准备了吗?
推荐阅读
相关推荐
企业云迁移全攻略:成功迁移的几大关键步骤及注意事项
更多 >
LV.0
这个人很懒,什么都没有留下~
目录
  • 01 人工智能、机器学习、深度学习
    • 1.1 人工智能是什么
  • 1.2 机器学习是什么
    • 1.3 深度学习是什么
  • 02 深度学习与神经网络
    • 2.1 生物神经网络
    • 2.2 人工神经网络
    • 2.3 何为”深度“
  • 3. 深度学习框架
  • 4. 深度学习在工业界主要应用领域
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档