深度学习:未来机器人的进化途径

下次你看到机器人给人递咖啡,问简单的问题,甚至开车,千万不要大惊小怪。

是的,很多所谓的智能或学习机器人仍然只能做简单的事情,它们不能按照人的大脑的方式工作。然而机器学习确实很难,大多数人工智能事实上非常工程化。发现人类与机器人之间的正确的交互方式可能更难。

 

然而,深度学习(当今人工智能研究员的常用手段)可能成为机器人大脑的进化途径。本月早些时候,我参加了 Robotics: Science and Systems会议,对研究机器人技术的数量印象深刻,机器人技术似乎都可以用深度学习技术解决,在过去的几年,深度学习技术因为Google、Facebook 以及Microsoft而出名。

大会几乎涉及机器人智能的所有方面,从使用“Tell Me Dave”的工具来训练机器人助手完成家务,到教机器人选择从点A到点B的最佳路径。研究人员讨论了在自动驾驶车辆上的应用,从分析土壤类型以增加越野车牵引,到学习地理位置的潜在特征(为了在白天、黑夜、下雨或者下雪天识别它们)。

 

 

我最喜欢的一个演讲是关于机器人“ikeabot”的,它专注于组装家具。它的研究人员正在试图找出机器人和人类同事交流的最佳过程。事实证明,这比教机器人了解物体或者如何适应装配过程需要的多得多。例如,机器人如何请求帮助会影响人类同事的工作效率和工作流程,甚至会让他们感觉,他们正在和机器人一起工作,而不仅仅在它旁边。

数据使机器人更聪明。无论何种输入(语音、视觉或某种环境传感器),机器人都依靠数据来做出正确的决定。研究人员为训练人工智能模型和创建算法使用的数据越多越好,他们的机器人就越聪明。

好消息是有很多好的可用数据。坏消息是很难训练这些模型。

基本上,机器学习的研究人员往往需要花费几年的时间来确定属性、特征或重点模型,并编写代码使计算机能够理解这些特征。为了创建一个能够识别椅子的机器人(或算法),需要利用成千上万的图像训练计算机视觉系统,这中间有很多的工作要做。

这是人工智能的新方法(包括深度学习)起作用了。我们已经在许多场合解释过,目前人们在系统方面付出很多努力,这些系统让他们了解所获取的数据的特点。写这些算法和优化这些系统很不容易(这就是为什么深度学习领域的专家享受着顶级的薪酬待遇),但是他们可以帮助消除大量繁琐并费时的手工劳动。

事实上,在机器人技术大会上,Andrew Ng指出深度学习(不仅限于深度神经网络)是吸收和分析大数据的最好方法。Ng作为Coursera的合作创始人出名,在2011年领衔Google Brain项目,并在斯坦福大学教授机器学习。最近,他加入了中国搜索巨头百度,成为其首席科学家。

 

但Ng也了解机器人。事实上,自从2002年加入斯坦福学院,他的大部分研究都集中在将机器学习应用于机器人,让它们行走、飞翔以及看得更清楚。就是这项工作,或者是它的局限性激励他花这么多时间来研究深度学习。

他说:“如果想在机器人技术上取得进展,就必须把所有时间都用在深度学习上。”

Ng发现,深度学习非常善于学习标记的数据集的特征(例如,被正确标记的图片),也很善于无监督学习,即在处理大量的未标记数据的过程中学习。这就是Ng和他的Google Brain同事发表于2012年的著名论文,关于如何区分猫和人脸,同时也在语言理解中取得巨大的进展。

他解释到:“自然地,当我们尝试创建机器人时,这些功能很有用,能使机器人更好的倾听、理解和感知周围的世界。”Ng展示了一个例子,是关于当前斯坦福研究汽车上的AI系统的,它可以实时区分轿车与货车,并且强调了GPU使一些繁重的计算工作可以在相对小型的设备上进行。

 

随着深度学习的重心移向无监督学习,它可能对机器人专家来说更有用。他谈到曾经做过的一个项目,项目的目的是教机器人认识位于斯坦福大学办公室的物体。该项目包括追踪50000个咖啡杯的图像,用来训练机器人的计算机视觉算法。它是很好的研究,并让研究人员受益匪浅,但机器人并不总是非常准确。

Ng解释到:“对于很多应用程序,我们开始耗尽标签数据。”研究人员尝试将训练数据集从50000扩大到几百万来提高精度,Ng说:“世界上真没有那么多的咖啡杯。” 即使有那么多图片,它们大多不会被标记。计算机需要自己学习。

此外,Ng补充到,大多数专家相信人类的大脑仍然是世界上最令人印象深刻的电脑,有着“非常松散灵感”的深度学习技术,在很大程度上以无监督的方式学习。他开玩笑说:“无论你是多好的父母,都不会教孩子认50000个咖啡杯。”

十种程序语言帮你读懂大数据的“秘密”

随着大数据的热潮不断升温,几乎各个领域都有洪水倾泻般的信息涌来,面对用户成千上万的浏览记录、记录行为数据,如果就单纯的Excel来进行数据处理是远远不能满足的。但如果只用一些操作软件来分析,而不怎么如何用逻辑数据来分析的话,那也只是简单的数据处理。

