计算机视觉(Computer vision)
计算机视觉是一个飞速发展的一个领域,这多亏了深度学习。
深度学习与计算机视觉可以帮助汽车,查明周围的行人和汽车,并帮助汽车避开它们。
还使得人脸识别技术变得更加效率和精准,你们即将能够体验到或早已体验过仅仅通过刷脸就能解锁手机或者门锁。
当你解锁了手机,我猜手机上一定有很多分享图片的应用。在上面,你能看到美食,酒店或美丽风景的图片。有些公司在这些应用上使用了深度学习技术来向你展示最为生动美丽以及与你最为相关的图片。
机器学习甚至还催生了新的艺术类型。深度学习之所以让我兴奋有下面两个原因,我想你们也是这么想的。
第一,计算机视觉的高速发展标志着新型应用产生的可能,这是几年前,人们所不敢想象的。通过学习使用这些工具,你也许能够创造出新的产品和应用。
其次,即使到头来你未能在计算机视觉上有所建树,但我发现,人们对于计算机视觉的研究是如此富有想象力和创造力,由此衍生出新的神经网络结构与算法,这实际上启发人们去创造出计算机视觉与其他领域的交叉成果。
举个例子,之前在做语音识别的时候,我经常从计算机视觉领域中寻找灵感, 并将其应用于我的文献当中。所以即使你在计算机视觉方面没有做出成果,我也希望你也可以将所学的知识应用到其他算法和结构。就介绍到这儿,让我们开始学习吧。
这是我们本节课将要学习的一些问题,你应该早就听说过图片分类,或者说图片识别。比如给出这张64×64的图片,让计算机去分辨出这是一只猫。
但在应用计算机视觉时要面临一个挑战,就是数据的输入可能会非常大。
举个例子,在过去的课程中,你们一般操作的都是64×64的小图片,实际上,它的数据量是64×64×3,因为每张图片都有3个颜色通道。如果计算一下的话,可得知数据量为12288,所以我们的特征向量x维度为12288。这其实还好,因为64×64真的是很小的一张图片。
如果你要操作更大的图片,比如一张1000×1000的图片,它足有1兆那么大,但是特征向量的维度达到了1000×1000×3,因为有3个RGB通道,所以数字将会是300万。如果你在尺寸很小的屏幕上观察,可能察觉不出上面的图片只有64×64那么大,而下面一张是1000×1000的大图。
如果你要输入300万的数据量,这就意味着,特征向量x的维度高达300万。
所以在第一隐藏层中,你也许会有1000个隐藏单元,而所有的权值组成了矩阵 W^([1])。
如果你使用了标准的全连接网络,就像我们在之前的课程里说的,这个矩阵的大小将会是1000×300万。因为现在x的维度为3m,3m通常用来表示300万。这意味着矩阵W^([1])会有30亿个参数,这是个非常巨大的数字。在参数如此大量的情况下,难以获得足够的数据来防止神经网络发生过拟合和竞争需求,要处理包含30亿参数的神经网络,巨大的内存需求让人不太能接受。
但对于计算机视觉应用来说,你肯定不想它只处理小图片,你希望它同时也要能处理大图。为此,你需要进行卷积计算,它是卷积神经网络中非常重要的一块。下个笔记中,我会为你介绍如何进行这种运算,我将用边缘检测的例子来向你说明卷积的含义。