datasheet

对机器学习的七个误解

2019-04-12来源: 雷锋网关键字:机器学习  误解

近日,哥伦比亚大学计算机科学专业博士生 Oscar Chang 发博阐述了关于机器学习的七个误解,雷锋网 AI 科技评论将原文编译整理如下。


在了解深度学习的过程中盛传着 7 个误解,它们中很多都是以前固有的偏见,但在最近又被新的研究提出了质疑,现在我们把它整理出来:


误解 1: TensorFlow 是个张量运算库

误解 2: 图像数据集反映了自然世界真实图像分布

误解 3: 机器学习研究者并不使用测试集进行验证

误解 4: 神经网络训练过程会使用训练集中的所有数据点

误解 5: 我们需要批标准化来训练超深度残差网络

误解 6: 注意力优于卷积

误解 7: 显著图是解释神经网络的一种稳健方法


以下将分别说明:


误解1:TensorFlow 是个张量运算库?


事实上,TensorFlow 是一个矩阵运算库,这与张量运算库存在显著差异。


在 NeurIPS 2018 的论文Computing Higher Order Derivatives of Matrix and Tensor Expressions 中,研究者表明,他们基于张量微积分(Tensor Calculus)所建立的新自动微分库具有明显更紧凑(compact)的表达式树(expression trees)。这是因为,张量微积分使用了索引标识,这使得前向模式和反向模式的处理方式相同。


南辕北辙的是——矩阵微积分为了标识方便而隐藏了索引,这通常会导致自动微分的表达式树显得过于冗杂。


若有矩阵的乘法运算:C=AB。在前向模式中,有:


而在反向模式中,则有:


为了正确完成乘法计算,我们需要注意乘法的顺序和转置的使用。对于机器学习开发者而言,这只是在标识上的一点困惑,但对于程序而言,需要计算花销。


下一个例子显然意义更加重大:对于求行列式 c=det(A)。在前向模式中,有:


而在反向模式中,则有:


这里可以明显看出,无法使用同一个表达式树来表示两种模式,因为二者是由不同运算组成的。


总的来说,TensorFlow 和其他库(如 Mathematica、Maple、 Sage、SimPy、ADOL-C、TAPENADE、TensorFlow, Theano、PyTorch 和 HIPS autograd)实现的自动微分方法,会在前向模式和反向模式中,得出不同的、低效的表达式树。而在张量微积分中,通过索引标识保留了乘法的可交换性,进而轻松避免了这些问题(具体的实现原理,请阅读论文原文)。


研究者在三个不同的问题上测试了他们进行反向模式自动微分的方法,也就是反向传播,并测试了其计算 Hessian 矩阵所消耗的时间。


第一个问题是优化一个形如 xAx 的二次函数;第二个问题是求解一个逻辑回归;第三个问题是求解矩阵分解。


在 CPU 上,新方法与当下流行的 TensorFlow、Theano、PyTorch 和 HIPS autograd 等自动微分库相比,要快两个数量级。



在 GPU 上,研究者发现,新方法的提速更加明显,超出流行库的速度近似三个数量级。


意义:利用目前的深度学习库完成对二次或更高阶函数的求导,所花费的成本比本应消耗的更高。这包含了计算诸如 Hessian 的通用四阶张量(例:在 MAML 中,以及二阶牛顿法)。幸运的是,在深度学习中,二阶函数并不常见。但在传统机器学习中,它们却广泛存在:SVM 对偶问题、最小二乘回归、LASSO,高斯过程……


误解2:图像数据集反映了自然世界真实图像分布


人们大概会认为,如今的神经网络在目标识别任务上,水平已经超过真人。其实并不尽然。也许在 ImageNet 等筛选出来的图像数据集上,它们的效果的确比人工优秀;但对于自然界的真实图像,它们在目标识别上绝对无法比过任何一个正常的成年人。这是因为,从目前的图像数据集中抽取的图像,和从真实世界整体中抽取的图像的分布不同。


在一篇 2011 年旧论文 Unbiased Look at Dataset Bias 里,研究者根据 12 个流行的图像数据集,尝试通过训练一个分类器用以判断一个给定图像来自于哪个数据集,来探索是否存在数据集偏差。