替代性很高的工作,而无法深入规划策略的核心。

当然,基本功是最不可忽略的环节,想要成为数据科学家,对于这几个程序你应该要有一定的认识:

R

若要列出所有程序语言,你能忘记其他的没关系,但最不能忘的就是R。从1997年悄悄地出现,最大的优势就是它免费,为昂贵的统计软件像是Matlab或SAS的另一种选择。

但是在过去几年来,它的身价大翻转,变成了资料科学界眼中的宝。不只是木讷的统计学家熟知它,包括WallStreet交易员、生物学家,以及硅谷开发者,他们都相当熟悉R。多元化的公司像是Google、Facebook、美国银行以及NewYorkTimes通通都使用R,它的商业效用持续提高。

R的好处在于它简单易上手,透过R,你可以从复杂的数据集中筛选你要的数据,从复杂的模型函数中操作数据,建立井然有序的图表来呈现数字,这些都只需要几行程序代码就可以了,打个比方,它就像是好动版本的Excel。

R最棒的资产就是活跃的动态系统,R社群持续地增加新的软件包,还有以内建丰富的功能集为特点。目前估计已有超过200万人使用R,最近的调查显示,R在数据科学界里,到目前为止最受欢迎的语言,占了回复者的61%(紧追在后的是39%的Python)。

它也吸引了WallStreet的注目。传统而言,证券分析师在Excel档从白天看到晚上,但现在R在财务建模的使用率逐渐增加,特别是可视化工具,美国银行的副总裁NiallO’Conno说,「R让我们俗气的表格变得突出」。

在数据建模上,它正在往逐渐成熟的专业语言迈进,虽然R仍受限于当公司需要制造大规模的产品时,而有的人说他被其他语言篡夺地位了。

“R更有用的是在画图,而不是建模。”顶尖数据分析公司Metamarkets的CEO,MichaelDriscoll表示,

“你不会在Google的网页排名核心或是Facebook的朋友们推荐算法时看到R的踪影,工程师会在R里建立一个原型,然后再到Java或Python里写模型语法”。

举一个使用R很有名的例子,在2010年时,PaulButler用R来建立Facebook的世界地图,证明了这个语言有多丰富多强大的可视化数据能力,虽然他现在比以前更少使用R了。

“R已经逐渐过时了,在庞大的数据集底下它跑的慢又笨重”Butler说。

所以接下来他用什么呢?

 

 

 

Python

如果说R是神经质又令人喜爱的Geek,那Python就是随和又好相处的女生。

Python结合了R的快速、处理复杂数据采矿的能力以及更务实的语言等各个特质,迅速地成为主流,Python比起R,学起来更加简单也更直观,而且它的生态系统近几年来不可思议地快速成长,在统计分析上比起R功能更强。

Butler说,“过去两年间,从R到Python地显著改变,就像是一个巨人不断地推动向前进”。

在数据处理范畴内,通常在规模与复杂之间要有个取舍,而Python以折衷的姿态出现。IPythonNotebook(记事本软件)和NumPy被用来暂时存取较低负担的工作量,然而Python对于中等规模的数据处理是相当好的工具;Python拥有丰富的资料族,提供大量的工具包和统计特征。

美国银行用Python来建立新产品和在银行的基础建设接口,同时也处理财务数据,“Python是更广泛又相当有弹性,所以大家会对它趋之若鹜。”O’Donnell如是说。

然而,虽然它的优点能够弥补R的缺点,它仍然不是最高效能的语言,偶尔才能处理庞大规模、核心的基础建设。Driscoll是这么认为的。

Julia

今日大多数的数据科学都是透过R、Python、Java、Matlab及SAS为主,但仍然存在着鸿沟要去弥补,而这个时候,新进者Julia看到了这个痛点。

Julia仍太过于神秘而尚未被业界广泛的采用,但是当谈到它的潜力足以抢夺R和Python的宝座时,数据黑客也难以解释。原因在于Julia是个高阶、不可思议的快速和善于表达的语言,比起R要快的许多,比起Python又有潜力处理更具规模的数据,也很容易上手。

“Julia会变的日渐重要,最终,在R和Python可以做的事情在Julia也可以”。Butler是这么认为的。

就现在而言,若要说Julia发展会倒退的原因,大概就是它太年轻了。Julia的数据小区还在初始阶段,在它要能够和R或Python竞争前,它还需要更多的工具包和软件包。

Driscoll说,它就是因为它年轻,才会有可能变成主流又有前景。

Java

Driscoll说,Java和以Java为基础的架构,是由硅谷里最大的几家科技公司的核心所建立的,如果你从Twitter、Linkedin或是Facebook里观察,你会发现Java对于所有数据工程基础架构而言,是非常基础的语言。

Java没有和R和Python一样好的可视化功能,它也不是统计建模的最佳工具,但是如果你需要建立一个庞大的系统、使用过去的原型,那Java通常会是你最基的选择。

Hadoop and Hive

