【深度学习】深度学习:技术原理、迭代路径与局限

来源:36氪

作者:何沛宽


本文尝试复盘梳理深度学习目前的技术要点,深度学习中模型迭代的方向,以及改进后存在的局限。


第一部分:深度学习技术基本要素:神经元、神经网络、分类器、可视化框架


在深度学习领域,神经元是深度学习的基本单位。


神经元从数学角度来看,为一个线性函数公式(如下图神经元里的公式)+非线性函数(激励函数)组成。线性函数(包括降维后的线性函数,此处不细展开)用于深度学习神经网络的模型训练,这其中,很可能出现欠拟合(欠拟合是指相对简单的线性函数,分类处理信息时,因为分类标签数量或准确度不足以做有效区分)。于是,在处理这一个问题时,工程师们人为设置了激励函数,来平衡线性函数无法解决的问题:激活函数是神经元中非线性部分,用来减低线性部分造成的误差。


经由神经元作为节点连接而成的网络,是神经网络。最基本的神经网络,有两个神经元,分别处在隐含层、输出层,如下图:

最简神经网络结构示意图


深度神经网络,是由含多层隐含层神经元组成的神经网络。具体的原理和实践会在下文再做展开,展开之前,不妨先了解深度学习技术层面到底解决了什么问题?


首先,深度学习与传统机器学习处理输入信息方式,有一个根本的差异:


传统机器学习主要是通过四种基于人为整理、明确分类维度逻辑关系的方式处理输入的信息。包括朴素贝叶斯,用概率量化计算模型;决策树,用合适的维度降低分类信息熵;回归模型,建模降低预测值与训练目标值的差距;SVM(支持向量机),寻找超平面保证分类的置信度最大。


在深度学习中,有大量的线性与非线性分类器,分类器是自动对信息进行处理,并不需要人为事先明确特征、标签分类。


相对而言,不需要预先准确分类标签的深度学习解决了传统机器学习的两大问题:


  1. 特征清晰度要求降低。训练中不再只是在固定明确的标签下处理,还允许模糊、噪声存在,对不同特征偏向的数据敏感程度自动忽略。


  2. 不可分类变为可分。由于没有明确分类的前提,使得原本大量(人为)无法分类的特征,可以变成(机器)可分类的特征,且相对高效地进行。(人为分类总是有局限的,因为需要明确定义、标签,一来需要时间、二来需要有效共识的达成)


接着,可以大致了解目前深度学习使用的框架有哪些,比如TensorFlow、Caffe、Chainer、Torch、Theano等。在这里我想强调的是深度学习中主流选用的框架TensorFlow的部分特性。


在一个前沿技术领域,一个框架是否值得使用(或者更准确地说,在这里我想提到的是能否下一步扩大使用范围),比如,TensorFlow是否值得使用,专业的工程师可能会提到:框架性能、社区活跃度、语言、环境与集群支持等等。就我目前的了解到的,有两个我觉得(面向用户,很受启发的)值得关注的地方:一个是使用的社区活跃度,一个是使用界面是否可视化。社群活跃度意味着这个框架使用时,开发者之间的交流与相互促进程度,如果是一个非常小众、其他开发者不愿参与的框架,那么是不利于下一步扩大使用范围的。使用界面可视化,TensorFlow 有Tensorboard,Tensorboard支持可视化的训练网络过程——事实上,可视化操作,一直是开发者与使用者(无论是相对原创开发者而言后来的开发者、还是普通用户)之间达成相对简单沟通的一个非常重要的环节。


开发者/工程人员致力于用最简洁的语言(无论是否友好,甚至可能晦涩难懂)来运行工程,但这个结果,很可能是后来者、用户的“艰难”读取。这不难让我想到一个《硅谷》( Silicon Valley,HBO)电视剧中一个情节:Pied Piper最初上线时,用户界面异常简陋,男主Richard Hendricks还有他的所有工程界的朋友都完全没有意识到这一点——他们觉得非常适合自己使用,但作为普通用户+投资人的女主Monica Hall(本来是对Pied Piper抱着极大期待的)在内测使用时,第一反应是觉得界面一点都不友好,没有继续使用的兴趣。后来Pied Piper用户数一直徘徊在万人左右,没有上升趋势,教育用户后接受使用的人数也没有明显提升。


