VALSE

查看: 10681|回复: 0

AI100_机器学习日报 2017-09-30 网络表示学习综述

[复制链接]

829

主题

837

帖子

7万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
78973
QQ
发表于 2017-10-4 14:08:40 | 显示全部楼层 |阅读模式
AI100_机器学习日报 2017-09-30
@好东西传送门 出品,由@AI100运营, 过往目录http://ai100.com.cn


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

邮件版包括12条,本期的Web版有完整内容14条

用日报搜索找到以前分享的内容: http://ml.memect.com/search/
今日焦点 (5)
亿想寻光   网页链接 2017-09-28 23:26
经验总结 博客 行业动态 论文
正所谓“全民 Embedding, 万物皆向量”,推荐两篇网络表示学习综述 http://t.cn/RafDlSvhttp://t.cn/R0tnowu 。前者易读、后者贯通。另附一个笔记:http://t.cn/R0We3sS。顺便表扬一下 Google 太强了,2个小时就能通过“网络表示学习”搜到刚发的博文,可怜的百度。。 ​




爱可可-爱生活   网页链接 2017-09-30 15:21
深度学习 算法 Ilya Kostrikov
【多种增强学习算法的PyTorch实现】“A list of references to my reimplementations of RL algorithms” by Ilya Kostrikov GitHub: https ://github .com/ikostrikov/pytorch-rl ​