为了迎合大量数据处理的需求,以Java为基础的工具群兴起。Hadoop为处理一批批数据处理,发展以Java为基础的架构关键;相较于其他处理工具,Hadoop慢许多,但是无比的准确和可被后端数据库分析广泛使用。和Hive搭配的很好,Hive是基于查询的架构下,运作的相当好

Scala

又是另一个以Java为基础的语言,和Java很像,对任何想要进行大规模的机械学习或是建立高阶的算法,Scala会是逐渐兴起的工具。它是善于呈现且拥有建立可靠系统的能力。

“Java像是用钢铁建造的;Scala则是让你能够把它拿进窑烤然后变成钢的黏土”Driscoll说。

Kafka andStorm

说到当你需要快速的、实时的分析时,你会想到什么?Kafka将会是你的最佳伙伴。其实它已经出现五年有了,只是因为最近串流处理兴起才变的越来越流行。

Kafka是从Linkedin内诞生的,是一个特别快速的查询讯息系统。Kafka的缺点呢?就是它太快了,因此在实时操作时它会犯错,有时候会漏掉东西。

鱼与熊掌不可兼得,「必须要在准确度跟速度之间做一个选择」,Driscoll说。所以全部在硅谷的科技大公司都利用两个管道:用Kafka或Storm处理实时数据,接下来打开Hadoop处理一批批处理数据系统,这样听起来有点麻烦又会有些慢,但好处是,它非常非常精准。

Storm是另一个从Scala写出来的架构,在硅谷逐渐大幅增加它在串流处理的受欢迎程度,被Twitter并购,这并不意外,因为Twitter对快速事件处理有极大的兴趣。

Matlab

Matlab可以说是历久不衰,即使它标价很高;在非常特定的利基市场它使用的相当广泛,包括密集的研究机器学习、信号处理、图像辨识等等。

Octave

Octave和Matlab很像,除了它是免费的之外。然而,在学术信号处理的圈子,几乎都会提到它。

GO

GO是另一个逐渐兴起的新进者,从Google开发出来的,放宽点说,它是从C语言来的,并且在建立强大的基础架构上,渐渐地成为Java和Python的竞争者。

这么多的软件可以使用,但我认为不见得每个都一定要会才行,知道你的目标和方向是什么,就选定一个最适合的工具使用吧!可以帮助你提升效率又达到精准的结果。

假冒谷歌爬虫成为第三大DDoS攻击工具

在安全牛之前发布的文章《 Prolexic发布2014年第一季度全球DDoS攻击报告》中,我们了解到采用“反射放大”技术发起的攻击流量比上一季度增加了39%,同时攻击者也在不断发掘利用其他一些互联网基础服务来发动DDoS攻击,例如今年3月安全公司Sucuri发现 黑客利用超过16.2万WordPress网站的Pingback功能进行大规模DDoS放大攻击

近日,新的研究表明,假冒谷歌爬虫已经成为第三大DDoS攻击工具,详情如下:

Incapsula研究人员在调查了搜索引擎在1万家网站上的4亿次搜索访问后,发现超过23%的假冒谷歌爬虫被用于DDoS攻击,10.8%被用于窃取数据的恶意软件、垃圾邮件和扫描器。

 

分析结果中的一些亮点对于很多对于SEO专业人士和网站运营者来说非常有趣:

谷歌的web爬虫比其竞争对手(如MSN/Bing、百度和Yandex bots)的要活跃深入得多。

被谷歌爬虫访问次数多的网站,其自然流量份额并不会随之增长,这意味着谷歌对网站并没有特殊关照。

平均每个网站每天会被谷歌爬虫访问187次,每次访问平均抓取深度是4页。内容密集型以及频繁更新的网站,例如论坛、新闻站点、大型电商网站被爬虫光顾的次数较多。

由于谷歌依然是全球第一搜索引擎,因此绝大多数网站运营者都不会屏蔽谷歌爬虫,但遗憾的是,这也导致假冒谷歌爬虫得以大行其道,发起DDoS攻击、剽窃内容、发送垃圾信息甚至入侵系统。

假冒的谷歌爬虫能以谷歌的身份获取网站信息,它们利用了谷歌爬虫的HTTP(S)用户代理——功能相当于一个访客的ID。根据Incapsula收集的数据,超过4%的使用用户代理的爬虫都不是真正的谷歌爬虫。

通过分析5000万个假冒谷歌爬虫会话数据,Incapsula发现高达34.3%的假冒爬虫都是恶意的,其中23.5%被用于7层DDoS攻击。

假冒谷歌爬虫发起的DDoS攻击让网站经营者非常难办:要么屏蔽所有谷歌爬虫,从搜索引擎中消失,要么购买更多带宽来防范DDoS。

假冒谷歌爬虫的访问通常来自僵尸网络,排名靠前的流量大国依次是美国(25.2%)、中国(15.6%)、土耳其(14.7%)、巴西(13.49%)和印度(8.4%),而正牌的谷歌爬虫则98%都来自美国。

好消息是,人们如今可以通过一系列安全手段精确识别假冒谷歌爬虫,包括IP和ASN核对——一种通过来源地识别爬虫的技术流程,但遗憾的是,中小网站通常不掌握这些手段。