机器学习日报 2017-12-06

  • 2017 CV 技术报告之图像分割、超分辨率和动作识别 @机器之心Synced
  • 腾讯优图沈小勇:ICCV 2017 一键卸妆 ; 视频超分辨率论文详解 @wx:Non
  • 斯坦福:2017年人工智能指数报告 @南京轻搜
  • 可视化语音分析:深度对比Wavenet、t-SNE和PCA等算法 @机器之心Synced
  • 梯度下降优化算法综述 @新智元

@好东西传送门 出品,由@AI100运营, 过往目录 见http://geek.ai100.com.cn

订阅:关注微信公众号 AI100(ID:rgznai100,扫二维码),回复“机器学习日报”,加你进日报群

本期话题有:

全部21 算法11 视觉9 会议活动9 资源8 深度学习7 语音5 经验总结5 自然语言处理4 应用4

用日报搜索找到以前分享的内容: http://ml.memect.com/search/

今日焦点 (5)

机器之心Synced 网页版 2017-12-06 17:13

视觉

【2017 CV 技术报告之图像分割、超分辨率和动作识别】The M Tank 编辑了一份报告《A Year in Computer Vision》,记录了 2016 至 2017 年计算机视觉领域的研究成果,对开发者和研究人员来说是不可多得的一份详细材料。http://t.cn/RY3cl3Q ​

wx:Non 网页版 2017-12-06 22:28

会议活动 深度学习 视觉 算法 资源 CVPR ECCV ICCV NIPS PCA 行业动态 幻灯片 回归 会议 活动 神经网络

「独家 | 腾讯优图高级研究员沈小勇:ICCV 2017 一键卸妆 & 视频超分辨率论文详解」AI 科技评论按:ICCV(The International Conferenceon Computer Vision)是计算机视觉领域的三大顶级会议之一,腾讯优图实验室在 ICCV 2017 中共投稿 15 篇论文,其中 12 篇被大会录用。录用论文中,被誉为「一键卸妆」的论文 Makeup-Go: Blind Reversion of Portrait Edit 在社会各界引起了强烈反响,引爆社交媒体。另一篇超分辨率的论文 Detail-revealing Deep Video Super- resolution(细节还原深度视频超分辨率)相关技术也已经在 QQ 空间成功落地,各项性能指标均超过谷歌的同类技术。近日,AI 科技评论邀请到腾讯优图实验室高级研究员沈小勇,他为我们详细介绍了腾讯优图实验室和前面提到的两篇论文:「一键卸妆」(Makeup-Go: Blind Reversion of Portrait Edit)和视频超分辨率(Detail-revealing Deep Video Super- resolution)。嘉宾简介:沈小勇,腾讯优图实验室高级研究员,浙江大学本科、硕士,香港中文大学博士、博士后。主要研究深度学习在图像视频处理理解中的应用,包括图像增强、分割、物体检测识别、运动与深度估计等,在 CVPR、ICCV、ECCV 等顶级会议和 TPAMI、TOG 等顶级 Journal 上发表论文超过 15 篇。以下为他的分享内容:AI 科技评论的网友们,大家晚上好,非常高兴能在这里进行直播,我今天分享的题目是《视觉 AI IP 输出者:腾讯优图 ICCV 2017 论文》,我是沈小勇,腾讯优图高级研究员,目前在优图主要进行人工智能的技术研究及开发工作。这是我的个人主页,我本科和研究生就读于浙江大学,博士就读于香港中文大学。下面是对腾讯优图的简介,我们主要立足于人脸识别、图像识别、音频识别三个方面的研究。下面是优图在基础研究、平台数据以及业务场景三方面融合的生态。这是优图实验室2017年最新的技术突破。今天我重点要跟大家分享的是腾讯优图在 ICCV 2017 上发表的其中 2 篇论文。Makeup-Go: Blind Reversion of Portrait Edit我分享的第一篇论文是 Makeup-Go: Blind Reversion of Portrait Edit,即一键卸妆,给你一张处理过的图片(比如经过美图秀秀把人变白、变美之后的图片),把软件处理之前的样子恢复出来。一般情况下,现在有很多图片处理 APP,我们想知道在美颜处理之前是照片是什么样。下面是未经过美化的图片。美化之后脸上的痘痘消失了,皮肤变得非常光滑。想要把图片恢复成处理之前的状态,难点在哪里?简单暴力的方法是既然有输入图片和输出图片,能不能训练出一个神经网络自动学会处理图片。在这里我们做了一个简单实验,是2016年 CVPR 的一篇文章,一个非常深的网络。下面是输入和输出。从这里可以发现,即使用了一个那么深、学习能力那么强的网络,还是和最初的图像有很大差别,比如说皱纹和雀斑,都恢复得不是那么完美。为什么现在的 CNN 网络不能恢复原来的图片?图像里包含很多东西,如果只是简单用 CNN 去回归,只能回归出非常少的 component,我们在图像恢复时发现了一个非常重要的信息,叫 component domination effect,这篇文章重点针对 component domination effect 来改变一键卸妆效果。首先我们对 L2 loss 进行分析,可以对其进行分解,F 是神经网络的输出结果,y 是 ground truth。我们在这里发现,实际上可以对 L2 loss 进行分解,分解成 PCA 不同 component 的线性组合。可以继续对其进行展开。怎么理解 component,我们从大到小分解出来。这里是我们所做的网络,称为 component regression network。相当于把图经过 PCA 分解为不同的成分,接下来我们希望通过不同的 subnetwork 把每一个 component 都能回归得很好,最后把各个 component 综合在一起,得到最终的结果。接下来是我们的实验结果,可以证明这个网络对于一键卸妆是非常有效的。绿色线条是我们的结果,在 component 为 40 时就能达到比较好的效果。大家可以看到与 Euclidean loss 和 Perception loss 的比较。下面的这张图经过美图秀秀处理,把雀斑、皱纹都去除了,可以看到我们复原的结果与 ground truth 修饰的结果的比较。下面是一张 overly touched 图片,图像过度平滑,颜色都改变了,我们恢复的结果能把丢失的细节很好地复原出来。 下面是更多的结果,我们在网上随便找的照片,可以很好地把图中雀斑和皱纹恢复出来。这个网络并不对所有案例都有效,下面是对 Trump 的图片的处理,虽然能把图片恢复出来,但和 ground truth 比还是有差别。这个工作的总结如下:一、我们在做图像修复时发现了非常重要的性质 component domination effect;二,提出 component regression network,在很多领域有非常强的应用。Detail-revealing Deep Video Super- resolution第二篇论文是 Detail-revealing Deep Video Super-resolution,目前做出来的效果在业界非常好。首先讲一下我们做视频超分辨率的 motivation。一,这是一个非常传统和基础的问题;二,应用非常非常多,比如说在监控场景下分辨车牌号。对于视频超分辨率之前的工作,可以分为两类,一类是 image SR,一类是 video SR,具体的研究工作如 PPT 所示。我们这篇文章在别人的基础上把研究向前推进了一步。下面是这个问题的难点。一是怎么去得到非常 effective 的网络,二是模型的问题。首先介绍我们方法的优势:一是 sub-pixel motion 更好的运用,二是在视觉和数量上我们的结果比之前好很多。另外这个模型是 fully scalable 的,可以是任何输入大小,实现任何倍数放大。下面是我们方法的网络。怎么解决刚才提到的那些问题呢?一是设置 Fully convolutional,二是 SPMC 层没有任何参数,三是 Conv LSTM。下面是我们的分析。对这个网络,我们输入三个相同的帧,效果不是很好,而输入三个连续的帧可以得到比较好的效果。第二个分析是将 SPMC Layer 和 Baseline 进行比较,SPMC 在此处效果更好。通过对比可以看到我们的方法比之前的 Bicubic、BayesSR、DESR、VSRNet 都要好。最后分析下运行时间,我们的方法优于 BayesSR、MFSR、DESR、VSRNet。最后总结:一是这个工作是端到端的,有很好的适应性,二是提出了 SPMC layer,三是我们的方法质量很高,速度上有较大提升。下面是对我们腾讯优图 X-Lab 的简介。这是我们的团队照片,目前我们团队大概有 30 多个人。最后我还想在这里来个简单的广告,目前我们团队处于飞速发展中,如果大家对我们团队有兴趣,欢迎加我微信。视频:动态 | 继LFW之后,腾讯优图又在难度更大的人脸识别库MegaFace中获得全球第一 学界 | NIPS 2017 腾讯AI Lab 八篇论文入选,含1篇Oral 动态|99.80%!腾讯优图刷新人脸识别新高度 ————— 给爱学习的你的福利 —————上海交通大学博士讲师团队从算法到实战应用,涵盖CV领域主要知识点手把手项目演示全程提供代码深度剖析CV研究体系轻松实战深度学习应用领域!详细了解点击文末阅读原文▼▼▼———————————————————— via: http://mp.weixin.qq.com/s?__biz=MzI5NTIxNTg0OA==&mid=2247488646&idx=2&sn=0718ac5415eed359144ab81cdb790dfe&scene=0#wechat_redirect