这个可视化(友好面向用户的一种)是题外话了,不过回到深度学习,无论是其目前主流选择的框架(如TensorFlow)还是编程语言(如Python),都是往面向用户友好/易用的方向行进的。


上面提到深度学习技术实现的基本元素,包括神经元、激活函数、神经网络和深度神经网络,目前深度学习使用的主流框架及其选择标准。此外,还提到深度学习可以解决传统机器学习无法突破的“明确的特征”局限。


第二部分:深度学习模型迭代/改进方向,改进后对应局限


接下来,回到前面提到的目前深度学习基于上面提到的基本元素,真正落地的深度神经网络工程原理和实践。这一部分会按前馈神经网络、卷积神经网络、循环神经网络、深度残差网络、强化学习、对抗学习的顺序展开。我会比较详细介绍前馈神经网络在工程训练中的流程,其他会把它们分别要解决的问题以及可能的局限。


前馈神经网络


前馈神经网络是深度学习中最简单的神经网络,一般分为:反向传播神经网络(BP网络),径向基函数神经网络(RBF网络)。在这里我会相对详细地梳理这个最朴素的神经网络是如何落地的。


首先,我们来看一下前馈神经网络最基础的网络结构,以BP网络为例,这个我们在上文最基础的神经网络中就给出了示意图。上文的示意图中,神经元里的(wx+b)->,其实是简化了的,具体函数表达式会如下图:

神经网络函数表达式


这个神经网络进入工程训练,需要经过以下三个环节:


  1.  准备样本(可以是文本、图片、音频以及音视频结合等训练样本)

  2. 清洗处理(目的是帮助网络更高效、准确分类)

  3. 正式训练(将训练样本代入训练模型,即上述示图公式)


在上面三个环节中,正式训练的时候,训练过程不断迭代使得w、b的值越来越适合(拟合)要训练的模型,为了求出w、b,深度学习中有梯度下降法(迭代法思维),来获取逼近最优w、b值。再进一步,由于梯度下降法训练时候要动用比较重的样本训练,后来又出现了随机梯度下降法(即随机抽样而不是全部样本进行处理),来获得相对较优的w、b值。


值得注意的是,从梯度下降法到随机梯度下降,这样的思维转化,在深度学习领域是非常常见的:深度学习面向万级以上的海量样本,如何使训练由相对重的模式变成比较轻的模式,从总体到随机抽样,是一种解决方案——核心就是在无限成本取得最优到有限成本取得次优之间权衡。

梯度下降法:求取(w,b)极值,使损失最小化


另外,在求取w、b值的过程中,无论是取任何值,难以避免产生的是一个误差值,在训练过程中,工程师们会引入一个损失函数Loss,而上述的梯度下降求取w、b最优解的同时便是求出最小损失函数的过程。


在训练过程中,有两个主要环节,一个是训练集训练,一个是验证集测试。前者是搭建最合适模型所需,后者是检验所搭建模型是否合适使用。在检验的过程中,可能会出现过拟合(Overfitting)问题,深度学习中高VC维的分类器,可能使模型过度拟合,降低模型的准确性——验证集验证过程中会基于Loss损失函数和准确率(Accuracy)来判断是否在较优的准确度。在搭建模型完成后,还有第三步,就是用测试集,检验搭建模型的效用了。


以上便是一个基础神经网络的流程框架,和在训练处理中引入的比较核心的思维。


介绍完最简单的神经网络工程流程,接下来,我会针对卷积神经网络、循环神经网络、深度残差网络要解决的问题和目前的局限来分享。


之所以以这个角度,是因为,在学习深度学习的过程中,我们会很容易发现,基于上述提到的最基础的神经网络结构,开发者们是一一针对工程实践时,遇到的瓶颈,找到对应的解决办法。而这些办法,慢慢建立成为新的落地模型。所以,我们是可以基于最简单网络模型,再进一步了解这些更新的神经网络模型的(它们的特性与功能)。


