周末漫谈 | 都说想转型机器学习,到你真的有机会吗?机器学习下一个创新点到底在哪里?

看点 作者:AI100 2017-06-10 10:28:03


本期话题
这个周六,让我们来聊聊当前火热的机器学习,它未来的机会在哪里呢?

机器学习、计算机视觉下一步的创新点在哪里?

随着硬件的迭代,神经网络的隐藏层可以越做越多,CNN、DNN参数可以调得越来越准确,人脸识别、图像跟踪等算法准确率提高...但就像周志华教授调侃的,目前机器学习好像就是调调参数而已。

那么机器学习的下一步该走向哪里呢?

目前很多公司在做计算机视觉,那么这一领域还有什么可以继续挖掘的呢?此外,机器学习依赖数据,而目前大公司牢牢掌握着数据,对于未来想从事这一领域的人而言,是否还有机会?


以下内容来源于知乎上诸多高手对于该问题的回答


知乎用户郑华滨(中山大学数据矿工 / CIS实验室 / iPIN实习生)-https://www.zhihu.com/people/zheng-hua-bin/answers


提几个可能的发展方向,同时也就是尚待解决的问题:


1.让深度学习自动调超参最近看到有人在一个AI群里推广自己的一篇论文《Deep Q-Networks for Accelerating the Training of Deep Neural Networks》https://arxiv.org/abs/1606.01467,大致是用强化学习的方法训练一个控制器来自动控制学习率以及在一个batch中各个类的样本占比。虽然它那篇论文问题很大,训练出来的控制器极其不通用,只能用在它原本的任务上,但是感觉很容易解决掉,这个另说。想象一下,如果能够训练出一个通用的控制器,对于各类任务都能够自动调整超参(或者只在某个子领域比如图像分类做到通用也好),那我们就再也不用自称调参狗了,同时也可以解放出更多的时间用于设计模型、验证架构,想必深度学习的发展步伐会得到极大加速。


2.自动学习网络架构其实说起来这个问题也可以归入自动调超参,但是感觉应该还是有很大的不同。说起来无非就是两个方面,一是加法二是减法。加法方面可以参考《Net2Net: Accelerating Learning via Knowledge Transfer》https://arxiv.org/abs/1511.05641,这篇是让CNN自动根据需要自动拓展架构,包括横向的增加filter和纵向的增加layer。减法方面可以参考各类Network Compression(网络压缩)的论文中的所谓Network Pruning(网络剪枝),比如《Deep Compression - Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding》http://arxiv.org/abs/1510.00149,虽然这些论文出发点不在于自动学习网络架构而在于压缩网络规模,而且它们往往是在训练收敛之后才对网络进行裁剪而非边训练边裁剪,但是感觉只需要再跨一步就可以了。我个人觉得,自动学习网络架构需要解决的最根本问题就是“应该在什么时机进行架构变动”以及“应该怎么变”,第二个问题感觉上述论文算是回答得可以了,但是第一个问题似乎还有很多可以探索的地方。对于第一个问题,似乎强化学习就很适合解决,因为显然可以把它看成一个控制问题。


3.迁移学习。众所周知,深度学习的直接训练依赖大量数据,而transfer和finetune能够有效利用数据量大的外部任务训练出来特征来迁移到数据量小的目标任务上,使得目标任务对于数据量的要求大大减小。现在的问题在于,迁移学习的思想现在大家其实都在用,很多论文中都可以看到finetune的做法,但是对于两个任务之间需要“多像”才能够迁移这么一个问题还没有一个很好的回答。即使我们不奢求能够给出一个严格的数学理论,至少,如果有人能够做一个非常系统的对比实验,总结出一些规律,使得我们有信心说在如何如何这样一个边界内的任务都是基本上可以transfer的,那将会是一个很大的进步。这个问题也可以这么看,如今我们应该有信心说两个图像分类任务可以transfer,但是这个边界太过狭窄,我个人期待的就是能够有一套理论或者方法论使得这个边界大大拓展,然后在这个边界内我们可以像对两个图像分类任务一样自信满满地用迁移学习。


4.无监督/半监督学习。像LeCun等大佬其实一直在鼓吹这方面,但似乎还没有搞出像当年CNN(AlexNet)、最近强化学习(阿法狗)这样级别的大新闻来。我理解在这个问题上的努力方向应该是确定“何种representation最有用”。具体来说,就是找到一个指标,然后用深度网络优化这个指标,使得满足这个指标的data representation能够具有非常好的特性。再具体一些,下面举三个实际例子:


(1)autoencoder以重构损失作为指标来学习一个representation。


(2)之前听一个讲座,演讲人介绍他的论文《Why Deep Learning Works: A Manifold Disentanglement Perspective》IEEE Xplore Abstract,其中定义了三个指标来描述深度网络每一层中data representation的“蜷曲程度”,并发现,越高层的数据蜷曲度越低,换言之,越平展。那么无监督学习是否能够直接以这个蜷曲度作为损失函数来学习一个representation呢?


(3)这篇论文《Context Encoders: Feature Learning by Inpainting》提出通过预测周边上下文像素来无监督学习视觉特征,感觉很像word2vec从一维变成二维。除了上述的重构损失、蜷曲度、预测上下文精度,还有没有别的指标学习出来的representation更好呢?个人认为这些问题就是推动无监督/半监督学习进展的关键所在。


5.基于外部存储(external memory)的模型。如果说RNN、LSTM这样的模型属于internal memory / long-term memory的话,那么以神经图灵机(Neural Turing Machine,http://arxiv.org/abs/1410.5401)、记忆网络(Memory Network,http://arxiv.org/abs/1410.3916)为代表的模型就应该称为external memory / really long-term memory了。不过这两个模型刚出来的时候还太过naive,只能做一些很无聊的task,比如序列复制和排序以及非常简单的QA,但是现在已经开始看到它们被用到更加实际的问题上面,例如One-shot Learning:《One-shot Learning with Memory-Augmented Neural Networks》,http://arxiv.org/abs/1605.06065。往大了说,如果未来要实现强AI,这种外部存储的机制肯定是必不可少的。现在的问题在于,神经图灵机和记忆网络用的外部存储虽然比LSTM那样简单的一个hidden state向量更进一步,但也其实就是很简单的一片矩阵,没有任何结构和层次可言,换言之,就是还不够复杂。所以我猜想接下来可能external memory会和知识图谱(Knowledge Graph)结合起来或至少是向知识图谱类似的做法靠拢,因为知识图谱更加结构化。


知乎用户Naiyan Wang - https://www.zhihu.com/people/naiyan-wang/answers


从general的角度上来说,前面的高票回答都答得很好了。我想从我的角度细化来讲一下这个问题。不是泛泛而谈,而是考虑一些具体的实施方案。除去一些零散的点,research方面我个人目前重点关注以下几条线:


1. 针对特定问题的Unsupervised Learning: GAN自从去年NIPS之后就成了想AlphaGo一样火爆的关键词,似乎不搞GAN就不是做ML的一样 :-D 然而,Unsupervised Learning不仅仅有GAN。从我的角度来看,GAN这样的东西过于通用而不具有太多实用的价值。(当然这个不绝对,也有不少利用GAN思想很漂亮解决实际问题的工作。)我个人更关注的是来自Berkeley和CMU两个组的Unsupervised Learning的工作。这些工作的一个特性就是,充分利用了vision数据中的一些特点来寻找Supervision Signal,既可以是motion,也可以是context等等。然而所有这些方法最终都是在PASCAL VOC等这些通用的high level vision的数据集上测试,我们觉得是非常不合适的。不同类型的任务,需要的feature也应该是大相径庭的。


所以,一方面,我们根据想解决的问题,灵活利用这些天然存在的supervision signal去设计我们的unsupervised learning算法,使得unsupervised learning的过程能真正帮助我们解决存在的问题;另一方面,在我们在做的自动驾驶中,存在更多multi modal的数据。除去RGB图像,可能还会有Lidar, GPS, IMU等等。如何交叉利用这些multi modal的信息,寻找最廉价有效的Supervision Signal,也会是一个很有意义的问题。最终我们希望,通过这些虽然噪声较大,但是廉价的自标注数据,大幅度降低对人工标注高精度数据的需求。我们去年最开始的一个尝试,也已经发表在ICRA2017上。


2. 传统问题的一些新的setting:像Object Detection这些传统问题,在众多大神这两年的快速推进中,单从性能上而言,已经达到了一个相当不错的阶段。我个人的观点来说,继续压榨这些传统setting,边际收益可能会很低。然而,单就detection而言,我们可以衍生出Video Detection,RGBD Detection,Instance Segmentation等等新的setting。如何利用好这些额外的信息,以比较小的代价获取最大的性能提升,对于这些新的setting来说都是非常值得研究的。而且这些新的setting的诞生,其实背后都是会有一些实际的应用场景,这些问题兼具研究的价值与实用性。其余一些传统的问题,例如Semantic Segmentation等,也存在这样的情况。


3. 模型加速(非压缩):很多人前面都提到了这一点,然而这里有一个很大的误区是错把压缩当成加速。一个方法可以有很少的参数量,然而运算速度仍旧很慢。一个极端的例子就是RNN,每个time step共享参数,然而我们可以把RNN unroll无限的长度。我们更关心的其实在于加速,而非压缩。压缩做到一个几十倍甚至几百倍并非难事。尤其是可以充分现有硬件条件下,能实现的wall clock而非理论复杂度的加速更是凤毛麟角。单单这两个条件,应该就可以过滤掉目前90%的paper了。这仍然是有着无限可能性的一个领域。


4. Imitation Learning:如何从少量的demonstration中,快速学习一个还不错的policy,而后在环境中自由演化,甚至超越原始的demonstration。这方面一个很好的例子就是AlphaGo,会从棋谱中学习一个还不错的policy,然后再开始左右互搏。这样一个问题的意义在于,我们可以在模型初期避开一些完全毫无道理的bad case,在一些safety critical的问题中,得到一个较好的初始解。也可以加快后期policy迭代的收敛。


5. Confidence Learning:目前虽然deep learning在性能上取得了非常大的进步,甚至超越了人类的水平,然而仍然在一些corner case下,性能仍会一落千丈,输出的结果完全离谱。然而在一些高可靠性的系统中,我们需要保证worst case performance。这是一个更加困难的问题。退一步而言,我们有没有办法可以让模型对于输出的结果输出一个confidence?例如在无人车的一些场景中,如果我们发现算法本身并不可靠,与其盲目蛮干,我们可以安全路边停车,将控制权交还给驾驶员。这个方向虽然有一些初步研究,然而离实用仍又很大距离。这个问题的解法可能很多元,既可以用Bayes的角度来看,也可以从Sample Density的角度来看。仍然存在着各种可能性。


知乎用户


技术预测是非常困难的,想讲一点内心的想法。机器学习众多方向一直在发展,不是说深度学习在发展其他都暂停了,所以我理解这里问的下一步,是指会出现breakthrough成为热点的方向。


Hinton的AutoEncoder文章常被视为这一波深度学习的起点,然而虽然AutoEncoder发表后受到一些关注,你要问当时看起来深层次的神经网络会不会火起来,估计能看出来的人也不多。深度强化学习这一波开始迅速升温是因为DeepMind的Atari游戏和AlphaGo,或者说因为DeepMind本身。通过这些例子想说的是,技术的下一步发展,依赖的是技术的内在突破,而不是外在需求。当技术突破使得某种强烈的需求得以满足,这个技术就会火起来。外在需求总是存在的,90年代人们就关心大规模数据怎么学,现在还在关心大规模数据怎么学。虽然在讲给别人听的时候,从需求来讲会很容易被接受——有需求嘛,自然应该成为发展方向。但是技术并不会因为某方面的需求强烈而飞速发展,技术的发展有其内在规律。需求的强烈与否只会影响突破后的技术的受关注度。如果需求强烈发展就快得起来,那么凭借对AI的强烈需求,AI技术早该上天了,又如何会出现AI的两次寒冬呢。


看好的方向:

  • 逻辑的回归(呃,别看成“逻辑回归”了,我的字典里没有这个词)历史循环往复,AI以逻辑为始,可能快要回归了。

  • 梯度以外的优化方法。虽然有推销自己工作的嫌疑,但是万事靠梯度真不是好方法。

  • 博弈学习。秦博士的对偶学习就是一种有博弈的学习,隐隐感到均衡点有一些以往学习方法缺少的东西,可能成为一种趋势。也可看作无监督的一类,但个人更倾向于博弈本身。


不讲什么道理,因为这预测趋势本来就没什么道理,只有到过了历史关口回头来才能看到道理在哪,往前看太难。有了以上两点,机器学习将以难以想象的方式发展。


另外说一点,机器学习应用上的进步,除了更好的计算、存储,还倚赖一种硬件设备,叫做传感器。目前能制造的许多类型的传感器臃肿笨重、感知能力弱、续航时间短。如果传感技术革新了,世界布满了各式传感器,将是机器学习应用的一次跳跃。


罗韵(极视角联合创始人)- https://www.zhihu.com/people/luo-yun-614/answers

特别同意jacky yang ,确实是个难得的好问题,无意中看了一眼后特别有想法,可能是最近从业界转回了学术界,所以也更加多了对研究方向和技术的深入思考。


不太同意题主把原本的机器学习改成了深度学习,毕竟深度学习只是机器学习的一个方法,未来深度学习会不会被其他更优秀的方法所超越也还是个未知数,就像深度学习诞生于二三十年前,但却在天时地利人和的当下得到了最大的发展和突破,也许未来机器学习的主流方法,现在还没有提出来也未必,无独有偶,今天CCAI2016的分论坛,滴滴研究院院长也有类似的思考: 微软、腾讯、头条、清北专家解析机器学习的局限与明天 。


人的思考和见识总是离不开个人阅历的,所以还是循例介绍一下我的个人经历和背景,曾经游走在计算机视觉技术产品化的一线技术开发,现在逐步回到学术界做人工智能的学术研究,所以对技术产品以及研究都有所覆盖,因此考虑得稍微会全面一点。


有一点我觉得必须要想清楚的是,到底机器学习这个领域的研究目的是什么?个人的观点是,无论研究哪个领域,首先要做的是清楚了解好这个领域研究的目的和发展的目标。机器学习这个领域的研究目的和发展的目标其实都离不开解决实际问题,脱离不了真实是数据,所以,机器学习这个领域注定不可能是一个自然学科,他本质就是一个业务导向的工程学科,所以,他未来的发展注定是要在应用的发展,例如计算机视觉的应用,数据挖掘价值/推荐,自然语言的应用以及将这些应用应用到各个领域。


所以,只要是把机器学习考虑到如何做到应用上的都是他的下一步发展


以上是我认为的大方向上的下一步发展,至于具体技术层面的发展,主要是三个关键词:通用化、众包和自学习。


  • 通用化。我一直认为深度学习还是有点过热了,深度学习只是机器学习的一个方法,但是他自身有很多局限,通用化和数据量的要求上,使得在应用层面受到很大的影响,而我前面的观点提到,下一步的发展一定不能脱离“应用”二字。

  • 众包。鉴于通用化非常难实现,强人工智能也一直是个未知数,那么当下能尽快的让机器学习走向应用的方式之一就是众包,每人做一点,每个研究者都可以往一个局限性大的环境去研发,最终聚合到一个平台,这个也就是极视角推出的PaaS所做的事情。

  • 自学习。深度学习对数据的依赖导致了他的局限性,其实在说宽泛一点这个就是有监督学习在实际应用中的局限,还是不能脱离“应用”二字,所以,要尽可能拜托这个局限性的方法就是建立有限的自学习方式,例如最近提出的GCGAN(生成式对抗模型),SAE(堆栈自编码)以及各种做无监督的新方法等等。


Lanzhe Guo(Learning And Mining from DatA)-https://www.zhihu.com/people/gzxl/answers

提高鲁棒性。现在很多人已经在试图用机器学习解决一些具有风险性的问题。比如无人车,远程外科手术,甚至卫星发射这样的大型项目。因此,鲁棒性是非常重要的。在Alpha go和李世石对战的第四局,李世石九段找到了Alpha go的一个漏洞,然后在接下来的好多步棋中,Alpha go就好像完全不会下棋了一样。虽然在好的时候它的棋艺不亚于人类最顶级的棋手,但在坏的时候却又像一个完全不会下棋的初学者。这说明,现在很多机器学习任务虽然能做到好的时候很好,但是却不能保证坏的时候不至于太坏。所以,我觉得鲁棒性应该是机器学习努力要提高的。要保证坏的时候依旧不至于太坏,让机器学习能够在更多的任务上应用。


关于深度学习(机器学习)的下一步,你觉得会有哪些想象空间呢?欢迎在留言区和更多行业内的小伙伴进行交流。


知乎原帖地址 - https://www.zhihu.com/question/47602063






关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接