译自: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,也就是说能够翻译一对没有训练过的语种。结果表明,同时训练多个语种对,比训练单一语种对的效果要好。这表明翻译知识是可以迁移的,从一个语种对到另外一个。

参考文献

  1. Generative Adversarial Text to Image Synthesis, Jun 2016
  2. Image-to-Image Translation with Conditional Adversarial Nets, Nov. 2016
  3. Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network, Nov 2016

相关阅读

  1. 深度学习:2016年的进展综述及2017年的预测 http://mp.weixin.qq.com/s?__biz=MzA5NzkxMzg1Nw==&mid=2653161579&idx=1&sn=e1d157cb4c6e9610be78ebf79eb4379c&chksm=8b493505bc3ebc1323b2d0a673e479d4bb9321748c62c9ad613260936849ea76c48902249868#rd
  2. 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)的更多相关文章

  1. 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 ...

  2. (转) 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 ...

  3. 深度学习笔记之关于总结、展望、参考文献和Deep Learning学习资源(五)

    不多说,直接上干货! 十.总结与展望 1)Deep learning总结 深度学习是关于自动学习要建模的数据的潜在(隐含)分布的多层(复杂)表达的算法.换句话来说,深度学习算法自动的提取分类需要的低层 ...

  4. 吴恩达《深度学习》-课后测验-第一门课 (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 ...

  5. 深度学习基础 Probabilistic Graphical Models | Statistical and Algorithmic Foundations of Deep Learning

    目录 Probabilistic Graphical Models Statistical and Algorithmic Foundations of Deep Learning 01 An ove ...

  6. 吴恩达《深度学习》-课后测验-第一门课 (Neural Networks and Deep Learning)-Week 2 - Neural Network Basics(第二周测验 - 神经网络基础)

    Week 2 Quiz - Neural Network Basics(第二周测验 - 神经网络基础) 1. What does a neuron compute?(神经元节点计算什么?) [ ] A ...

  7. 吴恩达《深度学习》-课后测验-第一门课 (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" ...

  8. 学习的矩阵微积分The matrix calculus you need for deep learning

    学习的矩阵微积分The matrix calculus you need for deep learning https://explained.ai/matrix-calculus/index.ht ...

  9. [深度学习大讲堂]从NNVM看2016年深度学习框架发展趋势

    本文为微信公众号[深度学习大讲堂]特约稿,转载请注明出处 虚拟框架杀入 从发现问题到解决问题 半年前的这时候,暑假,我在SIAT MMLAB实习. 看着同事一会儿跑Torch,一会儿跑MXNet,一会 ...

随机推荐

  1. AngularJS-Uncaught Error: [$injector:modulerr]

    我在实验AngularJS-系统代码的配置和翻译的时候遇到了如下图所示的错误: 在JS编程的时候会经常遇到,XXX不是一个函数,XXX未定义等等错误,只要看到和自己编写的代码语句相关的东西直接找到就能 ...

  2. 关于Python3爬虫抓取网页Unicode

    import urllib.requestresponse = urllib.request.urlopen('http://www.baidu.com')html = response.read() ...

  3. Ubuntu ssh 服务

    安装ssh-serversudo apt-get install openssh-server安装ssh-clientsudo apt-get install openssh-client 修改ssh ...

  4. PHP中类自动加载的方式

    最近在学习composer,发现从接触PHP到现在已经遇到了三种关于PHP中类的自动加载方式,这其中包括PHP自带的类的自动加载方式.PHP的第三方的依赖管理工具composer的加载方式以及PHP的 ...

  5. 在VS中操作Mysql数据库

    1.实现mysql数据库与VS的连接,需要安装两个插件,作者装的是mysql-connector-net-6.9.9.msi和 mysql-for-visualstudio-1.2.6.msi. 2. ...

  6. linux下jdk和tomcat的安装配置

    操作系统:centos (32bit) 1.  下载合适的安装包. 原则是:安装包类型和(bit)位数要与操作系统一致,tomcat和jdk的版本要兼容,如: apache-tomcat-6.0.37 ...

  7. 关于已配置log4j,运行tomcat时显示警告的分析

    有时候,我们在JavaEE项目中配置了log4j及其参数信息,但是启动tomcat时,仍会显示如下信息:

  8. 利用nginx来屏蔽指定的user_agent的访问以及根据user_agent做跳转

    对于做国内站的我来说,我不希望国外蜘蛛来访问我的网站,特别是个别垃圾蜘蛛,它们访问特别频繁.这些垃圾流量多了之后,严重浪费服务器的带宽和资源.通过判断user agent,在nginx中禁用这些蜘蛛可 ...

  9. VC++ 6.0远程调试配置

    VC开发环境之所以提供远程调试的能力,是因为有些情况下单机调试会让你崩溃掉...比如,调试GUI程序的WM_PAINT消息,因为要单步调试,所以调试器会对界面的重绘产生副作用(Heisenberg不确 ...

  10. 问题1:Mybatis 中 Signature中的参数args 问题2:MetaObject中 forObject方法中的参数

    1.@Intercepts({@Signature(type =StatementHandler.class, method = "prepare", args ={Connect ...