各类Seq2Seq模型对比及《Attention Is All You Need》中技术详解

Submitted by wangqingqing on Mon, 07/17/2017 - 13:52
1、已有Seq2Seq模型 Seq2Seq模型是处理序列到序列问题的利器,尤其是在神经网络翻译(NMT)方面,取得了很大的成功。Seq2Seq由一个encoder和一个decoder构成,encoder把观测样本X编码成一个固定长度的隐变量Z,decoder再把隐变量Z解码成输出标签Y[1]。传统的Seq2Seq模型把观测样本编码成一个固定长度的隐变量Z,这个操作被认为限制了Seq2Seq模型的能力。因此,后来提出了基于attention mechanism的RNNSearch模型(Seq2Seq+attention mechanism),在decoder端,采用含一个隐含层的前向网络,采用自适应(adaptive)的方法来计算观测序列X中,每个word与输出标签Y的权重[2]。FaceBook提出了由CNN构成的Seq2Seq模型,完全采用堆叠的CNN来构建encoder和decoder,通过CNN的堆叠方式来回去sequence中long-range dependencies关系,在decoder端采用了多层的attention机制。堆叠CNN之间采用加入残差的GLU单元来连接,加快计算的同时最大限度保留输入sequence的信息[3]。

麦肯锡报告:如果再不转型人工智能,这些行业将被越甩越远

Submitted by wukezhou on Mon, 07/17/2017 - 11:25

在经历了几十年起起伏伏的发展后,人工智能终于开始为企业带来实实在在的价值。近日,麦肯锡发布了一份长达 80 页的报告《人工智能:下一个数字前沿?(ARTIFICIAL INTELLIGENCE:THE NEXT DIGITAL FRONTIER?)》,对人工智能为企业创造价值的方式进行了全面的介绍和解读。

报告指出,早期证据已表明“大规模采用人工智能技术将为企业带来丰厚回报”,这意味着人工智能的颠覆性力量将逐渐显现。政府、企业以及开发者都应对此有清晰认识。除此之外,报告至少提到了这些要点:

  • 科技行业之外的人工智能技术还处于早期的实验性阶段,仅有少数公司进行了大规模部署。

  • 早期应用人工智能的公司已经尝到了甜头,而后来者与领军者的差距将日益增大,人工智能转型迫在眉睫;

  • 人工智能对数字基础及大数据的依赖导致企业少有“捷径”可循,必须脚踏实地;

  • 人工智能不仅为企业和开发者带来挑战,也将对政府提出考验,比如:劳动力需要得到再训练以应对机器的威胁,国家/城市必须加入全球人才/资本竞争,道德、法律和监管也面临新的问题。

  • ......

自然语言处理中的Attention Model:是什么以及为什么[一]

Submitted by shiwenbin on Mon, 07/17/2017 - 09:15
要是关注深度学习在自然语言处理方面的研究进展,我相信你一定听说过Attention Model(后文有时会简称AM模型)这个词。 AM模型应该说是过去一年来NLP领域中的重要进展之一,在很多场景被证明有效。听起来AM很高大上,其实它的基本思想是相当直观简洁的。 本文作者可以对灯发誓:在你读完这篇啰里啰嗦的文章及其后续文章后,一定可以透彻了解AM到底是什么,以及轻易看懂任何有关论文看上去复杂的数学公式部分。 怎么样,这广告打的挺有吸引力吧,尤其是对那些患有数学公式帕金森病的患者。

特斯拉CEO马斯克:人工智能是人类文明最大的威胁

Submitted by pengkun on Mon, 07/17/2017 - 09:14

据外媒报道,周六在出席全美国州长协会的会议时,特斯拉CEO伊隆-马斯克(Elon Musk)强调称人工智能是“我们人类文明面临的最大威胁”,并呼吁政府迅速而坚决地进行干预,监督这项技术的发展。

        “在人工智能领域,我见过最先进的人工智能技术。我想,人们真的应该担心它。”马斯克在与内华达州州长布赖恩-桑多瓦尔(Brian Sandoval)交谈时说。

        很长时间以来,马斯克一直在大声疾呼人工智能的威胁。但是,他在全美国州长们面前的一席话特别令人瞩目,这不仅是因为他重点强调人工智能的巨大威胁,而且还强烈呼吁政府进行干预。

        “就人工智能而言,我们需要在管制上更具有前瞻性,而不是消极应对。因为等到我们制定出人工智能管理规定的时候,已经太晚了。”他说。然后,马斯克比较了人工智能和传统管理目标,并声称,“人工智能是关系人类文明存亡的最大威胁,这是汽车事故、飞机坠毁、滥用药物或劣质食品都比不了的威胁。”

专访 | 杨强教授谈CCAI、深度学习泡沫与人工智能入门

Submitted by shiwenbin on Mon, 07/17/2017 - 09:07
7 月 22 - 23 日,由中国人工智能学会、阿里巴巴集团 & 蚂蚁金服主办,CSDN、中国科学院自动化研究所承办的第三届中国人工智能大会(CCAI 2017)将在杭州国际会议中心盛大开幕。 作为大会主席,香港科技大学计算机与工程系主任、AAAI Fellow 杨强教授最近接受了大会记者专访。这次访谈干货满满,其中有不少话题是杨强教授首度公开谈及,比如下一个 AI 突破口、深度学习泡沫、AI 之路心得、本科生入门 AI、好学生要能教导师学习,等等。

图像特征提取三大法宝:HOG特征,LBP特征,Haar特征