随机猜测的正确率应该是 1/12 = 8%,而实验结果的准确率高于 75%。



研究者在 HOG 特征上训练了一个 SVM,并发现其正确率达到 39%,高于随机猜测水平。如今,如果使用最先进的 CNN 来复现这一实验,分类器的表现可能更好。


如果图像数据集确实能够代表来自自然世界的真实图像,就不应能够分辨出某个特定图像是来自于哪个数据集的。



但数据中的偏差,使得每个数据集都与众不同。例如,在 ImageNet 中,有非常多的「赛车」,不能认为这代表了通常意义上「汽车」的典型概念。


研究者在某数据集训练分类器,并在其他数据集上评估表现效果,进一步度量数据集的价值。根据这个指标,LabelMe 和 ImageNet 是偏差最小的数据集,在「一篮子货币(basket of currencies)」上得分 0.58。所有数据集的得分都小于 1,表明在其他数据集上训练的模型都给出了更低的准确度。在没有数据集偏差的理想情况下,应该有一些得分是高于 1 的。


作者做了悲观的总结:


那么,如果我们把现在用来训练算法的数据集部署在现实世界里,它有什么价值呢?总结下浮现出的答案会是:「比没有好,但没好太多。」


误解 3:机器学习研究者并不使用测试集进行验证


在机器学习的第一门课中,我们会学习到将数据集分为训练集、验证集以及测试集。将在训练集上训练得到模型,在验证集上进行效果评估,用以指导开发者调节模型,以求在真实场景下获得效果最好的模型。直到模型调节好之后,才应该使用测试集,提供模型在真实场景下实际表现的无偏估计。如果开发者「作弊」地在训练或验证阶段使用了测试集,那么模型就很可能遇到对数据集偏差产生过拟合的风险:这类偏差信息是无法在数据集外泛化得到的。


机器学习研究竞争激烈,对新算法/模型的评估,通常都会使用其在测试集上的表现。因此对于研究者而言,没有理由去写/提交一篇测试集效果不 SOTA 的论文。这也说明在机器学习研究领域,总体而言,使用测试集进行验证是一个普遍现象。


这种「作弊」行为的影响是什么?



在论文 DoCIFAR-10Classifiers Generalize to CIFAR-10? 中,研究者们通过在 CIFAR-10 上建立了一个新的测试集,来研究此问题。为此,他们解析标注了来自 Tiny Images 库的图像,在最初的数据采集过程也是如此。


研究者们之所以选择 CIFAR-10,是因为它是机器学习界使用最广泛的数据集之一,也是 NeurIPS 2017 中第二受欢迎的数据集(在 MNIST 之后)。CIFAR-10 数据集的创建过程也有完善公开的文档记录。而庞大的 Tiny Images 库中,也有足够的细粒度标签数据,进而使得在尽量不引起分布偏移的情况下重建一个测试集成为可能。



研究者发现,很多神经网络模型在从原来的测试集切换到新测试集的时候,都出现了明显的准确率下降(4% - 15%)。但各模型的相对排名依然相对稳定。



总的来说,相较于表现较差的模型,表现较好模型的准确率下降程度也相对更小。这是一个振奋人心的消息,因为至少在 CIFAR-10 上,随着研究社群发明出更好的机器学习模型/方法,由于「作弊」得到的泛化损失,也变得更加轻微。


误解4:神经网络训练过程会使用训练集中的所有数据点


人们常说,数据是新型财富,数据量越大,我们就能将数据相对不足的、过参数化的深度学习模型训练得越好。


在 ICLR 2019 的一篇论文 An Empirical Study of Example Forgetting During Deep Neural Network Learning 中,研究者们表示在多个常见的较小图像数据集中,存在显著冗余。令人震惊的是,在 CIFAR-10 中,我们可以在不显著影响测试集准确率的情况下剔除 30% 的数据点。