南京轻搜 网页版 2017-12-06 18:11

视觉 自然语言处理

【斯坦福:2017年人工智能指数报告】近日,斯坦福“人工智能百年(AI100)”专家小组(非盈利性项目AI Index)发起了一项AI指数报告,追踪学术界、产业界、开源软件和公共兴趣范畴的18个分立的视角评估人工智能活跃度,盘点计算机视觉、自然语言理解等技术发展现状(机器类人程度),从专家视角解读人工智能…全文: http://m.weibo.cn/5897818869/4182021401584576 ​

机器之心Synced 网页版 2017-12-06 16:06

算法 语音 PCA Python 可视化

【可视化语音分析:深度对比Wavenet、t-SNE和PCA等算法】本文列举并对比了一些有趣的算法,如 Wavenet、UMAP、t-SNE、MFCCs 以及 PCA。此外,本文还展示了如何在 Python 中使用 Librosa 和 Tensorflow 来实现,并用 HTML、Javascript 和 CCS 展示可视化结果。http://t.cn/RYus6pV ​

新智元 网页版 2017-12-06 13:51

经验总结 算法 Sebastian Ruder 博客

【新智元导读】梯度下降算法是机器学习中使用非常广泛的优化算法,也是众多机器学习算法中最常用的优化方法。Sebastian Ruder曾在去年发表博文 《梯度下降优化算法综述》,详细对比了梯度下降算法中的不同变种,并帮助使用者根据具体需要进行使用。近日Ruder针对2017年优化算法的一些新方法,在之前综…全文: http://m.weibo.cn/5703921756/4181956109820622 ​

最新动态

2017-12-06 (14)

wx: 网页版 2017-12-06 23:09

算法 Python 统计

「标准库statistics:统计计算」statistics模块实现了很多对Python基本数字类型的常用的统计计算。均值该模块实现了三种均值的算法:平均值、中位数、典型值。使用模块中的mean()方法计算数学平均数。如果输入数据是整数或者浮点数,那么结果一定是浮点数。如果输入数据的类型是Decimal或者Fraction,那么返回值类型和输入数据类型保持一致。使用mode()方法计算数据集中最常出现的数据mode()方法返回值总是输入的数据集中的某个值。由于mode()方法实际上把输入的数据集看作一个离散数据集,然后统计每个值出现的次数,所以输入的数据实际上不要求是数字。计算中位数的方法有四个变种。前三个变种是通常数学上常用的逻辑,他们在处理总数量为偶数的数据集时的表现有所不同。 median寻找的是中间的值,如果数据集是偶数个元素,那么它取中间两个值的平均值。遇到相同情况时,median_low()取中间值中更小的一个,而median_hight则取更大的一个。方差statistics模块使用两个值来表示集合内元素相对于平均值的差异。方差是一个值减去平均值然后乘方等到的值,标准差是在方差的基础上再做一次开根号的操作(标准差很有用是因为,开根号后标准差和输入集合内的元素就有了一样的单位)。方差及标准差的大小反应了数据之间波动的程度,方差及标准差越小,则说明该集合内数据越向平均值靠近。Python提供两套函数来计算方差以及标准差,两套函数分别处理数据集是完整数据集和数据集是抽样数据集两种情况。这个例子中使用wc命令来计算输入文件的行数,然后使用pvariance()和pstdev()计算整个数据集的方差和标准差。再然后,用variance()和stddev()来计算样本的方差和标准差,这个样本是每两个文件中抽取一个文件而得到的子集。 英文原文:https://pymotw.com/3/statistics/index.html 译者:诗书塞外 via: http://mp.weixin.qq.com/s?__biz=MjM5NzU0MzU0Nw==&mid=2651376615&idx=1&sn=0d9d401eb8a6d2baa0b11bb8314b3104&scene=0#wechat_redirect

wx:岑大师 网页版 2017-12-06 22:28

公告板 会议活动 深度学习 视觉 算法 应用 语音 资源 Ali Rahimi NIPS PCA SVM 行业动态 会议 矩阵 课程 社交网络 神经网络 问题 医疗