Submitted by wangqingqing on Fri, 07/14/2017 - 15:10
方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合 SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal 在2005的CVPR上提出的,而如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM的思路为主。 (1)主要思想: 在一副图像中,局部目标的表象和形状(appearance and shape)能够被梯度或边缘的方向密度分布很好地描述。(本质:梯度的统计信息,而梯度主要存在于边缘的地方)。 (2)具体的实现方法是: 首先将图像分成小的连通区域,我们把它叫细胞单元。然后采集细胞单元中各像素点的梯度的或边缘的方向直方图。最后把这些直方图组合起来就可以构成特征描述器。 (3)提高性能: 把这些局部直方图在图像的更大的范围内(我们把它叫区间或block)进行对比度归一化(contrast-normalized),所采用的方 法是:先计算各直方图在这个区间(block)中的密度,然后根据这个密度对区间中的各个细胞单元做归一化。通过这个归一化后,能对光照变化和阴影获得更 好的效果。 (4)优点: 与其他的特征描述方法相比,HOG有很多优点。首先,由于HOG是在图像的局部方格单元上操作,所以它对图像几何的和光学的形变都能保持很好的不 变性,这两种形变只会出现在更大的空间领域上。其次,在粗的空域抽样、精细的方向抽样以及较强的局部光学归一化等条件下,只要行人大体上能够保持直立的姿 势,可以容许行人有一些细微的肢体动作,这些细微的动作可以被忽略而不影响检测效果。因此HOG特征是特别适合于做图像中的人体检测的。 2、HOG特征提取算法的实现过程: 大概过程: HOG特征提取方法就是将一个image(你要检测的目标或者扫描窗口): 1)灰度化(将图像看做一个x,y,z(灰度)的三维图像); 2)采用Gamma校正法对输入图像进行颜色空间的标准化(归一化);目的是调节图像的对比度,降低图像局部的阴影和光照

共享单车上的智能锁,做出来有多难?

Submitted by zhongzhimin on Fri, 07/14/2017 - 14:55
我们都体验过共享单车的开锁方式:用手机扫描车上的二维码,APP 上出现解锁进度的读条,10秒内就会听到电机带动和锁鞘“啪”的一声,解锁成功。我们可以直接把锁内的 GSM 模块当成是当年的插了SIM卡的黑白功能手机,10秒内的时间,GSM 搜索网络时间没有这么短,更何况在解锁的过程中,我们仅仅是用手机扫码,没有任何激活单车的操作,所以可以肯定锁是始终与网络保持长连接的,就是说这个手机始终是开机的状态,时刻要接收信号。 一开始以摩拜为代表的共享单车的开锁过程比现在慢多了,每次开锁大概在6~10秒,但极少开锁失败。笔者很早就注册使用共享单车,对此深有体会。原因其实是最开始的共享单车,开锁并不是使用GPRS流量来控制的,而是服务器通过给自行车发短信(对,就是手机短信),响应然后开锁。6至10秒的延时也正正是短信投递的时间。 早期的共享单车使用短信开锁 短信开锁的方式有其优势:开锁比较稳定,开锁不需要通过GPRS/3G流量,比较省电。省电是非常重要的,前期由于共享出行尚未普及,而单车是需要使用者发电维持的(相信大家都知道摩拜初代用的是轴承不是链条,靠我们骑车来发电),如果某辆车一直没人骑,等到它的电量耗尽变成一辆“僵尸车”,一旦这种情况多起来,线下维护的成本就非常高。 没想到吧,最开始的共享单车是以短信作为开锁信号! GPRS开锁: 接下来共享单车开锁方式就直接由服务器通过GPRS/3G流量传达指令开锁。不再担心电量的问题,这种变化是可预见的,因为骑车的人多起来了嘛!通过流量直接开锁,开锁速度也大大提升,从原来靠短信,等待时间有时候要30秒、1分钟(短信收发有时候还不止这么久)变成了3秒内开锁,照顾到很多人的用户体验。但问题随之而来:开锁时间,开锁成功率依赖信号,在信号不强的地区开锁也是十分痛苦的。 GPRS + 蓝牙开锁:

python大规模数据处理技巧之一:数据常用操作

Submitted by wukezhou on Fri, 07/14/2017 - 13:48
故接下来的几个文章将会整理在关于在大规模数据实践上遇到的一些问题,文章中总结的技巧基本是基于pandas,有错误之处望指正。 1、外部csv文件读写 大数据量csv读入到内存 分析思路:数据量非常大时,比如一份银行一个月的流水账单,可能有高达几千万的record。对于一般性能的计算机,有或者是读入到特殊的数据结构中,内存的存储可能就非常吃力了。考虑到我们使用数据的实际情况,并不需要将所有的数据提取出内存。当然读入数据库是件比较明智的做法。若不用数据库呢?可将大文件拆分成小块按块读入后,这样可减少内存的存储与计算资源 注意事项:open(file.csv)与pandas包的pd.read_csv(file.csv ): python32位的话会限制内存,提示太大的数据导致内存错误。解决方法是装python64位。如果嫌python各种包安装过程麻烦,可以直接安装Anaconda2 64位版本 简易使用方法: chunker = pd.read_csv(PATH_LOAD, chunksize = CHUNK_SIZE) 读取需要的列: columns = ("date_time", "user_id") chunks_train = pd.read_csv(filename, usecols = columns, chunksize = 100000) chunker对象指向了多个分块对象,但并没有将实际数据先读入,而是在提取数据时才将数据提