洪亮劼   网页链接 2017-09-30 12:00
会议活动 算法 资源 ICML 会议 课程 强化学习
终生学习(Lifelong Learning: A Reinforcement Learning Approach)是目前强化学习中的一个研究新方向。今年ICML 2017上有一个终生学习的研讨班(http://t.cn/Ra1zUl6)可以提供给大家看一下。其中,主办者列出了一系列相关背景的论文(http://t.cn/R0QdgNG),可以作为初学者的一个入门教程。 ​




爱可可-爱生活   网页链接 2017-09-30 06:15
深度学习
【深度学习技巧总结】’Deep Learning Tricks' by Conchylicultor GitHub: https ://github .com/Conchylicultor/Deep-Learning-Tricks ​




爱可可-爱生活   网页链接 2017-09-29 09:57
深度学习 资源 课程 数据科学
【PyTorch精炼教程:从TensorFlow迁移到PyTorch】《PyTorch tutorial distilled》by Illarion Khlestovhttp://t.cn/R0jPVuj pdf:http://t.cn/R0jPVuH




最新动态
[img=20,20][/img] wx:晓凡   网页链接 2017-09-30 20:20
公告板 入门 深度学习 视觉 算法 应用 资源 自然语言处理 崔立明 课程 神经网络 统计 推荐系统
「苹果机器学习开发日记:如何设计能在Apple Watch上实时运行的中文手写识别系统」AI 科技评论按:随着苹果机器学习日记(Apple ML Journal)的开放,苹果分享出的设计自己产品、运用机器学习解决问题的故事也越来越多。近日苹果在上面就放出了一篇关于识别手写中文的文章,介绍了自己对这个功能的思考和实现过程。虽然文章中没有什么全新的技术,但也不失为一篇有诚意的开发经验分享。AI科技评论把文章编译如下。随着手机、平板电脑这样的移动设备,以及智能手表这样的可穿戴设备变得流行甚至不可或缺,手写识别也随之变得前所未有地重要。中文包含了一个很大的字符库,在这些移动设备上支持中文手写识别就带来了一组独特的挑战。这篇文章中,苹果介绍了他们是如何在 iPone、iPad 和 Watch(绘画模式中)上应对这些挑战、实现中文手写的实时识别的。苹果设计的基于深度学习的识别系统可以准确地处理高达3万个不同的字符。为了达到合理的准确度,苹果的开发人员们在数据收集模式、书写方式的代表性和训练方式方面专门花了心思处理。他们发现,只要使用恰当的方式,即便更大的字符库也可以解决得了。实验表明只要训练数据的质量足够高、数量足够大,随着字符库增大,识别准确率只会慢慢下降。 手写识别可以增强移动设备的用户体验,尤其是中文的键盘输入还相对比较复杂。中文的手写识别也有独特的挑战性,因为中文背后的字符库非常大。其它基于字母的语言中,包含字符的数量级通常也就在100上下,而中文国标 GB18030-2005 中含有的汉字有27533个,在整个中国范围内还有许多图形式的字符仍然在使用着。为了便于电脑处理,常见的做法是只关注其中的一部分字符,一般就是选出日常使用中最有代表性的字。根据这样的思路,中文国标字符集 GB2312-80 仅仅包含了 6763 个字符(其中一级字符3755个,二级字符3008个)。中国科学院自动化研究所也构建了一个严密对齐的字符集,运用在CASIA数据库中,包含了总共7356个字符。SCUT-COUCH数据库的容量也在同一个水平上。这些字符集基本反映了全中国的作家们的常用字。然而在个人层面上,每个人之间的“最常用字”经常都会有所不同。许多人都至少有几十个自己的“不常用字”,因为这些字其实会在相关的事物名中出现,反倒不用一个个写出来了。这样,理想状况下的中文手写识别算法就至少要扩充到 GB18030-2005 中2万多个汉字的水平。早期的识别算法主要依靠基于一笔一划分析的结构化方法,后来有了去除笔划顺序影响的需求,就引发了人们利用整体形状信息建立统计学方法的兴趣。然而文本类别的数量越多,清晰地把文本分入一个类别就越难,这些方法显然会大大提升大字符集下的识别难度。对于MNIST之类的拉丁字符识别任务,卷积神经网络(CNN)很快就表现出了压倒性的优势。只要有足够的训练数据、适当补充一些需要的生成样本,CNN毫无疑问可以达到顶尖的表现。不过,这些研究中的字符类别都相当的少。之前,当苹果的研究人员们开始研究如何做大规模的中文字符识别时,似乎明摆着就应该选CNN。但是CNN的方法需要把网络拓展到包含接近3万个字符,同时还要保证在嵌入式设备上还有实时识别的性能。这篇文章的重点就是介绍如何解决延时、字符覆盖率、书写风格的鲁棒性等方面的问题,达到理想的性能表现。 苹果的研究人员们在这项研究中采用了一个普遍的CNN架构,跟之前用在MNIST手写识别实验中的CNN类似。系统的总体架构如图系统输入是一张中等分辨率 48x48 的图像(为了更好的性能),其中包含着一个手写中文字符。然后把它送入几个包含卷积层和子采样层的特征提取层。最后一个特征提取层通过一个全连接层连接到输出。在每个卷积层中,苹果的研究人员们都选择了能够从逐渐变得粗糙的粒度中尽量提取特征的卷积核和feature map数量。他们运用一个2x2的卷积核,通过一个最大池化层做子采样。最后一个特征层包含的小feature map数量级一般在1000上下。最后,输出层上给每一个类都有一个单独的节点,对于 GB2312-80 中级别1的汉字就有3755个节点,拓展到所有字符的时候就要接近30000。作为基准线,苹果的研究人员们在CASIA benchmark任务中评估了这个CNN模型。虽然这个任务只涵盖了汉字中级别1的字符,但是在以往文献中有丰富的识别测试准确率结果。他们使用了同样的基于 CASIA-OLHWDB、DB1.0-1.2,分为训练集和测试集,训练样本的数量大约为100万个。值得注意的是,苹果这项研究的关注点是面向产品的,所以他们的目标并不是在 CASIA 中取得尽可能高的准确率,更为关注的是模型大小、推理速度和用户体验。所以,他们的优化目标是一个紧凑的、能够实时计算结果的系统,它要能够对付多种不同的书写风格,对于非标准的笔划顺序也需要有较高的鲁棒性。这样下来,即便把在线的数据库也加入了评估中,他们还是选用了基于图像特征的识别方法。他们也把实际观察到的笔划变化、外型改变也考虑了进来。表1展示了前文图1中的CNN模型的测试结果,其中“Hz-1”代表了级别1的汉字库(3755个字符),“CR(n)”代表了模型的前n位识别结果中含有正确字符的准确率。除了常用的首选准确率(n=1)和前10位识别准确率(n=10)之外,表格中还加入了一项前4位准确率(n=4),因为苹果的用户界面中就是显示4个候选字符,前4位准确率是一个重要的衡量用户体验的标志。 之前有研究中首选准确率达到93%,前10位准确率达到98%。相比之下,虽然苹果自己的前10位准确率和其它研究中的在同一水平上,但第一位准确率要稍低。在苹果看来,这是为了达到更高的前4位准确率作出的平衡;而且可能更重要的是,这个模型的大小(1MB)比之前任何类似的系统都要小。 表1中的系统仅仅用了CASIA中的数据进行了训练,没有用到其它的训练数据。苹果的研究人员们也很感兴趣,如果额外加入自家的iOS设备上实际采集到的手写数据用来训练系统会达到怎样的效果。这些数据中涵盖的书写风格更为多样,每个字符也有更多对应的训练样本。如下表2就是训练结果,对应的是同一个3755字符的字符库。虽然这个系统的体积有大幅度的增加(达到了15MB),准确率却只提升了一点点(前4位准确率的绝对值提升了2%)。这表明,测试集中的多数书写风格都已经在CASIA的训练集中有了相当的覆盖。不过这也说明增加更多的训练数据并没有什么坏处:新增加的书写风格并不会对模型的原有表现带来负面的影响。 前文有说过,每个人理想状况的下的“常写的字”都不一样,用户数目大的时候需要的字库大小也就远远不止3755个。准确挑出需要的字库也不是一件那么简单直接的事情。GB2312-80 定义的简体中文字符,以及 Big5、Big5E、CNS 11643-92 中定义的繁体中文字符覆盖的范围也各有不同(从3755到48027个汉字)。近期一些的还有新增了4568个字符的 HKSCS-2008,GB18030-2000中的甚至更多。苹果想要保证用户们的日常用语都能写得出来,不管是简体还是繁体中文、是名字还是诗歌,还有其它常用的标记、视觉符号和emoji表情,他们也希望能让用户无需转译就写出偶尔会在产品或者品牌名中出现的拉丁字符。苹果遵循了国际主流的 Unicode 字符集作为字符编码标准,因为其中几乎囊括了上面提到的所有字符标准(值得一提的是,Unicode 7.0在B-D拓展中可以区分7万个字符,而且还在考虑增加更多)。所以苹果的字符识别系统就选择了关注 GB18030-2005, HKSCS-2008, Big5E 中的汉字部分,以及 ASCII 的核心字符集和一组视觉符号和emoji表情,总数大约3万个字符。这对于大多数中国用户来说已经是最佳的取舍了。在选出了模型内在的字符库之后,下一个关键的点就是对用户真正使用的书写风格进行采样。虽然不同的书写风格之间有一些正式的规则可以用来帮助鉴别,但此外还会有一些区域性的书写变化,比如 U+2EBF (艹)的几种写法,或者U+56DB(四)的写得潦草的时候和U+306E(の)之间的类似性。屏幕上显示的字符也会带来迷惑性,因为有些用户会希望某些字符以特定的样式显示。写得快的时候也会让风格变得潦草,这会增加字符的模糊性,比如 U+738B(王)和U+4E94(五)。最后,增大国际化的程度有时候也会带来没有预料到的冲突,比如U+4E8C(二),写成连笔的时候就会和拉丁字符“2”和“Z”产生冲突。苹果的设计准则是给用户提供全部的输入可能性,不管是像印刷字体一样,还是潦草的、不受约束的写法。为了囊括尽可能多的字体变形,苹果的研究人员们从全中国不同区域的作家们手中收集数据。让他们很惊讶的是,有不少不常用的字,大多数的用户连见都没有见过。由于对不常用字的不熟悉,用户在书写的时候可能会犹豫、写错笔划顺序,以及造成其它的一些错误,都需要纳入考虑中。苹果的研究人员们雇了许多不同年龄段、性别、教育程度的普通中国人,让他们写字,收集数据;最终得到的手写数据也有许多别的数据库不具有的特点:包含了多大几千名用户的数据,在iOS设备上用手指书写(而不是手写笔),数据也是有许多小批的。其中还有一个好处是iOS设备的采样会形成非常清晰的手写笔迹。苹果的研究人员们发现了非常多样的书写方式。如下图2到图4是其中一些U+82B1(花)的写法,有的接近打印,有的很潦草,有的变化很大。实际上,日常生活中用户们经常写得很快、变化很大,潦草、变形的笔迹看起来会有很大的区别。比如U+7684(的)和U+4EE5(以)。反过来说,有时候不同的字也会看起来很相似,造成迷惑。以下U+738(王)、U+4E94(五)的数据就是明显的例子。值得注意的是,要能够区分潦草的变化就一定需要足够的训练数据。根据前面讨论的设计准则,苹果采集了上千万个手写的汉字实例用作训练数据。下面表3中的结果就是把可识别的字符数量从前面的3755个字符拓展到接近3万之后得到的。仍然是前文的同一个 CASIA 在线测试。这里保持了同样的模型大小。前文表2中的系统只是限制在级别1汉字范围,其它都与表3中的系统相同。准确率有略微下降,这倒比较符合研究人员们的期待,因为大幅度增长的覆盖范围会带来额外的混淆,比如前面提到过的“二”和“Z”。把表1到表3的结果进行对比,可以看到把字符覆盖范围扩大10倍并不会把错误率也扩大10倍,或者把模型大小变大10倍。实际上,对于更大的模型,错误率升高得要慢得多。所以,构建一个覆盖了3万个字符(而不是仅仅3755)、同时还有高准确率的中文手写字符识别系统,不仅是可能的,还是可行的。 为了说明系统在这所有3万个字符中的表现如何,苹果的研究人员们也用一系列不同的测试集进行了测试,其中包含了所有支持的字符、用了各种的书写风格。表4是结果的平均值。当然,表3和表4的结果是不能够直接进行对比的,因为它们是用不同的测试集得到的。不过,它们的第一位准确率和前四位准确率对于整个字符库都是在同一水平的。这样的结果是通过较为均衡的训练模式达到的。 在表意文字工作组 IRG 不断从不同的来源收集文字、提出新的增加建议下,目前大小约为75000的Unicode字符集中含有的中日韩文表义文字未来还可能继续增加。坦诚地讲,之后新增加的字符都会是非常罕见的字符(比如历史上出现过的名字或者诗歌中的)。不过,对于名字里刚好有一些罕见字的人来说,这些工作还是很有意义的。那么,苹果未来打算如何应对更大的字符库呢?这篇文章中的实验展示了不同数量的训练数据下的训练和测试错误率状况。这样就可以做近似的推断,预测有更多训练数据、更多字符需要识别的时候准确率表现如何。比如,从表1到表3可以看到,对于增大了十倍的字符库和模型相关资源的大小,准确率仅仅下降了(不到)2%。那么就有理由猜测,对于数目达到十万个的字符库和同倍增加的训练数据,完全有可能仍然达到84%左右的首选准确率和97%的前10位准确率(对于同样的网络架构)。总结来说,构造一个覆盖了多达3万个中文字符的高准确率手写识别系统,即便对于嵌入式设备也是可以实现的。进一步地,随着字符库大小增加,识别准确率下降得非常慢,只要有足够数量的高质量训练数据。这对未来可能的基于更大的字符库的手写识别来说是一个好消息。via Apple ML Journal,AI科技评论编译—————  给爱学习的你的福利  —————3个月,从无人问津到年薪30万的秘密究竟是什么?答案在这里——崔立明授课【推荐系统算法工程师-从入门到就业】3个月算法水平得到快速提升,让你的职业生涯更有竞争力!长按识别下方二维码(或阅读原文戳开链接)抵达课程详细介绍~———————————————————— via: http://mp.weixin.qq.com/s?__biz= ... e=0#wechat_redirect




[img=20,20][/img] wx:   网页链接 2017-09-30 19:18
公告板 会议活动 经验总结 深度学习 算法 语音 资源 博客 行业动态 会议 活动 神经网络 数据
「深度线性神经网络也能做非线性计算,OpenAI使用进化策略新发现」2017 年 11 月 8 日,在北京国家会议中心举办的 AI WORLD 2017 世界人工智能大会开放售票!早鸟票 5 折 抢票倒计时 8 天开抢。还记得去年一票难求的AI WORLD 2016盛况吗?今年,我们邀请了冷扑大师”之父 Tuomas 亲临现场,且谷歌、微软、亚马逊、BAT、讯飞、京东和华为等企业重量级嘉宾均已确认出席。AI WORLD 2017 世界人工智能大会“AI 奥斯卡”AI Top 10 年度人物、 AI Top10 巨星企业、AI Top10 新星企业、AI Top 10 创投机构、AI 创新产品五个奖项全部开放投票。谁能问鼎?你来决定。关于大会,请关注新智元微信公众号或访问活动行页面:http://www.huodongxing.com/event/2405852054900?td=4231978320026了解更多1新智元编译  来源:OpenAI作者:Jakob Foerster编译:费欣欣【新智元导读】OpenAI研究人员Jakob Foerster在OpenAI博客介绍了一个很有趣的实验,他们发现线性神经网络中的浮点表示实际上在零附近有一个比较大的偏差,由此线性神经网络也可以做非线性的计算。这一发现有助于更好地训练神经网络,以及提升复杂机器学习系统的性能。 我们通过实验展示了,使用浮点运算实现的深度线性网络实际上并不是线性的,它们可以进行非线性计算。我们使用进化策略来发现具有这种特征的线性网络中的参数,让我们解决non-trivial的问题。 神经网络由线性层+非线性层堆叠而成。理论上,在没有非线性层的情况下,连续的线性层实际等同于数学上的单个线性层。因此,浮点运算也能具有非线性特征,并且足以生成可训练的深度神经网络,这令人十分意外。 计算机使用的数字不是完美的数学对象,而是使用有限比特的近似表示。计算机通常使用浮点数来表示数学对象。每个浮点数都由分数和指数组成,在IEEE的float32标准中,单精度二进制小数用32个比特存储,指数用8个比特存储,还有一个比特存储符号。 由于这个规定,再加上使用二进制的格式,我们将最小的规格化非零数(用二进制表示)为:1.0..0 x 2^-126,将其称为 min。然后,下一个可以表示的数字就是 1.0..01 x 2^-126,可以写为 min + 0.0..01 x 2^-126。 显然,第二个数字与第一个数字之间的差距,比 0 和 min 之间的差距要小 2^20。在float32中,当数字小于最小可表示数时,它们就被映射到零。由于这个“下溢”,在 0 附近的所有涉及浮点数的计算都变成非线性的。 当然,有一个例外,那就是非规格化数字(denormal numbers),在一些计算硬件上可以禁用这样的数字。在我们的这个例子中,我们将flush设置为零(FTZ)来禁用非规格化数,FTZ将所有的非规格化数字都视为零。 回到实验的讨论。尽管计算机浮点表示和“数学”数字之间的差距很小,但在零附近,有一个很大的差距,而这里的近似误差就很显著。 而这可能导致一些非常奇怪的结果,常用的数学定理不再适用。例如,(a + b) × c 的值与 a × c + b × c 不再相等。 假设  a = 0.4 x min, b = 0.5 x min, c = 1/min 按理 (a+b) x c = (0.4 x min + 0.5 x min) x 1/min = (0 + 0) x 1/min = 0 但实际上结果却是  (a x c) + (b x c) = 0.4 x min / min + 0.5 x min x 1/min = 0.9. 再来一个例子: 假设 a = 2.5 x min, b = -1.6 x min, c = 1 x min 那么 (a+b) + c = (0) + 1 x min = min 结果 (b+c) + a = (0 x min) + 2.5 x min = 2.5 x min 由此可见,在极小的规模上,基本的加法运算变为非线性的了!  我们想知道这种固有的非线性是否可以被用作计算上的非线性,因为计算上的非线性将使深度线性网络进行非线性的计算。 而要这样做的难点在于,现代分化库(differentiation libraries)完全没有考虑到零附近的这些非线性。因此,通过反向传播训练神经网络来探究它们十分困难,可以说是不可能的。 不过,我们可以使用进化策略(ES)来估计梯度,这样就不必依赖于符号分化。实际上,使用ES,我们确实发现,float32在零附近的行为是一种计算非线性。 在MNIST数据集上训练,一个用反向传播训练的深度线性网络实现了94%的训练精度和92%的测试精度。而换成使用ES训练,相同的线性网络,可以实现 >99%的训练精度和96.7%的测试精度,同时确保激活足够小,是处于float32的非线性范围之中。 网络训练性能之所以提升,是由于ES利用了float32表示中的非线性。这些强大的非线性使每层网络都生成了新的特征,而这些新特征就是低级特征的非线性组合。 下面是网络结构: 除了MNIST,我们认为还能进行其他有趣的实验,探究RNN的非线性计算特性,或者将利用非线性计算提升语言建模和翻译等复杂机器学习任务的性能。欢迎大家加入我们,一起来探索。 原文链接:https://blog.openai.com/nonlinear-computation-in-linear-networks/ 【扫一扫或点击阅读原文抢购五折“早鸟票”】AI WORLD 2017 世界人工智能大会购票二维码:  via: http://mp.weixin.qq.com/s?__biz= ... e=0#wechat_redirect




爱可可-爱生活   网页链接 2017-09-30 17:06
分布式学习
【基于dask的分布式/并行机器学习库】’dask-ml - Distributed and parallel machine learning' GitHub: https ://github .com/dask/dask-ml doc:http://t.cn/R0Rvk3t




[img=20,20][/img] wx:Jasmeet Bhatia   网页链接 2017-09-30 15:56
会议活动 深度学习 视觉 算法 应用 自然语言处理 GPU Python SVM 行业动态 会议 机器人 神经网络 数据科学 推荐系统 问答系统 信息检索
「Bengio终结Theano不是偶然,其性能早在Keras支持的四大框架中垫底」作者 | Jasmeet Bhatia 编译 | KK4SBB 本文将对目前流行的几种Keras支持的深度学习框架性能做一次综述性对比,包括Tensorflow、CNTK、MXNet和Theano。作者Jasmeet Bhatia是微软的数据与人工智能架构师,本文内容仅代表个人观点。如果现在有人质疑Keras在数据科学家和工程师社区的地位,那么就先请他去看看专业AI和云计算玩家对Keras的支持率吧。官方发布的最新版Keras,除了支持Theano等通用库之外,已经可以支持谷歌的Tensorflow和微软的CNTK深度学习库。去年,亚马逊云宣布他们的系统支持另一款强大的工具MXNet。就在前几周,新一版的MXNet也兼容Keras。不过,截止目前MXNet貌似只支持v1.2.2版本的Keras,对最新版2.0.5的Keras还不支持。尽管只要产品选用被支持的后端服务,就可以在其中部署Keras模型,但是开发人员和架构师们必须牢记Keras是属于适配不同深度学习框架的高层接口,还不支持任意调整外部库的模型参数。因此,如果大家想要精细调节后端框架提供的所有参数,作者建议大家直接选用具体的框架,不必再用Keras做一层包装。不过随着时间的推移,Keras的功能必定会逐步完善。但是我们不得不说,目前Keras仍然是深度学习项目早期开发阶段的一个神器,它让数据科学家和工程师们可以快速生成和测试复杂的深度学习模型。Keras还可以让开发人员快速对比测试几种深度学习框架的相对性能。Keras的配置文件中有一个参数指定了用什么后端框架。所以,大家只要写一份代码,就可以在Tensorflow、CNTK和Theano上都运行一次而无需改动代码。至于说MXNet,因为它现在只支持v1.2.2版本的Keras,所以要稍微修改代码才能运行。显然,这些独立的框架可以利用开发库中各式各样的特性进一步调试优化,不过Keras为我们提供了一个比较这些框架基础性能的机会。有不少人写过文章对比Keras支持后端的相对性能,Keras或者后端框架每出一个新版本,我们都能看到性能的巨大改善。那么让我们看看最新版本的Keras和各个后端框架能达到什么性能。首先,介绍一下本次实验的硬件配置。所有的测试都是在装有NVidia Tesla K80 GPU 的Azure NC6 虚拟机上完成的。虚拟机的镜像文件是Azure DSVM (Data Science Virtual Machine)。镜像文件预装了Keras、Tensorflow、Theano、MXNet及其它数据科学工具。为了进行测试实验,所有应用都升级到最新版本,针对MXNet选用v1.2.2版本的Keras。有关Azure DSVM的细节资料可以点击链接 配置 由于每个框架的依赖不同,作者用三种不同的配置进行测试实验,具体如下:尽管所有框架的开发团队都声称正在研发的新版本性能有所提升,可以用于科研项目,不过实际产品还是倾向于使用稳定版本。因此,本次测试的所有后端框架都使用了最新的稳定版本。 性能测试 为了比较各个框架的性能,作者使用了下面五种深度学习模型。为了保证实验的公平性,所有的模型都来自于Github上Keras项目的示例代码。作者在自己的Github页面公布了所有的测试代码。值得注意的是,其中两组测试没有包括MXNet模型。还是由于MXNet不支持最新版Keras的功能,需要改动较多的代码才能运行,所以排除在本次实验之外。其它三组实验只需少许改动代码即可支持MXNet,主要改动在于函数的命名不同。实验1:CIFAR10 CNN模型类型:卷计算机网络 数据集/任务名称: CIFAR10 图像数据集 目标:将图片分到10个类别就完成每个epoch速度而言,Tensorflow略胜MXNet一筹。就准确率/收敛速度而言,CNTK在第25轮迭代之时略微领先,不过第50轮迭代之后所有框架的准确率几乎趋同。不同框架的性能比较图实验2:MNIST CNN模型类型:卷计算机网络 数据集/任务名称:MNIST手写数字数据集 目标:识别照片中的手写数字在本组实验中,Tensorflow的训练速度略快于Theano,远好于CNTK,不过各个框架的准确率和收敛速度不分伯仲。实验3:MNIST MLP模型类型:多层感知机/神经网络 数据集/任务名称:MNIST手写数字数据集 目标:识别照片中的手写数字本实验还是在MNIST数据集上测试标准的深度神经网络模型,CNTK、Tensorflow和Theano的速度大致相同(2.5-2.7s/epoch),而MXNet独树一帜,达到了1.4s/epoch的速度。MXNet在准确率和收敛速度方面也表现略好。实验4:MNIST RNN模型类型:层次循环神经网络 数据集/任务名称:MNIST手写数字数据集 目标:识别照片中的手写数字在这组实验中,CNTK和MXNet的训练速度比较接近(162-164s/epoch),Tensorflow比它们稍慢,只有179s/epoch。Theano在RNN模型上的表现相当糟糕。实验5:BABI RNN模型类型:循环神经网络 数据集/任务名称:bAbi项目 目标:基于描述和问题训练两个循环神经网络模型。生成的向量用来回答一系列bAbi任务。MXNet没有参与本组实验。Tensorflow和Theano的性能差不多,CNTK比它们快了50%,只需9.5s/epoch。 结论 各组实验中,不同框架的性能对比Tensorflow在各组CNN模型的实验中都表现出色,但是在RNN模型上表现一般。CNTK在 BAbi RNN 和 MNIST RNN 实验中的表现远远好于Tensorflow和Theano,但是在CNN实验中不及Tensorflow。MXNet在RNN测试中的表现略好于CNTK和Tensorflow,在MLP实验中性能碾压其它所有框架。但是受限于v2版Keras的功能,无法参与另外两组对比实验,不过这种情况马上会得到解决。Theano在MLP实验中的性能略好于Tensorflow和CNTK。 总结 从实验结果来看,所有框架都有各自擅长的领域,目前并没有哪一种框架能够全面碾压其它产品。不过,开源社区的参与者们仍旧在持续开发和维护这几款产品,不断提升它们的性能和扩大它们的功能,使得用户的使用和部署过程更方便。不过,性能只是深度学习模型的一个方面,用户在实际使用时还要兼顾效果、便捷性等多个因素。原文 :Search fastest Keras Deep Learning backend  10月28日, SDCC 2017“人工智能技术实战线上峰会”将在CSDN学院以直播互动的方式举行。 来自阿里巴巴、微软、商汤科技、第四范式、微博、出门问问、菱歌科技的7位AI专家,将针对机器学习平台、系统架构、对话机器人、芯片、推荐系统、Keras、分布式系统、NLP、用户画像等热点话题进行分享。先行者们正在关注哪些关键技术?如何从理论跨越到企业创新实践?你将从本次峰会找到答案。每个演讲时段均设有答疑交流环节,与会者和讲师可零距离互动。 via: http://mp.weixin.qq.com/s?__biz= ... e=0#wechat_redirect




ChatbotsChina   网页链接 2017-09-30 14:59
深度学习
自从学了这个方法,深度学习再也不愁没钱买数据集了 http://t.cn/R08CaaY




机器之心Synced   网页链接 2017-09-30 14:24
经验总结 深度学习 算法 博客 神经网络
【神经网络求解新思路:OpenAI用线性网络计算非线性问题】使用线性网络进行非线性计算是一种特立独行的思路,近日,OpenAI 发布了一篇博客,介绍了该机构在深度线性网络上的新研究,该方法没有使用激活函数,仍在 MNIST 上实现了 99% 的训练准确率和 96.7% 的测试准确率。http://t.cn/R08iPBx




爱可可-爱生活   网页链接 2017-09-30 06:17
深度学习 算法 神经网络
【深度网络架构笔记】“Define some common neural network architectures and ideas.” by Conchylicultor GitHub: https ://github .com/Conchylicultor/Deep-Learning-Tricks/blob/master/networks.md ​





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|Vision And Learning SEminar

GMT+8, 2024-4-19 14:11 , Processed in 0.025083 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表