[译]2016年深度学习的主要进展(译自:The Major Advancements in Deep Learning in 2016)
译自:The Major Advancements in Deep Learning in 2016 建议阅读时间:10分钟
https://tryolabs.com/blog/2016/12/06/majoradvancementsdeeplearning2016/
在过去的十多年来,深度学习一直是核心话题,2016年也不例外。本文回顾了他们认为可能会推动这个领域发展或已经对这个领域产生巨大贡献的技术。(1)无监督学习有史以来便是科研人员所面临的的主要挑战之一。由于大量产生式模型的提出,2016年对于这一领域来说是收获巨大的一年。(2)为了使得机器具备能与人自然交流的能力是理想中的目标,一些商业巨头,如Google和Facebook,提出的一些解决方法。在这个背景下,2016年都是围绕这个目标的自然语言处理中的关键问题的创新。
(一)无监督学习
无监督学习指的是那些从原始数据中抽取模式和结构,而不需要额外的信息。这一点与有监督学习是对立的,因为它需要额外的标注信息。经典的基于神经网络的无监督学习方法是Autoencoder。最基本的版本是由多层感知机组成,输入与输出层具有相同的神经元数目,隐层中神经元数目要相对少些,用此来恢复出输入信号。一旦训练结束,隐层的输出即对应数据的表示,能够用于聚类,维度归约,改善有监督的分类任务,甚至是数据压缩。
2014年Ian Goodfellow提出用于解决无监督学习的Generative Adversarial Networks (GAN)。直到2016年,这项技术的潜力才凸显。GAN是一项真正的变革。它的影响力将在本文阐述。深度学习创始人之一Yann LeCun曾经说过,GAN是近20年来机器学习中最重要的思想。2016年引入的改进技术(Deep Convolutional GAN)修正了之前结构和训练算法的一些不足,新的应用的涌现揭示了GAN模型及其改进版的强大与灵活。
GAN起源于直观的思想。假设有一个画家伪造艺术品记为G,另外有一些人以鉴别画作的真伪为生记为D。开始时,给D展示一些Picasso的画作,然后G为了欺骗D伪造了一些画作,使得D相信这就是Picasso的画作。有时候,G成功欺骗了D,但是随着D开始通过多看一些画作来学习Picasso的风格,G越来越难骗到D,所以G也要伪造的越来越好。随着学习的推进,不但D变得越来越擅长区分画作是否是Picasso的,而且G也越来越擅长伪造。这就是GAN背后的思想。
技术上来讲,GANs由生成网络Generator(G)和判别网络Discriminator(D)两个网络的持续推动(对抗)构成。给定一个训练样本的集合,如图像,假设它们的潜在分布为x。采用GANs,G负责生成输出,D负责判断这些输出是否与训练样本来自同一分布。G始于一些噪音z,生成图像G(z)。D获得真实分布的图像和来自于G的伪造图像,并能区分他们(D(x)与D(G(x)))是否属于训练集。D与G同时学习,一旦G训练好后,它就能够知道关于训练样本分布的足够多的知识来产生具有一些相似性质的新样本。这些新样本可能并不能与真实的样本一一对应,但是确实捕捉到了训练样本中实际存在的一些概念信息。以CIFAR10为例,从远处看,可以看到有局部的神似。
下面介绍GAN为基础的几个变种:
(1)InfoGAN。GAN不但可以近似数据的分布,而且可以用来学习可解释的,有用的数据的向量表示。(题外话:确实,用vector representations of data,比用representations of data更能让人理解。)理想的向量表示不但能够捕捉丰富的信息,就像autoencoder那样,而且能够可解释,也就是说能够区分向量的哪部分是对应哪种类型的形变才导致最后的输出。OpenAI的研究员们8月的时候为了解决这个问题提出了InfoGAN模型。InfoGAN能够采用无监督的方式学习到数据的的表示。以MNIST数据为例,InfoGAN能够推断数字的形状,旋转,以及宽度,而不需要额外的人工标注数据。
(2)Conditional GANs.这类模型考虑额外的信息,如类标签,文本,或其他图像等,来产生样本,用此来迫使G产生特定类型的输出。一些应用浮现:a. Text-to-Image.将文本作为额外的输入,用character level CNN or LSTM编码的向量表示,然后基于此来产生图像。b. Image-to-Image. 将输入图像映射为输出图像。c.Super Resolution. 采用Downsampled图像作为样本,生成器G试图近似他们以得到更加自然清晰的版本。
(二)自然语言处理
为了能够与机器进行流畅的对话,一些问题必需要首先解决:文本理解,问答,翻译。
(1)文本理解。Salesforce Metamind构建了一个新的模型,称为多任务联合(Joint Many-Tasks),目标在于构建一个单一的模型能够同时完成以下五个常见的NLP的任务:词性标注、分块、依赖分析、语义相关、文本蕴含。该模型的神奇之处在于它是可以端到端的训练的(end-to-end trainable)。这就意味着不同层间是可以协作的,从而实现用高层(复杂任务)的结果来改善低层(简单任务)的结果。以往的思想认为,只有低层可以用来改善高层。JMT思想恰好是反向的,因此是新颖的。因此,该模型得到的词性标注的结果是state-of-the-art的。
(2)问答。MetaMind也提出了用于解决问答问题的新的模型,称为 Dynamic Coattention Network (DCN)。该模型背后的思想也是非常直观的。假设我给你一段长文本和一些问题(就像阅读理解),你是倾向于先阅读整段文本,然后再回答问题,还是先看问题在阅读文本?很自然的,我们应该更倾向于预先知道问题,将之作为条件,使得我们在阅读文本的时候能够将注意力集中在这些地方。否则,我们将要对整段文本中每个细节和依赖都同等关注,以应对未来可能的各种问题。DCN就是做这样的事情。首先,它产生一些以问题作为条件的文本的内部表示,来试图回答问题;然后,浏览可能的答案列表,最后收敛到最终的答案。
(3)机器翻译。9月份的时候,Google提出了一个被他们的翻译系统所采用的新的模型,成为Google Neural Machine Translation (GNMT)。该模型为每对语种(如中-英)单独训练一个模型。最新版本的GNMT在11月份发布。与初级版本相比,更进了一步,多个语种对的翻译采用统一的模型来训练。与之前模型的唯一不同在于,多了一个用于指定目标语种的输入。新版本的GNMT能够zero-shot translation,也就是说能够翻译一对没有训练过的语种。结果表明,同时训练多个语种对,比训练单一语种对的效果要好。这表明翻译知识是可以迁移的,从一个语种对到另外一个。
参考文献
- Generative Adversarial Text to Image Synthesis, Jun 2016
- Image-to-Image Translation with Conditional Adversarial Nets, Nov. 2016
- Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network, Nov 2016
相关阅读
- 深度学习:2016年的进展综述及2017年的预测 http://mp.weixin.qq.com/s?__biz=MzA5NzkxMzg1Nw==&mid=2653161579&idx=1&sn=e1d157cb4c6e9610be78ebf79eb4379c&chksm=8b493505bc3ebc1323b2d0a673e479d4bb9321748c62c9ad613260936849ea76c48902249868#rd
- 10 Deep Learning Trends and Predictions for 2017 https://medium.com/@IntuitMachine/10-deep-learning-trends-and-predictions-for-2017-f28ca0666669
[译]2016年深度学习的主要进展(译自:The Major Advancements in Deep Learning in 2016)的更多相关文章
- 0.读书笔记之The major advancements in Deep Learning in 2016
The major advancements in Deep Learning in 2016 地址:https://tryolabs.com/blog/2016/12/06/major-advanc ...
- (转) The major advancements in Deep Learning in 2016
The major advancements in Deep Learning in 2016 Pablo Tue, Dec 6, 2016 in MACHINE LEARNING DEEP LEAR ...
- 深度学习笔记之关于总结、展望、参考文献和Deep Learning学习资源(五)
不多说,直接上干货! 十.总结与展望 1)Deep learning总结 深度学习是关于自动学习要建模的数据的潜在(隐含)分布的多层(复杂)表达的算法.换句话来说,深度学习算法自动的提取分类需要的低层 ...
- 吴恩达《深度学习》-课后测验-第一门课 (Neural Networks and Deep Learning)-Week 3 - Shallow Neural Networks(第三周测验 - 浅层神 经网络)
Week 3 Quiz - Shallow Neural Networks(第三周测验 - 浅层神经网络) \1. Which of the following are true? (Check al ...
- 深度学习基础 Probabilistic Graphical Models | Statistical and Algorithmic Foundations of Deep Learning
目录 Probabilistic Graphical Models Statistical and Algorithmic Foundations of Deep Learning 01 An ove ...
- 吴恩达《深度学习》-课后测验-第一门课 (Neural Networks and Deep Learning)-Week 2 - Neural Network Basics(第二周测验 - 神经网络基础)
Week 2 Quiz - Neural Network Basics(第二周测验 - 神经网络基础) 1. What does a neuron compute?(神经元节点计算什么?) [ ] A ...
- 吴恩达《深度学习》-课后测验-第一门课 (Neural Networks and Deep Learning)-Week 4 - Key concepts on Deep Neural Networks(第四周 测验 – 深层神经网络)
Week 4 Quiz - Key concepts on Deep Neural Networks(第四周 测验 – 深层神经网络) \1. What is the "cache" ...
- 学习的矩阵微积分The matrix calculus you need for deep learning
学习的矩阵微积分The matrix calculus you need for deep learning https://explained.ai/matrix-calculus/index.ht ...
- [深度学习大讲堂]从NNVM看2016年深度学习框架发展趋势
本文为微信公众号[深度学习大讲堂]特约稿,转载请注明出处 虚拟框架杀入 从发现问题到解决问题 半年前的这时候,暑假,我在SIAT MMLAB实习. 看着同事一会儿跑Torch,一会儿跑MXNet,一会 ...
随机推荐
- Android自动化学习笔记:编写MonkeyRunner脚本的几种方式
---------------------------------------------------------------------------------------------------- ...
- 软件测试之loadrunner学习笔记-02集合点
loadrunner学习笔记-02集合点 集合点函数可以帮助我们生成有效可控的并发操作.虽然在Controller中多用户负载的Vuser是一起开始运行脚本的,但是由于计算机的串行处理机制,脚本的运行 ...
- Java中的内部类(回调)
一.内部类的主要作用如下: 1. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类 2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据 3. 内部类所 ...
- php类型的相关函数,运算符,条件判断,循环
类型的相关函数 函数的原型 :函数返回值类型 函数名(参数1类型 参数1,参数2类型 参数2--) 1, 任何一个函数,都要考虑它是否有返回值以及该返回值的类型,如果该函数没有返回值,就用void来 ...
- android开发--ormlite
ORMlite是类似hibernate的对象映射框架,主要面向java语言,同时,是时下最流行的android面向数据库的的编程工具. 官方网站:http://ormlite.com/ 如果需要开发a ...
- flag--命令行参数定义多标签示例
// TestFlag2 project main.go package main import ( "flag" "fmt" ) func main() { ...
- CoreData总结
Core Data,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象.在此数据操作期间,我们不需要编写任何 ...
- [MAC]用beamoff给VMware的Mac OS X 10.10.x加速
MAC OS X 10.10.x Yosemite在VMWare中实在是太慢了,卡出翔!好在高人多,请装beamoff!详见:https://github.com/JasF/beamoff.git C ...
- sasscore22
1.setting 如果不需要支持ie6,7,请在引入setting文件之前,设置$lte7:false;. $lte7: true !default 表示的是是否兼容it6/7 2.css3 是一 ...
- requirejs的使用
requirejs的优点: 1.防止在js的加载过程中,阻止页面的渲染: 2.可以引入多个js文件: 3.可以写出重复使用的js模块: 4.有效的防止命名的冲突,通过将变量分装在模块中的方式实现: r ...