「NIPS 2017 「时间检验奖」获奖感人演讲:从「炼金术」到「电力」的机器学习 | NIPS 2017」AI 科技评论按:12 月 5 日,在经过一天的 Tutorial 预热后,加州长滩举办的第 31 届 NIPS 大会进入正会的阶段,所有论文也将在此后的三天内进行展示。 据统计,本次 NIPS 大会总共接收 3240 篇论文,其中 678 篇被收录。本次大会共有超过 8000 人注册参会,NIPS大会在机器学习理论研究方面的地位毋庸置疑。在昨天(12月4日),大会官方公布了本次大会的三篇最佳论文(Best Paper Award)和一篇时间检验奖论文(Test of Time Award)。而在大会的议程安排中,第一篇讲解的论文就是获得了时间检验奖论文:《Random Features for Large-Scale Kernel Machines 》。AI 科技评论认为,这也表明这一奖项在NIPS大会眼中的重要性:最佳论文可能是当年观点最新颖、最能打动评审者的论文,但这种新颖的观点在某种程度上仍有待时间证明。而从历年大会的论文表现看,那些“最佳论文”可能起跑占优,但在时间的检验下却往往败下阵来,而往往有一些当年不起眼的论文,在此后的很长一段时间逐步显现出自己的长远影响力,而这样的论文正是人工智能社区长期发展所需要和被鼓励的。在大会现场,论文作者之一的 Ali Rahimi 发表了精彩的论文解读和获奖演讲。除去对文章本身的技术讲解,给 AI 科技评论印象最深的是,在演讲中, Rahimi回顾了其十年前顶着“学术警察”对于机器学习这门新学科的质疑前进的过程,并提出经过十年的发展,机器学习需要从野蛮生长到建立一个完整的体系的过程,并号召大家去为机器学习的理论框架添砖加瓦。 Ali 的演讲 AI 科技评论摘编如下(对于演讲中的技术讲解,AI 科技评论已做相应简写):谢谢,得到这个奖真好。但我要说,拿到这个叫做“时间检验奖”的奖项并不会让你感觉你老了,而是所有公司、所有课题组成员的激励。如果将这一系列论文当做一个三部曲,那么最好的东西总是留在最后,而不是最初。Ben和我已经不再年轻,所以如果你能容忍我老年人的絮絮叨叨,我想把你带回我们写这篇论文的2006年,那个时候,恐龙还在地球上游荡,我和Ben还年轻力壮,身手敏捷。Ali提到的“三步曲”的三篇论文在2006年的NIPS上,深度学习就像一块扔进水塘里的石头一样激起了波澜。当时的深度学习训练算法复杂,结果比PCA和SPMS等线性算法略微占优,在当年的Workshop上结果令人信服。但也有人说,应该拿深度学习与如支持向量机等非线性算法做比较,但当时我们缺乏数据集,万事开头难。当时,Ben和我都在随机算法上各自奋战:Ben研究压缩感应,我研究用于加速计算机视觉的二分图匹配的架构。在通过两封邮件后我们成了战友,也导致了这篇论文的诞生。我们很快找到了方法。实际上这个方法效果很好,于是我们开始计划设置一个Baseline以便可以和非线性方法进行比较,但当时我们无法找到任何代码来进行比较,在这过程中,我们也经受了不少质疑和嘲笑。 为了准确地用这些随机特征去构造一个核近似映射,你可能需要用到几万个随机特征,但在我们的试验中我们只用了几百个特征,而且在一些试验中,我们的近似方法就取得了不错的结果。更让人感到离奇的是,在一些试验中我们的近似方法的测试错误比我们试图模拟的原始的核机器方法更低。 这从现在来看很容易解释,而在当时,机器学习的概念刚刚处于萌芽阶段,刚从一个学术会议的想法变成一个更严密的理论体系,在NIPS大会有一些老学究,他们就像“学术警察”一样,他们质疑这个想法的严密性,如果你不走运,你的研究会被他们批得一文不值。但我们最后决定还是要提交这篇论文,去做一件我们认为正确的事,去挑战这些“学术警察”。幸而我们最终找到了对于这一现象的一个合理解释。 这就是我们的算法。你无需讨论内核,只需要从你的数据集中独立绘制一组函数,然后调整他们的权重,就可以得到更低的Loss,我们在第二篇论文中证明了这一点。我们使用傅里叶特征的方法,同样,用三层的神经网络可以任意地近似模拟希尔伯特空间中的函数,你无需讨论内核以证明特征。最后在第三篇论文(Random kitchen sinks: replacing optimization with randomization in learning)中我们提出了Random Kitchen Sinks,为径向基函数核构造一个近似映射,我们跳出了与传统方法比较的圈子,为深度学习提供了一个Baseline,之后,这一方法被越来越多人应用和改善,直到今天,我仍然在使用随机特征方法。到2017年的今天,在机器学习领域我们已经取得了难以想象的进步。我们可以自由地共享代码,使用常见的任务基准,如无人驾驶、自动为照片加标签、语音转文字、翻译等方面的应用,都在表明人工智能时代正在到来,研究机器学习的公司得到了数十亿美元的估值,应该说很多方面比起我们当年那个时候要好得多,但有些地方值得我们警惕。 今天我们会说,“人工智能就是新的电力”。但我想提醒大家的一点是,今天的人工智能又何尝不像炼金术呢?炼金术的确对时代有推动,是现代化学等科学的基础,但当年的炼金术师们同样认为,用水蛭可以治疗疾病,可以将其它金属变成黄金,用1700年的物理和化学方法来面对2000年的星辰大海,其结果可想而知。我并不是说炼金术没有用——如果你只是做一个照片分享这样的应用,炼金术完全OK。但我们希望用人工智能解决的,是诸如建立一套制度体系,解决医疗问题等大问题,我希望未来我们生活的社会是一个严谨的、有据可查的体系,而不是像炼金术一样。甚至我有些怀念那些“学术警察”,为什么这样说呢?你们当中有多少人从零开始搭建一个深层网络并训练它,当它表现不佳,让你感觉自己做错了事情一样?如果是,请举手(现场不少人举手)。我自己也是这样,每三个月就会这样发作一次。我要说的是,这不是你的错,是梯度下降的错(众笑)。当我们遇到问题时,我们会各种猜想,例如这是否只是局部最优,或者是个鞍点?但并不是这样。我理解各位的痛处,这里有一封我收到的邮件,我念给大家听一下(略)。我有收到很多类似的邮件,因为我们为了优化,我们采取简单粗暴的技巧去降低Loss,而不是去了解当中的关系,这也给人工智能这一门神秘的学科又增加了更多的神秘。我们可以使用我们不了解的技术,例如我不了解飞机飞行的原理不影响我搭飞机一样,但我知道这背后有一整套空气动力学原理,知其然,所以知其所以然。我们现在知道神经网络有用,但进一步想,难道你不想知道如何优化神经连接和减少内部协变从而加快梯度下降,或者神经元之间联系和协作的原理是怎样的吗?我们对神经元的模拟已经成为我们建立深度网络的基本工具,但作为一个领域,但我们对其几乎一无所知。 想象这样不同的两个你:一个你在过去的一年中尝试不同的技巧去刷分,而另一个你在过去一年中通过不同试验,去试图了解你所观察到的各种奇怪现象,去寻找它们的根源。我们之前做过很多试验,我们可以使用更多的“梯子”,但这些简单试验和梯子都是为了让我们理解更复杂的系统的基石。 想象一下,如果我们现在有一个线性系统求解器或者矩阵分解的引擎,它们可以加快数据的处理和训练,处理数以百亿计的变量,并成为真正的产品——要实现这一点当然是一个艰难的数学问题或者困难的系统问题,但这正是我们这个群体、社区需要解决的问题。这也是为什么我现在希望大家更多去理解这些技术背后的严格的原理和关系,而不是像炼金术师一样工作。我很高兴获得这个奖,而且认识了你们当中的很多人。我希望在未来,我们可以共同为之努力,把机器学习从“炼金术”变成真正的“电力”,谢谢。独家首发 | NIPS 最佳论文视频解读!德州扑克背后的不完全信息博弈 动态 | NIPS 2017 今天开启议程,谷歌科学家竟然组团去了450人,还都不是去玩的! 大会 | 德扑 AI 不完全信息博弈论文领衔,NIPS 2017最佳论文 3 + 1 已经揭晓 ————— 给爱学习的你的福利 —————上海交通大学博士讲师团队从算法到实战应用,涵盖CV领域主要知识点手把手项目演示全程提供代码深度剖析CV研究体系轻松实战深度学习应用领域!详细了解点击文末阅读原文▼▼▼———————————————————— via: http://mp.weixin.qq.com/s?__biz=MzI5NTIxNTg0OA==&mid=2247488646&idx=1&sn=9407dc563f969dc750212a11b8fb9790&scene=0#wechat_redirect

wx: 网页版 2017-12-06 20:54

会议活动 经验总结 深度学习 视觉 算法 资源 自然语言处理 Christopher Manning Eric Jang ICLR NIPS Sebastian Ruder 博客 代码 行业动态 幻灯片 会议 活动 机器翻译 集成学习 课程 论文 神经网络 特征工程 凸优化 杨静

