AI 行业实践精选:初创公司如何构建自己的深度学习模型
【AI100 导读】未来十年,那些最强大的公司必将是现阶段的创业公司。这些创业公司不仅拥有当下大型科技巨头所不具备的特殊的数据集,并且还在利用这些数据集训练自己的神经网络模型,使得产品的性能获得了极大的提升。
八十年代是 PC(笔记本电脑)的时代,九十年代是互联网的时代,2000年至今是智能手机的时代。从现在起一直到未来十年,我们将逐渐迈入深度学习神经网络的时代。这种状态将一直持续,直到下一个范式转变,大众技术获得突破。这种突破不仅仅是 AI 或机器学习方面的突破,具体来说,主要是指深度学习神经网络。如果你只能看一篇文章,那么我建议你跳过这篇文章,直接阅读链接中的这篇来自纽约时报的文章(https://www.nytimes.com/2016/12/14/magazine/the-great-ai-awakening.html),文章虽然很长,但是却非常的详细,主要讨论的是下一个十年的重要的转变趋势。
https://www.nytimes.com/2016/12/14/magazine/the-great-ai-awakening.html
如果可以用数字化的形式来表示(例如图像),或者是像数据一样从数据库中获取,那么就会有大量的数据样本用于深度神经网络的训练。以下是其简要概述:
人类大脑是如何学习的?
人类大脑大约由1000亿个神经元组成,神经元之间相互连接形成大约100万亿个突触。对于特定的输入,神经元要么处于关闭状态,要么处于开启的状态。神经元之间的互连作用建立在积极强化的概念上——每组输入对应特定的输出,“大脑”会正确地记住该路径,并且以关联的方式进行“学习”。积极的反馈会被记住,相应地,连接之间也会起到相互促进的作用。随着计算能力和其他研究在未来的进一步突破,也许在2030年将会出现更好的脑机接口技术或者其他相关的技术。当然,现在我们只能学习深度学习神经网络。所以,今天我们就来学习一下深度学习神经网络。
什么是深度学习神经网络?
从计算模型来讲,深度神经网络就只是一个数学公式——这是现今模仿人类大脑功能的最佳相似模型,虽然没有一个地方是非常接近的,因为人类的大脑比任何设计出来的机器大脑都更加复杂和强大。但是,我们能够设计出一个仅仅擅长一项或者多项任务的神经网络,而且这个神经网络能在特定的任务中良好的学习,甚至比人类的表现更好,但是这并不是我们所理解的“智能”。它不会将在某一个任务中学到的知识迁移到另一个任务中来使用。机器学习的应用是一种特殊的技术,目前已经从研究阶段过渡到应用阶段,任何人都可以去创建和训练自己的神经网络模型。
深度学习神经网络如何学习?
人工神经元(又称感知器或者S形神经元等等)经设计已经应用于计算模型之中,该计算模型通过其所获取的一组输入数据和关键参数来构建模式匹配模型,并且形成一定的正反馈路径,从而得到预期的输出结果。例如,从一张图片中识别出键盘的过程。图片中最基本、最核心的元素是处于打开或者关闭状态的按键像素点,这些像素点非常小。然后,模式匹配模型会通过这些像素点推导出按键图案。最后,模式匹配模型再通过其识别出的按键推导出计算机键盘。
上述神经网络通过成千上万个已经标记好的数据(这里是键盘图片)进行训练,从而得到一个正反馈模型。训练神经网络的数据质量越高,模型得到的效果也就越好。如果数据本身就存在一定的偏差,那么训练出的模型的识别系统仍将很差。这里并没有什么“智能”——系统只是具备了你教给它的一些功能而已。
http://bit.ly/mentorcontest
为什么现在是神经网络的时代?
大数据、机器学习和计算能力的显著提高都是推动深度学习不断发展的关键因素。如果没有训练神经网络的数据,那么就没有 AI,更没有什么奇迹可言。
虽然神经网络的概念已经存在了一段时间了,但是直到2012年,Geoffrey Hinton 等研究人员才让神经网络又一次成为热门的基础研究。Google 率先进行了某些非常有意思的实验,Google Brain 团队将神经网络的理论转换成了现实。先是“发现猫”的实验演示,研究人员使用 YouTube 中猫的图片去训练神经网络模型,经过一段时间之后,模型竟然可以从没有标记的数据中识别出“猫”的图片。研究人员瞬间被震惊了。
Google翻译——从规则表达模型转换到深度神经网络模型
真正的转折点发生在2016年11月,Google 将它们的翻译模型从原来的规则表达模型转换到了深度神经网络模型。新的模型能够学习先前十多年的翻译数据,翻译效果要好得多。
TensorFlow
同时,Google 还开源了自身产品使用的机器学习平台,这个平台叫做 TensorFlow。在 Google 提供的预先训练好的深度学习模型的帮助下,任何人都能进行深度学习。一名日本的研究员曾使用 TensorFlow 让机器实现了以下功能:根据黄瓜的外形,自动进行分类。之所以这样做是因为他的父母都是农民,如果雇佣一名员工来分拣黄瓜,将会十分麻烦。
所有科技巨头都对人工智能进行了大量的投资
随着 Google、微软、Facebook、百度和其他科技巨头研究水平的提高,肯定会诞生很多好的、技术过硬的产品,这些公司相当于我们这一代的“贝尔实验室”。博士再次成为了热门人选,我在一个关注深度学习的投资者的博客中看到,一个刚刚毕业的深度学习博士生价值高达几百万美元。在纽约时报的文章中, Facebook 的首席执行官马克·扎克伯格亲自花时间和深度学习领域的杰出人才见面。
投资者们已经为 AI 初创公司投资了10亿多美元。
(http://mattturck.com/2016/09/29/building-an-ai-startup/)
在哪里会用到神经网络模型?
其实,神经网络模型不但可以识别/分类目标,还可以进行预测。
例如,我们只能看到一张图片的一部分,要把剩下的图片补全。其中一个应用在 Google 的一个叫做 RAZR 的项目中被广泛的测试应用。用户先从手机上面下载一张低分辨率的图像,然后通过机器学习把分辨率提高,这能帮助我们节约很多流量。
那么,我们是否也可以改善放射科医生的诊断报告呢?比如,让全国最好的放射科医生提供最好的数据,然后用这些数据去训练神经网络。接下来,这个神经网络模型就可以读取你的报告,并且分析得到结果。这种服务,是不是会比单个放射科医生给出的报告更加的好呢?或者更加的可靠?
神经网络是否还能去规划路线呢?比如,找到从点A到点B的最便利路径。如果可以实现这个功能,那么就能超越现在所有默认的地图应用程序。事实上,Google 的 Waze 地图应用已经积累了很多的用户数据,这些数据可以用来训练神经网络模型,从而给用户提供更好的路线规划。
在体育方面,我们可以让神经网络“学习”竞争对手的视频数据,帮助教练设计更好的训练方案。
如果结合 AR 技术,使用手机扫描餐桌上面的食物,你马上就能知道桌上的食物是什么,它们包含了哪些营养成分。这个功能可以帮助人们吃得更加健康。这样一来,对食物过敏的人,可以吃的更加放心,因为平时根本不能100%的保证食品的安全。
A picture of a bread analyzed and associated labels identified by a Google service
谈谈聊天机器人?
目前,人们对聊天机器人的热情非常高。但是,目前的聊天机器人基本上都是一些面向用户的界面产品。虽然,深度学习已经成为了自然语言处理的基础,它会去推断用户在说些什么,并且尽可能的像人类一样做出答复。但是真正的交易是神经网络从大量的数据中推导出来的高质量的对话,而这些对话可以让产品变得更加友好。这就好比麦当劳,即使你把菜单做的比过去更加漂亮,更加友好,但是人们最关心的依旧是它的实际的产品——食物。利用深度学习可以让产品变得越来越好——这会越来越有趣。
深度学习神经网络并不是一个时髦的东西,它其实很早就存在了,只是最近才从实验室走出来,出现在消费者的面前,并且进入了一个快速增长的阶段,渗透到了我们生活的方方面面。对于那些想要取得重大突破而又雄心勃勃的创业公司来说,深度学习神经网络没有什么捷径。必须设计出自己特定的模型,更具体的说,就是让科技巨头很难复制自己的模型。
利用神经网络构建图模型
本章节是我比较喜欢的——对我来说,最有趣的事情之一就是在图上进行神经网络的训练。如果你的社交网络上有你的朋友 Mark,那么你将非常有可能认识 Maria 和 Jenny,这会增强你的参与感,体验过程也会更加愉悦。这个过程非常迷人,充满了无尽的可能性。
AI 的下一步是什么?
David Quail 在另外一个论坛中对本篇文章做出了相关的评论,因为我认为这个评论跟今天的文章非常相关,所以摘录如下:
“深度神经网络是非常酷的,但是他们并不会自己向自己学习,然后去创建另一个机器。这就是深度学习(通常是指监督学习)所面临的问题。深度神经网络需要一个老师。对于一个非常简单的问题,深度神经网络需要一个人类专家告诉它们正确的答案,这个答案通常会有数百万个或者数十亿个。此种方法显然非常有效。但是,这是一种机械的学习方法,深度神经网络不会对其进行扩展,因为它很难进行自我学习。
这就是为什么人们对强化学习与深度学习的结合如此激动的原因。常规预测是基于经验的学习,不需要人类专家反反复复(数百万次甚至是数千万次)告知系统正确的答案。
在今年的 NIPS 上,Facebook 的主管 Yann LeCun 曾谈论 AI 的未来,包含许多重要核心的内容。如果你对这一领域感兴趣,那么快去学习吧。”
https://drive.google.com/file/d/0BxKBnD5y2M8NREZod0tVdW5FLTQ/view
在真实世界里,AI 应当具备基本的“常识”,应当能够预测诸如“视频下几个帧是什么”这样的问题。这将是一个新的机遇和挑战,但是我不知道多久才能实现。
我认为,目前的深度学习神经网络已经足够好了,即使它需要训练一个非常大的数据集才能完成训练过程,并且只能在某个特定的任务上面才能正常工作。我们需要通过大众应用程序(例如,Waze 采用的方法)或者通过其他方式(比如,特定播放器或者团队的体育视频存档)来提供大量的优质数据集。世界对于我们来说本来就是可视的——如果我们拍一张照片,我们可以把这张照片进行数字化处理,从而进行分析并训练神经网络。有些创业公司已经开始去设计自己的特定的数据收集路线,并且把这些数据用于训练自己的神经网络模型,向用户提供更好的服务。这些公司在未来将会获得更多的收益。
强化人类,而不是在职业上直接替换人类?
在一个拥有70多亿人口的地球上,人们的预期寿命比以往任何一个时候都要长。那么,在我们改变对 AI 的态度之前,它还有多少进步空间呢?不管怎么样,我们都需要采取一些防范措施,防止大量失业现象。如果零售商、出租车司机、客服人员、教练、放射科医生、甚至是艺术家等都被 AI 替代,因为 AI 能做的更好而且也更加便宜,那么人类会做什么工作来谋生呢?他们又需要什么技能?
即使作为一个有些水平的计算机程序员和数据分析师——我也不能确定,在10年后,计算机程序员和数据分析师是否还是一个由人类工作的职业——如果能设计出一个神经网络,它就可以编写更好的代码,并且其分析能力比我更好。因为我编写代码和分析数据时都有一个特定的模式,AI 可以对我的工作进行分析,然后重新对自身进行编程,从而取代我的工作。而且,AI可以从不同的角度以更好的方式进行学习和预测。根据 WSJ 的这篇文章,即使让 AI 自动编码,管理世界上最大的对冲基金也不是问题。
http://www.wsj.com/articles/the-worlds-largest-hedge-fund-is-building-an-algorithmic-model-of-its-founders-brain-1482423694
那么,我该怎么办呢?或许是开始创建自己的大众应用程序,获取大量的数据(在还没有人做的垂直领域上),构建自己的深度学习神经网络,并且把结果针对产品不断进行反馈,不断迭代更新。如果不这么做,那么就开个咖啡店或者什么吧,因为在这些领域 AI 还不能很快地取代人力。但是如果人们刚刚因为 AI 失去了工作,那么他们还会到你这边来享受这些食物吗?
你的计划是什么呢?
因为目前机器还不会思考,所以我的博客还是安全的。虽然我相信,不久之后互联网上就会出现很多机器人写的内容(包括新闻,博客之类的)。
接下来,是本文最好的部分:
“AI软件学习构建AI软件。”
有一个有趣的转折点——Google 的研究人员已经开始设计一种神经网络了,这种神经网络模型可以学习建立自己的神经网络模型,不依赖于人类专家。瞧,这是一个多么令人兴奋的未来啊!
https://www.technologyreview.com/s/603381/ai-software-learns-to-make-ai-software/
人类将如何适应这样的世界呢?或者说,是我们如何适应这样的世界呢?我们会不会参与设计我们自己?有些人将其称之为“人类的最后一个发明”。又或者,人工智能会释放我们人类,让我们的大脑可以从事更高级的分析工作。这会是文艺复兴的新时代吗?
在几年以后,某些机器学习算法可能会阅读到这篇博客,并且会对这篇文章做出进行评价。这些算法如果认为这是一篇优秀的文章,那么会给予一些奖励。但也有可能会是嘲笑或者讥讽吧。
来源:
Learn TensorFlow and deep learning, without a Ph.D.
https://cloud.google.com/blog/big-data/2017/01/learn-tensorflow-and-deep-learning-without-a-phd
Deep Learning online book: http://neuralnetworksanddeeplearning.com/index.html
http://www.deeplearningbook.org/ — by IanGoodfellow and Yoshua Bengio and Aaron Courville
Matt Turck: Deep Learning VC
http://mattturck.com/2016/09/29/building-an-ai-startup/
AMA with Geoffrey Hinton on Reddit:
https://www.reddit.com/r/MachineLearning/comments/2lmo0l/ama_geoffrey_hinton/
Geoffrey Hinton’s Machine Learning course on Coursera:
https://www.coursera.org/learn/neural-networks
A CS PhD student at Stanford’s take on deeplearning: http://karpathy.github.io/neuralnets/
AMA with Google Brain team on Reddit:
https://www.reddit.com/r/MachineLearning/comments/4w6tsv/ama_we_are_the_google_brain_team_wed_love_to/
Paper published by a Stanford University prof describing DeepLearning:
http://www.mitpressjournals.org/doi/pdf/10.1162/COLI_a_00239
https://cloud.google.com/blog/big-data/2016/08/how-a-japanese-cucumber-farmer-is-using-deep-learning-and-tensorflow
Graph Convolutional Networks:
https://tkipf.github.io/graph-convolutional-networks/
TensorFlow:
https://www.tensorflow.org/tutorials/
https://matthewearl.github.io/2016/05/06/cnn-anpr/
https://bamos.github.io/2016/08/09/deep-completion/
https://research.googleblog.com/2016/03/train-your-own-image-classifier-with.html
http://a16z.com/2016/02/22/whats-next-in-computing/
本文作者 Varun 是华尔街一家创业公司的创始人,致力于大数据与神经网络的研究。
本文由 AI100 编译,转载请联系本公众号获得授权
编译:AI100
原文链接:https://medium.com/@startuphackers/building-a-deep-learning-neural-network-startup-7032932e09c