当神经网络在时刻 t 给出准确分类,而在 t+1 时刻发生误分类,此时称为发生遗忘事件。这里的时刻是指网络中 SGD 的更新次数。为了追踪遗忘事件,研究者每次只在 SGD 更新时的小批次数据中的样本上运行神经网络,而不是在数据集的每个样本上运行。对于在训练时不会发生遗忘事件的样本,称之为难忘性样本。


研究者发现,MNIST 中 91.7%、permutedMNIST 中 75.3%、CIFAR-10 中 31.3% 以及 CIFAR-100 中 7.62% 的数据属于难忘性样本。这符合直观理解,因为随着图像数据集的多样性和复杂性上升,神经网络对数据的遗忘性越大。




相较于难忘性样本,可遗忘样本似乎表现了更多不寻常的独特特征。研究者将其类比于 SVM 中的支持向量,因为它们似乎划分了决策边界。



与此相反,难忘性样本则编码了绝大部分的冗余信息。如果将样本按难忘性进行排序,就可以通过删除绝大部分的难忘性样本,进而减小数据集。


在 CIFAR-10 中,在不影响测试集准确率的情况下,30% 的数据是可以移除的,删除 35% 的数据后准确率会下降 0.2%。如果所移除的 30% 的数据是随机挑选的,不是基于难忘性来选取,准确率将会显著下降 1%。



与此类似,在 CIFAR-100 上,8% 的数据可以在不影响测试集准确率的情况下移除。


这些发现表明,在神经网络的训练中,存在明显的数据冗余,就像 SVM 的训练中,非支持向量的数据可以在不影响模型决策的情况下移除。


意义:如果在开始训练之前,就能确定哪些样本是不可遗忘的,那么我们就可以通过删除这些数据来节省存储空间和训练时间。


误解5:我们需要批标准化来训练超深度残差网络


长久以来,人们都相信「通过随机初始参数值和梯度下降,直接优化有监督目标函数(如:正确分类的对数概率)来训练深度网络,效果不会很好。」


从那时起,就有很多聪明的随机初始化方法、激活函数、优化方法以及其他诸如残差连接的结构创新,来降低利用梯度下降训练深度神经网络的难度。


但真正的突破来自于批标准化(batch normalization)的引入(以及其他的后续标准化技术),批标准化通过限制深度网络每层的激活值,来缓和梯度消失、爆炸等问题。


值得注意的是,在今年的论文 Fixup Initialization: Residual Learning Without Normalization 中,研究表明在不引入任何标准化方法的情况下,通过使用 vanilla SGD,可以有效地训练一个 10,000 层的深度网络。



研究者比较了在 CIFAR-10 上,不同深度残差网络训练一个 epoch 的结果,并发现,标准初始化方法在 网络达到 100 层时就失败了,但 Fixup 和批标准化在 10,000 层的网络都能成功。



研究者通过理论分析,证明了「特定神经层的梯度范数,以某个随网络深度增加而增大的数值为期望下界」,即梯度爆炸问题。


为避免此问题,Fixup 中的核心思想是在每 L 个残差分支上,使用同时依赖于 L 和 m 的因子来调整 m 个神经层的权重。



Fixup 使得能够在 CIFAR-10 上以高学习速率训练一个 110 层的深度残差网络,得到的测试集表现和利用批标准化训练的同结构网络效果相当。




研究者也进一步展示了在没有任何标准化处理下,基于 Fixup 得到的神经网络在 ImageNet 数据集和英语-德语机器翻译任务上与 LayerNorm 网络得分相当。


误解6:注意力机制优于卷积


在机器学习领域,有一个正得到认同的说法,认为注意力机制是卷积的更优替代。重要的是 Vaswani et al 注意到「一个可分离卷积的计算成本,和一个自注意力层与一个逐点前馈层结合后的计算成本一致」。


即使是最新的 GAN 网络,也展示出自注意力相较于标准卷积,在对长期、多尺度依赖性的建模上效果更好。


在 ICLR 2019 的论文 Pay Less Attention with Lightweight and Dynamic Convolutions 中,研究者对自注意力机制在长期依赖性的建模中参数的有效性和效率提出了质疑,他们表示一个受自注意力启发而得到的卷积变体,其参数效率更高。



