40秒解释深度神经网络

作者:Vincent Granville 博士,MLtechniques.com 作者 MLtechniques.com

赞助内容

非常深的神经网络(VDNN)通过数据动画进行说明:一个40秒的视频,包含监督学习、层、神经元、模糊分类和卷积滤波器。

俗话说,一张图片胜过千言万语。在这里,我用一个视频来阐述非常深的神经网络(VDNN)的概念。

我使用一个监督分类问题来解释 VDNN 的工作原理。监督分类是监督学习中的主要算法之一。训练集有四组,每组分配不同的颜色。此处描述的 DNN 类型是卷积神经网络(CNN):它依赖于滤波技术。在文献中,滤波器被称为卷积算子,因此得名 CNN。

目的

目的是对训练集之外的任何新数据点进行分类。实际上,并不是使用整个训练集来构建分类器,而是使用一个称为测试集的子集,来对照控制集检查性能,并微调参数。控制集包括不在测试集中的训练集点。这种设计被称为交叉验证。

视频中说明的分类器最终可以即时分类训练集之外的任何新点。此外,本文还说明了分形(或模糊)分类以及在 GPU(图形处理单元)上执行的机器学习的概念。

描述

该方法包括三个步骤。

第一步:将测试集转换为适合作为 DNN 输入的格式。这可能涉及重新缩放或应用一些映射(通常是逻辑映射)到原始数据。在我们的例子中,双变量数据被分箱并转换为像素位置,以适应视频帧。视频的第一帧代表经过初始映射后的测试集。

第二步:一个帧到下一个帧的过渡,直到没有未分类(黑色)像素为止,如下所示。您将一个局部滤波器应用于每个像素,通过邻近像素的多数投票来为其分配颜色(分配给哪个组)。在此示例中,滤波器是非线性的。它类似于高通滤波器或通常用于信号处理中的图像增强滤波器。线性滤波器被称为平均或模糊滤波器,在此无用。视频中的每一帧代表 DNN 的一个层。之所以称为非常深的神经网络,是因为它包含大量层(在此示例中为数百个)。

第三步:当没有黑色像素剩余时获得的帧(在视频中间)是 DNN 的输出。要对任何未来的点进行分类,请使用第一步中的映射计算其在图像上的像素位置,并找到它被分配到哪个颜色。

下面的插图是 GIF 图像,是通过将我的 MP4 视频转换为 GIF 格式获得的。我使用了在线的 EZGif 转换器 来生成它。您可以在 YouTube 上观看原始视频, 此处。在 DNN 术语中,每个像素称为一个神经元,并且(就像人脑一样)它只与给定层中的邻近神经元交互。因此得名神经网络。

GPU 机器学习

由于所有机器学习都通过标准滤波技术在图像上进行(一旦原始数据集被转换为图像),因此很容易在视频内存中运行算法。换句话说,在 GPU(图形处理单元)上完成。我提到这一点是为了向不熟悉这项技术的人解释和说明 GPU 机器学习的含义。

模糊或分形分类

一旦没有黑色(未分类)像素剩余,分类器就完成了它的任务。但是,在我的视频中,我添加了额外的帧来说明分形分类的概念。簇之间的边界有些多孔或模糊。靠近边界的点可能会被分配到边界上的两个或三个相邻组中的任何一个。额外的帧(在 DNN 术语中称为层)显示了边界随时间的移动。通过查看一个靠近边界的点随时间的类分配变化,可以计算出该点属于一个组或另一个组的概率。我将在即将发表的文章中更详细地介绍这一点。

结论

在本文中,我用通俗易懂的语言解释了深度神经网络(DNN)、卷积神经网络(CNN)、卷积滤波器、神经网络的层和神经元、GPU 机器学习以及模糊分类的概念。

该视频插图使用了异常多的层(视频帧),每个神经元(像素)仅连接到少数几个其他附近的神经元——即邻近的像素。因此,使用了“ 非常深的神经网络 ”或 VDNN 这个术语。在我的例子中,我只使用了每个神经元一次连接。这导致了一个相当精细的分类器,并提供了一些好处。但在实践中,传统的 DNN 使用的层数要少得多,但神经元连接到数十甚至数百个其他神经元。换句话说,局部滤波器使用了一个大得多的窗口。

该方法在我新书中有详细描述, 此处 有售。不要错过未来的更新,请 在此处 注册我们的新闻通讯。在即将发表的文章中,我将展示一项无监督学习的应用,其中一个后处理滤波器扮演了 DNN 中 Sigmoid 映射的角色。这些材料已在我 新书 中提供。

暂无评论。

留下回复

Machine Learning Mastery 是 Guiding Tech Media 的一部分,Guiding Tech Media 是一家领先的数字媒体出版商,专注于帮助人们了解技术。访问我们的公司网站以了解更多关于我们的使命和团队的信息。