这些模型,既可以解决最基本神经网络无法突破的部分问题,同时,也面临着其他具体的局限。


卷积神经网络(CNN)


CNN,也是一种BP网络,,不过与之前的相比,其神经元可响应一部分覆盖范围的周围单元、通关权值共享的方式使得下一层工作量大大较少(可参照下图)。而之前提到的是全连接网络。


全连接网络的好处是,最大程度让整个网络节点不会漏掉(就像上面的神经网络示意图,每一个上一层神经元全部连接到下一层的神经元)。但是,就像上文也提到的,深度学习要处理的是万级以上的海量数据,要对海量数据进行全连接处理,是一种非常重的模式,训练过程中,收敛速度会很慢。


CNN,相较而言,就是比较轻的模式(这里再一次提到用有限成本处理海量信息的方案了),可以在训练中,较少更新权重、明显快于全连接网络地完成收敛。

卷积网络处理数据过程及方式


CNN的训练过程如上图所示,除了一般处理方式(图中加和处理的模式,即将所有卷积的数据汇总),还有池化层处理的方式。池化层处理,主要分为两种路径,一种是取最大值,一种是取平均值。无论是哪种路径,目的都在于对数据进行又一次特征提取,减少下一层的数据处理量,同时获得相对抽象、模糊的信息,提高泛化性(想象一下,目标是找到所有人的共性。那上一步是:只提取一个人的特性,和找到几个人的共性,哪一种方式的更快、特征更有效)。


当然,上面提到的池化层会对信息进行模糊化处理,算是一种有损压缩。与之对应的,是整个卷积神经网络,在卷积核对输入向量进行特征提取的过程(将高维向量映射成低维向量),其实也是一种有损压缩。


到这里,又可以解答卷积神经网络可以解决什么的问题了。在开始的时候,我们提到,CNN神经元通过权值共享加快训练过程中的收敛速度,现在我们可以发现,CNN可以解决的另一个问题:减少噪声、讹误对分类的影响。(当然这个可能需要更具体的工程流程展示才会比较清楚,感兴趣的读者可以进一步了解)


循环神经网络(RNN)


它要解决的问题是什么呢?是上下文场景记忆的问题。


上文提到的神经网络模型都不能解决“记忆暂存功能”(对比较远期输入的内容无法进行量化,与当前内容一起反应到网络中进行训练),循环神经网络可以解决,在自然语言处理(NLP)中也应用最广泛。


在讲RNN如何实现上下文场景记忆问题时,无法跳过的一个基础是:隐马尔可夫模型(HMM)。隐马尔可夫模型中,有马尔可夫链。马尔可夫链的核心是:在给定当前知识和信息的前提下,观察对象过去的历史状态,对将来的预测来说是无关的。在RNN中,隐含状态下的马尔可夫链会处理神经元之间的信息传递。

不过,理论上RNN是行得通的,但在实践上工程师们发现训练效果并不佳,所以现在用了LSTM(Long Short-Term Memory,长短期记忆网络)来取代传统的RNN。LSTM规避了传统RNN中遇到的问题,并启动了一个有效的机制:忘记门(Forget Gate),在训练过程中LSTM会把有潜在影响的关系学习,忽略无效(不具有影响)的关系。


LSTM目前应用在翻译器、聊天机器人、分类器等场景。


说到局限性,训练过程中,目前只支持相对固定、边界划定清晰的场景,LSTM对多场景问题也是无能为力的(这也是深度学习所有网络模型没有本质突破的问题,观点取自参考书籍)。


深度残差网络(DRN)。


它要解决的问题是:传统深度学习网络中,网络到一定深度后,学习率、准确率会下降的问题。目前,DRN在图像分类、对象检测、语义分割等领域都有较好的识别确信度。


强化学习、对抗学习、其他


强化学习(Reinforcement Learning)和对抗学习,相对来说,都是深度学习比较前沿的部分。


