谷歌大脑的Geoffrey E. Hinton的胶囊(Capsule)论文在2017年10月26号发表后深度学习架构似乎又有个新的变革。 到底一些传统的深度学习架构是否仍然有用?怎么用?这是不少深度学习科学家们不断在思索的问题, 也是不少接地气的科技产业化先锋们不断探索的迷思。这里我们综合几位在数据分析、人工智能领域平均20年左右的杰出科学家与架构师们的想法给的一些思路导引。
深度学习之‘道’?
当我们是位以使用深度学习为主的从业者时, 利用深度学习功能的最佳方法是将输入数据与适当的深层网络架构相匹配!! 如果我们能够在这一点上做得好,那我们就可以用创新的和有趣的方式成功应用深度学习。 如果不这样做,我们建的模将除了基本逻辑回归技术外,并不会有其它更强而有力的功能。
做深度学习时面对那么多不同算法:几率分类、决策树、实例为基础的(Instance-Based Methods) 、规则学习(Rule Learners) 、回归、类神经网络。。。已经让执行者、决策者一个头两个大, 再看看里面深度学习相关的算法架构:DBN、GAN、Autoencoders(AES)、CNN、DBM、RNN (Recurrent Neural Networks、Recursive Neural Networks)、SAE、DSN、CHDM、DQN、UPN SDA、RBM、。。。,再加上分支、算法的结合、不断推出的新算法与架构,等等,等等,。。。面对着一堆眼花缭乱的深度学习架构与算法着实让不仅人工智能初学者, 即便是多年的机器学习研究专家也常无所适从,到底哪些架构、哪些算法我们的工作、我们的业务、我们的应用是需要的?怎么用?
这是个至少几千页才说的清楚的话题,欲消化吸收更是得要经年累月的研究与实践。与其将网上大家都搜得到的算法一个一个拿出来说明(或复制?),不如我们对一些较常用的架构与算法说明他们的适用性,而算法本身只是做个粗略的说明,对于每个深度学习算法有兴趣了解的更深入的可以在很多网上搜索得到。
深度学习在应用上最多人提到的是CNN和RNN(含LSTM、BPTT、GRU等)两种架构。第一种CNN(Convolutional Neural Network) 主要是应用到图像、影像等领域,RNN(Recurrent Neural Network) 则比较适合序列建模的应用,比如语言处理(语音合成、语言建模、文本生成模型)、音乐生成、视频游戏等。当然,非常流行的CNN不只有在图像的应用,MRI、3D立体事物、甚至NLP(自然语言处理)等应用也常可以看到它的影子。而RNN也可以在视频分析、音乐信息分析、机器人控制等更深入的领域应用。 另外,若RNN 和CNN结合也可应用到如区域影像信息、影像字幕(文字说明) 等更多的领域。我们先将这两种架构做个说明:
卷积神经网络(CNN):
CNN的目的是通过卷积学习数据中的高阶特征。 它非常适合用于图像中进行物体识别。此算法架构时常赢得国际顶级的图像分类比赛。 他们可以识别面部,个人,街头标志,鸭嘴兽和视觉数据的许多其他方面。 CNN将光学字符识别与文本分析方法重叠,但在将字元中分析离散文本单元时也是很有用的。 CNN在分析声音方面也很擅长。
如下图所示,CNN架构主要分三部分:输入层、特征提取(学习)层、和分类层。
1)输入层:通常以图像的尺寸(宽×高)空间形式接受三维输入,并且具有表示颜色通道的深度(通常为RGB颜色通道三个)。
2)特征提取层:
具有序列的一般重复样式,还包含卷积层和汇集层。这些层在图像中发现了许多特征,并逐渐构建了更高阶的特征。 这直接对应于深度学习中正在进行的主题,通过该主题特征可以被自动学习,而不是经由传统的手工设计的方式。
3)分类层:
我们有一个或多个完全连接的层来获取更高阶的特征并产生类概率或分数。 这些层完全连接到上一层的所有神经元,而它们的输出通常会产生[b×N]的二维输出,其中b是小批量中的示例数,N是我们感兴趣的类的数量。
卷积神经网络(CNN)通过插入卷积层显着增强了如MLP(Multilayer Perceptrons)之类的前馈网络的能力。 它们特别适用于使用多维神经元结构的空间数据、目标对象识别、图像分析等应用。 其实CNN架构是最近深度学习能够获得重视并且流行起来的主要原因之一。我们日常生活里一些常见CNN应用是自动驾驶汽车、无人机、电脑视觉、文字分析等。
循环神经网络(Recurrent Neural Network):
一位从事计算机科学与人工智能三十年左右的知名AI科学家Juergen Schmidhuber对循环神经网络的一个有趣的解释:
循环神经网络]允许并行和顺序计算,原则上可以计算传统计算机可以计算的任何内容。 然而,与传统计算机不同,循环神经网络与人类大脑相似,人类大脑是连接神经元的大型反馈网络,以某种方式学习将终身感觉输入流转化为有用的运动输出序列。 大脑是一个显着的典范,因为它可以解决当前机器无法解决的许多问题。
RNN被认为是图灵完整(Turing complete)的,可以模拟任意(具有权重)的程序。 如果我们将神经网络视为对功能的优化,我们可以将循环神经网络视为“优化程序”。循环神经网络非常适合于输入和/或输出由时间相关的向量值组成的功能建模。 循环神经网络通过在网络中创建周期来建立时间相关数据的模型。
RNN适用于排序数据分析、如时间序列、情绪分析、NLP(自然语言处理)、语言翻译、语音识别、视频分析、视频游戏、对话交流、机器人控制、图像字幕和脚本识别等, 在电影情感分析也是不少的实际应用。
除了上述最流行的深度学习算法架构外,我们再探讨两个也很流行,比较基础的架构:
多层感知器(Multilayer Perceptrons ,MLP)
这是最基本的深度学习网络架构,提供输入来直接创建输出。 它们由输入层和输出层以及输入层和输出层之间的许多互连的隐藏层和神经元组成。 它们通常使用一些非线性激活函数,如Relu或Tanh,并计算均方误差(Mean Square Error,MSE)或Logloss等损失(真实输出与计算输出之间的差异)。 这种损失可以回向传播,以调整权重和训练,以最大限度地减少损失或使模型更准确。
基本算法逻辑:
这个网络通常是构建其他更复杂的深度网络的开始阶段,可以用于任何监督回归或分类问题,如预测销售,违约者,响应概率等等。
Autoencoders(自动编码器?)
我们使用AES(Autoencoders)来学习数据集的压缩表示。 通常,我们使用它们来减少数据集的维度。 自动编码器网络的输出是以最有效的形式重建输入数据。
AES与MLP (多层感知器神经网络) 具有很强的相似性,因为它们一样具有输入层,隐藏的神经元层,然后是输出层。 它俩的关键区别是AES的输出层具有与输入层相同数量的单位。另外两个区别是:他们在无监督学习中使用未标记的数据,并且它们构建的输入数据是压缩形式的。
变体自动编码器(Variational Autoencoders,VAE):
构建一个模型来表示输入数据集可能听起来不太有用。 然而,我们感兴趣的并不是输出本身,而是对输入和输出表示之间的差异更感兴趣。 如果我们可以训练神经网络来学习通常“看到”的数据,那么这个网络也可以让我们知道什么时候“看到”不寻常的或异常的数据。
堆叠autoencoders为特征的学习无监督学习算法,降维的离群点检测。声发射的概念非常简单,这里输入向量用来计算输出向量,但输出向量与输入向量相同。计算了重建误差,认为重建误差较大的数据点为离群点。AES也用于语音和图像识别,工业上也有应用于金融、信用卡骇客、反诈欺等领域。
Autoencoders的基本结构除了可以是自成一体的独立网络外, 它也时常被用作其它较大深度学习网络架构的一部分。
最后我们再来看看刚新发布Geoffrey E. Hinton科学家的:
动态路由胶囊架构
这个动态路由胶囊算法架构最大的特色就是采用一个比较有效的“协议路由”(routing-by-agreement)。这协议路由比之前通过允许一层中的神经元只接受下面层级中的当地池中检测器的最活跃的特征,但却忽略其它特征的max-pooling逻辑所实现的非常原始的路由形式有效许多。
下面是这动态路由胶囊算法的核心逻辑:
卷积神经网络(CNN)使用学习特征检测器的转换副本允许他们转换在图像中的一个位置获得的良好权重值的知识到其他位置。这已经证明在图像解释方面非常有帮助。即使我们是用矢量输出胶囊替代CNN的标量输出特征检测器和最大容量通过协议路由,我们仍然希望跨越空间复制学习的知识,所以我们除了最后一层胶囊外所有曾都还是卷积的。 与CNN算法架构一样,我们制作更高级别的胶囊覆盖较大区域的图像,但不同于最大池,它不会丢弃该地区内实体确切位置的信息。对于低级胶囊,位置信息是胶囊是活动的“位置编码”。随着越来越多的位置上升,信息在胶囊的输出向量的实值分量中被“速率编码”(rate-coded)。这个从位置编码转换到速率编码的逻辑,加上高层胶囊具有更复杂、更多自由度的实体的现象,表明胶囊的维度应该随着层级的升高而增加。
所以,我们清楚知道胶囊系统其实不是个全新的架构,也不若很多刊物的危言耸听说将颠覆CNN架构,他是加强了现有的算法逻辑,CNN先锋Hinton科学家发表的动态路由胶囊逻辑是在现有的CNN算法架构上补强,有其是在目标对象的辨识相关的应用。在胶囊逻辑能够真正获得接受并且有大规模的应用前还有很多‘小’问题需要清楚解析,并且需要更多差异性实验的证明。
让我们对上面提到的目前比较流行的架构与算法做个简单的总结:
要生成数据(例如,图像,音频或文本),我们将使用:
GAN、VAE、RNN、
要图像建模,我们可能会使用:
CNN、DBN
要序列数据的建模,我们可能会使用:
RNN/ LSTM
作者建议目前先将这些比较常用的流行算法先熟悉,稍后还会和读者分享不同算法与架构的适用性,并且分享更多的业界实例来说明人工智能、机器学习的不同架构与算法。
所谓选择比努力重要,如果一个AI架构师或资深技术人员在组织的目标下没有一个(或多个)正确适宜的架构与算法,那可以预期的是即便是团队很努力的经过多时开发出来的产品或项目它的品质与价值一定大打折扣的,,,与其一个错误的抉择造成公司目标的偏差、人员的抱怨、甚至客户的流失、经营管理的冲击,那不如在事先就能彻底了解需求,设计方案时采用适当的架构与算法。
人工智能家一AI加
这阵子人工智能机器学习领域变得越来越火热,其中的深度学习也渐渐获得重视与采用,尤其在生物医学领域。尽管深度学习到目前为止在不少包含生物医疗方面的领域取得了一些成功,但是在不少情况下却是非常难运用,本文为大家破解其中一些疑点并列举几种不适合深度学习的情况。
经常存在采用与不采用深度学习的科学家之间最大的争议就是有些科学家做了不少实验证明在采集数据量不大时线性模式比少量层级的神经网络与隐藏单元(hidden units)的深度学习模式来得简单有效。但是一些顶级实验室的科学家也举了不少反证,说明了适当训练后的深度网络比线性模组更精准有效。当人工智能领域里此类争论不休的议题不断出现时,作者根据和一些顶级科学家的交流与自己的经验心得提供一些情况其实是很不适合深度学习的。
做一个科学的突破与技术的推广首先一定是从此科学的目的与适用性着手。所以作者不是从个人多年研究的各种算法去和广大读者讨论那个算法好,而是从一些想进入这个科学领域,或想实际运用此科学造福广大人群、进而突破人工智能科学的角度着手,先讨论一般人对深度学习的疑惑、误区、与适用性。
误区一:小样本、少数据的情况下不适合深度学习?
深度学习刚开始的名声是在大量数据的背景下进行的 (还记得第一个谷歌大脑项目是向深层网络提供大量YouTube视频吧),并且自那时候开始深度学习就一直被渲染成在大量数据中作为复杂算法运行。 不幸的是,这个大数据与深层次的学习就被绑定,并且被解释成了相反的意思:在小样本制度中不能使用。 如果您只有几个样本,可以采用一个具有高参数每采样率的神经网络可能表面上看起来像是杀鸡用牛刀。 然而,无论是监督还是无监督式学习,仅仅考虑样本大小和维度,都像是在空气中没有内容的对数据进行建模。很多情况下,尤其在一些垂直领域的数据建模方式,它对于提供给类神经网络的数据是有不同方式的,比如图形或图像编码等等。
其实在这些情况下,深度学习可以作为一种有意义的选择 - 例如,你可以编码较大的相关数据集的有用表示,并在您的问题中使用这些表示。 在自然语言处理领域里可以常常看到这种经典的例证:你可以在维基百科等大型语料库中学习嵌入词汇,然后将其作为嵌入式语言,用于较小,较窄的语料库进行监督任务(supervised task)。 在极端情况下,您可以拥有一个神经网络,共同学习一种表示方式,并设计在小样本集中重新使用该表示的有效方式。 这被称为一次性学习(one-shot learning),并且已经在包括计算机视觉和新制药物在内的高维数据的许多领域成功应用。
误区二:深度学习是个万灵丹?
听到最多的第二个误解基本上就是炒作。许多“未来的”实践者因为在其他领域深度学习起作用, 就期望深层网络给他们一个神话般的性能提升。也有很多人的灵感来自于建模和操纵图像,音乐和语言的成功表现,就像仓促的进入这个领域,想训练他们的最新生成对抗网络(GAN)‘凭空’捏造结果来解决他们的问题。炒作在许多方面是真实的。深入学习已经成为机器学习中不可否认的力量,也是任何数据建模者的一个重要工具。它的普及带来了诸如TensorFlow和PyTorch之类的基本框架,即便在深入学习之外也是非常有用的。超级巨星发迹的故事激发了研究人员重新审视其他以前不是很清楚的方法,如进化策略和强化学习。但这不是万能的。深度学习不是免费的午餐,它的模型可以非常细微,需要仔细,有时候还是非常昂贵的超参数搜索,调整和测试。此外,有很多情况下,使用深度学习从实践的角度来看是没有意义的,而更简单的模型工作得更好。
哪时候不适合使用深度学习?
那么,什么时候深度学习不是一项任务的理想选择呢?从我们的角度来看,下面几种主要的情况下,深度学习更多的是一种阻碍而非福音:
·低预算或低承诺问题
深层网络是非常灵活的模型,具有多种架构和节点类型,优化机制和规则化策略。根据应用的不同, 你的模型可能具有卷积层(多大?使用什么样的联营操作?)或循环结构(带或不带门控)?它可能真的很深(沙漏,暹罗或其他架构)?还是只有几层隐藏层(有多少单位?);它可能使用整流线性单元或其他激活功能;它可能有也可能没有漏失信息(dropout)(在什么层次上?用什么分数?)和权重应该是正则化的(l1,l2,或者是某些东西?)。这里只是列举部分考量,还有很多其他类型的节点,连接,甚至丢失的功能都可以尝试。这些对于调整和架构探索都是大量的参数,就算要训练一个大型网络的实例可能都非常耗时。
训练深度网络在计算和调试时都会带来很大的代价。这种消耗对于许多日常预测问题并没有太大的意义,即使在调整小型网络时,调整网络的投资回报率也可能太低。即使有大量的预算和承诺,也没有理由不尝试替代方法。很多时候您可能会惊喜地发现,线性SVM就能满足你的需要的。
·当对一般观众解释和沟通模型参数很重要时
深层网络常因像一个黑匣子一样具有很高的预测能力,但解释力低而臭名昭着。尽管最近有很多工具,如显着图(saliency maps)和激活差异 (activation differences),对某些领域而言是非常有用的,但它们不能会完全转移到其它所有应用领域的。主要是这些工具,当你想确保网络不会通过记住数据集或专注于特定的虚假特征来欺骗你时,你仍然难以解释每个特征对深层整体决策的重要性。在这个领域,因为学习的系数与响应有直接的关系,线性模型是最理想的。欲将一些解释传达给需要根据它们作出决定的一般观众时,这是至关重要的。比如医生, 他们例如需要考量各种不同的数据来给予诊断,将变量和结果之间用更简单和更直接的方式关联起来,而不是低估/高估估值。此外,有些情况下,模型的准确性(通常在深度学习中表现优异)并不像解释性那么重要。例如,策略制定者可能对一些人口统计变量对死亡率的大概关系而非准确性更有兴趣。在这些情况下,与更简单,更易渗透的方法相比,深度学习处于劣势。
·建立因果机制
模型解释的极端情况是当我们试图建立一个机理模型,即一个实际捕获数据背后的现象的模型。 好的例子包括尝试猜测特定细胞环境中两个分子(例如药物,蛋白质,核酸等)是否相互作用,或假设某个特定的营销策略对销售具有实际影响。在这个领域,没有什么能比老式的贝叶斯方法(Bayesian methods)更受专家意见的影响,它们是我们最好的(如果不完美的)方法,我们必须表现和推断因果关系。 另外,在视频游戏任务里更原则的方法也比深度学习更好。
·从“非结构化”特性学习
这点可能是会引起争论的。我发现深度学习擅长的一个领域是为特定任务找到有用的数据表示。一个非常好的例子是上述的词语嵌入。自然语言具有丰富而复杂的结构,可以用“上下文感知”网络来近似:每个单词都可以在编码其主要使用的上下文的向量中表示。在大型语料库中学习的NLP任务中使用单词嵌入有时可以在另一个语料库中的特定任务中提升。然而,如果所讨论的语料库是完全非结构化的,则可能没有任何用处。例如,假设您正在通过查看非结构化关键字列表来对对象进行分类。由于关键字在任何特定的结构中都不被使用(如在一个句子中),所以字嵌入不太可能会有所帮助。在这种情况下,数据是真正的一个单词,这种表示可能足以满足任务。对此的反驳可能是,如果您使用预先训练的字词嵌入并不是那么昂贵,并且可以更好地捕获关键字相似度。但是,我仍然希望从一个单词的表示开始,看看是否可以得到很好的预测。毕竟,这个词包的每个维度比相应的词嵌入槽更容易解释。
未来是深的
深入学习领域热门,资金充足,发展快速。 当你阅读在会议上发表的论文时,可能有两到三次迭代已经不赞成那论文了。 这给我以上提出的几点提出了很大的警告:深度学习在不久的将来可能对这些情景来说还是非常有用的。 用于解释图像和离散序列的深度学习模型的工具会越来越好。 最近的软件,如爱德华(Edward) 结合贝叶斯建模和深层框架,允许通过概率编程和自动变分推理量化神经网络参数的不确定性和容易的贝叶斯推理。 从长远来看,可能会有一个减少的建模词汇表,指出深层网络可以具有的显着属性,从而减少需要尝试的内容的参数空间。 所以请保持更新你的相关科学进展,很多理论可能会在一两个月内被废弃掉了。
本文为作者前几天从目前在加州大学做人工智能研究的科学家的观点整理出
人工智能赛博物理操作系统
AI-CPS OS
“人工智能赛博物理操作系统”(新一代技术+商业操作系统“AI-CPS OS”:云计算+大数据+物联网+区块链+人工智能)分支用来的今天,企业领导者必须了解如何将“技术”全面渗入整个公司、产品等“商业”场景中,利用AI-CPS OS形成数字化+智能化力量,实现行业的重新布局、企业的重新构建和自我的焕然新生。
AI-CPS OS的真正价值并不来自构成技术或功能,而是要以一种传递独特竞争优势的方式将自动化+信息化、智造+产品+服务和数据+分析一体化,这种整合方式能够释放新的业务和运营模式。如果不能实现跨功能的更大规模融合,没有颠覆现状的意愿,这些将不可能实现。
领导者无法依靠某种单一战略方法来应对多维度的数字化变革。面对新一代技术+商业操作系统AI-CPS OS颠覆性的数字化+智能化力量,领导者必须在行业、企业与个人这三个层面都保持领先地位:
重新行业布局:你的世界观要怎样改变才算足够?你必须对行业典范进行怎样的反思?
重新构建企业:你的企业需要做出什么样的变化?你准备如何重新定义你的公司?
重新打造自己:你需要成为怎样的人?要重塑自己并在数字化+智能化时代保有领先地位,你必须如何去做?
AI-CPS OS是数字化智能化创新平台,设计思路是将大数据、物联网、区块链和人工智能等无缝整合在云端,可以帮助企业将创新成果融入自身业务体系,实现各个前沿技术在云端的优势协同。AI-CPS OS形成的数字化+智能化力量与行业、企业及个人三个层面的交叉,形成了领导力模式,使数字化融入到领导者所在企业与领导方式的核心位置:
精细:这种力量能够使人在更加真实、细致的层面观察与感知现实世界和数字化世界正在发生的一切,进而理解和更加精细地进行产品个性化控制、微观业务场景事件和结果控制。
智能:模型随着时间(数据)的变化而变化,整个系统就具备了智能(自学习)的能力。
高效:企业需要建立实时或者准实时的数据采集传输、模型预测和响应决策能力,这样智能就从批量性、阶段性的行为变成一个可以实时触达的行为。
不确定性:数字化变更颠覆和改变了领导者曾经仰仗的思维方式、结构和实践经验,其结果就是形成了复合不确定性这种颠覆性力量。主要的不确定性蕴含于三个领域:技术、文化、制度。
边界模糊:数字世界与现实世界的不断融合成CPS不仅让人们所知行业的核心产品、经济学定理和可能性都产生了变化,还模糊了不同行业间的界限。这种效应正在向生态系统、企业、客户、产品快速蔓延。
AI-CPS OS形成的数字化+智能化力量通过三个方式激发经济增长:
创造虚拟劳动力,承担需要适应性和敏捷性的复杂任务,即“智能自动化”,以区别于传统的自动化解决方案;
对现有劳动力和实物资产进行有利的补充和提升,提高资本效率;
人工智能的普及,将推动多行业的相关创新,开辟崭新的经济增长空间。
给决策制定者和商业领袖的建议:
超越自动化,开启新创新模式:利用具有自主学习和自我控制能力的动态机器智能,为企业创造新商机;
迎接新一代信息技术,迎接人工智能:无缝整合人类智慧与机器智能,重新
评估未来的知识和技能类型;
制定道德规范:切实为人工智能生态系统制定道德准则,并在智能机器的开
发过程中确定更加明晰的标准和最佳实践;
重视再分配效应:对人工智能可能带来的冲击做好准备,制定战略帮助面临
较高失业风险的人群;
开发数字化+智能化企业所需新能力:员工团队需要积极掌握判断、沟通及想象力和创造力等人类所特有的重要能力。对于中国企业来说,创造兼具包容性和多样性的文化也非常重要。
子曰:“君子和而不同,小人同而不和。” 《论语·子路》云计算、大数据、物联网、区块链和 人工智能,像君子一般融合,一起体现科技就是生产力。
如果说上一次哥伦布地理大发现,拓展的是人类的物理空间。那么这一次地理大发现,拓展的就是人们的数字空间。在数学空间,建立新的商业文明,从而发现新的创富模式,为人类社会带来新的财富空间。云计算,大数据、物联网和区块链,是进入这个数字空间的船,而人工智能就是那船上的帆,哥伦布之帆!
新一代技术+商业的人工智能赛博物理操作系统AI-CPS OS作为新一轮产业变革的核心驱动力,将进一步释放历次科技革命和产业变革积蓄的巨大能量,并创造新的强大引擎。重构生产、分配、交换、消费等经济活动各环节,形成从宏观到微观各领域的智能化新需求,催生新技术、新产品、新产业、新业态、新模式。引发经济结构重大变革,深刻改变人类生产生活方式和思维模式,实现社会生产力的整体跃升。
产业智能官 AI-CPS
用“人工智能赛博物理操作系统”(新一代技术+商业操作系统“AI-CPS OS”:云计算+大数据+物联网+区块链+人工智能),在场景中构建状态感知-实时分析-自主决策-精准执行-学习提升的认知计算和机器智能;实现产业转型升级、DT驱动业务、价值创新创造的产业互联生态链。
长按上方二维码关注微信公众号: AI-CPS,更多信息回复:
新技术:“云计算”、“大数据”、“物联网”、“区块链”、“人工智能”;新产业:“智能制造”、“智能农业”、“智能金融”、“智能零售”、“智能城市”、“智能驾驶”;新模式:“财富空间”、“特色小镇”、“赛博物理”、“供应链金融”。
点击“阅读原文”,访问AI-CPS OS官网
本文系“产业智能官”(公众号ID:AI-CPS)收集整理,转载请注明出处!
版权声明:由产业智能官(公众号ID:AI-CPS)推荐的文章,除非确实无法确认,我们都会注明作者和来源。部分文章推送时未能与原作者取得联系。若涉及版权问题,烦请原作者联系我们,与您共同协商解决。联系、投稿邮箱:erp_vip@hotmail.com