「【深度干货】2017年深度学习优化算法研究亮点最新综述(附slide下载)」新智元AI World 2017世界人工智能大会开场视频中国人工智能资讯智库社交主平台新智元主办的 AI WORLD 2017 世界人工智能大会11月8日在北京国家会议中心举行,大会以“AI 新万象,中国智能+”为主题,上百位AI领袖作了覆盖技术、学术和产业最前沿的报告和讨论,2000多名业内人士参会。新智元创始人兼CEO杨静在会上发布全球首个AI专家互动资讯平台“新智元V享圈”。全程回顾新智元AI World 2017世界人工智能大会盛况:新华网图文回顾http://www.xinhuanet.com/money/jrzb20171108/index.htm爱奇艺上午:http://www.iqiyi.com/v_19rrdp002w.html下午:http://www.iqiyi.com/v_19rrdozo4c.html阿里云云栖社区https://yq.aliyun.com/webinar/play/316?spm=5176.8067841.wnnow.14.ZrBcrm 新智元推荐 来源:专知【新智元导读】梯度下降算法是机器学习中使用非常广泛的优化算法,也是众多机器学习算法中最常用的优化方法。Sebastian Ruder曾在去年发表博文 《梯度下降优化算法综述》,详细对比了梯度下降算法中的不同变种,并帮助使用者根据具体需要进行使用。近日Ruder针对2017年优化算法的一些新方法,在之前综述的基础上,整理出2017深度学习优化研究亮点,值得关注。 梯度下降算法是机器学习中使用非常广泛的优化算法,也是众多机器学习算法中最常用的优化方法。几乎当前每一个先进的(state-of-the-art)机器学习库或者深度学习库都会包括梯度下降算法的不同变种实现。但是,它们就像一个黑盒优化器,很难得到它们优缺点的实际解释。Sebastian Ruder曾在去年发表博文 《梯度下降优化算法综述》(An overview of gradient descent optimization algorithms),详细对比了梯度下降算法中的不同变种,并帮助使用者根据具体需要进行使用。 近日Ruder在针对2017年优化算法的一些新方法,在之前综述的基础上,整理出2017深度学习优化研究亮点,值得关注。 1. An overview of gradient descent optimization algorithms http://ruder.io/optimizing-gradient-descent/index.html https://arxiv.org/abs/1609.047472. 中文翻译《梯度下降优化算法综述》 http://blog.csdn.net/heyongluoyao8/article/details/524787153\. Sebastian Ruder 深度学习中的优化 Optimization for Deep Learning PPT 2017/11/2讲座 Optimization for Deep Learning Highlights in 2017 2017深度学习优化算法研究亮点作者:Sebastian Ruder译者:专知内容组 1. Adam改进(Improving Adam)- 解耦权重衰减(Decoupling weight decay)- 固定指数移动平均数(Fixing the exponential moving average)2. 微调学习速率(Tuning the learning rate)3. 热重启(Warm restarts) – 热重启的SGD(SGD with restarts) – 快照集成(Snapshot ensembles) – 热重启的Adam(Adam with restarts)4. 学习优化(Learning to optimize)5. 理解泛化(Understanding generalization) 深度学习的终极目标是找到一个能够很好进行泛化的最小值,如果可以快速而可靠地找到这个值当然更好了。主要的方法是随机梯度下降(SGD)法,该算法已有60年历史(Robbins and Monro,1951)[1],它对于当前的深度学习的反向传播算法来说是非常重要的。近年来提出了不同的优化算法,分别利用不同的公式来更新模型的参数。Adam(Kingma and Ba,2015)[18] 自从2015年被推出后,一直到今天仍然是最常用的优化算法之一。这表明从机器学习从业者的角度来看,深度学习的优化的最好的方法在很大程度上并没有多大改变。然而,今年已经产生了一些新的想法来改进深度学习的优化方法,这可能会成为未来我们模型的优化方式。在这篇博文中,我将深入探讨深度学习最令人激动的亮点和最有前景的方向。请注意,这篇博文事先假定你已经熟悉SGD和自适应学习速率方法(如Adam)。要想提高学习的速度,请先了解现有梯度下降优化算法,可参阅我的另一个博客文章(http://ruder.io/optimizing-gradient-descent/index.html)。 尽管像Adam这样的自适应学习速率方法是有着最广泛的使用,但计算机视觉和NLP中的许多任务的最新结果,如物体识别(Huang等,2017)[17] 或机器翻译(Wu et al,2016年)3 仍然是由最简单古老的随机梯度下降SGD来实现的。最近的理论(Wilson等,2017)[15] 为此提供了一些充足的论据,它指出跟带动量momentum的SGD相比,自适应学习率的优化方法更难收敛到(可能并且不太理想的)最小值点。 根据经验可以看出,用自适应学习率方法找到的极小值与带动量的SGD中发现的极小值相比,在物体识别,字符级语言建模和选区分析(constituency parsing)方面,表现出更糟的性能。这好像与直觉相反,因为Adam能保证良好的收敛,而且其自适应学习率应该比正常的SGD有优势。但是,Adam和其他适应性学习率方法并不是没有缺陷的。解耦权重衰减(Decoupling weight decay)Adam在一些数据集上比带动量SGD泛化能力差的一个原因是权重衰减。权重衰减最常用于图像分类问题,并在每次参数更新后衰减权重θt,方法是乘以稍小于1的衰减率wt: 这样可以防止权重过大。因此,权重衰减也可以理解为一个L2正则化项,它取决于加入到损失中权重衰减率:权重衰减通常在许多神经网络库中都被实现,或者作为上述正则化项或者直接修改梯度。当动量和Adam更新方程(通过与其他衰减项相乘)中的梯度被修改时,权重衰减不再等于L2正则项。因此,Loshchilov和Hutter(2017)[19] 提出通过在参数更新之后添加它来解耦梯度更新中的权重衰减,就像在原始定义中那样。动量和重量衰减(SGDW)更新的SGD如下所示:其中η是学习率,第二个方程中的第三项是解耦权重衰减项。同样,对于权重衰减的Adam(AdamW),我们可以得到: 其中、、和分别是第一和第二时刻的偏差和偏差校正估计,β1和β2是同时加入相同的权重衰减项之后,它们的衰减率。作者表示,这大大提高了Adam的泛化性能,并使Adam能与SGD在图像分类数据集上展开激烈竞争。另外,它将学习速率的选择与权重衰减的选择分开,这使得超参数能更好的优化,因为超参数之间不再相互依赖。它还将优化器的实现与权重衰减的实现分开,这有助于实现更干净和可重用的代码(参见fast.ai AdamW/SGDW implementation https://github.com/fastai/fastai/pull/46/files)。固定指数移动平均数(Fixing the exponential moving average)最近的几篇论文(Dozat和Manning,2017; Laine和Aila,2017)[13,16] 发现,较低的β2值可控制Adam过去平方梯度的指数移动平均的贡献。相对于默认的0.999,取值0.99或者0.9在它们在各自的应用中能表现更好,表明可能存在指数移动平均值的问题。一个ICLR 2018提交的论文形式化了这个问题,并指出过去平方梯度的指数移动平均值是自适应学习率方法的普遍性能不佳的另一个原因。通过过去平方梯度的指数移动平均值来更新参数是自适应学习速率方法的核心,例如Adadelta,RMSprop和Adam。指数平均值的贡献的动机是很好理解的:应该防止学习率随着训练的进行而变得极小,这是Adagrad算法的主要缺陷。然而,这种梯度的短期记忆(short-term memory)成为应用在其他情况下的障碍。在Adam收敛到次优解的情况下,可以观察到一些minibatches贡献了绝大部分的的梯度值,但是这些minibatches很少发生,指数平均值减小了它们的影响,所以导致收敛性差,。作者提供了一个简单的凸优化问题的例子,其中Adam可以观察到相同的行为。为了解决这个问题,作者提出了一种新的算法AMSGrad,它使用过去平方梯度的最大值而不是指数平均值来更新参数。完整的AMSGrad更新没有偏差修正的估计,如下所示:与Adam相比,作者在小数据集和CIFAR-10上观测到了改进的性能。 在许多情况下,除了超参数我们的模型是不需要改进和调整的。最近的语言建模实例证明,与更复杂的模型相比,仅仅调整LSTM参数(Melis等,2017)[20] 和正则化参数(Merity等,2017)[21] 就可以产生更好的结果。学习速率η是深度学习中一个重要的优化超参数。实际上,SGD已经被证明需要一个学习率退火方案,以收敛到一个好的最小值。人们经常认为,像Adam这样的自适应学习速率方法对于不同的学习速率更具有鲁棒性,因为他们自己更新了学习速率。但是,即使对于这些方法,好的学习速率和最佳的学习速率之间也可能有很大的差别。Zhang等(2017)[2] 表明,具有调整学习率退火方案和动量参数的SGD不仅可以与Adam竞争,而且收敛速度更快。另一方面,虽然我们可能认为Adam学习速率的适应性可以模仿学习速率退火,但是明确使用退火方案仍然是有益的:如果我们对Adam增加SGD的学习速率退火,它在机器翻译任务中(Denkowski和Neubig,2017)[4] 收敛速度更快。事实上,学习速率退火方案似乎是新的特征工程,因为我们经常可以找到改进的学习速率退火方案,来改善了我们模型的最终收敛行为。一个有趣的例子如Vaswani等(2017)[14]。虽然通常看到一个模型的超参数要经过大规模的超参数优化,但有趣的是将学习速率退火方案看作是对细节同样重视的焦点:作者在Adam中使用参数β1= 0.9,非默认β2= 0.98,ε= 10^-9,学习率η可能是最复杂的退火方案之一: 其中是模型参数的数量,且 warmup_steps=4000史密斯等人最近的另一篇论文(2017)[5] 展示了学习率和batch大小之间有一定的联系,两个超参数通常被认为是相互独立的:他们表明,衰减学习率相当于增加batch大小,然而batch可以并行的增加。相反,我们可以减少模型更新次数,从而通过提高学习速度和缩放batch来加快训练速度。这对于大规模的深度学习有影响,现在可以重新调整现有的训练方案,而不需要调整超参数。 热重启的SGD(SGD with restarts)SGDR(Loshchilov andHutter,2017)[6] 是近期提出的一个有效的方法,这是一种使用热重启替代学习速率退火的SGD方法。在每次重新启动时,学习速率被初始化为某个值,并且将减少。重要的是,重启是热重启,因为优化不是从头开始,而是从最后一个步骤中模型收敛的参数开始。关键因素是用积极的余弦退火方案使学习率下降,这会迅速降低学习率,如下所示:图1:学习速率热重启方案(Loshchilov和Hutter,2017)其中和是在第i次运行期间的学习速率的范围,指示自上次重新启动以来已经经过了多少个时期,并且指定了下一次重新开始的时期。与常规的学习速率退火方法相比,和的热启动方案如图1所示。图1:学习速率热重启方案(Loshchilov和Hutter,2017)重新启动后的初始的高学习率用于基本上将参数从它们先前收敛的最小值弹射到不同的损失表面(loss surface)。激进的退火使模型能够快速收敛到一个新的更好的解决方案。作者根据经验发现,热重启的SGD需要的时间比学习速率退火少2〜4倍,并且能达到相当或更好的性能。学习率退火与热重启也称为周期性学习率,最初由Smith(2017)[22] 提出。 fast.ai(最近开始教这个方法)的学生还有两篇文章讨论热启动和循环学习的速率,其地址在(https://medium.com/@bushaev/improving-the-way-we-work-with-learning-rate-5e99554f163b)和(http://teleported.in/posts/cyclic-learning-rate/)。快照集成(Snapshot ensembles)快照集成(Huang et al,2017)[7] 是最近提出的一种聪明的技术,当训练单个模型时,使用热重启来组装一个基本上免费的集成。该方法训练一个单一的模型,直到与我们已经看到的余弦退火方案收敛。然后保存模型参数,执行热重启,然后重复这些步骤M次。最后,所有保存的模型快照都是整体的。在图2中可以看到与快照集成相比,常用的SGD优化是运行在误差曲面上的。图2:SGDvs. 快照集成方法(Huang等,2017)一般而言,总体的成功取决于组合中各个模型的多样性。因此,快照集成依赖于余弦退火方案的能力,使得模型在每次重新启动后能够收敛到不同的局部最优值。作者证明,这在实践中是成立的,在CIFAR-10,CIFAR-100和SVHN上都取得了最好的结果。热重启的Adam(Adam with restarts)热重启的Adam原本不起作用,因为它的权重衰减的功能障碍问题。在固定权重衰减之后,Loshchilov和Hutter(2017)也同样将Adam扩展到热重启。他们设置和,得到:他们建议从最初的小开始(在所有迭代的1到10之间),并在每次重启时将其乘以一个因子(例如)。 去年最有趣的论文之一是Andrychowicz等人撰写的一篇论文(且为reddit的“2016年最佳论文”) (2016) [23]。]他们训练了一个LSTM优化器来在训练期间提供主模型的更新。 不幸的是,学习单独的LSTM优化器或即使使用预先训练好的LSTM优化器来优化都会大大增加模型训练的复杂性。 今年另一个非常有影响力的“learning-to-learn”论文使用LSTM来生成领域特定语言的模型结构(Zoph and Quoc,2017)[24]。 虽然搜索过程需要大量的资源,但是产生的结构可以用来替代现有的结构。这个搜索过程已经被证明是有效的,并且结构能够在语言建模方面取得卓越成果,并且与CIFAR-10上的最新技术相比具有竞争力。 相同的搜索原则可以应用于任何其他领域,其中的关键过程之前已经手动定义了。其中一个领域是深度学习的优化算法。 正如我们以前所见,优化算法比它们看起来更相似:它们都使用指数移动平均指数(如动量)和过去平方梯度的指数移动平均值的组合(如Adadelta,RMSprop ,Adam))(Ruder,2016)[25]。 Bello等(2017)[8] 定义了一个domain-specific语言,它由对优化有用的基元组成,例如这些指数移动平均值。然后,他们从可行更新规则空间中采样更新规则,使用此更新规则来训练模型,并基于测试集上训练模型的性能来更新RNN控制器。完整的程序可以在图3中看到。图2:神经优化搜索(Bello et al., 2017) 特别的,他们发现了两个更新方程,即PowerSign和AddSign。 PowerSign的更新公式如下:这里α是超参数,通常被设定为e或2.,被设置为1或者执行线性的衰减函数,周期性或衰减重新启动基于时间t,是过去渐变的移动平均值。常见的配置是我们可以观察到,更新通过或来缩放渐变,具体取决于梯度的方向和移动平均值是否一致。这表明,过去的梯度和当前的梯度之间的这种动量般的协议是优化深度学习模型的关键信息。 AddSign定义如下:和上述一样,这里α通常取1或2.这一次更新量还是这取决于梯度的方向。作者指出,PowerSign和AddSign在CIFAR-10方面的表现优于Adam,RMSprop和SGD,并能很好地转移到ImageNet分类和机器翻译等其他任务。 优化与泛化密切相关,因为模型收敛的最小值定义了模型泛化的程度。因此,提升优化与理解这种极小值泛化行为的理论进展密切相关,更普遍的是,对深度学习的泛化能力有更深的理解。 然而,我们对深度神经网络泛化行为的理解仍然很浅。 最新工作表明,可能的局部极小值数量随参数的数量呈指数增长(Kawaguchi,2016)[9]。考虑到目前深度学习架构的参数数量巨大,这样的模型能收敛并且泛化的还不错,看起来很神奇,尤其是考虑到他们可以完全记住随机输入(Zhang等,2017)[10], Keskar等(2017)[11]将最小值的清晰度确定为不良泛化的一个来源:特别的,他们表明,批量梯度下降发现的明确的极小值具有较高的泛化误差。这是直观的,因为我们通常会希望我们的函数是平滑的,明确的最小值表示相应误差曲面具有高度不规则性。 然而,近期工作表明,清晰度可能并不是一个好的指标,因为它表明局部最小值能够很好地泛化(Dinh et al,2017)[12]。 Eric Jang的quora问答也讨论了这些文章。 一份ICLR 2018投稿论文通过一系列消融分析表明,一个模型在激活空间中对单个方向的依赖(即单个单元或特征图的激活)是其泛化性能的良好表现。他们证明了这种模式适用于不同数据集的模型,以及不同程度的标签损坏。 同时他们发现dropout并没有帮助解决这个问题,而批量规范化阻碍了单方向依赖。 虽然这些发现表明我们在深度学习优化方面仍然有许多不知道的,但重要的是要记住,收敛保证和存在于凸优化中的大量工作,在一定程度上现有的想法和见解也可以应用于非凸优化。 NIPS 2016的大规模优化教程提供了该领域更多理论工作的精彩概述(请参见幻灯片第1部分,第2部分和视频)。 我希望能够为过去一年的深度优化发展提供一些令人信服的依据。毫无疑问,我没有提到许多同样重要和值得注意的方法。 请在下面的评论中告诉我,我错过了什么,我在哪里犯了错误或歪曲了方法,或者哪一方面的深度学习优化,你觉得特别令人兴奋或低估。 由于微信文章字数限制,本文未列出全部参考文献,请戳原文查看。原文链接:http://ruder.io/deep-learning-optimization-2017/index.html后台回复“OFDL” 就可以获取Sebastian Ruder 深度学习中的优化Optimization for Deep Learning PPT 下载~ 本文经授权转载自专知:Quan_Zhuanzhi,点击“阅读原文”可查阅原文。 via: http://mp.weixin.qq.com/s?__biz=MzI3MTA0MTk1MA==&mid=2652009598&idx=5&sn=f79204e7ff9ddaddeb7daf903af48cc7&scene=0#wechat_redirect

