深度学习与人工智能革命:part III

简介: 本文是该系列内容的第3部分内容,主要介绍人工神经网络、深度学习的基本原理,着重介绍深度学习中数据库的选择需要考虑的问题。

本篇是系列博客的第部分,如果没有看过前面两部分内容的读者建议阅读一下。

I部分内容中,主要是讲解人工智能的历史以及它现在高速发展的原因;

II部分内容中,将讨论一下人工智能、机器学习和深度学习之间的区别;

在今天的第III部分内容中,将深入研究深度学习以及在为新项目选择数据库时需要评估的关键事项;

IV部分内容中,将讨论深度学习为何使用MongoDB,并提供相关使用实例;

由于本文内容是第III部分内容,主要介绍深度学习以及在为新项目选择数据库时需要评估的关键事项。如果读者想快速将四部分的内容全部看完,可以下载本文的附件。

深度学习是什么?

深度学习是机器学习研究领域中的一个分支,近年来在图像识别、自然语言处理和图像分类等领域应用十分火热,受到世界范围内的广泛关注。深度学习是人工神经网络(ANN)的一种改进,正如人工神经网络一样,是模拟人类大脑学习和解决问题的一种方法。

在深入了解深度学习的工作原理前,首先理解人工神经网络(ANN)是如何工作的。人工神经网络是由一组互相连接的神经元组成,类似于人类大脑中的神经元网络。

上图是一个简化的神经元连接示意图。神经网络中的每个神经元接收与之连接的其它神经元的输入信息(Xi),然后通过计算后输出到网络中的其它神经元或节点。神经元之间的连接参数用权重(Wj)表示,权重的大小表示二者连接的强度,权重的值可正可负。将所有的输入信息都与对应的连接权重相乘(X1W1,X2W2等)并进行求和作为该节点的输出。最后一步是对神经元执行计算或激活函数处理。激活函数允许人工神经网络模拟简单模式无法正确表示的复杂的非线性问题,常用的激活函数是Sigmoid函数。

上图表示一个三层的神经网络,从左往右第一层为输入层,输入对应的特征(X1,X2,X3),第二层被称作隐藏层,隐藏层可以有多层,第三层是输出层。对于一个层而言,只要该层不是输入层或输出层,那么该层就可以称作隐藏层。

“深度”学习最初就是这样产生的,因为其含有多个隐藏层,通常包含多于3个的隐藏层。在一些情况下,隐藏层的个数高达1200多个。

多个隐藏层的好处是什么呢?在某些模式下,可能需要更加深入的调查,因此多个隐藏层可以进行额外的特征处理。深度学习在图像分类领域中表现优异,甚至在某些特定任务上超过了人类的表现。现在,通过一个额外隐藏层有助于面部识别的例子来说明这一点。

当一张图片被输入到一个深层次的学习网络中时,它首先被分解成图像像素。然后该算法将在图像中的某些位置寻找特定形状的图案。第一个隐藏层可能试图揭示特定的面部模式:眼睛、嘴巴、鼻子、耳朵等。添加一个额外的隐藏层来解析更加细粒度的属性。例如,“嘴巴”可以进一步分解为“牙齿”、“嘴唇”、“牙龈”等。添加额外的隐藏层可以将这些模式更进一步抽象。最终的结果是一个深层的学习网络可以将一个非常复杂的问题分解成一系列简单的问题。隐藏层的本质是一个层次化的特征学习,它们能够更好地提取特征。目前,大多数深度学习算法都是有监督学习,即对已知的标记数据进行深度学习。

训练是如何工作的?

训练深度学习的最终目的是降低代价函数,即期望输出与实际输出之间的差异尽可能小。节点之间的连接将会有特定的权重,不断修改这些权重参数使得网络的代价函数变小。通过修改权重值,可以将代价函数最小化到全局最小值,这意味着模型的误差降到最小值。深度学习之所以计算如此密集就是因为它需要找到合适的数以十亿的连接权重值,这需要通过不断迭代训练调整得到,以找到使得代价函数全局最小值的权重集。

深度学习中最为常用的训练方法是反向传播梯度下降算法。梯度下降算法是一种有效的数学优化方法,它能有效地处理大量的数据(特征),而不必强力进行维度分析。梯度下降算法根据权重函数的全局最小值来计算梯度(斜率)。在训练过程中,首先随机分配权重并计算出一个误差。然后基于这个误差,通过使用梯度下降算法来修改权重,之后反向逐层调整每层的权重参数,当调整完每层参数后又正向进行传播,计算得到一个新的误差,之后基于新的误差调整每层的参数,一直迭代到代价函数达到全局最小值为止。可能会出现一些例子,梯度下降算法是以局部最小值而不是全局最小值来计算的,减轻这个问题的方法是使用凸的代价函数或对参数产生更多的随机性。

深度学习中对数据库的思考

非关系数据库在促进机器学习和深度学习技术的最新进展中起着不可或缺的作用。收集和存储大量结构化和非结构化的数据的能力为提升深度学习预测提供的必要的原材料。在构建深度学习应用程序时,选择用于管理底层数据的数据库时要牢记一些注意事项。

