今天,谷歌云主管Diane Greene 宣布了公司在机器学习和人工智能上的新布局。Google 云计算业务 Google Cloud 即将成立一个新的部门推进机器学习方面的技术进步和新功能,以吸引更多对人工智能有所需求的云计算用户迁移或开始使用 Google Cloud 服务。在Greene的部门,将成立新的小组,整合此前各自独立的机器学习团队,这些团队零散地分布在谷歌云业务部中。机器学习是人工智能的一个分支,指的是训练计算机在海量数据中识别特定模式。
氧分子网(www.yangfenzi.com)讯 李飞飞教授也从学术界转移到了工业界,正式加入谷歌,任Google Cloud Machine Learning(谷歌云机器学习)负责人。这条消息应该让硅谷华人,特别是女性技术从业者感到骄傲:该部门将由两位优秀的华人女性机器学习专家领衔。她们分别是斯坦福大学副教授,斯坦福大学人工智能实验室主任李飞飞 (Fei-Fei Li),和热门社交消息应用 Snapchat 的母公司 Snap 研发主管的李佳 (Jia Li)。
李飞飞被广泛认为影响和改变了人工智能学界和业界。李飞飞和她的研究团队过去最著名的项目是 ImageNet,可以被理解为一个极大程度上方便了计算机对海量图像进行快速和准确识别的“数据库”,被几乎所有主流大小公司尽心会的机器视觉研究所采用,成为了学界和业界的标准。李飞飞在机器学习领域浸淫了16年,去年应邀在TED2015大会发表了题为《打造一种具备学步期孩童智力的人工智能》的演讲。李飞飞的小组在今年宣布了“视觉基因组”(Visual Genome) 项目并发表了论文,这一项目的终极目标是将图像识别与自然语言理解和语义技术相连,让计算机可以进一步理解一张照片中所包含的复杂含义。李飞飞TED演讲:www.yangfenzi.com/tag/lifeifei
李飞飞加盟谷歌的新闻,是随着谷歌云发布产品路线图一并宣布的。谷歌云还介绍了自己扩大对机器学习的使用的计划,机器学习对于云来说是一项关键的技术,它能训练大规模的AI网络,不断自我学习和提升。这一消息的宣布,目的是展示谷歌的云计算不仅仅是在服务器上renting time,还能基于机器学习算法为企业级用户提供服务。这些服务包括更加简单的翻译、计算机视觉,甚至是招聘。
Google 聘用李飞飞的消息,在某种层面上令人感到诧异。一直以来硅谷人工智能业界将李飞飞认为除了吴恩达 (Andrew Ng) 之外来自斯坦福的又一位技术领袖,但吴恩达从斯坦福来到 Google 又加盟百度,李飞飞却一直坚守在自己的教职上。知乎上有匿名用户称李飞飞和吴恩达之间有着明显区别,尽管她的 ImageNet 项目备受欢迎,她却并不是一个注重和工业界联系的教授。直到近两年,李飞飞才开始出现在和业界有关的新闻中,去年丰田和斯坦福联合成立的人工智能研究中心由李飞飞领导;加入Google,则让一直以来关注李飞飞动作的人们颇为兴奋。
而这则消息的另一位主角李佳,曾在 Google 实习,2011 年加入雅虎,2014 年成为资深研究员,开始领导雅虎实验室的视觉计算和机器学习部门。2015 年 2 月,颇受年轻人欢迎的社交/视频内容软件 Snapchat 为了推出新的功能组建了一只人工智能研发团队,聘请了李佳担任公司的研发主管并领导该团队。Snapchat 最近两年推出的很多新功能,比如实时换脸滤镜等,其核心技术都出自李佳的团队。
二人将在 Google 旧金山办公室工作。李飞飞和李佳是业内公认的计算机视觉领域的专家。计算机视觉是人工智能的一个分支,指的是训练计算机在图片中识别特定目标。Google Cloud 业务总裁戴安·格林表示,Google Cloud 让机器学习和人工智能可以被更多人所触及和使用,这一使命吸引了这两位人才的加盟。更多人工智能解读:www.yangfenzi.com/tag/rengongzhineng
李飞飞简介
李飞飞出生于北京,长在四川,16岁随父母移居美国,斯坦福大学计算机系终身教授,人工智能实验室与视觉实验室主任。李飞飞教授主要研究方向为机器学习、计算机视觉、认知计算神经学,侧重大数据分析为主,已在Nature、PNAS、Journal of Neuroscience、CVPR、ICCV、NIPS、ECCV、IJCV、IEEE-PAMI等顶级期刊与会议上发表了100余篇学术论文。
李飞飞于1999年以最高荣誉获普林斯顿大学本科学位,并于2005年获加州理工学院电子工程博士学位。2009年她加入斯坦福大学任助理教授,并于2012年担任副教授(终生教授),此前分别就职于普林斯顿大学(2007-2009)、伊利诺伊大学香槟分校(2005-2006)。李飞飞教授为TED 2015大会演讲嘉宾,曾获2014年IBM学者奖、2011年美国斯隆学者奖、2012年雅虎实验室学者奖、2009年NSF杰出青年奖、2006年微软学者新星奖以及谷歌研究奖。她领导的实验室研究成果受到主流媒体广泛报道与关注,包括New York Times、Science、Wired Magazine、New Scientists等。
被誉为“硅谷女王”的谷歌云业务主管黛安·格林(Diane Greene)在发布会上解释说,公司打算在云计算集团下正式成立一个人工智能部门,招募这两名专家是这项计划的部分内容。新成立的人工智能部门将不仅仅专注于人工智能研究,还会努力将先进的数据处理技术整合到谷歌云计算集团的各种产品中,比如企业用户用来预测销售额的软件。
格林说,新加盟的两位专家代表着人工智能热门领域的、世界领先的研究科学家、实践者和领导者。像谷歌、Facebook和IBM这样的公司都在大力投资研发与人工智能有关的技术,比如能够让计算机更迅速地执行海量数据任务的深度学习技术。格林还说,公司招募的这两位专家最令人欣喜的一点是她们都是女性。在人工智能领域,各大高校和技术公司的重要研究岗位上一直缺乏女性。
李飞飞在今年早些时候曾经谈到人工智能领域缺乏女性的问题,她当时说:“如果你是一台计算机并且读完所有与人工智能有关的文章,然后将文章中提到的人名都摘录出来,我敢保证女性屈指可数。”
据谷歌发言人称,李佳将在感恩节过后正式到谷歌工作,李飞飞将从2017年初开始工作。
人工智能领域顶尖人才竞争激烈
除了招入两位研究院,谷歌此次还一同发布了谷歌云产品路线图。谷歌介绍了自己扩大对机器学习的使用计划。机器学习对于云来说是一项关键的技术,它能训练大规模的AI网络,不断自我学习和提升。
谷歌云计算集团及机器学习部门的产品经理罗布·克拉夫特(Rob Craft)称,公司新招募的两名专家将帮助谷歌将机器学习技术应用到其他产品领域,公司正在努力让研发部门与核心业务更加有效地对接。她们都是在机器学习和相关任务领域拥有丰富经验的专业人才,招募她们的代价可不小。克拉夫特称,现在业内争抢人工智能专家的竞争非常激烈,在很多情况下,像谷歌这样的雇主最后为专家们开出的薪资待遇堪比NFL(美国国家橄榄球联盟)球星的签约费。但是谷歌没有透露它为李飞飞和李佳开出的加盟条件是什么。
罗布·克拉夫特表示:“人工智能领域里的人才招聘非常激烈。”克拉夫特说,人才竞争如此激烈的部分原因是现在人工智能领域的专家非常有限,各大高校培养博士生人才的速度没有谷歌期望得那样快。
谷歌云发布会上,还展示了谷歌的云计算基于机器学习算法为企业级用户提供服务。这些服务包括更加简单的翻译、计算机视觉,甚至是招聘。
谷歌此次宣布两位华人女性的加盟,也说明了人工智能领域里人才竞争的激烈。在各家科技巨头加紧布局人工智能领域的时候,越来越多的人工智能顶尖人才开始流向谷歌、Facebook等公司。例如,Facebook的雅恩·乐昆(Yann LeCun),谷歌的杰弗里·辛顿(Geoffrey Hinton),还有百度的吴恩达,这三位来自不同公司的人工智能专家有一个共性,那就是他们在进入这些科技巨头前,都曾是各自大学里人工智能研究领域里的执牛耳者。
·氧分子网(http://www.yangfenzi.com)原创文章,转载请联系授权。
·氧分子网(http://www.yangfenzi.com)延伸阅读:
➤ 李飞飞专访:斯坦福人工智能实验室主任谈人生起点与AI梦想
➤ 后 ImageNet 时代:李飞飞视觉基因组重磅计划,新一轮竞赛!
➤ 女科学家卢宇彤:超级计算机到底有多快?天河二号背后的故事
➤ 女科学家颜宁开讲啦演讲稿:人生的意义在于你为世界留下什么
➤ 青年女科学家胡海岚探秘头脑特工队,揭开抑郁症等情绪病密码
➤ 彭实戈、张益唐获2016年度“求是”大奖 | 孙家栋、杨振宁点评
➤ 编程传奇楼天城加盟百度美国研究院 百度无人驾驶车豪华团队曝光
Fei-Fei应该是华人AI领域最优秀的教授之一了,虽然坊间的说法是她比较push,但是她对中国学生一直很好,很愿意帮有志向的年轻人 实现理想。
Fei-Fei看到学生不用功,不管是不是自己的学生,都会打心里为他们着急。我当年在Berkeley的时候有一次Fei-Fei向Trevor告状说“Yangqing is just doodling around in the last semester!” 然后我那个学期的确就在瞎扯淡… 后来职业生涯上也很受Fei-Fei指点,受益良多。
近日,斯坦福人工智能实验室和计算机视觉实验室负责人、斯坦福丰田汽车人工智能中心负责人李飞飞教授正式宣布接受a16z的邀请,成为a16z在计算机科学领域的杰出访问教授(又名入驻教授,Professor-in-Residence)。
3年前,a16z宣布成立入驻教授项目,旨在为创业圈和学术界架起一座桥梁。入驻教授在推动学术界的研究成果更快速的向工业界转化的同时,能帮助a16z快速索定那些有意向进行技术成果转化的学术界人士。
李飞飞是计算机视觉领域最受瞩目的专家之一。她所带头创立的ImageNet是目前世界上图像识别最大的数据库。每年举办的ImageNet竞赛都会吸引计算机视觉领域的顶级研究团队参与其中,不断刷新各项比赛的成绩。
在成为a16z的入驻教授后,李飞飞和a16z的合伙人Frank Chen坐到一起,畅聊了有关人工智能、深度学习、GPU、自动驾驶、机器人、计算机教育等热点话题。
将门听译了这段时长38分钟的podcast,希望与大家分享李飞飞的思考。
问:您是如何看待人工智能(AI)在创业圈和学术圈又重新火起来的现象?
在我看来,AI的热潮从未退去过,这并不是什么新鲜事。AI 这个学科已经有60年的历史了,不过这60年一直是AI的“体外”阶段(vitro time)——大多时候它只存在实验室和研究中心里。在那里,我们打下了很多AI的数学基础,制定了AI问题,还测试了很多AI算法的原型。
现在AI正在迈入它的“体内”时代(vivo time)——它进入了我们的生活。那么导致这一转变的背后推手是什么呢?首先,现在AI 技术已经足够成熟了,这一点上主要有以下几个驱动因素:
大数据为AI做的贡献。信息时代下,互联网为我们带来了庞大的数据量
几万亿个传感器提高信息量
运算硬件。CPU 和GPU的提高,还有计算机集群
因此,数学基础、机器学习的统计工具、大数据以及新硬件四个条件的相得益彰,带我们走进了AI的这个历史时刻。
问:对于硬件,我们发现深度学习在GPU上比CPU运行更有效,因为它把任务作为线性代数处理而且可以并行运算。您认为以后会有深度学习专用的芯片吗?它如何构造以拥有有更强大的并行计算能力?会不会和现在Nvidia做的芯片完全不同?
我觉得会有并且希望会有。Nvidia是现有深度学习芯片的领导者之一,因为他们的GPU是高度并行的,可以进行高级别的并行作业。由于“神经网络”或“神经网络卷积”的深度学习算法中有很多操作都是重复计算,这些都是可以同时完成的,因此GPU 大大提高了运算速度。GPU对训练深度学习来说真的是太完美了,但我认为我们在快速测试和时间推理芯片上依然有很大的进步空间。会有更专用的芯片可以植入到设备里,我觉得这是深度学习芯片的趋势。
但是我觉得,目前我们还在探索阶段。因为算法还没有足够成熟。我们还要探索怎样是最佳方式。今年我去了一个深度学习的大会,best paper的其中一篇是来自于斯坦福的Bill Daley实验室。他们在探索把更聪明的算法用于一个具体的芯片设计。所以现在,为了设计出创新的芯片而提高算法的这件事还在进行中。
我觉得现在很重要的一点就是科研和设计要同时进行。算法和芯片设计的关系就像是“鸡生蛋还是蛋生鸡”的问题——算法导致芯片设计的变化,但是芯片的设计局限也会导致算法的变化。我觉得现在是时候在这上面投入资源去探索这一点了。当然,从商业模型的角度来说,我们也要很谨慎。
问:现在深度神经网络很火,但是在过去的这60年里,我们尝试过很多不同的技术。大家会一直对深度学习抱有热情么,还是现在火一阵也会有别的替代?
很多人都在问我这个问题。深度学习是这一切的答案吗?
首先,我很开心你提到了其他的算法和工具,当你回头看看AI的发展,在早期的Manske MacArthur 年代,他们用了很多一阶逻辑和专家系统,那些都基本来自于认知设计规则。
但是我觉得AI真正开始的第一阶段是机器学习——是统计类的机器学习算法带来的。我们看到了提升算法、贝叶斯网图形模型、支持向量机、回归算法,还有神经网络等等。所以那20-30年在机器学习算法上的发展奠定了今天AI使用统计类机器学习的基础。
我们不能个小看这点。深度学习从不是一个新鲜话题,它其实是在六、七十年代,由Kunihiko Fukushima等人一步步发展起来,之后又由Geoff Hinton,Yann LeCun 和他们的同事不断壮大的。
我觉得神经网络结构里其实有些部分是很强大的。这是一个容量很大的模型,它可以让几乎任何算法在知道任务目标的基础上,利用数据做端到端的训练,并且同时做到优化。
最明显的例子是我们现在经常讨论的有监督和无监督训练。
很重要的一点是目前我们的重点往往仍只关注于有监督训练,但我们的电脑并不能像小孩那样去学习。
首先,我们都不知道小孩是怎么学习的。有很多发展心理学的理论都还未能在计算机科学领域应用。有监督学习在可以注释的数据上很管用,但是,当他被应用在更实际的训练场景时,会很模糊。举个例子,如果某天一个公司做出来一个小机器人送到你家,然后你想让这个机器人适应你和你家人想让他做的事,最好的学习方式肯定不是把它打开然后给它全部注释的数据。你希望可以告诉和展示给他看,让它观察和学习。但现在的深度学习还做不到这点。
但是,有监督和无监督训练的差距还远远不止这点。这里还涉及到了对“智能”的定义。特别对工业界来说,任务主导的智能很重要。标记图片、避让行人、语音识别、录制对话、搬运物品……这些具体的任务主导的应用是AI很重要的一部分,但是,我们还有个“强人工智能”(AGI,artificial general intelligence)的概念,包含推理、概括、沟通、情感互动,理解智能和目的规划学习以及理解环境的人工智能。
以上这些我们现在都还不知道怎么去实现。
问:创新人工智能(creative AI)在你待解决清单的什么位置?
其实,我们先要问自己一个问题,什么是创新?如果你去看AlphaGo 赢的那4场比赛,李世石在每场里都有对AlphaGo做出的决定感到惊讶的瞬间。在围棋社区里,不少人都对AlphaGo具有能下出人都想不到的步骤的创造力而感到吃惊。
从这点,我们已经看到创新和人工智能的创造力了。这个创造力的一部分就是能做出我们预测不到的正确的选择。这些现在已经是现实了。
一个很有趣的现象,目前有些深度学习已经开始在转换艺术了。你可以给它一幅梵高的画,它可以把一张图转换成那副画的风格。但我同意,这只是个模仿机制。我们所说的创造力是可以混合我们的逻辑思维、感性思维 和直觉思维,我至今还没有在任何建立在数学公式上的作品里看到这样的表现。
这就回到了我之前说到的三点里的“大数据”那一部分:究竟AI能不能通过学习海量的数据,做出真正创新的、数据里没有的东西?我们已经看到机器可以模仿不同的画画风格,因为他们通过数据可以分析出不同类的风格。但是,现在的问题是,用深度学习我们最终可不可以完全生成一套崭新的东西? 我们离印象派和立体主义这些还都很远,因此回到一个更平凡的层面,比如计算机视觉。我们近期的一些工作可以实现对一张图片进行简单的描述,接下来我们做的是对一张图片进行Q&A。
我们在想,能不能开发一种算法,它不仅可以通过训练数据来学习,也可以学习如何去学习、学习如何问出合理的问题。举个例子,在我们最近上交的一份paper里,我们给电脑一张图片,然后问他图里的女生在干什么。电脑反过来,需要先问我们一系列问题,才能回答我们的问题。所以,这个算法需要学习如何不直接回答问题,而是先探索正确问题的潜在空间,再达到正确的答案。学习如何去学习是我们希望孩子们掌握的能力,这也是我们希望算法可以做到的。
问:我很喜欢你之前说的关于人工智能“体外”和“体内”阶段的描述,处在转换的这个时间点,你觉得现在的创业公司会为体内阶段带来什么不同?
首先,现在的算法已经成熟到工业界和创业界都可以使用的阶段了。20年前,只有少量的几个世界顶级的实验室才有可以真正能做事情的AI算法,那时AI还没有渗透到其他行业和大众群体中。所以在当时,一个创业公司甚至一个大企业想拿到这些算法都是很难的。
当然还有其它原因,现在互联网的大爆炸,更多感应器的应用,导致现在AI的应用面大了很多。要想收集数据,我们要管理和理解信息。这带来了很多智能算法的需求,这就是现在AI的应用之一。
有了这些意识和目标,现在才有了自动驾驶汽车这类的场景。突然之间,我们需要开始创建驾驶汽车的智能算法了。这也是我觉得现在AI一下子火起来的另一个原因。
问:那么对于创业公司和大公司都开始做自动驾驶的人工智能这件事,你怎么看?小公司和大企业的贡献该如何更好的分配?
从谁会赢得“自动驾驶”这场比赛的角度来看,我觉得对像丰田这样的大公司来说,只要他们全力投入,在车上安装镜头,他们就可以很快拿到大量的数据,这点对于小创业来说很难。像Google这样的公司,他们一开始没有车,但是有算法。他们开始的很早,所以他们现在既有数据又有算法。虽然他们是软件公司出身,并不是一个开始做软件的汽车公司,但软件的重要性仍使他们拥有很大的优势。
那对于创业公司来说,他们的优势在哪里?我觉得有很多商业场景,对于大公司来说不重要,但创业公司可以瞄准更细化精准的领域或者垂直行业来建立他们的数据和算法。或者可以走MobileEye的路线 ,不做整个系统、整辆车,而是把一个关键的零件做的比其他任何人都好。
问:你的同事Andrew Ling离开斯坦福后在Baidu开了一间人工智能实验室,帮助Tesla进行技术研究,但因Tesla近日的自动驾驶事故而受到了一些困扰。目前看来一些基本的驾驶场景自动驾驶汽车还不能很安全的处理好,Andrew也表示自动驾驶技术目前仍处于未成熟的阶段。我知道你也参与到丰田汽车项目的研发中,因此这件事你怎么看?
当Tesla的AutoPilot面世时,我在Youtube上看过他们的一些视频。作为一个母亲,我绝对不会让我的孩子坐到这样的车上。因此,从这个角度上看,我的反应是有些拘谨的。但我真的希望在商业和消费者之间能有一个很清晰的沟通策略。不过我没有买Tesla,所以也不知道Tesla是怎么和他们的用户来沟通的。
但如果Tesla已经明确的告诉他的用户什么时候应该相信自动驾驶系统、什么时候应该用这个系统、什么时候不应该相信,这个时候,我们就又面对了另外一种情形,当Tesla已经尽到了所有告知的责任,而消费者操作失当时,谁应该来背这个锅。因为每一台机器,如果操作失当,都有可能产生让人心惊肉跳的后果。我想我们需要一个的是一个全社会都来参与的对话。
在我们的斯坦福-Toyota中心,有一组教授正在奋战于各种各样的项目,其中有一个很大的项目就是由HCI组所领导的。有一件事是我们特别需要谨记于心的是,与计算机相比,人类其实是运算极其缓慢的计算机器。和晶体管比起来,信息在我们脑海中传递的速度是非常慢的。如果要产生运动行为,从我们的大脑再到肌肉的这个过程,就更慢了。所以当我们在讨论人机交互和瞬间决策这个话题的时候,一定要把这个考虑进去。
问:这其实让我想起了很有名了电车难题(trolley problem)。当自动驾驶的车辆在行驶中遇到前面的车辆突然刹车的情形时,它是应该选择不作为,直接撞上去,令车里的人受伤呢?还是向右转,撞到旁边骑摩托车的人呢?又或者是向左转,撞上一辆小型货车呢?如果发生事故,谁需要对此负责任呢?算法的设计者?
这其实就涉及了近几年来我一直在AI的教育和研究上所倡导的一个理念——我们需要在机器当中注入很强的类人思维的元素。科技发展越来越快,它们和人产生接触,进入我们的真实生活中,我们所思考的方式以及开发和设计的算法,让我们的生活变得更美好。但科技如何才能与人类更好的融合共存,我认为需要给它加入那么一点人类思考的方式进去。
这个项目的负责人是Silvio Savarese教授,他们研发了一个名叫Jack Robot的社会机器人(social robot)。Jack Robot其实是一个自动驾驶的机器人/交通工具,它主要想要解决的是我们在驾驶上所谓的最后一公里问题,它的使用场景是在一个更社会化的空间中,而非高速公路上,像人行道、喧闹的城市、校园、机场等这些地方都算。
所以,当我们来看驾驶的最后一公里问题或者仅仅只是社交场所的时候,我们突然发现它要解决的就不仅是行驶在高速公路上所有需要注意的事情,如了解周围的布局、路人、小巷子,你还需要能够找出一种方式,能够让人类觉得是素质的、可接受的。
有些人可能会说,那这个简单了,让它们保持足够低的速度前行,遇到人就停下来不就行了。其实我们也测试过这种方法了。但结果是,如果按照这么来办,那这个机器人想要去一个地方,基本上是不可能的事了。因为在一个很拥挤的环境里,一定全都是人。如果机器人完全遵循上面的做法,它就会一直在礼让行人,那么就哪儿也去不了,只能停留在原地。
问:坦率的讲,如果把这个机器人放在旧金山的街道上,估计会被踹好几下。在那么挤的街道上,它又移动地这么慢,人们是不是就怒了?
是的,我们确实想过这个问题。但目前为止,我们还没有想到解决办法。我想这个机器人必须要有一个能够进行求救的电话功能。但打造一个这样的机器人,其实我们想要解决的是一个“如何能在理解人类的社交运动后,能成功完成某项任务”的问题。比如能在校园里,把某个东西从A点运送到B点。当然,是用一种有素质的方式。
所以一开始我们在斯坦福的校园里去用数据记录人们的行为方式,观察他们在小范围聊天的时候是如何聚焦到一起的,以及他们是如何行走的。尤其是在早上9点的时候,斯坦福校园里很多学生要赶着去上课,而他们行进的方式并不是完全随意的。根据要去的方向,他们会形成一些很有趣的花样。
我们收集了这些数据后,把它们注入到我们的算法中,让算法去学习这些数据,并且着重去注入一些社交的准则(social rules),比如:
在去一个相同的方向时,人们会倾向于跟随其他人;
当人们在聊天时,你不会轻易打断他们。
但我们给到的一些社交线索也只是比较笼统的,至于去具体的像什么时候要去避开两个正在聊天的人,要从多远开始避让,是在10英尺的地方还是2英尺的地方,这些都是需要算法去通过自己的观察去。
问:因为每个地方的风俗都是不一样的,所以这些机器人是每去到一个地方,就需要拿当地的数据去训练它一遍么?
这是一个很棒的问题。我的回答是,目前我们还只能是根据地点的不同去一个个训练它们。我们需要去收集不同地点的数据。但就像我之前说的,我的下一个梦想就是希望能教会机器人应该怎么去学习,而不是模仿训练数据。如果到那个阶段,机器人应该具有线上学习以及增量学习的能力。
问:我想听你再多说说之前谈到的人道主义方面的问题。你说你希望在计算机科学中注入更多的有首人文科学的东西?
3年前,我就开始思考,其实在我的职业生涯里,正上演着两个让人们觉得恐慌的事件。一个是人们觉得终结者就要来临,人工智能(AI)开始变得邪恶,我们有一天将会被这种邪恶的力量所统治;另一个是在我所处的STEM/AI行业里,女性的角色太少了。
当我想清楚的时候,我发现其实它两者都和一个很重要的假设有很大的关系——在开展有关科技的教育和研发的过程中,我们缺少了人本思维和人本使命的宣言。所以现在让我们来看第一个问题,为什么我们会认为技术会变得邪恶?技术都是掌握在人类的手中的。
技术本身是中立的。大到核武器,小到一把能切苹果的刀,只是在不同的人手中,才产生了不同的后果。因此,为了让技术肩负起它应有的责任并且不作恶,我应该追求是这样一个社会——我们的技术人员应具有人本意识和思维,能负责任的将技术进行恰当的使用。
关于第二个问题,为什么政府没有投入足够多的资金去吸引足够多的女性进入STEM和我所在的领域?我发现其实要去说服女性加入这些领域是非常困难的。拿斯坦福的学生来说吧,他们都是极其聪明的。几乎来到斯坦福的每个学生,不管是本科生还是PhD,他们都非常擅长分析问题、有很好的写作能力、关心着整个世界。我突然意识到的是,在我所处的这个领域(在硅谷也是),我们并没有向社会中各行各业的人们传递正确的信息。
我们往往只是去推崇极客(geekiness)和书呆子(nerdiness)。当一个拥有远大抱负的女生走进我们的学院或者是我们的AI实验室的时候,她可能正在思考的是老龄化的问题、如何治愈癌症的问题,以及一些其他众多与社会息息相关的重要问题。如果我们只是展现出我们对极客感兴趣,喜欢去一些极客的事情,那我们就会错失一大批真正想将技术应用于解决人类问题的人。因此,我开始意识到由于我们对于人工智能中的人道主义使命的思考和关注不够,使我们错失了很多去促进这个领域多元化发展的机会。
在我和我之前的学生Olga Russakovsky的设计下,我们的实验室发起了一个让高中女生来学校参观两个星期的夏令营。我们希望能够吸引到那些开始思考她们是谁、她们未来想做什么的女生。创办这个夏令营,我们最希望达成的目标有两个。
一个是我们希望能从技术层面去激发这些在数学和计算机方面拥有天赋的学生,他们将是未来AI的领袖。但同时,我们想要吸引的是那些还没有开始思考AI到底是什么的学生。他们还不了解AI当中所蕴含的人文使命。实际上,在暑假里,我们做了一个非常严格的假设测试,并写成了一篇技术论文。
我们的夏令营从一早就开始了,学生们会去听非常严肃的讲座、和TA和博士以及博士后学生们一起去探究AI方面的技术问题。下午的时候,她们会被分成4个研究小组,每个小组都是一个有关AI的技术项目,比如说计算机视觉、自然语言处理或计算生物学。
不过,我们在每个项目中都加入了很强的人文陈述。举例来说,去年,我们开设了4个项目。计算机视觉项目通过步伐传感器去观察医院的环境,帮助医生和护士去监测手部卫生的情况。自然语言处理项目通过运用在自然灾害时期Twitter上的数据,比如说地震,进行正确的数据挖掘工作,试图找出能够帮助人们进行灾后援助的信息。
其实每一个项目都是非常技术的,但与此同时,她们又真切的学会了如何将技术与人类的问题相结合。我和我的两个本科学生、一个博士学生组成了一个研究小组,我们针对以下的这个假设设立了一个非常严格的评估项目:人道主义是否能够增强人们对AI的兴趣?结果我们发现在数据层面,这些女生对于这个话题的兴趣在项目开始前后有巨大的不同。相关的论文将会发表在计算机科学和教育大会上。今年我们还会开展这个项目,我们也真的希望它能成为一个长期存在。
机器之心
风格迁移一直是机器学习领域内的一项重要任务,很多研究机构和研究者都在努力打造速度更快、计算成本更低的风格迁移机器学习系统,比如《怎么让你的照片带上艺术大师风格?李飞飞团队开源快速神经网络风格迁移代码 》、《谷歌增强型风格迁移新算法:实现基于单个网络的多种风格实时迁移 》。今天,Facebook 又在其官方博客上宣布了一种可以用在移动设备实现实时风格的深度学习系统 Caffe2Go,自称能在眨眼之间完成处理的任务,而且还能实现高质量的视频风格迁移。Facebook 还表示该项目将会在未来几个月内进行部分开源。
随着视频通话逐渐成为人们交流的主要方式,Facebook 希望创造最新的视频创意工具来帮助人们表达自我。最近,他们在手机 app 中测试了新的相机应用,实时在视频中添加艺术元素。这项技术被称为「风格转换」。它可以将一张图片中的艺术风格,例如梵高的画作,加入普通的图片或视频中去。这是以往技术上难以实现的事,通常这需要将参考图和要处理的数据发送到数据中心,通过大型服务器进行处理。Facebook 最新开发的移动端深度学习平台第一次摆脱了信号塔的束缚,可以实时捕捉、分析和处理图像,将最新技术放进人们的手中。这一新程序被称为 Caffe2Go,是一个完整的深度学习系统,它的架构已经嵌入手机 app 中。通过将处理图片和视频的人工智能模型压缩至百分之一大小,Facebook 现在已经可以在 iOS 和安卓系统中高效运行深度学习网络。最终,Facebook 公司的应用可以在部分手机中以不到 50 毫秒的速度完成人工智能任务的处理,而人眨眼需要的时间大约需要 300 毫秒。
Facebook 的视频风格迁移 – 腾讯视频http://v.qq.com/x/page/r0344wdp6s6.html
相机风格转换工具是两种技术的结合:Caffe2Go 运行环境与风格转换模型。Facebook 的人工智能团队一直在处理算法与大规模系统,他们一直在致力于开发新模型,让风格转换更加快速稳定。于是,现在你拿起手机,开始摄像,梵高的绘画风格变得无处不在了。
Caffe2Go 项目在三个月前开始,目前没有其他公司的产品能够做到这样的效果:让人工智能风格转换变成创作工具。不仅如此,Facebook 做到了更多,他们让这种应用可以在手机中实时处理图像。该项目的研究者跨越产品、技术和研究者。FAIR 团队的 Justin Johnson 是一篇描述该项目技术基础论文(Perceptual Losses for Real-Time Style Transfer and Super-Resolution)的作者,他们在前人的努力基础之上开发了新的技术;应用机器学习团队则通过努力将 AI 引擎塞进手机设备中;相机团队负责满足用户需求;正是因为所有人的努力,这些团队构建了运行在移动设备上的高效神经网络。我们将解释如何思考和开发这一应用技术的,从 Caffe2Go 开始。
Caffe2Go
轻量快速
人工智能对计算机科学产生了深远的影响,但它的应用一直被局限在大型数据中心里,距离普通用户存在很长一段距离。大多数时候,人工智能「实时处理」应用将数据发送到远端数据中心,通过那里的 GPU 来处理,物理距离造成了不可避免的延迟。我们认为使用超级计算机进行实时处理是不实际的,于是我们转换思路,努力让人工智能在移动设备的 CPU 中运行。
没人想拖着一台超级计算机出门
手机可以拍照,通话,也可以实时理解用户所需,不需要连接远端服务器,但它们的性能有限。尽管近年来硬件设备的发展让移动设备的计算能力有了很大改进,手机 CPU 现在已经可以在一秒钟内进行数十亿次运算,但智能软件在设计中还要面对诸如功率,存储器和计算能力的各种资源限制。因此,移动设备环境对机器学习系统提出了机遇和挑战。
面对这些挑战,我们的解决方案是设计超轻量级模块化框架。为此,我们以开源的 Caffe2 项目为基础,遵循 Unix 理念开发了 Caffe2Go。我们确保了用于声明和连接组件的核心架构的轻量化,允许多种组件与其连接——包括对于移动设备的专用优化。我们保留了一个精巧的算法框架,允许工程人员将抽象概念描述成有向无环图(DAG),同时确保没有约束被强加在图中执行节点的输入和输出上。这允许我们的工程团队能够在不同平台上实现和优化模块,同时可以轻松地连接各种模块。当图像实时输入时,通过硬件功能进行自我实例化可以达到最大处理速度。
速度是计算密集型移动应用的关键,特别是对于图像和视频处理而言,框架的轻量级设计允许我们为特定的运算符执行平台进行特定的优化。NNPack 库是其中一个例子,Caffe2 集成在移动运行环境中时,通过使用移动 CPU 中被称为 NEON 的功能,可以显著提高运算速度。在 iOS 设备上,我们也正在着手集成加速功能如 Metal 语言。所有这些都是通过模块化设计完成的,无需改变一般模型定义。因此,算法端和运行环境可以互相依靠,不必担心兼容性的问题。
面向开发者
Caffe2 是我们的第一个产业级深度学习平台,它可以在服务器 CPU、GPU、iOS 和安卓四种平台上运行,使用同一种代码。因为我们的模块化设计,这种架构在不同平台上都使用同一种语言,但对每个平台都有优化。这是一个开发人员不必担心的细节;例如,可以在移动端 NNPack(iOS 和安卓)和服务器 GPU 的 CUDNN 中进行选择。在 Caffe2 中,算法开发者可以专注于算法,无需考虑如何运行卷积。
快速的部署设计也能使开发者受益。从开发者的角度看,调试移动设备的运行时间可能是一项挑战,因为移动端工具链(toolchain)并不如桌面的和服务器的工具链那么先进。我们通过从硬件上抽象神经网络的数学而解决了这个问题——一个 Caffe2go 中的串行化网络(serialized network)在被应用于移动手机和服务器时可以得到相同的数值输出。其结果是,我们可以将大部分工作(模型训练、性能评估、用户体验研究)移动到服务器环境中进行;当结果看起来不错了之后,就可以实现在移动环境中的一键式部署了。
训练风格迁移模型
风格迁移(style transfer)并不是什么新概念。它最早是由研究人员在发表于 2015 年 8 月的一篇题为《A Neural Algorithm for Artistic Style》的论文中引入的。但是,当时这项技术的速度还很慢,而且需要强大的服务器。后面的几个月,研究社区改进了这项技术,将其速度提升了几个数量级,但也还是需要依赖服务器上的大量计算能力。
Caffe2go 成功使人工智能实现了高速处理,并且可以集成到你手上的移动设备中。但该风格迁移模型仍然还需要优化,这样才能在确保实时体验的同时还能保证得到高质量、高分辨率的图像。
优化成有效的模型大小
传统的风格迁移研究得到的模型(甚至只是前馈变量)是很大(在参数的数量方面)很慢的。我们的目标是创造能够运行新的、更小的、更高效的模型的风格迁移应用——能够在 iPhone 6s 或以上的手机上不掉帧地提供 20 FPS 的高质量视频。
为了减小该模型的尺寸,我们应用了 3 种主要的方法:优化了卷积层的数量(这是处理中最耗时间的部分)、优化了每一层的宽度、以及调整了处理过程中的空间分辨率(spatial resolution)。卷积层的数量和宽度是可用于调整处理时间的单独指标——即调整图像有哪些方面需要处理,或调整一个单独的处理过程需要多少时间。对于空间分辨率,我们可以调整中间层中图像实际被处理的大小。通过较早地使用池化(pooling,缩小正被处理的图像的大小),我们可以加速处理时间,因为系统不再需要处理那么多的数据了。我们还发现,使用这些技术,我们可以极大地减少该网络的宽度和深度,同时还能保持合理的质量。
提升质量
图像质量是主观的,非常难以测量——尤其是对于风格迁移这样的东西。因此我们打造了一些可视化工具,其中包括 A/B tests;并训练了不同的模型以确保我们可以得到最高质量的图像结果。我们的大型 GPU 集群由 FBLearner Flow 驱动,让我们可以快速扫描大范围的超参数(比如模型架构、内容/风格权重、和下采样),从而找到满足我们的性能目标同时能保持和提升质量的训练良好的前向风格(feedforward style)。
在提升质量方面还有很多其它的技巧——比如,应用实例规范化(instance normalizatio)而不是常用的批规范化(batch normalization)能有助于多种风格,同样避免卷积层中的零填充(zero padding)可以减少伪像,也可以将不同的预处理或后处理过滤器应用到风格或内容图像上。但在我们的测试中,我们发现这些方法往往在一些风格上效果良好,在另一些风格上则效果不佳。
凭借在这项风格迁移技术上的速度和质量优化,使用 Caffe 2 框架,我们就可以将一种实时图像处理系统应用到移动设备上。
展望下一步
Caffe2go,加上 Torch 这样的研究工具链,是 Facebook 的机器学习产品的核心。因为其在大小、速度和灵活性上的优势,我们正在将 Caffe2go 推广到整个 Facebook 的 stack 中。
我们还在致力于和社区分享我们的软件和设计,从而让我们可以学习更好地利用多种硬件平台和算法设计的特性,这在跨平台机器学习系统中是尤其重要的。在未来的几个月,我们将会部分开源该人工智能框架。
随着我们的进步,你可以想象出设备上实时运行的人工智能可以如何帮助世界更加开放、人们更加互连。我们手中的智能设备将继续颠覆我们对「智能(intelligence)」的认知方式。有了像 Caffe2go 这样精巧的机器学习系统,我们将致力于为人们带来更赞的人工智能和增强现实体验——让你在拍视频的时候,设备里还有一把梵高的画刷。
近些年深度学习在图像领域可以说取得了爆炸式的发展。首先是图像分类(image classification)这一块,自2012年Krizhevsky 【1】提出利用深度卷积神经网络(CNN)进行图像分类后,图像分类的准确率年年提高,去年2015年甚至将分类错误率降低到了5%以下,直接逼近甚至超过了人类的分类准确率。 然后是目标检测(object detection)这一块,借着CNN的东风,Girshick 和Kaiming He 两位大神分别提出R-CNN、SPP net、Fast R-CNN、Faster R-CNN这些网络模型,甚至Kaiming He 去年的一篇文章直接将网络深度加深到前无古人的152层,这些工作带领目标识别领域进入了一个前所未有的发展高峰期。好,既然现在计算机已经能做到这么好了,我们可以说计算机已经理解图像了吗?李飞飞在演讲中告诉我们,不,还远没有。给计算机输入如下一副图像,我们不是希望它将这幅图像分到“马”这个类别中,也不是希望它告诉我这是马,这是人,这是狗,我希望它能告诉我“一个人骑在一匹马上,他的狗坐在马前面”,甚至我希望它能告诉我“在一个阳光明媚的下午,一个穿着牛仔衣服的年轻小伙坐在一匹健壮的马上,他的爱犬坐在马的前面,他们相互对望着,看起来非常开心”,这样,我们才能说计算机‘理解’了图像。那么怎么才能做到这一点呢?怎么才能让计算机准确地描述图像中的目标以及他们之间的相互关系呢?我相信这才是题主想要问的问题。
接下来的这些内容,我是假设大家都对CNN、RNN、LSTM、word embedding等比较熟悉的,如果不熟悉,可以去看一看我们之前的这篇回答(CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别? – Ph.D(er) 的回答),将会对你理解接下来的内容非常有帮助。
如何让计算机根据一副图像自动生成它的文字描述?为了解决这个问题,我们得首先跳到另外一个领域,就是机器翻译领域。机器翻译面对的是这样一个问题,输入一段文字(比如英语),输出用另一种语言(比如法语)表达同样意思的一段文字,要求输出的句子是连贯的、语法正确的并且同时要和输入的文字表达同样的意思。过去可能有很多别的方法,但基本都是基于句法规则的,生成的句子显得不太自然(相信大家以前用Google翻译的时候都体会过)。但近些年来,人们发现用深度神经网络来做机器翻译,可以取得非常好的效果。
机器翻译(machine translation)
思路是这样的,将输入句子(source sentence)和目标句子(target sentence)表示在同一个向量空间,当输入一个句子时,将其encode成一个向量,这个向量包含了句子的语义信息,然后将这个向量decode,得到目标句子。接下来我们按照encode和decode分成两个部分来介绍。
Encode
如何将一个句子表示成一个向量形式,同时又要不丢失语义信息?这篇文章【2】中给出了一种基于卷积操作的方法。如下图所示:
我们可以通过word2vec将句子中每个词表示成一个K维的向量形式,这里每个词向量是表示了词的语义信息的,然后进行几次纵向的卷积操作,最后可以得到一个1*K维的向量,这个向量就被当成是这个句子的向量表达。
文章【3】中是通过一个RNN来对输入句子进行encode的,如下图:
把源句子中的词一个一个顺序输入,RNN对输入的词进行如下操作:
每一个当前状态的输出是基于之前所有词的输入,因此文章【3】中将最后一个时刻隐藏层的表达当做整个句子的向量表示。
但我们知道用梯度下降算法进行训练时,会出现梯度弥散的现象,解决的办法是隐藏层使用LSTM,于是文章【4】就是利用LSTM进行的encode,其实就是将上文【3】中的f()函数用LSTM代替,同样是利用最后一个时刻隐藏层的向量当做整个句子的向量表示。
Decode
上面讲了如何对一个句子进行encode表示成一个向量形式,那么如何把这个向量空间中的一个向量进行decode来得到一个完整句子呢?其实基本也都是用的RNN来进行decode的。
我们将源句子的向量表示和目标句子中第i时刻的词的词向量一起作为RNN网络的输入,如下面公式所示,s表示源句子的向量表示(source sentence),V(f_i)表示的第i个词的词向量,通过隐藏层计算后,再通过一个softmax函数生成一个K维的向量(这个K表示词典的长度),向量中每一维的值表示基于前面的词以及源句子后,出现下一个词的概率。在训练阶段,我们进行优化使目标句子中的下一个词出现的概率尽可能的大;在test阶段,我们将预测概率最大的一个词的词向量作为下一个时刻的输入,不断循环往复,直到生成完整的目标句子(一般句子的开头和结尾都会给一个特殊的标签来表达的)。
因此我们最后的目标函数表达如下,它表示的是输入一个英文句子后,输出一个对应的法语句子的概率是多少,我们希望这个值尽可能的大:
最后我们可以将这个网络完整表示为如下所示:
当然这是文章【3】中的示意图,它是RNN-RNN的结构,对于【2】的CNN-RNN,将CNN产生的句子向量作为上图中的C输入即可,对于【4】的LSTM-LSTM将上图中的隐藏层改为LSTM即可。
对于基于深度神经网络的机器翻译我就简单介绍到这里,接下来我们回到正题,如何生成一幅图像的文字描述。
图像描述(Image Descriptions)
其实仔细去想,如果我们将一幅图像表示成一个向量形式,再对这个向量进行decode,其实原理上和机器翻译非常类似。那么我们如何将一副图像表示成向量形式呢?
比较普遍的做法是利用【1】中的CNN网络,首先将这个网络在ImageNet上预训练,然后将倒数第二层的4096维向量作为这个图像的向量表示,通过一个线性变换将其表达为一个D维(和文本向量再同样维度)的向量。 然后类似机器翻译中的decode过程,将其作为RNN的输入,最后产生一段文本,这段文本基本就可以认为是这幅图像的 一个文本描述。如下图所示:
具体实现细节上稍微有些差异,比如【5】中使用的是LSTM模型、图像的向量只是作为0时刻输入一次、每个词向量表示为one-hot形式输入:
它的部分结果如下:
而文章【6】中在每个时刻都将图像向量和当前的词向量一起输入:
它的部分结果如下:
李飞飞组似乎更关注图像各个目标的信息,而不是全局信息,他们组一直在考虑如何将图像的各个区域(fragments of images)和文本中各个碎片(fragments of sentences)联系起来,生成dense descriptions of images【7】【8】,如下:
不过这样做的原因感觉他们希望能提高图像—文本检索的准确率,看成一个检索的任务而不是直接生成description 的任务。
。
总结
生成一幅图像的文本描述是一件很有意义的事情。我们知道人们传递信息一般有三种方式,文本、语音、图像,这三种信息的传递方式各有各的特点。如果能构建一个桥梁将它们联系起来,将会更好的传递信息,给人们带来更多的便利以及想象空间。文本和语音的关联上人们做了很多的研究,但是图像和文本之间人们似乎一直没有很有效的将其连接起来。我上面说的这些都是非常好的努力,它帮助计算机更好的去理解图像,并且在图像—文本相关联的一些任务(比如检索、问答等)上可以带来非常大的帮助。
另外非常值得一提的,我们这篇文章最开头TED演讲的主人公李飞飞教授,在将深度学习应用到图像相关领域的这个潮流中起到了非常重要的作用。当年是她着手构建了图像分类的数据库ImageNet ,并且举办了一年一届的ImageNet Large Scale Visual Recognition Challenge (ILSVRC)比赛,正是有这么大量的数据集可以训练以及这个比赛去促进大家,才使得Krizhevsky A的Deep CNN能够有大量的数据训练并且拿下2012届比赛的冠军,然后让深度神经网络一下子火爆起来,然后促进了现在图像相关领域的巨大发展。
前段时间,李飞飞组又发布了一篇文章【9】,这篇文章中又开放了一个非常庞大而细致的数据集Visual Genome,在这个数据集里包含了每幅图像中的对象、属性、关系,这个数据集提供了一个多层次的图片理解。我们期待这个数据集能像ImageNet一样,进一步促进计算机去更好的理解图像,带给我们更多的惊喜。
最后,心疼李飞飞的学生们
参考文献
【1】Krizhevsky A, Sutskever I, Hinton G E. Imagenet classification with deep convolutional neural networks[C]//Advances in neural information processing systems. 2012: 1097-1105.
【2】Kalchbrenner N, Blunsom P. Recurrent Continuous Translation Models[C]//EMNLP. 2013, 3(39): 413.
【3】Cho K, Van Merriënboer B, Gulcehre C, et al. Learning phrase representations using RNN encoder-decoder for statistical machine translation[J]. arXiv preprint arXiv:1406.1078, 2014.
【4】Sutskever I, Vinyals O, Le Q V. Sequence to sequence learning with neural networks[C]//Advances in neural information processing systems. 2014: 3104-3112.
【5】Vinyals O, Toshev A, Bengio S, et al. Show and tell: A neural image caption generator[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015: 3156-3164.
【6】Mao J, Xu W, Yang Y, et al. Explain images with multimodal recurrent neural networks[J]. arXiv preprint arXiv:1410.1090, 2014.
【7】Karpathy A, Joulin A, Li F F F. Deep fragment embeddings for bidirectional image sentence mapping[C]//Advances in neural information processing systems. 2014: 1889-1897.
【8】Karpathy A, Fei-Fei L. Deep visual-semantic alignments for generating image descriptions[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015: 3128-3137.
【9】Krishna R, Zhu Y, Groth O, et al. Visual Genome: Connecting Language and Vision Using Crowdsourced Dense Image Annotations[J]. arXiv preprint arXiv:1602.07332, 2016.
要识别一套验证码,首先需要建立这套验证码的识别库,也就是每个字符对应的特征。这个特征大概就是记录这个字符长什么样。
然后程序在读取到一张验证码之后一般会进行图像分割,去杂点杂线处理,图像二值化处理等。这一系列处理之后再与识别库中的字符进行对比。
其中值得说的是二值法,大概就是将图像上大于某一颜色值得直接变成黑色,其它
变成白色,也就是0和1,这样便于与识别库做比较。
你说的那个图像识别应该也是处理过图像后,再与事先建立起的识别库进行比较。只不过的库更大,包含的东西更多,也有可能是用到了公共图库。
以上为个人知识范围内的猜测。
视频中人类生活因由 AR 的帮助而更加便利。那么,要想达到这种效果,AR 应用必须「智能化」。要使 AR 智能化,必须先使 AR 的「视觉」智能化。
计算机与小孩的「看图说话」大 PK
这是《爱丽丝漫游奇境记》中疯狂茶话会一幕。
当一个小孩描述这幅图时,他能立刻识别出图中的一些简单元素,比如:
「房前的一棵大树下,放着一张桌子。一个兔子和戴帽子的人坐在桌旁喝着茶。」
「桌子很大,他们三个都挤在桌子的一角……」
然而计算机在描述这幅图时,它不懂什么是「三月兔」,谁是「爱丽丝」,它只会以立体几何的形式描绘这些内容。
计算机这种简单的描绘方式,使得 AR 应用目前只能提前设定识别目标,才能进行交互。
人是怎样「看」世界的?
经过 5.4 亿年,人类才形成对世界的认识,其中大部分努力用在了大脑视觉处理机制的开发,而不是眼睛本身。也就是说视觉始于眼睛,却发生于大脑。
1981 年的诺贝尔生理学及医学奖获得者——休伯、斯佩里和韦赛尔——研究发现,视皮层细胞解释视网膜的编码脉冲信息的能力,是在孩子出世后直接发育形成的,这种发育的一个先决条件是:眼睛必须受到视觉刺激。在这一期间,如果一只眼睛闭上几天,视皮层将发生永久性的功能变化。
这意味着:大脑的高度可塑性是从一出生就开始的,大脑在这段时期接受丰富多彩的视觉刺激十分重要。
如果把人的眼睛看作一对生物相机,它们大约每 200 毫秒就能拍一张照片(这是眼睛运动的平均时间),那么 3 岁小孩看到的图像是数以亿计的。人类大脑通过观看无数张图像后,大脑才对物体有了概念。
为什么计算机做不到?
斯坦福大学的计算机视觉专家李飞飞,她曾在 TED 大会上举了一个很好的例子:
我们可以用简单的几何形状来描绘一只猫。
但是对于一些形状诡异的猫呢?像这些。
像家庭宠物这样简单的物种,在模型上都千差万别,大千世界更是千姿百态。李飞飞和她的团队在生物识别方面投入了大量心血,也没能找到一个好的算法,让计算机能准确识别出一个物种。
于是他们不再专心地寻找优秀的识别算法,而是把注意力放在了人类视觉的形成上来。
模仿人类看世界
我们从出生就开始不断地通过眼睛采集图像,大脑通过大量图像的训练后,才形成了我们现在的视觉系统。那么,如果我们把计算机当做一个婴儿来培养,它会不会像人一样聪明了呢?
李飞飞和她的团队就是这样做的。他们建立了一个含有 1500 万张照片的数据库——ImageNet,通过记住大量图片来教计算机认识物体。
不过,计算机可以通过摄像头来模拟人眼采集图像,却无法从拍摄到的图像中识别出有用的信息。
庆幸的是,Kunihiko Fukushima、Geoff Hinton 和 Yann LeCun 在上世纪七八十年代开创了「卷积神经网络」,这是一个非常复杂的模型。该模型中最基础的运算单元是「神经元式」的节点,就像大脑由上十亿个紧密联结的神经元组成。每个节点从其它节点处获取输入信息,然后把自己的输出信息再交给另外的节点。
此外,这些成千上万甚至上百万的节点,都被按等级分布于不同层次。在一个用来训练「对象识别模型」的典型神经网络里,有着 2400 万个节点、1 亿 4 千万个参数和 150 亿个联结。
李飞飞团队借助 ImageNet 提供的巨大规模数据支持,通过大量先进的 CPU 和 GPU,训练了这些堆积如山的模型。在图像训练中,由一个提前选定的卷积核来对图像进行「扫描」,然后经过层层神经元的分析,最后输出识别结果。
「卷积神经网络」也因此蓬勃发展起来。它成为了一个成功体系,在图像识别领域产生了激动人心的新成果。
目前,通过模拟人类视觉,计算机识别效果已经可以与一个 3 岁小孩相比。
不妨试想一下,等计算机可以像少年一样描绘世界,那么它看到「疯狂茶话会」画面时,就有可能是下面这种描述:
「房前的一棵大树下,放着一张桌子。三月兔和帽匠坐在桌旁喝着茶,一只睡鼠在他们中间酣睡着,那两个家伙把它当做垫子,把胳膊支在睡鼠身上,而且就在它的头上谈话。『这睡鼠可够不舒服的了,』爱丽丝想,『不过它睡着了,可能就不在乎了。』……」
就像讲故事一样,这段描述立刻生动起来。其中对睡鼠的感受,还添加了自己的想象。这会不会是未来 AR 的模样呢?
为了达到这一效果,我们正在教计算机如何去「看」,我们的世界将有更多的「眼睛」一起探索。
太赞了,终结者的研发又近了一步,(开玩笑),
请问这个运算占用资源大吗,无人驾驶方面的应用前景不错吧
运算量确实很大,目前李飞飞团队是在机器人上跑的程序,使用的CPU和GPU都是顶配的。在普通计算机上还运行不了,但是如果是用在无人驾驶上应该可以解决,在车上装最好的CPU和GPU就可行。算法是有了,对于不同领域还需根据自身需求进行改进。
一、机器学习相关的公司分析
1、大的有师傅的公司
这类公司主要是百度,阿里和腾讯。共同的特点是数据很大,机器学习的团队比较庞大,一般进去的同学都可以有师傅带着学习,进步会比较快。
但是三个公司的特点也有所不同。
百度是我认为在业务和技术之间匹配的最好,并且从基础到应用搭配的最好的公司。机器学习方面的能力对于百度的广告,搜索,移动搜索,LBS,应用分发,移动音乐,移动阅读,移动新闻,图片搜索,语音输入,浏览器,视频等所有业务都非常重要;而百度也非常重视机器学习团队的搭建。目前在产品方面的表现也非常不错。如果近期加入的团队一旦在基础研究以及产品化方面有巨大突破的话,百度的各个核心产品都可能大大的超出其他公司的产品。
百度的机器学习人才的需求种类最宽。
阿里目前的机器学习人才主要用在业务挖掘,广告和推荐方面。和阿里的业务非常的匹配;根据IPO公告,以及近期的动作,阿里未来的业务发展方向主要是电商业务的区域扩张(向下是向县城扩张,向上是跨国业务的发展)以及产品品类的扩张(从实物产品的电商向服务,金融方向的扩张。)从这种趋势来看,未来阿里的机器学习人才需求还是以业务挖掘,广告和推荐方面的人才需求为主(图像处理和NLP作为feutrue的提供者,也有需求)。
腾讯公司过去的主要业务是建立在社交网络之上的游戏,互联网增值服务(会员和道具之类的),广告等。根据年报,我认为腾讯今后的重点是在微信的基础上来发展盈利性业务,目前能够看到的业务有游戏,电商,支付,嘀嘀打车等;腾讯也单独把广告和视频业务提出来当做重点业务。
结合以上对于腾讯的业务分析和预测,以及之前对于腾讯的职位的一些认识,我认为腾讯今后对于机器学习类人才的需求主要有业务挖掘,广告算法,推荐等。
从业务上来看,三家公司都具有收入和利润基本都来自核心业务(百度主要来自于搜索广告;腾讯主要来自于游戏和增值服务,阿里主要来自于电商广告),同时有向其他俩家的核心业务扩展的动作但是没有成功的特点(百度尝试过电商和社交;阿里尝试过社交,也正在做搜索;腾讯尝试过搜索,也在做电商)。
从战略和职位设置来看,百度是从基础到产品都做;而阿里和腾讯主要侧重于应用。
2、中等规模的团队搭建中的公司以及专业公司
有一些公司,相对于BAT来说,市场地位相对较弱,但是公司的市场地位也不错;同时机器学习的团队相对较小,或者布置的普遍程度相对较弱。
比如当当,携程,去哪儿,360,58同城,优酷,乐视。这类公司一般会设置俩类机器学习的岗位,一是业务挖掘类岗位,另外就是推荐和广告算法的团队。这类公司具有市场地位不够稳固,机器学习团队相对较弱或者较新的特点。
同样有一些中等规模的广告行业的专业公司,也有机器学习的团队,比如MediaV,品友互动等公司。这类公司主要的岗位是计算广告算法工程师。
3、小的专业公司
在移动互联网快速发展的今天,有一些专业性的小公司,产品本身对于机器学习技术的依赖性非常大,也设置了机器学习的岗位,这些小公司大多数是创业公司,业务发展的不确定性比较大,同时需要的机器学习人才和业务本身的相关性非常大。
比如口袋购物(主要需求的是推荐算法,广告算法,NLP和图像处理人才),今日头条(主要需要的是文本挖掘,推荐等人才),微博易(主要需要的是文本挖掘类人才),出门问问(主要需要的是语音识别,搜索的人才)。
不同类型的公司对于人才的要求不同,对于能够带给人才的东西也不同,各有优劣。同学们可以根据自己的情况灵活的选择,每类公司中都有非常好的公司和岗位!
二、机器学习相关职位分析
1、互联网业务挖掘
使用的主要数据和要解决的问题,初级的业务挖掘人员的工作会离数据和算法更近;高级的业务挖掘人员 会离用户和业务更近。
职位需求趋势:
这类职位的需求量非常大,基本所有的主要互联网公司都设置了这个岗位。这个岗位的名字常常有“分 析师”,“数据挖掘工程师”等。
零售,金融,电信,制造业等行业对于互联网业务挖掘人员也持欢迎态度。近几年对于这类人才的需求 很能会有非常大的增长。
薪水状况:
从我接触到的猎头职位的情况来看,在这个岗位上工作三四年,能够独立和业务部门以及技术部门沟通 ,并且能够灵活的应用数据为业务部门提出解释和建议的人才的年度薪水在20万元到35万元左右。 2年前见过大的互联网公司的分析总监给到50万元以上。
职业发展前景:
我个人认为人类曾经经历过火车时代,电力时代,汽车时代,电子时代;当下的时代是数据时代。具有
良好的数据分析能力的人对于越来越多的企业具有至关重要的作用。根据海德思哲公司的分析,未来的 企业领袖人物往往是business+science+technology三方面都很强的人,业务挖掘工程师的工作内容和其 中的俩项密切相关。
2、推荐算法
解决的核心问题是给用户想要的,不要给用户不想要的,降低用户找东西的难度,给用户更多的惊喜。 不同的互联网产品在不同的阶段,可以通过推荐系统解决不同的问题和实现不同的目标。
职位的设置情况和需求趋势:
相对业务挖掘岗位,有推荐算法职位的公司数量相对比较少。能够看到的一些公司如下。
电商:淘宝,当当,京东,口袋购物。
视频:优酷土豆,爱奇艺,风行在线,乐视。
音乐:豆瓣,虾米,网易云音乐,百度。
新闻APP:今日头条,网易新闻客户端,百度新闻,指阅。
阅读:盛大文学,掌阅科技。
团购:美团,糯米。
社交:微博,linkedin。
手机助手:豌豆荚,
LBS推荐:百度,高德。
相对电脑,手机的私密性更强,屏幕资源更小,可能会有更多的移动应用公司会部署推荐算法的岗位。
薪水状况:
我接触到的推荐算法负责人的职位(能够直接面对工程和产品部门,对推荐系统的效果负责),招聘方 给到的年度薪在30万元到50万元左右。
职业发展前景:
移动互联网是近几年互联网行业最大的潜力细分领域,而推荐对于移动互联网的所有产品都有非常重要 的作用,从这个角度来讲推荐算法工程师的职业前景非常不错。
在多个移动互联网的细分领域,推荐都处于核心地位,因此成熟的推荐算法人才创业的机会也比较多。
3、广告算法
数据主要是俩块,一块是用户的数据,除了公司自有的数据以外,也可以通过DMP(数据管理平台)获取到 一些用户的数据;另外一块是关于广告的数据。
需要解决的问题就是把用户和进行更好的匹配,提升总体的市场效率。
其中CTR预估是非常重要的工作内容。
职位的设置情况和需求趋势:
和其他的职位相比,计算广告的公司数量比较集中。公司主要分为三类。
一类是有Exchange或者类似体量的公司(相当于有设局或者设立证券交易所的公司),有百度,淘宝,
腾讯,搜狗,360,微软,雅虎。这类公司的流量很大,广告主的数量也很大,他们制定各自的市场内的
游戏规则(主要是资源分配的办法以及结算办法。)
另外一类是DSP(Demand side platform),比如MediaV,品友互动,浪淘金等。这类公司本身没有大的流量 ,但是都在努力建立相对广告主更为有效的广告投放能力,主要从广告主挣钱。主要的目标是帮助广告
主更有效率的把广告投放到目标群体身上。
第三类公司是类似五八同城,优酷,新浪微博这样的大媒体。或者多盟这样的SSP(Supply side
platform)。这类公司自己有一定的流量,也有一些广告主客户。也需要有人来做市场效率的提升。
新增职业机会的来源,我能够看到的主要有以下几种。一种是在搜索市场上取得突破后需要建立商业变
现体系的360;还有一些是来自于对淘宝模式模仿的电商公司,比如当当;还有一类是互联网广告公司的
业务拓展和创新,比如SSP公司向DSP业务的拓展,或者互联网广告监测公司,或者广告生态种新的角色 诞生带来的新职位机会。
近几年看到的互联网广告相关的变化主要有2个,一个是谷歌采用GSP(General second price)竞价方 式并逐步被别的公司跟进;另外一个变化就是有些DSP公司大力倡导RTB(Real time bidding)。 这些变化都没有带来行业内计算广告人才需求量的急速增长。看未来,广告生态系统的逐渐完善而催生 出的新的细分行业和公司,也没有看到能够带来大的新增职位的急速增长。
但是互联网广告行业面临的挑战和机会也很多,比如多屏互动的期望,以及广告主日益增长的需求,都 对企业的创新提出了要求。
综合以上,计算广告行业未来的人才需求特点可能是“少而精”。
薪水状况:
广告目前是互联网行业最重要的收入来源。从百度公司和阿里集团招股书中就可以看出,这俩个公司收 入的绝大部分都来自广告。
因此计算广告人才的薪水也非常的高。
我了解到的比较成熟的计算广告人才(同时在算法和工程方面很成熟)的年收入有50万元到150万元左右 。
职位发展前景:
一旦进入计算广告行业,相对其他职位来说,创业机会较少。更有可能的是在行业内的少数几个公司成 长。
该类人才的创业机会可能需要具备几个条件,第一是外围环境的重大变化导致的新类型公司的创立机会 比较成熟,这个周期可能比较长;另外要有大量资金的支持;另外相对来说可能风险会比较大。
4、NLP
使用的数据和要解决的问题:
参考《Foundations of Statistical Natural Language Processing》,
《Speech_and_Language_Processing》。
使用的数据主要是人们日常随意写出来的或者说出来的话。比如新闻,文章,微博上的话,qq的聊天, 贴吧里的话,博客上的话,企业呼叫中心的对话等。
要解决的问题主要是对这些内容进行抽象,映射或者响应。比如信息抽取(命名实体识别,情感分析等 ),机器翻译,聚类,分类,自动问答等。
职位的设置情况和需求趋势:
目前看到的NLP岗位设置主要有以下几类。
一类是在搜索公司的query处理相关的工作。目前我了解到的工作主要分俩个部分,一个部分是做query 的纠正,改写,或者近义词分析等;另外一类工作是做Topic model的研究,意思就是把用户的需求抽象
在一个“model”上,而同时预先把网页到抽象到一个“model”上,然后在model内部挑选出用户最感兴 趣的网页优先展示。
还有一类是研发机构的研究岗位,比如微软,富士通研发,三星通信等机构都有NLP的研发岗位。
第三类岗位就是一些专业性公司,比如口袋购物,微博易,今日头条,掌阅科技,简网世纪这样的公司 。在这些公司里NLP和图像处理的工作地位类似,就是为下一步的处理提供feature。
从用户端来看,WEB2.0的出现,以及社交网络的大力发展,为NLP积累下了大量的数据,同时企业也越来 越重视通过网络来倾听用户,以及和用户进行沟通;同时信息的急速增长,导致用户对于个性化产品的
需求越发明显,也促进了NLP工作的推进和岗位的设置。
今后NLP的岗位会急速增长。增长的来源一部分来自于搜索引擎公司,根据李航前辈的微博,未来搜索突 破可能来自俩个方向,一个方向是LTR(Learning to rank),另外的一个方向是Semantic match。我的理 解可能semantic mtach需要大量的NLP的工作和人才。
另外一类职位我觉得来自于大量的已经产生的大量非结构化的数据处理相关的公司,以及从大量的语音 识别转化出来的数据的利用相关的公司。这个具体是在哪个方向上不好说,但是我想趋势上一定是企业 对于海量用户产而生的嘈杂的声音的理解和利用。数据的量还在不断的急速增加,NLP工作量和任务类型 也在增加,最终导致岗位需求的增加。
薪水状况:
NLP人才的需求不象数据挖掘和推荐那样量大和紧缺,和其他的职位相比薪水比较温和。
我接触过的猎头职位,有公司愿意给工作2年左右的NLP工程师20到30万元的年度工资;也有创业公司愿意给NLP leader50万元以上的年度工资。
职位发展前景:
我预测NLP工程师在原公司的职业生命活力会比较强(数据,算法以及工作目标可能都会有新的挑战和机 会进来);同时成熟的人才也会有很多创业机会可以考虑。
5、图像处理
使用的数据和要解决的问题:
参考《Computer Vision:Algorithms and Applications.Richard Szeliski》,
《Multiple_View_Geometry_in_Computer_Vision__2nd_Edition》
面对的数据是图像,具体也会有处理静态图像和动态视频的区别。以及离线处理和在线处理的区别。
常见的要解决的问题有检测(就是看某个图片里是否有某类东西,比如是否有人脸),识别(就是输入 一个图片,看这个图片和库里的哪个图片是一致的。)分割,拼接,3D重建,聚类,分类等。
职位的设置情况和需求趋势:
传统的图像处理岗位主要分布在类似智慧眼,汉王这样的IT公司和类似佳能,微软这样的研发机构中。 智慧眼和汉王这样的IT公司的产品,主要以行业用户为主,应用的场合有门禁,安全,社保识别等。
在大数据在中国兴起的前后,更多的互联网公司开始设立图像处理的岗位。其中百度是把图像和语音作
为文字之外的新的搜索对象来看待的,设立了图像处理的岗位并招聘了人才,但是具体如何产品化目前 还不太清楚,目前看到的只有图搜,就是把图片拷贝到检索栏里,然后可以看到一些检索的结果。
淘宝以及一些其他的电商公司也设立了图像处理或者正在招聘相关的人才,主要的工作目标是为广告和 推荐等应用提供feature。
与数据挖掘,推荐和NLP职位相比,图像处理的职位数量相对较少,发展相对比较滞后,能够看到的大众
用户使用的产品相对比较少。
我个人的感觉是图像处理行业正处在一个爆发的前夕;象智能交通事故报告系统(自动对摄像头采集到 的图像进行处理,即使在夜间也可以自动的识别出来重大事故并且提醒交警去救援),自动驾驶,离群
人群自动检测(比如机场和火车站的恐怖分子检测)等应用都具有足够的价值,目前系统能够做到的水 平也非常接近商品化。
我的判断是随着技术的突破和外围配套(包括法规或者硬件等)的成熟,图像处理的岗位会有大的爆发 。
薪水状况:
相对其他职位来说,图像处理的职位比较少一些;同时薪水不是很高。但是未来的收入前景不错。
职位发展前景:
不论在公司内部的提升,还是未来创业的角度来看,图像处理工程师的发展机会都会越来越多。
第一梯队:Hulu机器学习组、百度和阿里的机器学习核心部门。
国内水平最高的几个部门和团队。
Hulu:Hulu应该算是国内机器学习在学术水平和工业应用都做得最好的公司。整个Hulu从上到下基本都是清北两校的人,而且机器学习岗都是各个院系机器学习方向的PhD。面试官知识面全无死角,从overfit到概率图到transfer learning;hulu也是所有面试过公司中唯一一个会考核概率论和统计知识的。总的来说既重视知识全面程度,也重视基础,不像某些公司问来问去就SVM、LR翻来倒去。Hulu机器学习的应用也做得非常好,主要是推荐和广告两部分业务。
百度IDL等某些做机器学习的核心部门:毕竟是做搜索起家,而且在核心机器学习部门的水平非常的高。IDL毕竟擅长神经网络那一套技术,应该是国内乃至世界范围内神经网络比较靠前的。不过IDL现在陷入了技术和应用脱节的问题,缺少核心产品支撑,比较尴尬。
阿里的及机器学习核心部门也情况差不多,特别是阿里妈妈的广告技术应该是国内水平最靠前。我们系机器学习做得最好的两个实验室就有不少PhD过去就职。
第二梯队:其他互联网公司或者阿里、百度其他的部门。
第二梯队的核心特征就是,做产品不关注背后理论,只关注效果。遇到推荐效果不好的时候,就喜欢“配词表”……基本上做机器学习就是为了提高KPI,喜欢短频快的技术实现,因此产品效果无法出彩,只能达到”可用“这个水准。公司或者部门缺少机器学习的基础架构、数据底层和流水线,功能复用基本靠复制粘贴,数据对接基本靠QQ……面试上来就是“请介绍一下SVM/LR/KMeans的特点”,“对比一下某几个分类器的优缺点”等等没啥深度的问题。这个梯队的公司和部门更像是做数据挖掘应用,而不是机器学习。
这些公司里也有大牛,不过由于同事水平参差不齐,常常会陷入“喜欢搞大算法”之类的嘲讽当中,提出的长远想法也得不到领导的认可,最后就只有默默无闻或者跳槽了。
我来补充一下。
第一梯队:Hulu机器学习组、百度和阿里的机器学习核心部门。
我不清楚现在Hulu机器学习组的情况是怎样的,但在2年前,hulu的机器学习核心团队(张小沛带领的)一起加入了宜信。 之后hulu的业绩一直不怎么样,所以我对hulu在第一梯队的陈述持有怀疑的态度。
虽然之前没有在国内任何一家公司工作过,但我还是相信百度的IDL和机器学习部门应该是属于国内的第一梯度, 阿里和腾讯不太了解,但应该不会差吧。至于其他公司的水平怎么样,我只能说 — 不一定。
回到国内,加入目前的创业公司也有三个月了,前前后后跟40多位社招和50多位校招面试者聊过,而且也跟国内其他公司的负责人/高管聊过。所以对国内这方面的行情也有所了解。 我面试过的很多应聘者来自于国内比较著名的公司(具体公司名就省略了),也跟他们聊过他们在其他公司的面试情况。
对我的第一个感触是, 在国内,真正在机器学习领域做得出色的团队非常少。 说实话,见了那么多应聘者,我相信很多都是之前没有认真地考虑过我们的公司,毕竟公司成立只有短短的两年(但员工已经超过4000),目前不像美团这些公司有名。但让我欣慰的是,通过面试的过程,很多应聘者对公司,对团队的态度有很大的转变, 不少应聘者面试后还跟我说他们真没想过这里会有这么专业的技术团队。 我们当初的目标是非常明确的,就是要去打造国内最顶尖的机器学习算法团队来去实现“技术改变金融”的公司使命。 但从另一个角度来看,这也说明在国内,机器学习方面的人才是非常稀缺的。 于此相比,美国在这方面的人才储备会好很多。所以机器学习方面的招聘过程也成了体力活,面了40多位应聘者,最后只能发出2个offer,幸好2个都最终接受了。
至于面试题目, 各种难度的都问过,但最后还是不得不降低难度。 很多所谓的机器学习专家应聘者都不会写出k-means的目标函数, 甚至都不理解EM的原理。很多人说精通随机森林,但他们没明白为什么随机森林会work, 为什么在随机森林的构建中必须要加入随机性, 或者怎么在online training下模拟bootstrap的过程(仔细读过Breiman的论文都会知道)。 有些人说精通深度学习,但却说不出什么是gradient vanishing问题,什么是saddle point, 或者RNN为什么需要加各种Gate来模拟更长的时序数据。 我问这些问题,因为很多应聘者都是这方面的博士出身。 所以我会假定他们有着对算法的更深入的理解, 而不简简单单地停留在了解的层面上。
还有对上面提到的:
面试上来就是“请介绍一下SVM/LR/KMeans的特点”,“对比一下某几个分类器的优缺点”等等没啥深度的问题
这或许也有原因吧,估计问难一点的,很少人能回答出来。 即使能清楚地说出SVM/LR/K-MEANS算法的人也不多。很多人知道SVM, 但一问到kernel层面,很多都回答不出来。
我的第二个感触是,国内很多高校目前还没有比较系统的机器学习这门课。 这也是我在参加校招时候的亲身体会。 而且这些高校都是国内一流的高校。很多学生反馈说他们会去Coursera学习机器学习课程,或者去看李航的统计学习方法那本书。 但我相信这种局面会得到逐步的改善,因为我也看到最近几年中国学者在机器学习,数据挖掘领域的成果。 比如每年的NIPS, ICML, KDD, AAAI这种顶级会议上可以看到越来越多中国学者的身影。
另外,如果选择一个团队,我觉得以下几方面的因素要好好考虑。
团队的实力 这直接关系到一个人的成长。 就比如跟着一位牛逼的导师,不仅能学到更多的知识,还可以让你看得更远,这种收益是终身的。 所以选择牛人团队还是非常重要的。
团队在公司中的定位 这点也非常重要。如果你将要加入的团队是公司的核心,跟公司战略有紧密的联系,那就恭喜你,你的上升空间会很大,当然你的职责也会很多。这种环境对每一个渴望进步的人来说都有很大的好处。
团队的运营模式 学算法/研究出身的人一般都具有自己的想法和主见,还有较强的独立思考能力。如果一个算法团队只会去接受业务的需求,没机会提出自己的创新性idea或者项目,这对成长是不利的。我觉得最好的合作方式就是双向的沟通。只有做算法的人最懂的怎么把算法用起来,所以从技术出发,再深入到业务线,从而自主地制定项目是最合理的。当然这里也会涉及到技术和需求的平衡。
公司对创新的支持 对于每一个优秀的人来说,都渴望去改变一些事情。这就需要去考虑公司对创新的支持。如果一个公司特别重视创新,那恭喜你,你可以在这种环境里大显身手。
责任有多大 这是实现自我价值的非常重要的因素。 如果每天你能感觉到你对公司产生的价值,这不可能不让你兴奋,而且让你更加勤奋。但很遗憾,在一家大公司很少会有这种感
一个好的机器学习系统是对现有业务的帮助和提升很大,而通过其他方法无法达到同等效果,同时这个机器学习系统有好的数据流清洗存储逻辑,有快速高效的模型训练以及迭代策略,同时模型调研,特征调研非常easy,这就是一个好的系统;而不应该单纯从算法的难度以及复杂程度来讲。从这个意义上来讲(排名无先后)
1. 百度的搜索及广告业务:无疑机器学习是重中之重;
2. 百度IDL在神经网络,深度学习方面的建树;
3. 科大讯飞以及百度语音识别团队通过机器学习对语音识别的提升;
4. face++/格林深瞳/sensetime等cv公司在视觉方面的提升,当然包括MSRA了;
5. 阿里的搜索以及推荐系统,当然对业务提升很大,同时是通过其他的诸如统计,运营等手段无法达到的;
6. 滴滴的订单匹配技术,从某种意义上来讲是比百度搜索技术更难的一个问题。搜索实际上通过一个query在稳定(变化较慢)的集合当中给出结果;但订单匹配呢?实际上是通过一个query(叫车的请求)在变化的集合当中(交通状况的变化,周围车辆的变化,周围query的变化)给出最佳的结果。当然这也不一定非得用机器学习系统,可能通过简单的规则也有一定的收益;但可以预见就是当这套系统完善之后提升会非常明显;
7. 微信团队关于社交关系的挖掘,想一下就是非常大的系统;
8. 各个地图以及LBS相关的推荐的技术。
总结:机器学习应该将需要一流的团队,而非个人。至少在目前还没有在某一个领域出线可以handle机器学习流程中所有问题的人(都非常厉害的)。以广告业务来讲:
1. 需要很好的理解业务逻辑,对query场景进行刻画,涉及更多的nlp知识,同时语音和图像搜索需要很好的语音识别和图像识别的背景;
2. 需要很好的数据流打通的能力,这个是需要在了解业务逻辑之上通过技术手段实现的,数据的清洗,过滤,以及高效,快速的数据抓取和存储技术;
3. 很好的数据分析能力,这个点到为止,没有数据分析,直接上机器学习是外行;
4. 模型抽象和构建能力,对于现有问题可以通过直达本质的loss function来刻画;高效的分布式机器学习训练框架的构建,这个需要很好的工程能力,几个字概括:快,稳,准;
5. 机器学习前端系统的构建,可以通过前端系统实现可视化的模型参数调整,效果评估,甚至模型逻辑,特征等的操作,目的是实现高效的迭代;
6. 模型效果对最终业务的帮助的评估,这个事情很少人能够做好,一味的强调机器学习的贡献;但其实在原有算法上继续迭代依然会有收益,而相对的收益差才是机器学习系统的贡献,这个贡献实际上并没有我们期待的那么大;
7. 当前系统的提炼以及对学术界的帮助,这个事情国内公司做的很少,不是不允许,而是目前我们还做不到,目前我们没有原创且影响深远的贡献:早起的申请网络,后来的boosting,SVM算法,在到后来火起来的深度神经网络;甚至包括特征选择,active learning,online learning,transfer learning这些领域,我们都没有原创且影响深远的成果。
8. 将机器学习系统和老大简化描述的能力,目前国内的总监或者更高级别的lead,其实机器学习背景的人物还不多,大公司也是如此,很多是之前外企的高管,很多是做软件,业务,产品上位的,对大数据,机器学习在技术层面的理解还达不到技术核心的水平。因此如何通过合理的方式描述并让老大认可机器学习的作用非常重要;老大更关心对业务的帮助而非技术的细节。
觉,很多的时候只能承担项目的冰山一角。 但如果追求安稳,大公司当然是首选。
先说说PGM的重要性。概率图模型大致可以分为两种,directed graphical model(又称贝叶斯网络)和undirected graphical model(又称马尔可夫随机场)。贝叶斯网络由Judea Pearl 教授发明于上世界80年代,这项工作获得了2011年图灵奖。马尔可夫随机场最早被物理学家用于对原子进行建模,其中的代表作Ising model获得过诺贝尔奖。图灵奖+诺贝尔奖,PGM的重要性可见一斑。另外,PGM是将人工智能(AI)的研究热点从传统AI(如逻辑、推理、知识表示)转向机器学习的重要工作(其他起到这一作用的工作有支持向量机、决策树、boosting等)。
概率图模型在实际中(包括工业界)的应用非常广泛与成功。这里举几个例子。隐马尔可夫模型(HMM)是语音识别的支柱模型,高斯混合模型(GMM)及其变种K-means是数据聚类的最基本模型,条件随机场(CRF)广泛应用于自然语言处理(如词性标注,命名实体识别),Ising模型获得过诺贝尔奖,话题模型在工业界大量使用(如腾讯的推荐系统)。等等。
PGM优雅的理论。机器学习的一个核心任务是从观测到的数据中挖掘隐含的知识,而概率图模型是实现这一任务的一种很elegant,principled的手段。PGM巧妙地结合了图论和概率论。从图论的角度,PGM是一个图,包含结点与边。结点可以分为两类:隐含结点和观测结点。边可以是有向的或者是无向的。从概率论的角度,PGM是一个概率分布,图中的结点对应于随机变量,边对应于随机变量的dependency或者correlation关系。给定一个实际问题,我们通常会观测到一些数据,并且希望能够挖掘出隐含在数据中的知识。怎么用PGM实现呢?我们构建一个图,用观测结点表示观测到的数据,用隐含结点表示潜在的知识,用边来描述知识与数据的相互关系,最后获得一个概率分布。给定概率分布之后,通过进行两个任务:inference (给定观测结点,推断隐含结点的后验分布)和learning(学习这个概率分布的参数),来获取知识。PGM的强大之处在于,不管数据和知识多复杂,我们的处理手段是一样的:建一个图,定义一个概率分布,进行inference和learning。这对于描述复杂的实际问题,构建大型的人工智能系统来说,是非常重要的。
PGM的实用性。关于PGM的实用性,我个人觉得是毋庸置疑的,前面已举例。也有很多次听到别人说,概率图模型在实际中没什么用处。此处想到一位教授的话,翻译成中文:“PGM在你的问题上不work,并不代表它本身不work,而是你没有把它弄work。"
所以系统的学习还是很有必要的。推荐CMU Eric Xing教授每年开的10708 PGM课程 10708 Probabilistic Graphical Models。 既包含了PGM最基本、最核心的内容,也讲述了很多advanced topic。而且有视频。
1.不同的模型建立。
如简单的分类算法:决策树,朴素贝叶斯,以及常用的逻辑回归,神经网络,再到SVM,FM算法,最后是深度学习中的RNN, CNN等。 (还有我喜欢的在线贝叶斯方法)。
采样的方法:具有代表性的是MCMC中的很多方法。
降维中常用的SVD和PCA,聚类中常用的K-means和EM算法等。
关于时间序列的卡尔曼滤波算法,HMM算法,波兹曼机等。——其中HMM适合做语音。
推荐系统中协同过滤的各种模型。还有近邻搜索,LSH(Locality-Sensitive Hashing)等。
还有一些回归算法。
各种NLP的方法(常见的tf.idf,词向量,LDA模型等)。
更不用说和“有监督学习”/“无监督学习”并驾齐驱的第三种学习——“加强学习(Reinforcement Learning)”。 ——这个在中国基本没有公司用!
等等
2.不同模型的优化问题。很简单的例子,一个简单的逻辑回归算法,就会有梯度下降法,共轭梯度法,各种各样的牛顿法等等。而不同的模型就会涉及到各种不同的优化算法,优化算法应该是数学功底在机器学习这个领域中最直观的体现——说的是“普通从业者”,实际我个人感觉大牛还是在玩模型的。
3.各种防止过拟合的方法。 如正则化L1,L2,early-stopping等。
4.不同的分布的近似方法。
而问题中提及的各种公司,其实都是更关注于数据挖掘,其中不少公司根本没有去自己写模型/写优化算法等等,而是选择调用GitHub上现成的包。大公司都是如此,小公司就更是了,根本没有成本和时间自己写机器学习的方法。
而且由于业务需要,不少号称在做机器学习/人工智能/自然语言处理/语音/图像的公司,实际上大部分的精力是放在特征工程上的——如果提取到更好的特征,如何去做特征提取,和特征选择等等。这些只是机器学习的前期工作,不如说更偏向于数据挖掘。
当然据我了解,百度和阿里还是在自己写算法的。搜狗有语音(不知道是不是调用现成的包,还是自己写)方向,所以不好评价。
综上所述,我希望问题换成:“如何评价BAT、MS、JD、搜狗、360、美团、滴滴、今日头条的数据挖掘水平?”
国内没有机器学习!
国内没有机器学习!
国内没有机器学习!
重要的事情要说三遍!
————————————————-
举个小例子说吧,一个做机器学习的人,会掌握很扎实的机器学习算法知识,积累不同的机器学习模型。
比如你同样问一个做机器学习和一个做数据挖掘的人“Gaussian process”,“Trueskill System”,“Assume Density Filter” 这些比较冷门的概念是什么?你会得到不同的结果。机器学习的人,就算没有钻研过,但一般都会学习过,并且尝试理解过这些理论;而数据挖掘的人,可能根本就没听说过,因为他的工作不需要他知道这些看似没用的“大算法/理论”。
两种工作的重点,真的是不一样的。
————————————————-
这里解释一下我重复三遍的话:
其实国内的科大讯飞/捷通华声等公司做语音还不错(当然不能和纽昂斯和亚马逊比),中科院做的那个分词包也被不少人用。
但是整体行业<机器学习>的行业还没有很大的突破和繁荣,所以我才说国内没有机器学习。
机器学习这个东西在某个国家发展到什么地步,是要看整体的行业情况的。
在国内,不排除有个别一些公司在亲力亲为做技术,做模型,创新。但是这样的公司占的比例太少(分母是 “这样的公司”+“打着机器学习名义的公司”)。
所以,不妨让我再来一遍:
国内没有机器学习!
PGM确实是一个大坑,和很多领域关系都很大。比如LDA一般用在文本、图像分类上,CRF一般用于图像上,HMM一般做语音这种时序数据,而近来比较火的Deep Learning例如DBN、DBM的基本结构RBM也是一种Graphical Model(虽然现在大家都去用CNN了,那个是纯粹的神经网络结构)。
涉及的领域这么杂,所以短时间内不太容易一下上手吃透,我建议是先浏览一下Michael Jordan写的那篇经典的Graphical Models,了解一些像Inference、clique等基本概念。我的感觉是如果你之前懂Bayesian的话,Directed Graphical Models会很容易上手理解,但是Undirected Graphical Models就不是那么直观了。不过当你明白这些都只是些人为的定义时,就不用那么纠结了。图的结构是个人都会画,不过怎么解释它,怎么优化,这就是内功了。
Coursera上的那门PGM是Koller大牛上的,我也听过一部分,不过个人感觉没有Hinton那门Neural Networks对我启发大。还有吐槽一下Koller她的口音不是特别好听,还有就是ppt一半内容都是上课时候临时画的,不是特别好看,不过总体来说课还是不错的。
PGM实在是太大,我就说说我接触到的一些关于Topic Modeling的皮毛吧。
Topic Modeling是PGM的子集,多数是应用于文本处理上。之前David Blei发过一篇文章,把PLSA(也是一种topic model,暂时理解成简单版本的LDA吧)扩展成bayesian的版本。扩展出来的东西叫做LDA,不用管它全名是什么,暂时放在脑子里的缓存区就好了。
那篇文章出来之后,LDA拯救了无数CS的PhD,帮助他们顺利毕业,比较出名的几个组有UIUC的Chengxiang Zhai和Jiawei Han的学生,以Qiaozhu Mei为代表(虽然他的paper多数是关于PLSA的,但是PLSA也是PGM的一种)。
通俗一些讲,LDA就是给定一堆文档,和一个主题数K,自动聚类出这些文档的各个主题。比如说,给定一堆人民日报,那么LDA的输出会给出
主题一:国家主席,常委,汇见,歌唱家,Simple, Naive
主题二:工作,指导,莅临,江西,省长
主题三:油价,迎接,人民,上涨
等等
注意到每个主题都是由一些文章里出现的词所代表,也就是说这些主题的意义是需要人去进一步分析的。比如说对主题一,可以归纳(由聪明的你)出它的主题是:记者招待会,之类。
但是对于LDA的研究有那么几个致使问题,直接导致我感觉这里的文章确实是大家调侃的那样——灌灌水还不错,没有人在现实里应用。
1)纯粹无监督学习,公说公的效果好,婆说婆的效果好。效果的标准就是看聚类
2)少有的一点标准几乎都是log-likelihood,看谁的高(一般在paper中写的都是负值,所以看谁的低)。
3)最常用的学习算法是gibbs sampling,而这是一个sequential算法,很难写成分布式算法,因此大数据几乎没有办法使用LDA。
4)另一种学习算法variational inference虽然可以并行化,但是推导困难,从发的文章看,应该没有多少人能完全推下来(否则干嘛大家还用gibbs sampling)。
对于2,补充一点,虽然可以争论说log-likelihood也是个标准,可是通常这个标准跟人们想要用LDA实现的东西南辕北辙。比如说,人们通常希望LDA给出可读的文章,但是David Mimno等人发现,loglikelihood跟可读性不相关
。(于是很明显,他们又给出了一个直接maximize可读性的文章)。
对于1,其实近期出现的论文多数已经开始从无监督开始转向有监督了。比较明显的例子是,如何用人们发的Tweets来预测他们的location。Twitter本身提供很多数据都有location信息,于是这就成了ground truth,比如说在纽约的人会常常发类似"Times Square"之类的词。
那么,有人
把这个融进了LDA里,加入了一个变量,location,这样,对于没有location信息的tweet(想像你平常发推都打开地理信息但是今天去了夜店不想你妈知道于是关掉了,那么这条tweet就没有地理信息了),就可以通过你发的内容来分析出你现在在哪里。
可是有个问题在于,这样每多一个feature,就需要加一个变量到LDA的model里,以至于到后来model可以变得极其极其复杂。而且由于前面提到的问题3和4,几乎没有人能很容易地将这些加上变量后的model的推导算法写出来且并行化实现出来。因些这就构成了对LDA实用性的最大挑战。
另一个坏消息是,即使这么fancy的model在比较后发现,常常可以用很简单的方法就实现同样的效果。举个例子,有一个model在LDA的基础上增加了时间信息,也就是说,不光你可以知道一堆文章的主题,而且你还可以知道这些主题随着时间怎么变化。比如,二战之类的内容在1941年到1960年的书本中非常常见,但现在逐渐减少。所以如果你在1941年到现在出版的书上跑一下这个model的话,它会告诉你二战相关的主题热度在逐渐递减。
悲剧的是,使用原始的LDA,简单的把1941到现在每年的书单独跑一次,结果都跟这个改近后的Model没差。
这就够让研究者们郁闷了。你辛辛苦苦改近发动机想要你fancy的小奥拓跑快一点,结果发现邻居在没有改装的QQ上跑得跟你一样快,你怎么想?
我就是其中一个郁闷的人。所以,他妈的,我现在不搞了。
要是你还在念书,最好系统学,按部就班看Koller公开课,战线比较长,但是她的时间线真的很扎实,接触别的的图模型心里更有底气:Coursera – Free Online Courses From Top Universities。公开课有一点不好就是隔一段时间反刍起来特别不方便,这时就可以祭出她那本凶器,整门公开课其实就是这本书的目录加摘要,讲的顺序和里面用得例子是一模一样的,可以当做是完整版的教案:http://www.amazon.cn/Probabilistic-Graphical-Models-Principles-and-Techniques-Koller-Daphne/dp/0262013193/ref=sr_1_1?ie=UTF8&qid=1452571603&sr=8-1&keywords=Probabilistic+Graphical+Models%3A+Principles+and+Techniques
要是你已经工作了,我觉得还是不要拿宝贵的时间系统学了,从你工作中用到的一个图模型入手,看论文,一点一点走遍图模型,一个模型一个模型地拓扑展开。工作中会用到的模型基本上都是全息的,比如你学个条件随机场,你就得跟隐马对比吧,那你就要分别知道马尔科夫随机场跟贝叶斯网络,然后你就会想知道马尔科夫随机场(条件随机场)跟贝叶斯网络(隐马)有啥区别。要想知道区别在哪你就得知道贝叶斯网络独立性怎么判断、马尔科夫随机场独立性怎么判断、贝叶斯怎么inference、马尔科夫怎么inference、贝叶斯怎么优化、马尔科夫怎么优化,要知道贝叶斯怎么优化你还得知道EM,而EM书上一般都是从最大熵讲的。。。然后你就知道这些都是啥东西了,他们之间是什么关系,这样你就知道概率图模型里都有些啥了,心里就有个谱。我也在用这种方式学,我觉得这个思路比无中生有开始讲要流畅得多。
反正无论哪种方式,尽早心里有个谱是十分重要的。但并不意味着非要系统地学才能心里有个谱,其实如果是系统地学的话往往学到最后才知道整件事情的脉络。