wx:费欣欣 常佩琦 网页版 2017-12-06 20:54

会议活动 经验总结 视觉 算法 资源 Ge Healthcare GPU ICLR NIPS PDF 博客 常佩琦 行业动态 会议 论文 神经网络 杨静 语言学 智能汽车

「【英伟达NIPS论文AI脑洞大开】用GAN让晴天下大雨,小猫变狮子,黑夜转白天」新智元AI World 2017世界人工智能大会开场视频中国人工智能资讯智库社交主平台新智元主办的 AI WORLD 2017 世界人工智能大会11月8日在北京国家会议中心举行,大会以“AI 新万象,中国智能+”为主题,上百位AI领袖作了覆盖技术、学术和产业最前沿的报告和讨论,2000多名业内人士参会。新智元创始人兼CEO杨静在会上发布全球首个AI专家互动资讯平台“新智元V享圈”。全程回顾新智元AI World 2017世界人工智能大会盛况:新华网图文回顾http://www.xinhuanet.com/money/jrzb20171108/index.htm爱奇艺上午:http://www.iqiyi.com/v_19rrdp002w.html下午:http://www.iqiyi.com/v_19rrdozo4c.html阿里云云栖社区https://yq.aliyun.com/webinar/play/316?spm=5176.8067841.wnnow.14.ZrBcrm 新智元报道 来源:research.nvidia.com作者:费欣欣 常佩琦【新智元导读】英伟达最近GAN相关研究和应用方面进展迅猛。在最新的一项工作中,英伟达研究人员利用生成对抗网络(GAN)和无监督学习,创建了一个拥有“想象力”系统,仅需一次数据输入,即可模拟出其他情形,比如将冬日拍摄的照片想象为夏日,将猫想象为狮子、老虎,大大减少网络训练所需的标签数据。对于在医疗、自动驾驶这样标注数据少的领域,拥有极大应用潜力。 “在无监督学习中使用GAN并不是新鲜事,但我们取得了前所未有的成果,”英伟达在最新发表的一篇官博文章中表示。不仅如此,这项工作还能有效减少训练神经网络所需的标注数据数量。 这项成果指的是今年NIPS上英伟达的论文《无监督图像翻译网络》(Unsupervised Image-to-Image Translation Networks)。在这篇论文中,研究人员展示了一款具有“想象力”的机器学习系统,可以把图像中的白天转换成黑夜,猫变成狮子,等等。 研究人员首先假设,相似的图像都享有一个共同的latent空间,都可以映射为这个共享空间中的同一个latent表示。基于这个假设,他们提出了基于生成对抗网络(GAN)和变分自编码器(VAE)的一个框架。在图像转换(翻译)的过程中,首先,使用VAE-GAN对每个图像域进行建模。对抗训练目标与权重共享约束相互作用,强制共享latent空间在两个域中生成相应的图像,然后VAE将翻译后的图像与各个域中的输入图像相关联,最后就得到了“想象结果”。 论文中不同种类的狗的转换结果,左边一列是输入 英伟达的研究人员表示,这个框架在多种无监督图像翻译问题中,都生成了高清质量的图像。此外,将这个框架应用于领域自适应(domain adaptation)问题,也在基准数据集上取得了state-of-the-art的结果。 最关键的是,在高质量标注数据稀缺的当下,这种方法大大减少了网络训练所需的标签数据,进而减少AI的训练时间。研究人员表示,“以无人驾驶为例,只需捕获一次训练数据,便可在不同的虚拟情景下使用,如晴天、多云、下雪天、雨天、夜晚。” 类似的,就在上周,英伟达和伯克利合作,发布了一个名为pix2pixHD的项目。Pix2pixHD利用条件GAN进行高清图像合成和处理(分辨率2048×1024),输入语义标注图,系统能够生成逼真的现实世界图像,例如街景、人脸。 图:上方是输入的语义地图,下方是pix2pixHD合成图像作者在论文《使用条件GAN进行高清图像合成和语义操纵》(High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs)中介绍了他们的方法。他们提出了一种多尺度的生成器和判别器架构,结合新的对抗学习目标函数。实验结果表明,条件GAN能够合成高分辨率、照片级逼真的图像,不需要任何手工损失或预训练的网络。不仅如此,作者还提出了一种方法,让用户能够交互式地编辑物体的外观,大大丰富了生成的数据类型。例如,在下面的视频中,你可以发现用户能够选择更换街景中车辆的颜色和型号,给街景图增加一些树木,或者改变街道类型(例如将水泥路变成十字路)。类似地,利用语义标注图合成人脸时,给定语义标注的人脸图像,你可以选择组合人的五官,调整大小肤色,添加胡子等。 作者在文中指出,他们的方法可以扩展到其他领域,尤其是医疗图像这样缺乏预训练网络的领域。 在这里,还不得不提一下英伟达此前在官网发表了一篇已经提交给 ICLR 2018 的论文“Progressive Growing of GANs for Improved Quality, Stability, and Variation”,提出了一种以渐进增大的方式训练GAN的方法。作者表示,这不仅稳定了训练,还生成了迄今质量最高的GAN生成的图像。 例如上面的人像,忽略背景,几乎与真实照片无异。 这些研究充分证明了生成模型的潜力,尤其是在无监督的情况下。现在的英伟达,已经远远不止一家专注游戏的GPU公司,一直在试图将其硬件推向边缘设备,并使用人工智能作为实现这一点的手段和工具。 上周,英伟达宣布与通用电气医疗(GE Healthcare)达成协议,通过Revolution Frontier CT,更新全球部署的500,000台医疗成像设备,以便在医院进行更好的成像。而英伟达在自动驾驶领域更是布局已久,今年10月还发布了全球首款AI自动驾驶平台,瞄准L5级自动驾驶。而上述研究无一例外,均在医疗图像和自动驾驶领域有应用潜力。 英伟达第三季度财报显示,截至10月29日的第三季度英伟达营收26.4亿美元,同比增长31.5%,再次创新记录。其中,数据中心业务达到5.01亿美元,汽车业务收入1.44亿美元,增长至13.3%。截至目前,英伟达依靠其在人工智能和无人驾驶方面的优势,股价已经上涨了约92%。 了解更多 Unsupervised Image-to-Image Translation Networks:http://papers.nips.cc/paper/6672-unsupervised-image-to-image-translation-networks.pdfHigh-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs:https://tcwang0509.github.io/pix2pixHD/Progressive Growing of GANs for Improved Quality, Stability, and Variation:https://arxiv.org/abs/1710.10196 欢迎读者朋友加入新智元读者群一起交流探讨,请加微信(备注名字+学校/企业+研究/关注领域):aiera2015备注(名字+学校/企业+视觉),加入计算机视觉讨论群。 via: http://mp.weixin.qq.com/s?__biz=MzI3MTA0MTk1MA==&mid=2652009598&idx=3&sn=d1d0f0933a928744f82db2d81408e5dd&scene=0#wechat_redirect