轻量级卷积(lightweight convolutions)是深度可分离(depthwise-separable)的,它在时间维度上进行了 softmax 标准化,通道维度上共享权重,且在每个时间步上重新使用相同权重(类似于 RNN 网络)。动态卷积(dynamic convolutions)则是在每个时间步上使用不同权重的轻量级卷积。


这些技巧使得轻量级卷积和动态卷积相较于传统的不可分卷积,在效率上优越几个数量级。




研究者也证明,在机器翻译、语言建模和抽象总结等任务上,这些新卷积能够使用数量相当或更少的参数,达到或超过基于自注意力的基准效果。


误解7:显著图(saliency maps)是解释神经网络的一个稳健方法


虽然神经网络通常被认为是黑匣子,但现在还是已经有了有非常多对其进行解释的探索。显著图,或其他类似对特征或训练样本赋予重要性得分的方法,是其中最受欢迎的形式。


我们很容易得出这样的结论,即对给定的图像进行某种分类的原因是由于图像的特定部分对神经网络进行分类时的决策起了重要作用。已有的几种计算显著图的方法,通常都基于神经网络在特定图像上的激活情况,以及网络中所传播的梯度。


在 AAAI 2019 的一篇论文 Interpretation of Neural Networks is Fragile 中,研究者表明,可以通过引入一个无法感知的扰动,从而扭曲给定图像的显著性图。



「帝王蝶之所以被分类为帝王蝶,并不是因为翅膀的图案样式,而是因为背景上一些不重要的绿色树叶。」



高维图像通常都位于深度神经网络所建立的决策边界附近,因此很容易受到对抗攻击的影响。对抗攻击会将图像移动至决策边界的另一边,而对抗解释攻击则是将图像在相同决策区域内,沿着决策边界等高线移动。



为实现此攻击,研究者所使用的基本方法是 Goodfellow 提出的 FGSM(fast gradient sign method)方法的变体,这是最早的一种为实现有效对抗攻击而引入的方法。这也表明,其他更近的、更复杂的对抗攻击也可以用于攻击神经网络的解释性。





意义:


随着深度学习在医学成像等高风险应用中变得越来越普遍,我们必须注意如何解释神经网络做出的决定。例如,尽管 cnn 能将 mri 图像上的一个点识别为恶性肿瘤是件好事,但如果这些结果是基于脆弱的解释方法,那么这些结果就不应该被信任。


关键字:机器学习  误解

编辑:baixue 引用地址:http://www.eeworld.com.cn/IoT/2019/ic-news04125234.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:提高数字媒体市场竞争力 SK电信收购Incross公司
下一篇:三星勾勒的美好生活:品质体验+智慧互联

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

出版商使用机器学习生成研究书籍,内容读起来并不轻松

据科技媒体The verge报道,学术出版商Springer Nature公布了它声称的第一本使用机器学习生成的研究书籍。  这本名为《Lithium-Ion Batteries: A Machine-Generated Summary of Current Research》的书读起来并不轻松。相反,正如它的名字所暗示的,它是对相关主题发表的同行评议论文的总结。它包括引用作品及其超链接和自动生成的参考内容。如果你晚上难以入睡,也可以免费下载和阅读。 虽然这本书的内容令人昏昏欲睡,但它的存在却令人兴奋。Springer Nature的Henning Schoenenberger在序言中写道,无需
发表于 2019-04-13
出版商使用机器学习生成研究书籍,内容读起来并不轻松

马斯克让特斯拉的全自动驾驶梦又迈进了吗?

了这种有附加条件的全自动驾驶,但离全社会的完全自动驾驶还是很遥远的。”  开车睡到家,技术和社会都得加把劲法国自动驾驶技术专家李铀对科技日报记者表示,目前的自动驾驶系统主要包含感知、定位、高精地图、导航与控制五大块。其中,感知模块通过处理摄像头、毫米波雷达、激光雷达、超声波雷达等各种传感器的数据,来获取障碍物、行道线、路面等信息,再结合定位、地图生成驾驶路径,最后再由控制器执行。由此可以看出,感知系统在自动驾驶系统中占据重要位置,也是主要难点。  李铀说:“机器学习被视为实现自动驾驶的重要核心技术,其通过在已标记的数据集上进行统计学习,来模拟人的认知能力。”  目前机器学习集中应用在感知系统当中,包括图像识别、点云识别等。最近
发表于 2019-04-12