强化学习,严格来说,是AI在训练中得到策略的训练过程,强调的是一个过程,而不同于上述各种神经网络强调的是搭建模型的方式。


那强化学习要解决的问题是什么?上面我们提到的神经网络大部分是在完成分类问题,判断样本标签类别等,那机器如何更智能表现呢?强化学习就作为一种机器自学习的状态,来解决上面神经网络相对来说需干预才可学习的局限。比如在AlphaGo围棋学习中,就会用到强化学习这样的自学习过程。

强化学习模型核心


强化学习要做的主要有两步:


  1. 将奖励、损失定义好

  2.  以主体较低成本不断尝试,总结不同状态(State)下,奖励(Reward)大的工作方式。(其中一种思路就是上图提到的马尔可夫决策过程,可参照RNN部分)


对抗学习,目前主要是指生成对抗网络(Generative Adversarial Networks,GAN)。GAN是通过模拟一种数据概率分布的生成器,使得概率分布与观测数据的概率统计分布一致或者尽可能接近。这个过程涉及纳什均衡中的博弈机制,具体包括在训练中,判别模型(Discriminative Model)——尽可能提取特征正确率增加的模型,生成模型(Generative Model)——尽可能“伪造”让判别模型以为是真的结果。


其他,还有相对更前沿的,包括条件生成对抗网络(CGAN)、深度卷积对抗网络(DCGAN)等等。这些前沿方向,对应解决的,包括对抗学习稳定性不高、训练数据还原度及质量水平等问题。


到这里,全文梳理了深度学习的基本元素、目前比较核心的神经网络模型、较为前沿的训练模式,以及它们要解决的问题、在实践中对应的局限。如果想进一步了解深度学习,你下一步可以学习的方向是:在这个框架之下,基于更具体的算法、问题与案例,实践代码工程。

人工智能赛博物理操作系统

AI-CPS OS

人工智能赛博物理操作系统新一代技术+商业操作系统“AI-CPS OS:云计算+大数据+物联网+区块链+人工智能)分支用来的今天,企业领导者必须了解如何将“技术”全面渗入整个公司、产品等“商业”场景中,利用AI-CPS OS形成数字化+智能化力量,实现行业的重新布局、企业的重新构建和自我的焕然新生。


AI-CPS OS的真正价值并不来自构成技术或功能,而是要以一种传递独特竞争优势的方式将自动化+信息化、智造+产品+服务数据+分析一体化,这种整合方式能够释放新的业务和运营模式。如果不能实现跨功能的更大规模融合,没有颠覆现状的意愿,这些将不可能实现。


领导者无法依靠某种单一战略方法来应对多维度的数字化变革。面对新一代技术+商业操作系统AI-CPS OS颠覆性的数字化+智能化力量,领导者必须在行业、企业与个人这三个层面都保持领先地位:

  1. 重新行业布局:你的世界观要怎样改变才算足够?你必须对行业典范进行怎样的反思?

  2. 重新构建企业:你的企业需要做出什么样的变化?你准备如何重新定义你的公司?

  3. 重新打造自己:你需要成为怎样的人?要重塑自己并在数字化+智能化时代保有领先地位,你必须如何去做?

AI-CPS OS是数字化智能化创新平台,设计思路是将大数据、物联网、区块链和人工智能等无缝整合在云端,可以帮助企业将创新成果融入自身业务体系,实现各个前沿技术在云端的优势协同。AI-CPS OS形成的字化+智能化力量与行业、企业及个人三个层面的交叉,形成了领导力模式,使数字化融入到领导者所在企业与领导方式的核心位置:

  1. 精细种力量能够使人在更加真实、细致的层面观察与感知现实世界和数字化世界正在发生的一切,进而理解和更加精细地进行产品个性化控制、微观业务场景事件和结果控制。

  2. 智能:模型随着时间(数据)的变化而变化,整个系统就具备了智能(自学习)的能力。

  3. 高效:企业需要建立实时或者准实时的数据采集传输、模型预测和响应决策能力,这样智能就从批量性、阶段性的行为变成一个可以实时触达的行为。

  4. 不确定性:数字化变更颠覆和改变了领导者曾经仰仗的思维方式、结构和实践经验,其结果就是形成了复合不确定性这种颠覆性力量。主要的不确定性蕴含于三个领域:技术、文化、制度。

  5. 边界模糊:数字世界与现实世界的不断融合成CPS不仅让人们所知行业的核心产品、经济学定理和可能性都产生了变化,还模糊了不同行业间的界限。这种效应正在向生态系统、企业、客户、产品快速蔓延。

