神经网络:比原来更容易学习了(2)
2017-04-30 编辑:
我们已经看到了无数使用亚马逊Alexa语音识别服务的例子。Google也提供了包括视觉和语音的云机器学习服务。这方面的例子有:使用树莓派来对糖果进行排序,以及识别人类的表情。Wekinator是一款针对艺术家和音乐家的软件,它可用于训练神经网络,可以让人们用手势来控制屋内的电器的开关。当然了,微软也有自己的认知服务API,包括视觉、语音、语言等多个方面。
GPU和TPU
遍历一个神经网络
训练一个神经网络需要循环迭代访问整个神经网络,包括正向的和反向的,每次迭代都会提高神经网络的精度。从某种程度上来说,迭代的越多,最后的精度也越高。总的迭代次数可能会达到几百次甚至上千次。对于80、90年代的计算机来说,要实现足够多的迭代次数可能需要花费的不可思议的时间。文章“深度学习神经网络:概述”提到,在2004年,GPU的使用使得完全连接神经网络的速度提高了20倍,在2006年,卷积神经网络的速度提高了4倍,到2010年,使用CPU来训练的速度比使用GPU提高了50倍,神经网络的精度也越来越高。
Nvidia Titan Xp显卡。 图片来源: Nvidia
GPU是如何来提高训练的速度的呢?训练神经网络最重要的部分是做矩阵乘法运算,在这方面,GPU要比CPU快得多。显卡和GPU的市场领导者,Nvidia公司,创建了一套名叫CUDA的API,神经网络软件可以使用这套API来充分利用GPU。今后,我们会经常看到CUDA这个词。随着深度学习的发展,Nvidia公司又增加了不少API,包括CuDNN(用于深度神经网络的CUDA)。
Nvidia也有自己的单板计算机:Jetson TX2。该计算机主要用来设计自动驾驶汽车的大脑、自动拍照的无人机等等。当然,我们也要指出,这个电脑的价格还是有点高的。
Google公司也一直致力于设计自己的硬件加速系统:张量处理单元(Tensor Processing Unit,TPU)。你可能也注意到这个名字与上文介绍的Google框架TensorFlow有相似地方。根据Google关于TPU的论文描述,TPU是为神经网络的归纳阶段而设计的。归纳不是指训练神经网络,而是说使用训练后的神经网络。我们目前还没有看到有任何框架使用TPU,但是我们还是要记住这个东西的。
使用其他人的硬件
你是否有一个不支持GPU,或者你不想耗费自己的计算资源但是又需要花很长时间来训练的神经网络?在这种情况下,你可以使用互联网上的云计算服务。例如,FloydHub,它对于个人来说并没有月租费,而且每小时只需要话费几分钱。还有另外一个选择:Amazon EC2。
数据集
使用打过标记的数据来训练神经网络
神经网络的突破之一是包含大量样本的训练数据有效性。在训练一个使用监督训练算法的神经网络的时候,需要有大量的数据作为输入,并且也要告知预期的输出结果是什么。在这种情况下,输入的数据需要打上标记。如果你给神经网络的输入是一匹马的图片,而它的输出却说这个图片看起来像一只猎豹,那么它需要知道这个输出是错误的。预期输出称为标签,而输入数据就是“打了标记的数据”。
在网上有很多这样的数据集可用来训练神经网络。MNIST是用来训练手写字符识别的数据集,ImageNet和CIFAR是用于标记图像的两个不同的数据集。而更多的数据集可以在维基百科上找到。上文列出的很多框架都提供了相应的教程以及必需的数据集。
当然了,这并不是说你必须要有一个大的数据集才能获得高的准确性。我们上文提到的使用FNN框架的步行机器人,它是使用伺服电机的位置来作为训练数据的。
其他资源
不同于80、90年代,虽然你现在仍然可以购买到关于神经网络的印刷书籍,但是很多都是在线的了。我喜欢的两本在线书籍,一本是麻省理工学院出版社的《深度学习》,还有一本是《神经网络与深度学习》。上文列出的那些框架都包含了初学者的入门教程,并且只要你能上网上进行搜索,都能找到无数的网站和YouTube视频资源。我发现YouTube上的讲座和会议视频非常的有用。
未来
包含GPU的树莓派7
毫无疑问,未来将会看到更多的框架。
长期以来,虽然我们一直能在市场上看到一些专门的神经芯片和电路板,但是它们并没有形成一个巨大的市场,因为它们并不是为神经网络软件这个真正快速增长的领域而设计的。而GPU正是服务于这个市场的。由于包含图像、声音、语言的神经网络会越来越多的进入到小型的消费者设备中,因此需要针对该软件量身定制更多的GPU或处理器,而这些可能会成为树莓派或Arduino板上的一个新模块(注:事实证明,树莓派上有一个GPU)。这并不意味着所有上文提到的框架都会使用这个新模块,例如,TensorFlow仅支持Nvidia CUDA。 但是,您仍然可以使用GPU来运行自己的神经网络代码。
目前,GPU已经受到了来自于像TPU这样的ASIC的竞争,并且以后我们还会看到更多的竞争者,甚至它们可能在神经网络中完全取代GPU。
神经网络作为我们日常生活的一部分一直都存在着,人工智能会长期保持一定的低调,直到有人做出重大的突破时,它才能再次引起轰动。
在线直播 | 人工智能核心技术解析与应用实战峰会由CSDN学院倾力打造,力邀一线公司技术骨干做深度解读。本期直播(5月13日)邀请来自阿里巴巴、思必驰、第四范式、一点资讯、58集团、PercepIn等在AI领域有着领先技术研究的一批专家,他们将针对人脸识别、卷积神经网络、大规模分布式机器学习系统搭建、推荐系统、自然语言处理及SLAM在机器人领域应用等热点话题进行分享。限时特惠199元即可听6位技术专家的在线分享,欢迎报名参加,加微信csdncxrs入群交流。
相关阅读:
相关推荐: