太原cms建站模板,传奇霸主页游,前端ui设计是什么,山西网站建设鸣蝉什么是深度学习#xff1f;
感知器
为了实现模拟人类的学习#xff0c;科学家们首先设计了构成神经网络的基本结构神经元#xff08;感知器模型#xff09;#xff0c;然后再由大量的神经元构成复杂的#xff0c;能够实现各种功能的神经网络。 这种模式和超能陆战队中的…什么是深度学习
感知器
为了实现模拟人类的学习科学家们首先设计了构成神经网络的基本结构神经元感知器模型然后再由大量的神经元构成复杂的能够实现各种功能的神经网络。 这种模式和超能陆战队中的磁力机器人很像大量的磁力机器人可以构成各种形态完成各种复杂的任务。 感知器模型的原型来自于生物学上的神经元我们可以看到生物学上的神经元能够抽象成树突轴突和细胞体三部分。 其中树突接收来自其他神经元的信号因此它的分布范围可代表该神经元接受刺激的范围。 细胞体综合所有树突的信号轴突则是自细胞体发出的一条突起传递来自细胞体发出的信号给下一个神经元。 感知器可以描述为一个基本的学习结构例如如果我们需要培养一个德智体美劳全面发展的小孩每个感知器就可以相当于其中一个课程方面的学习。 假如我们需要学习语文输入x就相当于课文中的每一个词语权值w相当于我们对词语的熟悉程度最终对所有词语的加权后我们理解整个句子再通过激活函数把句子里的重点划出来激活函数相当于突出关键点一次基本的学习行为就完成了。
多层感知器神经网络
我们进一步参考生物学上的神经结构大量的外部信号刺激树突并传导到神经元神经元综合外部信号后通过轴突输出。 无数神经元一起构成神经中枢并综合各个神经元轴突的输出信号进行判断。 这种传导和判断的过程反复进行直到形成最终的判断结果人体根据神经中枢的判断结果对外部刺激做出最终反应这个过程就是我们的神经网络。 所以通俗点说多层神经网络类似于你爸妈想把你培养成德智体美劳全面发展的小孩所以将多个课程学习的结构叠加在一起增加你的学习内容这样第一代鸡娃就产生了。 更牛的是后来科学家们居然证明了这样叠加的神经网络是一个万能学习器如果给予足够多的支持可以学习好任何内容在足够多的神经元下可以无限逼近任何问题于是教育内卷开始了。
神经网络的困惑
神经网络是一个万能逼近器所以从理论上来说神经网络能够做任何有监督学习的任务。 不过这就好像给一个小朋友一只笔理论上他就可以画出达芬奇的素描一样真的只是理论上可以。 实际上神经网络在执行复杂任务时并不太给力就好像每个人都觉得自己的小孩是个天才但是当你真的教他读书时你就会知道现实有多么残酷了。
我们分析一下内在的原因
1样本不足且不满足真实数据的分布。 这就好像你家小孩学习就看看书上的内容别人家的小孩还看了海淀试题和黄冈试题一样多看题的小孩将会学习的更好。
2计算能力不足难以适应大模型高强度的学习。 这就好像你家小孩夏天在家里学习电扇也没有空调也没有还要照看年幼的弟弟妹妹环境恶劣。 而别人家的小孩空调开着好吃好喝端上来心无旁骛自然能够学习得更久。
3网络结构存在缺陷存在梯度消失陷入局部极值等问题。 这就好像你家小孩没有人指导完全就是按照自己的理解学习因此很可能对知识的理解是错误的。 而别人家的小孩有名师指导一开始就教授了正确的学习方法自然能够取得更好的学习效果。
所以家长们知道了要想小孩学习好光是逼他学习很多内容是没用的还要有足够多的外部支持才行。 同理要想神经网络学习好就和我们中国的鸡娃一样要大量的数据买大量的参考书参加各种补习班要充足的算力提供良好的学习环境优化网络结构和学习算法找名师教导好的学习方法。
深度学习诞生
深度神经网络本质上和教育内卷没啥差别首先外在条件需要大量的数据和充足的算力然后内在条件在于有良好的学习方法和学习习惯。
1更深的网络结构
如何获得好的学习结果直接的方法当然是增加神经网络的神经元数量以提高学习能力那么同样在增加神经元数量的前提下更深deep的神经网络和更胖fat的神经网络究竟哪个更好呢
这就好像我们要一个小孩学习是要他一天学习24个小时还是4天每天学习6小时一样持续的有规律的学习似乎更加有效率一些。 此外科学家们进一步发现深度学习的过程实际上是一个特征逐渐提取和学习的过程例如下图中为了进行人脸识别神经网络首先学习了各种像素边缘的特征左图然后学习了各类组件的特征例如眼睛、耳朵、鼻子等中图最后将特征组合起来形成了各类人脸特征右图。 这与人类的学习习惯是非常相似的因为人们也是从小学到初中到高中逐级依次学习的学习的内容从简单到负责。深度神经网络的这种逐级的特征学习过程与人类的学习过程类似所以深度学习更加符合人类的学习习惯。 最后给大家一个具体的概念吧目前大型的GPT-3模型模型的尺寸为1750亿参数使用45TB数据进行训练。
2海量的数据驱动
近年来移动互联网和物联网的发展使得人们能够通过各种途径获得海量的数据。海量的数据就催生了大规模的数据集和对应的超大规模深度学习模型。下面稍微列几个大规模数据集给大家看看
ImageNet包含1400万的图像
MirFlickr1M包含100万的图像
CoPhIR包含1亿600万的图像
Large-Scale Image Annotation using Visual Synset(ICCV 2011)包含2亿图像
这就好像学生还没有学习我们就先给他准备了全面的学习资料对于后期高效的学习显然是有利的。
3强大的计算平台
超大规模的模型和数据就意味着海量的计算而海量的计算需要强大的计算平台支持。计算能力是推动深度学习的利器计算能力越强同样时间内积累的经验就越多、迭代速度也越快深度学习的性能也就更高。
高速发展的计算平台例如GPU平台、TPU平台和超级计算机等使深度学习有了革命性的进步——计算能力这种对于深度学习的支撑与推动作用是不可替代的。
这就好像一个学生的家庭条件优越只要他愿意学习那么外部的物质条件会全力保障他的学习过程并提高他的学习效率。
深度学习的分类
深度学习发展至今已经成为人类最接近通用智能的技术之一。 传统的人工智能分成三个等级“计算智能”表示能够实现快速计算、记忆与存储的能力就好像一个高中生数理化学得特别好“感知智能”表示识别处理语音、图像、视频的能力就好像一个大学生能够根据所学的基础知识设计出图像识别系统、翻译系统等“认知智能”指实现思考、理解、推理和解释的能力就好像一位博士生能够思考专业问题并给出解释和分析的结论一样。 因此人工智能发展的终极目标是赋予机器人类的智慧。
目前在深度学习领域有以下几个重要的类别
1破译图像的密码——卷积神经网络
传统的深度神经网络在处理二维或高维数据时例如图像或视频数据维度太高会导致模型巨大同时模型参数之间存在冗余泛化能力不高所以利用卷积把关键特征提取出来进行处理 通俗点说就是相当于考试之前的复习划重点把关键的知识点圈出来通过卷积和池化这些学习的效率就提高了。
2洞悉语言的内涵——循环神经网络
传统的神经网络很少考虑输入信号在时间上的联系但是现实中很多问题都是一个时序分析问题例如语言文字分析问题。 例如语文中思考一个词在句子中的含义那么必然要考虑上下文语境的影响。因此循环神经网络就是在传统神经网络的基础上加入了时序分析的能力让神经网络能够处理时序分析问题。 通俗点说就是帮助学生将前面所学的知识点和现在所学的知识点放在一起分析从而在时间上形成系统的知识体系。
3棋逢对手伯仲之间——生成对抗网络
生成对抗网络是在深度学习中产生的一种全新的学习框架。 它包括了一位出题者生成器和解题者判别器。 出题者希望出一道解题者无法解出来的难题所以他需要不断学习使得出的题目越来越难而解题者也在不断学习尽力解出出题者出的难题两者不断博弈出题者的水平越来越高题目也越来越难解题者也不断学习结题的水平也在提高最终两者共同进步出题者生成器和解题者判别器的知识和能力都不断增强。
4纸上得来终觉浅绝知此事须躬行——深度强化学习
深度强化学习是强化学习在策略行为上的增强。 通过使用深度神经网络作为强化学习的策略体强化学习能够进行更大规模的学习和更复杂的决策。具体而言深度强化学习一般包括一名做题者和一名打分者做题者根据自己的做题方法策略来解题获得答案打分者根据做题者的答案来打分。 做题者需要不断学习优化自己的做题方法从而获得更好的答案并在打分者那里获得高分。 通过不断的学习和优化做题者的做题方法策略水平越来越高获得的分数也就越来越高。
总结
深度学习是大数据、大算力和大模型共同演进发展的结果目前代表了人工智能的最前沿发展方向。 深度学习通过加深网络结构来增强网络的学习性能符合人类的学习习惯目前包含了卷积神经网络、循环神经网络、生成对抗网络和深度强化学习等四个主要方向。
Torch
Torch是一个有大量机器学习算法支持的科学计算框架其诞生已有十年之久但是真正起势得益于Facebook开源了大量Torch的深度学习模块和扩展。 Torch的特点在于特别灵活但是另一个特殊之处是采用了编程语言Lua在深度学习大部分以Python为编程语言的大环境之下一个以Lua为编程语言的框架有着更多的劣势这一项小众的语言增加了学习使用Torch这个框架的成本。
PyTorch
PyTorch的前身便是Torch其底层和Torch框架一样但是使用Python重新写了很多内容不仅更加灵活支持动态图而且提供了Python接口。 它是由Torch7团队开发是一个以Python优先的深度学习框架不仅能够实现强大的GPU加速同时还支持动态神经网络这是很多主流深度学习框架比如Tensorflow等都不支持的。 PyTorch既可以看作加入了GPU支持的numpy同时也可以看成一个拥有自动求导功能的强大的深度神经网络。 除了Facebook外它已经被Twitter、CMU和Salesforce等机构采用。 PyTorch是Torch深度学习框架的一个接口可用于建立深度神经网络和执行张量计算。 Torch是一个基于Lua的框架而PyTorch则运行在Python上。 PyTorch是一个Python包它提供张量计算。 张量是多维数组就像numpy的ndarray一样它也可以在GPU上运行。 PyTorch使用动态计算图PyTorch的Autograd软件包从张量生成计算图并自动计算梯度。 与特定功能的预定义的图表不同PyTorch提供了一个框架用于在运行时构建计算图形甚至在运行时也可以对这些图形进行更改。 当不知道创建神经网络需要多少内存的情况下这个功能便很有价值。
Tensorflow
Google开源的Tensorflow是一款使用C语言开发的开源数学计算软件使用数据流图(Data Flow Graph)的形式进行计算。 图中的节点代表数学运算而图中的线条表示多维数据数组(tensor)之间的交互。 Tensorflow灵活的架构可以部署在一个或多个CPU、GPU的台式及服务器中或者使用单一的API应用在移动设备中。 Tensorflow最初是由研究人员和Google Brain团队针对机器学习和深度神经网络进行研究而开发开源之后几乎可以在各个领域适用。 Tensorflow是全世界使用人数最多、社区最为庞大的一个框架因为Google公司出品所以维护与更新比较频繁并且有着Python和C的接口教程也非常完善同时很多论文复现的第一个版本都是基于Tensorflow写的所以是深度学习界框架默认的老大。
Caffe
和Tensorflow名气一样大的是深度学习框架Caffe由加州大学伯克利的Phd贾扬清开发全称是Convolutional Architecture for Fast Feature Embedding是一个清晰而高效的开源深度学习框架由伯克利视觉中心(Berkeley Vision and Learning CenterBVLC)进行维护。 从它的名字就可以看出其对于卷积网络的支持特别好同时也是用C写的提供的C接口也提供了matlab接口和python接口。 Caffe之所以流行是因为之前很多ImageNet比赛里面使用的网络都是用Caffe写的所以如果你想使用这些比赛的网络模型就只能使用Caffe这也就导致了很多人直接转到Caffe这个框架下面。 Caffe的缺点是不够灵活同时内存占用高Caffe的升级版本Caffe2已经开源了修复了一些问题同时工程水平得到了进一步提高。
Theano
Theano于2008年诞生于蒙特利尔理工学院其派生出了大量的深度学习Python软件包最著名的包括Blocks和Keras。 Theano的核心是一个数学表达式的编译器它知道如何获取你的结构并使之成为一个使用numpy、高效本地库的高效代码如BLAS和本地代码(C)在CPU或GPU上尽可能快地运行。 它是为深度学习中处理大型神经网络算法所需的计算而专门设计是这类库的首创之一(发展始于2007年)被认为是深度学习研究和开发的行业标准。 但是开发Theano的研究人员大多去了Google参与Tensorflow的开发所以某种程度来讲Tensorflow就像Theano的孩子。
MXNet
MXNet的主要作者是李沐最早就是几个人抱着纯粹对技术和开发的热情做起来的如今成了亚马逊的官方框架有着非常好的分布式支持而且性能特别好占用显存低同时其开发的语言接口不仅仅有Python和C还有RMatlabScalaJavaScript等等可以说能够满足使用任何语言的人。 但是MXNet的缺点也很明显教程不够完善使用的人不多导致社区不大同时每年很少有比赛和论文是基于MXNet实现的这就使得MXNet的推广力度和知名度不高。
Keras
如果你习惯使用python那么可以立即上手到Keras。 这是一个非常适合你的深度学习之旅的完美的框架。
Keras用Python编写可以在TensorFlow以及CNTK和Theano之上运行。 TensorFlow的接口具备挑战性因为它是一个低级库新用户可能会很难理解某些实现。 而Keras是一个高层的API它为快速实验而开发。 因此如果希望获得快速结果Keras会自动处理核心任务并生成输出。 Keras支持卷积神经网络和递归神经网络可以在CPU和GPU上无缝运行。
深度学习的初学者经常会抱怨无法正确理解复杂的模型。 如果你是这样的用户Keras便是你的正确选择它的目标是最小化用户操作并使其模型真正容易理解。
PaddlePaddle
飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础是中国首个自主研发、功能完备、开源开放的产业级深度学习平台集深度学习核心训练和推理框架、基础模型库、端到端开发套件和丰富的工具组件于一体。截至2022年12月飞桨已汇聚535万开发者服务20万家企事业单位基于飞桨开源深度学习平台构建了67万个模型。 开源开放的飞桨已经成为中国深度学习市场应用规模第一的深度学习框架和赋能平台。 PaddlePaddle是百度提供的开源深度学习框架框架本身具有易学、易用、安全、高效四大特性是最适合中国开发者和企业的深度学习工具。
网址:http://www.paddlepaddle.org/zh