从能够自主飞行的无人机,到能和小朋友玩物体识别等游戏的机器人,极客们对智能设备追求没有止境。除了轻巧的体积、超长的续航,更重要的是要有一个智能的“大脑”,来实现人类能够想得到的人机交互,或者智能化的自主决策和行为动作,毫无疑问强大的深度学习能力不可或缺。那么,拒绝束缚人类想象力的嵌入式智能设备,其开发工作需要什么样的环境和工具?开发者进行相关开发的可行思路是什么?近日,CSDN记者就此专访了智能设备重度开发者、高性能计算专家赵开勇(博客)。
赵开勇,香港浸会大学计算机计算机系异构计算实验室在读博士,长期从事高性能计算领域研究,在CPU、GPU异构计算方面有多年的研究经验,尝试过多种嵌入式开发平台,曾在2013年初预言基于移动设备的高性能计算将会成为未来潮流。
采访实录
CSDN:对于嵌入式领域的人工智能应用开发工作,您认为计算方面的挑战有什么不同?
赵开勇:智能应用基本都需要使用深度学习做视觉处理、语音识别,深度学习可以说是构建智能应用的大脑的必备工具。现在的深度神经网络参数一般都比较庞大,上百层的网络已经不少,并且每一层又有很多参数。如果是按照F32的数据,就需要耗费几百MB的内存。所以如何把网络数据变小,同时又不损失精度,这是在嵌入式领域做人工智能的挑战之一。
另一个方面,嵌入式的平台的计算能力也比不上传统的PC,计算能力有限,一些复杂的神经网络也需要在嵌入式平台上做相应的优化,才能在嵌入式平台上达到接近PC上的神经网络的速度。
总而言之,嵌入式平台上的计算能力和计算资源有限都是深度学习在嵌入式平台上的挑战。
CSDN:能否介绍近期您有做过哪些相关的尝试?
赵开勇:我借助NVIDIA最近推出的Jetson TX1平台开发了一些图像处理的应用(细节暂时不便公布),采用的算法主要是深度学习中最常用的卷积神经网络(CNN),它能够解决图像处理的大部分问题。CNN的关键是卷积层,卷积可以看做是对图像做滤波提取特征值,但是需要大量的计算——目前能work的众多CNN网络,卷积部分占了70%以上的计算时间,所以这部分的优化是很有必要的。
我基于Jetson TX1针对卷积计算做了一些性能上的优化,包括让CPU、GPU、内存在最高频率中运行ÿ