wx: 网页版 2017-12-06 18:48

公告板 经验总结 深度学习 视觉 算法 资源 自然语言处理 GPU Python Rosetta Stone 博客 代码 分类 贾扬清 课程 刘畅 迁移学习 情感分析 神经网络 数据科学 问题 智能汽车

「深度学习框架哪家强?TensorFlow擅长推断特征提取,MXNet称霸CNN、RNN和情感分析」 作者 | Ilia Karmanov整理 | 刘畅,Donna 深度学习框架哪家强:TensorFlow?Caffe?MXNet?Keras?PyTorch?对于这几大框架在运行各项深度任务时的性能差异如何,各位读者不免会有所好奇。微软数据科学家Ilia Karmanov最新测试的结果显示,亚马逊MXNet在CNN、RNN与NLP情感分析任务上性能强劲,而TensorFlow仅擅长于特征提取。测试详情更新在Ilia Karmanov的GitHub项目DeepLearningFrameworks(https://github.com/ilkarman/DeepLearningFrameworks)内。不过作者表示,项目内的测试代码并非专门为深度学习性能而编写,目的仅在于简单比较一下各框架之间的性能差异。以下为该项目详情。我们做这个榜单的初衷是为了好玩,所以省略了很多重要部分的比较。比如:帮助和支持,自定义图层(可以创建一个胶囊网络吗?),数据加载器,调试,不同的平台支持,分布式训练等等。我们不确定是否能对框架的整体性能提出任何建议,因为本项目主要还是在演示如何在不同的框架中创建相同的神经网络。 例如,使用Caffe2在Python中创建CNN,然后在Julia中使用KNet复制这个网络,或者也可以在PyTorch中尝试创建一个RNN并在Tensorflow中复制它。你可以在Chainer中进行一些特征提取,然后在CNTK中复制这个操作。 因为Microsoft Azure深度学习虚拟机NC6上的框架已经更新到了最新版本,所以notebooks代码选择在上面运行,仅占用了显卡Nvidia K80 GPU一半的性能。 测试目标 创建深度学习框架的Rosetta Stone(译者注:一个非常好用的外语学习软件),使数据科学家能够轻松地将他们的专业知识从一个框架转移到另一个框架(通过翻译,而不是从头开始学习)。另外,是为了更加透明地在模型训练时间和默认选项方面进行比较。 许多在线教程使用非常低级别的API,虽然这些API非常详细,但对于大多数用例来说,并没有多大意义,因为大多数时候有更高级别的帮助程序可用。在这里,我们直接忽略冲突的默认值的条件下,尝试采用最高级别的API,以便在框架之间进行更容易的比较。下面的结果将证明,一旦使用更高级的API,代码结构变得非常相似,并且可以粗略地表示为:加载数据; x_train,x_test,y_train,y_test = cifar_for_library(channel_first =?,one_hot =?)生成CNN / RNN网络结构(通常在最后一层上不激活)指定损失函数(交叉熵与softmax是一起指定的),优化器并初始化网络权重+会话用mini-batch的方式来训练训练集并使用自定义迭代器(所有框架都使用公共的数据库)在测试集的mini-batch上面进行预测计算准确率 本质上,我们是在比较一系列确定性的数学运算(尽管是随机初始化),所以比较跨框架的准确性就是没有意义了。相反,它会提示我们去检查想要的匹配(?),以确保我们正在比较的是相同的模型架构。 测试结果 在CIFAR-10数据集上训练CNN(VGG类型)网络 性能对比- 图像识别该模型的输入是标准的CIFAR-10数据集,包含五万个训练图像和一万个测试图像,均匀分布在10个类别中。每个32×32像素的图像转化为张量的形式(3,32,32),像素值从0-255归一化到0-1。 例如:汽车图像的相关参数 y=(0,1,0,0,0,0,0,0,0,0),其标签是= [飞机,汽车,鸟,猫,鹿,狗,青蛙,马,船 ,卡车] 在IMDB数据集上训练RNN(GRU,门控循环单元)性能对比 – 自然语言处理(情感分析) 这个模型的输入是标准的IMDB电影评论数据集,包含两万五千个训练评论和两万五千个测试评论,统一分为2个等级(正面/负面)。 下载的评论已经是单词索引的张量形式,例如 (如果你喜欢像南方公园这样的成人喜剧漫画)将被表示为(1 2 3 4 5 6 3 7 8)。遵循Keras框架的处理方法,其中起始字符被设置为1,词汇外(使用3万大小的词汇库)被表示为2,因此词索引从3开始。通过零填充/截断的方式,把每条评论都固定到150个字。 在可能的情况下,我会尝试使用cudnn的方式来优化RNN(由CUDNN = True开关来控制),因为我们有一个可以轻易降低到CuDNN水平的简单的RNN。例如,对于CNTK,我们使用optimized_rnnstack而不是Recurrence(LSTM())函数。 虽然它不太灵活,但是速度要快得多。例如,对于CNTK,我们不能再使用类似层归一化的更复杂的变量。在PyTorch中,这是默认启用的。但是对于MXNet,我无法找到这样的RNN函数,而是使用稍慢的Fused RNN函数。 Keras最近刚得到了cudnn的支持,但是只有Tensorflow后端可以使用(而不是CNTK后端)。 Tensorflow有许多RNN变种,其中包括他们自己定制的内核。这里有一个很好的基准,我将尝试更新使用CudnnLSTM的样例而不是当前的方法。 注:CNTK框架是支持动态轴,这意味着我们不需要将输入填充到150个字,就可以按原样输入,但是由于我找不到与其他框架做到这一点的方法,所以我还是采用填充的方法。这样对CNTK框架有点不公平,因为会低估了它的能力。 分类模型创建大小为(150×125)的嵌入矩阵,然后采用100个门控循环单元,并将最终输出(不是输出序列也不是隐藏状态)作为输出。 ResNet-50(特征提取)推断性能对比加载一个预训练好的ResNet50模型并在avg_pooling结束后变成(7,7)向量处截断,输出一个2048维的向量。在这里可以插入一个softmax层或其它的分类器,例如用激励树来实现迁移学习。此处,在CPU和GPU上向avg_pool层进行前向传递的时间均计算在内。 我从中学到了什么? 关于CNN以下提供了一些我在看到github上面提出的问题后比较跨框架的测试准确率时的一些见解。1. 上面的例子(Keras除外),为了便于比较,尝试使用相同级别的API,因此都使用相同的生成器函数。 对于MXNet和CNTK,我尝试了一个更高级别的API,在这里我使用了框架的训练生成器函数。在这个例子中,速度的提高是微不足道的,因为整个数据集都是作为NumPy数组加载到RAM中的,而且在处理的时候每个迭代的数据都是随机的。我怀疑框架的生成器是异步执行随机的。奇怪的是,框架的随机操作似乎是在一个批次层次上而不是在一个观察层次上进行的,因此会略微降低测试精度(至少在10个迭代之后)。 对于我们会进行的输入输出活动以及可能在运行中进行预处理和数据增强的情况,自定义的生成器将对性能产生更大的影响。2. 让CuDNN自动调整/穷举搜索参数(能选择最有效的CNN算法来固定图像的大小)能在性能上带来一个巨大的提升。Chainer,Caffe2,PyTorch和Theano这四个框架都必须手动启动它。CNTK,MXNet和Tensorflow三个框架是默认启用CuDNN的。贾扬清提到了cudnnGet (默认)和cudnnFind之间性能的提升。然而,其在TitanX GPU上的差异小得多。现在看来,在K80 +上采用的新的cudnn使其性能差异问题更为突出。由于在目标检测各种图像大小的组合上运行cudnnFind会出现较大的性能下降,所以穷举搜索算法应该是不能在目标检测的任务上使用了。3. 使用Keras时,选择与后端框架相匹配的[NCHW]排序很重要。CNTK是channels first,我曾经在Keras上错误的配置为channels last。这样就必须在每一个batch上改变它的顺序,同时会造成性能严重的下降。通常,[NHWC]是大多数框架的默认设置(如Tensorflow),[NCHW]是在NVIDIA GPU上使用cuDNN训练时可以使用的最佳顺序。4. Tensorflow,PyTorch,Caffe2和Theano四个框架都需要一个提供给dropout层的布尔值来指示我们是否训练,因为这对在测试集上的准确率有很大的影响,72 vs 77%。因此,在这种情况下不应该使用Dropout来测试。5. 使用Tensorflow框架时需要两个改变:通过启用TF_ENABLE_WINOGRAD_NONFUSED,同时还改变提供给channel first而不是channel last的维度(data_format =’channels_first’)。对卷积操作启用WINOGRAD,自然而然的就将keras变成改成以TF作为后端。6. Softmax层通常与cross_entropy_loss()函数一起用于大部分的功能,你需要检查一下你是否要激活最终的全连接层,以节省使用两次的时间。7. 不同框架的内核初始化器可能会有所不同,并且会对准确性有±1%的影响。我尽可能统一地指定xavier / glorot,而不要太冗长的内核初始化。8. 为了SGD-momentum中momentum类型的实现,我不得不关闭unit_gain。因为它在CNTK框架上是默认关闭,以此来跟其他框架的实现保持一致。9. Caffe2对网络的第一层(no_gradient_to_input = 1)进行了额外的优化,可以通过不计算输入的梯度产生了一个比较小的速度提升。 Tensorflow和MXNet可能已经默认启用了此功能。 计算这个梯度对于研究和像deep-dream的网络是有用的。10. 在max-pooling之后使用ReLU激活意味着你在减少维度之后才执行一个计算,从而能够减少几秒钟。这可以使采用MXNet框架的运行时间缩短3秒。11. 一些可能有用的额外检查:是否指定的内核(3)变成了对称元组(3,3)或1维卷积(3,1)?步长(最大池化中的)是否是默认为(1,1)或等于内核(Keras这样做的)?默认填充通常是off(0,0)或valid,但检查一下它不是on/’same’是很有用的卷积层上默认的激活是否是’None’或’ReLu’的Bias值的初始化可能不能(有时是没有bias值)梯度的下降和无穷大的值或 NaNs的处理可能因框架不同而不同有些框架支持稀疏的标签,而不是one-hot编码类型的(例如我使用的Tensorflow有f.nn.sparse_softmax_cross_entropy_with_logits函数)数据类型的假设可能是不同的-例如,我曾经试着用float32和int32类型来初始化X和Y。但是在torch中Y需要double类型(是为了可以使用在torch.LongTensor(y).cuda函数中)的数据如果框架有一个稍微低级一点的API,请确保在测试过程中不要通过设置training= False来计算梯度。12. 据说安装支持python3.5版本的Caffe2有点困难。因此我这里分享了一个脚本关于RNN1. 大多数框架(例如Tensorflow)上,都有多个RNN实现/内核; 一旦降低到cudnn LSTM / GRU级别,执行速度是最快的。但是,这种实现不太灵活(例如,可能希望层归一化),并且接下来如果在CPU上运行推理可能会出现问题。2. 在cuDNN这个层面,大部分框架的运行时间是非常相似的。这个Nvidia的博客文章写到过几个有趣的用于循环神经网络cuDNN优化的方法,例如,融合 – “将许多小矩阵的计算结合为大矩阵的计算,并尽可能地对计算进行流式处理,增加与内存I / O计算的比率,从而在GPU上获得更好的性能。”原文地址:https://github.com/ilkarman/DeepLearningFrameworks CSDN学院出品的《人工智能工程师直通车》实训营,通过100天的实战,将学员培养达到具备一年项目经验的人工智能工程师水平。加入课程后,你将从零开始,跟随两位大咖工程师,掌握机器学习、深度学习的系统知识,并通过实战项目巩固技能,最终成为一名专业的的人工智能工程师! 欢迎踏上这趟人工智能工程师的直通车,和学习顾问聊一聊,获取千元课程代金券! 备注IT(享受折上特有福利) via: http://mp.weixin.qq.com/s?__biz=MzAwNDI4ODcxNA==&mid=2652246004&idx=1&sn=931c133af5c3979d2d360e1d9ebf9099&scene=0#wechat_redirect

微软亚洲研究院 网页版 2017-12-06 18:26

会议活动 NIPS 会议 吴郦军

【NIPS2017】NIPS 2017 正在美国长滩举行,微软亚洲研究院的多篇论文入选了本次大会。中山大学-微软亚洲研究院联合培养博士吴郦军应邀参加机器之心优质论文线上分享活动,就其中一篇有关推敲网络的入选论文进行了详细讲解。[太开心]又是一个涨姿势的好机会哦!一起来看看吧~ http://t.cn/RY3O9Kp ​

机器之心Synced 网页版 2017-12-06 16:52

经验总结 算法 应用 博客 机器人 强化学习 神经网络

【伯克利强化学习新研究:机器人只用几分钟随机数据就能学会轨迹跟踪】伯克利人工智能研究实验室(BAIR)博客近日介绍了一种使用神经网络动态的基于模型的强化学习方法,该方法能够非常高效地利用数据,能让强化学习智能体使用少量数据就学会轨迹跟踪。http://t.cn/RY34Eoe ​

数据挖掘与数据分析 网页版 2017-12-06 16:28

Peter Mills 统计

概率论是人类描述宇宙的最基本的工具之一。它与统计分类尤其相关,可推导出大量重要结果,提升人类对外部世界的认知。本文作者 Peter Mills 将为大家扼要介绍概率论与贝叶斯定理,及其在统计分类上的应用,帮助大家改善与简化分类模型。 http://t.cn/RY3ZuTv ​

数盟社区 网页版 2017-12-06 15:30

深度学习 语音

深度学习也解决不掉语音识别问题http://t.cn/RYu3Y4D ​

机器之心Synced 网页版 2017-12-06 15:22

算法 资源 Robin Wieruch 课程 神经网络

【听说你用JavaScript写代码?本文是你的机器学习指南】越来越多开发者开始探索使用 JavaScript 实现人工智能与机器学习算法,来自德国的 Robin Wieruch 发布了一系列使用 JavaScript 构建机器学习的教程,本文将主要介绍使用 JavaScript 实现神经网络的方法。http://t.cn/RYumH58 ​

专注云计算 网页版 2017-12-06 14:30

资源 Kaggle 课程

【教程 | Kaggle网站流量预测任务第一名解决方案:从模型到代码详解时序预测】近日,Artur Suilin 等人发布了 Kaggle 网站流量时序预测竞赛第一名的详细解决方案。他们不仅公开了所有的实现代码,同时还详细解释了实现的模型与经验。http://t.cn/RYEIQSF ​

新智元 网页版 2017-12-06 13:49

会议活动 视觉 应用 NIPS 会议 机器人

【新智元导读】加州大学伯克利分校的计算机科学家们研发出“可以预见未来要发生的事情”的机器人技术。运用视觉预见技术,在完全自主学习的情况下,这种机器人可以看到如果他们执行特定的动作会产生怎样的结果。目前的机器人原型还比较简单,只能预测几秒的未来,研究者在NIPS 2017上展示了这项技术。…全文: http://m.weibo.cn/5703921756/4181955535037403 ​

专注云计算 网页版 2017-12-06 13:20

会议活动 深度学习 ICLR 会议

【深度学习顶会“无冕之王”ICLR 2018评审结果出炉,斯坦福大学对抗训练研究得分第一】今年举办到第六届的ICLR会议被誉为深度学习顶会的“无冕之王”,在业内得到广泛认可。ICLR 采用Open Review 评审制度,ICLR 2018 共收到981篇有效稿件,截止2017年12月1日,已经有979篇论文收到至少一个评分,本文…全文: http://m.weibo.cn/1750765385/4181948362293246 ​

网路冷眼 网页版 2017-12-06 06:00

语音

【Mozilla Releases Second Largest Public Voice Data Set – This collection contains nearly 400,000 recordings from 20,000 different people, resulting in around 500 hours of speech】http://t.cn/RYnBqvE Mozilla发布第二大公共语音数据集 – 这个集合包含来自20,000个不同人的将近400,000个…全文: http://m.weibo.cn/1715118170/4181837439804862 ​

第1175期机器学习日报(2017-12-06)相关推荐

  1. 第1056期机器学习日报(2017-08-09)

    机器学习日报 2017-08-09 CVPR精彩论文解读:对当下主流CNN物体检测器的对比评测 @wx:AI科技评论 机器学习中如何做单元测试(Unit Test)来检测模型稳定性? @爱可可-爱生活 ...

  2. 第955期机器学习日报(2017-04-30)

    机器学习日报 2017-04-30 科普:Amazon 首席执行官 Jeff Bezos "人人都应该知道的人工智能知识" @新智元 用于性能分析.模型优化的神经网络生成器 @爱可 ...

  3. 第984期机器学习日报(2017-05-29)

    机器学习日报 2017-05-29 神经形态计算与神经网络硬件最全调查:从研究全貌到未来前景 @wx:机器之心 英特尔深度神经网络计算库 @网路冷眼 基于神经网络的高性能依存句法分析器 @wx:全球人 ...

  4. 第894期机器学习日报(2017-02-28)

    机器学习日报 2017-02-28 15个AI/机器学习活动列表 @爱可可-爱生活 FaceBook开源"先知"时间序列预测项目 @视觉机器人 情感分析相关资源列表 @爱可可-爱生 ...

  5. 第990期机器学习日报(2017-06-04)

    机器学习日报 2017-06-04 机器学习.深度学习研究者10张速查表 @网路冷眼 ACL 2017 杰出论文公布,国内四篇论文入选 @机器之心Synced 如何解释机器学习模型和结果 @wx:全球 ...

  6. 第953期机器学习日报(2017-04-28)

    机器学习日报 2017-04-28 Python/Gensim文档相似度入门 @爱可可-爱生活 新近值得尝试的5个聊天机器人 @ChatbotsChina 入门:文本表示模型综述 @PaperWeek ...

  7. 第1040期机器学习日报(2017-07-24)

    机器学习日报 2017-07-24 CNN浅析和历年ImageNet冠军模型解析 @龙星镖局 Masashi Sugiyama: 弱监督机器学习的研究进展 @爱可可-爱生活 keras深度学习包学习总 ...

  8. 第844期机器学习日报(2017-01-09)

    机器学习日报 2017-01-09 Aminer.org发布2016年自然语言处理领域最具影响力科学家榜单 @ArnetMiner NLP资源合集 @龙星镖局 Stanford Deep Learni ...

  9. 第876期机器学习日报(2017-02-10)

    机器学习日报 2017-02-10 东南大学漆桂林:知识图谱中的推理技术进展及应用 @爱可可-爱生活 自编码器(Autoencoder)三篇,从介绍到实现 @ChatbotsChina 近期将 GAN ...

最新文章

  1. 第七天总结:字符编码
  2. 高性能计算机系统及应用,高性能计算
  3. 如何清理Virtualbox虚拟机VDI镜像文件的空间大小
  4. atlas怎么看日志_亿级的日志治理!微服务最佳方案,ELK stack从零搭建
  5. thinkphp如何增加session的过期时间
  6. mysql 及时点还原_mysqlbinglog基于即时点还原
  7. 荣耀折叠屏手机发布日期曝光?将主打年轻用户
  8. GitHub Pages自定义域名如何支持https
  9. Educational Codeforces Round 62(CF1140)
  10. javaweb在线考试系统_有没有在线考试系统能承载几千人同时在线考试的?
  11. 大华相机抓图时间及最小时间间隔的测试
  12. Android 系统root教程-magisk最新版
  13. SSM项目实战之博客系统
  14. 面试:MRO问题 (理解笔记)
  15. ROS URDF模型解析成KDL Tree
  16. 前端:基于Vue框架以及Axios实现天气预报系统
  17. Python语法-1-变量、输出、List列表、tuple元组、条件判断和循环等重要基础知识
  18. 英语基础知识:非谓语使用规则上篇
  19. python 可视化案例_Python之路 08 数据可视化案例
  20. Maven工程中Pom.xml文件总是报依赖找不到

热门文章

  1. DataManage
  2. Wireshark抓取Android数据包
  3. 企业微信三方开发(四):发送消息
  4. 讯飞语音万能五笔超强手写3合1输入法:
  5. 利用Python进行百度文库内容爬取(二)——自动点击预览全文并爬取
  6. 某个应用的CPU使用率达到100%,如何排查
  7. einsum方法详解(爱因斯坦求和)
  8. 吴军: “ChatGPT不算新技术革命,带不来什么新机会”,我不太认同!
  9. html 花瓣飘落效果,html全屏花瓣掉落特效
  10. 传统健身模式盛行已久,他为什么坚持开一家24H智能健身房?