谷歌新人工智能工具 可以扫描文档、接听电话和搜索产品

  随着企业对人工智能的采用度不断的增加(根据数据调查,在过去的四年里,这个数据增长了270%),谷歌很明智的开始利用机器学习技术,驱动新的云服务来吸引客户。谷歌本周在旧金山举行的Google Cloud Next会议上,该公司就发布了一系列针对企业需要痛点的产品,比如文档分析、库存和需求预测以及客户服交互管理。  谷歌云集团产品经理Levent Besik在一篇博客中表示:“许多企业都看到了将人工智能和机器学习和自己的业务结合的未来,但是也并不是所有企业都有足够的资源能够实现自己的野心。企业需要一种快速便捷的方式将人工智能引入,从一开始,我们的目标就是让尽可能多的企业能够使用人工智能技术。“  为此,谷歌发布了Document
发表于 2019-04-11
谷歌新人工智能工具 可以扫描文档、接听电话和搜索产品

加速深度神经网络和机器学习系统开发 FlexNoC®4互连IP问市

经过实际验证的创新性片上网络(NoC)互连知识产权(IP)产品的全球领先供应商Arteris IP,宣布推出新的Arteris IP FlexNoC版本4互连IP和配套的人工智能(AI)软件包。  FlexNoC 4和人工智能(“FlexNoC 4 AI”) 软件包实现了许多新技术,它们可以简化今天最复杂的人工智能(AI)、深度神经网络(DNN)和自主驾驶系统级芯片(SoC)的开发。   Arteris IP向一些世界领先的人工智能和深度学习(DNN)系统级芯片(SoC)设计团队学习,在此基础上,创造了FlexNoC 4 AI中的新技术。在Arteris IP客户中,开发人工智能芯片的客户包括Mobileye
发表于 2019-04-11

Wayve凭借机器学习算法就可以实现自动驾驶汽车上路行驶

剑桥大学工程系团队创办的Wayve凭借机器学习算法,只需要使用摄像头和基本的卫星导航就可以实现自动驾驶汽车在陌生的道路上行驶。 自从2016年,英伟达公开了用于自动驾驶汽车的端到端深度学习技术之后,已经有不计其数的公司、单位甚至爱好者用此技术做出自动驾驶的demo。简单网络结构,可以实现摄像头输入到刹车油门方向盘输出的直接映射。然而这种低门槛也注定了它可以解决的问题并不多,很难应对具体驾驶环境上的复杂性。有专家甚至认为端到端不适合开发实用无人驾驶系统,可以做demo,大规模商用可能非常困难。 端到端只配做demo吗?由剑桥大学团队创办的Wayve无人驾驶软件公司却不这么认为。他们没有用高精地图,也没有用激光雷达
发表于 2019-04-09
Wayve凭借机器学习算法就可以实现自动驾驶汽车上路行驶

刘作虎再回应“DC调光”:大家误解 我们也在研究DC调光

3月21日消息,一位网友询问一加创始人兼首席执行官刘作虎:一加有没有DC调光?刘作虎回应:看来你也被营销了。随后刘作虎再回应,表示大家有点误解我的意思了。我不是反对DC调光,但我看到评论里面有点过于夸大DC调光的价值。我们去年开始就在研究DC调光的软件算法,但目前感觉还没有做到自己想要的样子。目前已经发布的黑鲨游戏手机2、黑鲨游戏手机Helo均为全程DC调光。魅族系统工程师洪汉生透露Flyme也在做DC调光,魅族16th、16th Plus、16X等等后续都有可能支持DC调光方式。据悉,DC调光是通过提高或降低电路功率来改变屏幕亮度,功率=电压x电流,所以改变电压或电流都改变屏幕亮度。PWM调光则是通过屏幕的亮、灭交替来改变屏幕
发表于 2019-03-22
刘作虎再回应“DC调光”:大家误解 我们也在研究DC调光

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved