北京白癜风如何治疗 https://jbk.39.net/yiyuanzaixian/bjzkbdfyy/bdf/机器之心原创作者:微胖、吴攀
人工智能圣杯虽然遥远,但这并不妨碍机器学习继续在年高歌猛进,其中,深度学习仍是最亮眼的明星。机器学习的重大进展离不开三个核心内容:算法(或软件)、硬件和数据。本文仅从算法(或软件)、硬件角度梳理年机器学习领域(主要是深度学习)主要进展。考虑到技术进步离不开研究社区的协力与开放,本文第三部分也对年研究社区重大事件进行了梳理。
一、算法(或软件)
能够自主学习的机器、人与机器的自然交流一直是我们追求的人工智能圣杯。年,GANs以及深度强化学习取得的进展让人类距离自主学习机器又近了一步。NLP领域里的一些重大进展,比如机器翻译,也使得人与机器的交流更加顺畅。
1、生成模型
生成对抗网络(GANs)让我们距离无监督学习圣杯又近了一步。有学者指出年是深度学习的分水岭,这要归功于生成模型的突破性研究。
生成式对抗网络早在年由IanGoodfellow提出。年,GAN开始显示出真正潜力,进展非常迅速,相继出现了条件生成对抗网络(ConditionalGenerativeAdversarialNets)和信息生成对抗网络(InfoGAN),深度卷积生成对抗网络(DeepConvolutionalGenerativeAdversarialNetwork,DCGAN)等,更加优化的GAN模型已经解决了之前限制深度学习发展的一些难题。
InfoGAN模型由OpenAI研究员在8月提出。InfoGAN能够以无监督的方式生成包含数据集相关信息的表征。例如,当被应用于MNIST数据集的时候,它能够在不需要人工标记数据的情况下推断出数字的类型(1、2、3……)、生成的样本的转动(rotation)与宽度(width)。
GAN的另一种延展是被称为ConditionalGAN的模型。这些模型能够生成考虑了外部信息(类标签、文本、其它图像)的样本,并使用它来迫使G生成特定类型的输出。
DCGAN,该网络从一个高斯分布中选取个随机数作为输入(将这些输入成为代码,或隐变量,用红色表示),然后输出一张图像(在这种情况下是右侧的64x64x3的图像,用绿色表示)。随着代码的逐步改变,生成的图像也在改变——这说明该模型已经学会了用来描述世界的模样的特征,而不仅仅是记得某些样本。
StackGAN。模型本质就是ConditionalGAN,只不过它使用了两层ConditionalGAN模型,第一层模型P(X1
z,c)利用输入的文字信息c生成一个较低分辨率的图片。之后第二层模型P(X
c,,X1)基于第一层生成的图片以及文字信息生成更加优化的图片。文中给出的实验效果非常的惊人,可以生成x的非常真实的图片。
PPGN。GAN不光自身有变种和优化,也能被其它算法融合吸收,发挥强大效果。NIPS会前几天发布的PlugPlayGenerativeNetworks(PPGN,即插即用生成网络)的最新进展((Nguyenetal,)就是生成模型领域State-of-the-art论文。PPGN是融合了包括GAN在内的很多算法和技巧的新算法,整合了对抗训练、CNN特征匹配、降噪自编码、Langevin采样等,它从ImageNet中生成了x的真实图片,是目前在这个数据集上跑得最惊人的一套算法。PPGN生成的图像同类差异化大,可根据指定生成不同类别的图像、多类化,生成的图像清楚分辨率高。
WaveNet。年9月,谷歌DeepMind发布博客介绍他们在文本转语音系统上取得的重大进展。DeepMind表示,他们最新的深度生成模型WaveNet将机器语音合成的表现与人类之间水平的差距至少缩减了50%,也是目前文本到语音环节最好的深度生成模型。
计算机发出声音,最常用的TTS方法可能是拼接式语音合成(ConcatenativeSynthesis),这种机械式方法使得计算机输出音频经常产生语音毛刺、语调的诡异变化、甚至结巴,无法调整语音的强调性音节或情绪。另外一种方法是参数化方法,利用数学模型对已知的声音进行排列、组装成词语或句子来重新创造音频,能让机器输出的音频听起来不那么机器化。这两种技术的共同点是简单、机械地将语音片段拼接起来,而不是从零开始创造出整个音频波形。
WaveNet正是一种从零开始创造整个音频波形输出的技术。WaveNet利用真实的人类声音剪辑和相应的语言、语音特征来训练其卷积神经网络(convolutionalneuralnetworks),让其能够辨别这两方面(语言和语音)的音频模式。使用中,对WaveNet系统输入新的文本信息,也即相对应的新的语音特征,WaveNet系统会重新生成整个原始音频波形来描述这个新的文本信息。
年,DeepMind还发表了强大的图像生成模型PixelRNN(PixelRNN利用RNN建模图像像素关系,突破传统)、PixelCNN以及视频生成模型VPN(VideoPixelNetwork)。
2、深度强化学习
强化学习和使用深度神经网络的深度学习可以很漂亮地互相补充,强化学习与深度学习结合的方法出现强劲势头。
AlphaGo。年以来,DeepMind团队相继在NIPS和Nature上发表了用深度强化学习玩Atari游戏的论文。年1月,DeepMindAlphaGo在围棋大战中击败欧洲冠军。一个多月后,AlphaGo再次震惊世界:4比1击败了世界顶级围棋选手李世石。
AlphaGo使用深度卷积网络,将棋盘当做一张19×19的输入「图像」(每个位置一个像素)进行处理。网络把当前局面作为输入,预测/采样下一步的走棋,尽量让机器落子向量接近人类高手的落子结果。但是,只用策略网络(policynetwork)不行,因为策略网络没有价值判断功能,加了搜索之后,计算机才有价值判断的能力,因此,AlphaGo综合了深度神经网络和MCTS。AlphaGo利用强化学习进行训练,通过与自己对抗,逐步改善策略来挑选行动(策略网络),以评估谁将获胜(价值网络,另一深度卷积网络)。价值网络的作用是减少搜索的深度,所以,AlphaGO搜索深度并不是特别深,它并不是一下子搜索出直达比赛末尾的多步,而是搜索更少的步数,比如20多步,并评估这些位置,而不是一路评估到底,看谁最终能赢。
AlphaGo在蒙特卡洛树搜索框架下,利用深度学习和强化学习进行训练和评估,实现巨大突破。在游戏上取得了不错的成果后,深度强化学习也逐渐被引入NLP领域,比如较为热点的研究方向基于强化学习的文本生成技术(NLG)。另外,加州大学伯克利分校副教授PieterAbbeel正在研究将深度强化学习应用到机器人上,比如BRETT在学习提升自己在家务劳动中的表现。
VIN。年NIPS最佳论文是一篇强化学习论文ValueiterationNetwork。这篇论文介绍了一个能学习设计策略,而不是完全被动遵循策略的神经网络。同时,这种新的强化学习观并不是基于模型的(model-free)。VIN的目的主要是解决深度强化学习泛化能力较弱的问题。传统的深度强化学习(比如deepQ-learning)目标一般是采用神经网络学习一个从状态(state)到决策(action)的直接映射。神经网络往往会记忆一些训练集中出现的场景。所以,即使模型在训练时表现很好,一旦我们换了一个与之前训练时完全不同的场景,传统深度强化学习方法就会表现的比较差。
作者提出,不光需要利用神经网络学习一个从状态到决策的直接映射,还要让网络学会如何在当前环境下做长远的规划(learntoplan),并利用长远的规划辅助神经网络做出更好的决策。
在文章中,我们提出了一种特殊的网络结构(valueiterationmodule),这种结构和经典的规划算法valueiteration有着相同的数学表达形式。利用这种数学性质,VIN将传统的规划算法(planningalgorithm)嵌入了神经网络,使得网络具有长期规划的能力。
VIN中所使用的特殊结构valueiterationmodule,在很多问题上都可以直接加入现有的强化学习框架,并用来改进很多现有模型的泛化能力。
3、NLP方面的重要进展
实现人机流畅的交流需要解决一些问题,比如文本理解,问题回答以及机器翻译等。
(1)机器翻译
GNMT。年9月底,谷歌在arXiv.org上发表了论文Google`sNeuralMachineTranslationSystem:BridgingtheGapbetweenHumanandMachineTranslation,介绍了谷歌的神经机器翻译系统(GNMT),该系统实现了机器翻译领域的重大突破。11月,谷歌再发论文宣布了其在多语言机器翻译上的突破:实现了zero-shot翻译。
传统统计机器翻译(StatisticalMachineTranslation,SMT)技术,SMT方法的最大特点是基于数据驱动的机器学习方法,只要提供足够数量的双语句对,在很短时间内可以自动构建一套统计机器翻译系统,翻译性能超过基于规则的方法。年提出了神经机器翻译(NeuralMachineTranslation,NMT)技术。其思路与传统SMT方法完全不同,它采用神经网络直接实现两个句子之间的自动翻译,完全没有规则方法和SMT方法的从小片段组装成大片段翻译的过程。年,Cho和Sutskever提出了Encoder-Decoder架构的神经网络机器翻译系统。年,YoshuaBengio团队进一步加入了Attention的概念。Bengio团队的这个工作也奠定了后续很多NMT商业系统的基础,也包括Google这次发布的GNMT。GNMT基本框架仍然是带Attention模块的Encoder-Decoder。
尽管有这些进步,但NMT的速度和准确度还没能达到成为GoogleTranslate这样的生产系统的要求。谷歌新论文描述了我们怎样克服了让NMT在非常大型的数据集上工作的许多挑战,以及谷歌如何打造了一个在速度和准确度上都已经足够能为谷歌的用户和服务带来更好的翻译的系统。
ByNet。DeepMind提出了线性时间的神经机器翻译ByNet。
我们提出了一种用于序列处理(sequenceprocessing)的神经架构。ByteNet是一种两个扩张的卷积神经网络(dilatedconvolutionalneuralnetworks)的堆叠;其中一个网络用于编码源序列(sourcesequence),另一个网络用于解码目标序列(targetsequence)——这个过程中目标网络动态展开从而生成可变长度输出。ByteNet有两个核心特性:它在与序列长度成线性的时间上运行;它能保留序列的时间分辨率(temporalresolution)。ByteNet解码器在字符级的语言建模上获得了顶尖水平,并超越了之前循环神经网络取得的最好结果。ByteNet也在原始的字符级机器翻译(rawcharacter-levelmachinetranslation)上获得了接近最好的神经翻译模型(运行在二次时间(quadratictime)中)所能取得的顶尖表现。由ByteNet学习到的隐含架构能反映出序列之间的预期对应。
(2)文本理解
JMT。Salesforce的MetaMind(