AI-CPS OS形成的数字化+智能化力量通过三个方式激发经济增长:

  1. 创造虚拟劳动力,承担需要适应性和敏捷性的复杂任务,即“智能自动化”,以区别于传统的自动化解决方案;

  2. 对现有劳动力和实物资产进行有利的补充和提升,提高资本效率

  3. 人工智能的普及,将推动多行业的相关创新,开辟崭新的经济增长空间


给决策制定者和商业领袖的建议:

  1. 超越自动化,开启新创新模式:利用具有自主学习和自我控制能力的动态机器智能,为企业创造新商机;

  2. 迎接新一代信息技术,迎接人工智能:无缝整合人类智慧与机器智能,重新

    评估未来的知识和技能类型;

  3. 制定道德规范:切实为人工智能生态系统制定道德准则,并在智能机器的开

    发过程中确定更加明晰的标准和最佳实践;

  4. 重视再分配效应:对人工智能可能带来的冲击做好准备,制定战略帮助面临

    较高失业风险的人群;

  5. 开发数字化+智能化企业所需新能力:员工团队需要积极掌握判断、沟通及想象力和创造力等人类所特有的重要能力。对于中国企业来说,创造兼具包容性和多样性的文化也非常重要。


子曰:“君子和而不同,小人同而不和。”  《论语·子路》云计算、大数据、物联网、区块链和 人工智能,像君子一般融合,一起体现科技就是生产力。


如果说上一次哥伦布地理大发现,拓展的是人类的物理空间。那么这一次地理大发现,拓展的就是人们的数字空间。在数学空间,建立新的商业文明,从而发现新的创富模式,为人类社会带来新的财富空间。云计算,大数据、物联网和区块链,是进入这个数字空间的船,而人工智能就是那船上的帆,哥伦布之帆!


新一代技术+商业的人工智能赛博物理操作系统AI-CPS OS作为新一轮产业变革的核心驱动力,将进一步释放历次科技革命和产业变革积蓄的巨大能量,并创造新的强大引擎。重构生产、分配、交换、消费等经济活动各环节,形成从宏观到微观各领域的智能化新需求,催生新技术、新产品、新产业、新业态、新模式。引发经济结构重大变革,深刻改变人类生产生活方式和思维模式,实现社会生产力的整体跃升。



产业智能官  AI-CPS


用“人工智能赛博物理操作系统新一代技术+商业操作系统“AI-CPS OS”:云计算+大数据+物联网+区块链+人工智能)在场景中构建状态感知-实时分析-自主决策-精准执行-学习提升的认知计算和机器智能;实现产业转型升级、DT驱动业务、价值创新创造的产业互联生态链


长按上方二维码关注微信公众号: AI-CPS,更多信息回复:


新技术“云计算”、“大数据”、“物联网”、“区块链”、“人工智能新产业:智能制造”、智能金融”、“智能零售”、“智能驾驶”、智能城市新模式:“财富空间“工业互联网”、“数据科学家”、“赛博物理系统CPS”、“供应链金融”


官方网站:AI-CPS.NET


本文系“产业智能官”(公众号ID:AI-CPS)收集整理,转载请注明出处!



版权声明产业智能官(公众号ID:AI-CPS推荐的文章,除非确实无法确认,我们都会注明作者和来源。部分文章推送时未能与原作者取得联系。若涉及版权问题,烦请原作者联系我们,与您共同协商解决。联系、投稿邮箱:erp_vip@hotmail.com





  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值