灵活的数据模型。在深度学习中,数据需要经历三个阶段——输入数据、训练数据和结果数据。深度学习是一个动态的过程,通常涉及大量的实验,比如,实验过程中参数调整是很正常的事情,加上非结构化数据的输入、输出结果的修改是自然而然地发生。随着新的信息和见解被发现,重要的是在灵活数据模型上选择一个合适的数据库,避免在数据结构需要改变时需要执行昂贵的模式迁移。

规模。深度学习面临的最大挑战之一是模型训练耗费的时间比较长,有些模型可能需要几个星期的训练时间,这是由于梯度下降等算法需要通过多次迭代来调整模型的数十亿个参数。为了减少训练次数,深度学习框架尝试并行运算,将训练负荷分布到多个高性能的服务器上。

并行化训练主要有两种方式:数据并行性和模型并行性。

  • 数据并行性。通过分布式系统将数据分割成多个节点进行处理并存储,比如Apache Spark、MongoDB和Apache Hadoop。
  • 模型并行性。通过相关软件库和框架在多个节点上分割模型及其相关层,如TensorFlow、Caffe和Theano。分裂提供并行性,但是在协调不同节点之间的输出时会产生性能代价。

除了模型训练阶段耗费时间长外,深度学习的另一个大挑战是输入数据集不断增长,这增加了训练参数的数量。这不仅意味着输入数据集可能超过可用的服务器内存,而且还意味着涉及梯度下降的矩阵也能超过节点的内存。因此,缩放比扩展更加重要,这使得工作负载和相关的数据集在多个节点上分布,允许并行执行计算。

容错。许多深度学习算法使用检验点作为故障发生时恢复训练数据的一种方法。然而,频繁设置的检查点需要大量的系统开销。另一种方法是利用驻留在分割节点上的多个数据副本,这些副本提供冗余和数据可用性,而无需消耗系统主节点上的资源。

一致性。对于大多数深度学习算法而言,建议使用强数据一致性模型,具有强一致性的分布式数据库集群中每个节点都运行在最新的数据副本上。虽然有些算法可以容忍一定程度的不一致性,比如随机梯度下降算法(SGD),但强一致性能够提供最精确的结果。然而,在某些情况下,算法更加看重训练时间而不是精度,那么最终的一致性是可以接受的。为了优化精度和性能,数据库应该提供可调的一致性。

作者信息

Mat Keep,产品营销总监,目前就职于MongoDB团队。

个人主页:https://www.linkedin.com/in/matkeep/

本文由北邮@爱可可-爱生活老师推荐,阿里云云栖社区组织翻译。

文章原标题《Deep Learning and the Artificial Intelligence Revolution: Part 3》,作者:Mat Keep,译者:海棠,审阅:袁虎。


目录
打赏
0
0
0
1
1807
分享
相关文章
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
492 55
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
281 5
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
DeepSeek深度解析:一场「通用人工智能」的觉醒革命
DeepSeek,由幻方量化打造的国产大模型,正以彗星般的速度革新AI领域。它不仅刷新了中文AI技术基准,还在底层架构上实现颠覆性突破。文章从技术逻辑、产业影响和未来挑战三个维度解析这场AI革命。DeepSeek采用多模态神经网络设计,融合异构数据,展现通感能力;引入动态神经元编织与具身智能,提升参数效率。其混合架构在数学推理中表现卓越,并通过认知卸载机制优化长文本处理。DeepSeek正在重塑金融投研范式,推动AI原生开发模式,同时引发对伦理与硬件限制的深思。最终,DeepSeek重新诠释了“智能”本质,促使人类与AI共同进化为认知伙伴。
34 8
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
害虫识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了12种常见的害虫种类数据集【"蚂蚁(ants)", "蜜蜂(bees)", "甲虫(beetle)", "毛虫(catterpillar)", "蚯蚓(earthworms)", "蜚蠊(earwig)", "蚱蜢(grasshopper)", "飞蛾(moth)", "鼻涕虫(slug)", "蜗牛(snail)", "黄蜂(wasp)", "象鼻虫(weevil)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Djan
107 1
基于Python深度学习的【害虫识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
深度学习在流量监控中的革命性应用
深度学习在流量监控中的革命性应用
99 40
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
蘑菇识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了9种常见的蘑菇种类数据集【"香菇(Agaricus)", "毒鹅膏菌(Amanita)", "牛肝菌(Boletus)", "网状菌(Cortinarius)", "毒镰孢(Entoloma)", "湿孢菌(Hygrocybe)", "乳菇(Lactarius)", "红菇(Russula)", "松茸(Suillus)"】 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,
144 11
基于Python深度学习的【蘑菇识别】系统~卷积神经网络+TensorFlow+图像识别+人工智能
医疗领域的人工智能:诊断和治疗的革命
医疗领域的人工智能:诊断和治疗的革命
238 84
AI改变世界,我们培养改变AI未来的人:生成式人工智能(GAI)认证时代的认知革命
人工智能(AI)正以前所未有的速度改变世界,生成式人工智能(GAI)作为其重要分支,引领了认知革命。文章探讨了AI对行业、社会的深远影响,以及AI时代对创新型人才的需求。GAI认证成为衡量个体技能水平的重要标准,在企业用人和人才培养中发挥关键作用。未来需注重跨学科融合、主动学习、创新思维及伦理道德的培养,以适应AI时代的变革需求。
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
270 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别

热门文章

最新文章