开源深度学习框架 基于嵌入式平台
2016-08-01
最近的谷歌 I/O 开发者大会 (GoogleI/O Conference) 上高调宣布了人工智能 (AI) 为谷歌的业务重点之一。不仅是在搜索技术方面,在一些未来的项目,例如送货无人机方面,人工智能也都是研发重点。
谷歌已经明确表示,现在,2016 年,人工智能正在进入消费者的家庭和手持设备,而我的同事在最近的帖子中也表达过类似的观点。当然,谷歌并不是唯一一家想要在人工智能上大做文章的公司。微软、Facebook、亚马逊、百度和其他公司都在争先恐后地创建用来实现人工智能的框架。
神经网络 – 机器的大脑
神经网络是模仿人类大脑的学习方法。随着时间的推移,神经网络已经发展成了声音和图像之类的感觉数据,可以从实际体验中收集。大脑通过将这些感觉数据存储到一个复杂的网络中来进行学习,而这些数据日后可以用来高效地执行许多不同的任务。
这些任务的示例包括识别对象、说话和理解说出的语言,以及解决复杂的问题,等等。大脑高效地执行这些任务并且极少出错的惊人能力吸引了机器学习专家尝试通过人工手段来模仿它的能力。
在最近,我们已经很清楚,在这些领域人类相对于机器有着巨大的优势。现在,相关技术正以飞快的速度不断发展,来逐渐弥补这种差距。例如,几个月前,一个计算机程序在非常复杂的围棋游戏中击败了世界上最顶尖的围棋高手之一。
当时,专家认为要达到这种水平的人工智能至少还需要十年。而这种水平的人工智能就是通过谷歌旗下公司的深度神经网络实现的。现在,神经网络正被广泛应用,从自动驾驶到面部识别。业界的每个大公司都有一个很大的开发团队在研究机器学习技术,并且每家公司都有自己的框架来支持软件开发。
开源深度学习就是我们采取的措施
推动这些机器学习软件模块的最有效工具之一是开放它们的源代码。Caffe,由伯克利视觉与学习中心 (Berkeley Vision and Learning Center) 开发,是一个非常具有开创性的开源深度学习框架。蓬勃发展的开发人员社区通过使用和进一步增强 Caffe 显然为所有想要加入的商业科技巨头铺平了道路。 在过去的一年左右,许多大公司的人工智能技术已经以开源代码的形式发布了他们的模块。去年九月,谷歌宣布将开放其 TensorFlow 软件库。今年年初,微软在 GitHub 上共享了其计算网络工具包 (CNTK),而 Facebook 人工智能研究中心 (FAIR) 则在 Torch 上共享了他们的深度学习模块。这一系列的发布活动中最近的是亚马逊的框架,即 Deep Scalable Sparse Tensor Network Engine (DSSTNE,发音类似于“命运”),它是今年 5 月份才在 GitHub 上开放的。
直到前不久,所有这些框架还都是高度保密的。现在,为了吸引开发人员并建立开发人员社区和生态系统,每家公司都开放了他们的软件,这样就有很大的潜力来创造无限的人工智能应用。
将神经网络引入嵌入式平台随着人工智能渗透到我们生活的多个方面,最大的挑战之一就是把这种智能引入到小型的低功耗设备。这就需要引进嵌入式平台,因为它可以用非常低的功耗提供极高的性能。但这还不够。嵌入式平台还必须支持上面的一个或多个框架,以充分发挥所有开源模块的功能。 实现这一点的一种方法是使用专用硬件。可以设置一个能够高效实现最新库的硬件模块,芯片可以单独装配和发货。这种方法的问题在于,会使所有顶级公司已经理解并付诸行动的努力浪费掉。另外还会牺牲灵活性。
人工智能仍然是一个新兴的技术领域。它会不断发展和完善,它的全部潜力还远远没有实现。每时每刻,都会有一群才华出众的科学家和开发人员在推动人工智能的进步,并开发工具来发掘人工智能的潜能。这就是为什么只有使用可编程的灵活软件解决方案才能真正发挥这些开源框架的能力。