深度 | 理解深度学习中的卷积

频道:生活应用 日期: 浏览:28

译者按:本篇译文源自Tim Dettmers所著的《深度学习中理解卷积》。众多公开课程与教程纷纷颂扬卷积神经网络之优点,然而却鲜少有人解释何为「卷积」,仿佛假定读者群体普遍具备相关知识。鉴于该外文作品既易于理解又深入浅出,故将其翻译成中文。文章高级部分在运用流体力学和量子力学等理论来阐释卷积方法时,我个人的看法是显得较为激进。鉴于这些学科领域的研究深度远超卷积本身,因此,我只需对它们进行简要的浏览即可。以下是正文:

卷积在深度学习领域可能占据着核心地位。正是得益于卷积及其神经网络的应用,深度学习技术得以超越其他多数机器学习技术。然而,卷积之所以如此强大,其背后的原理究竟是什么?本文将深入探讨卷积及其相关概念,旨在帮助你全面掌握这一关键概念。

网络中存在诸多博客对卷积与深度学习中的卷积进行阐释,然而我发现它们往往在开头就引入了繁杂的数学内容,使得内容显得深奥难懂,不利于把握核心要义。尽管本篇博客同样涉及众多数学细节,但我将通过图形化的方法逐步呈现,确保读者能够轻松掌握。在文章的第一部分,我的目标是协助读者深入理解卷积的基本概念及其在深度学习网络中的应用。本部分涵盖了若干高级理论,其目的是为了协助深度学习领域的研究人员以及资深用户,以更深入的方式掌握卷积神经网络的相关知识。

第一部分:什么是卷积

本篇博客将深入剖析这一议题,然而,若能事先梳理文章结构,将大有裨益。简而言之,卷积究竟是什么呢?

将卷积视作一种融合信息的操作方式。试想两个信息丰富的容器,我们将它们的内容合并到一个容器里,并依照特定的规则进行搅拌。换句话说,卷积本质上是一个将两种信息相融合的过程。

卷积可以以某种方式被规范化表述,实际上,它本质上是一种数学计算,与加减乘除并无根本差异。尽管这种计算过程相当复杂,但它对于简化更繁杂的公式具有显著作用。在物理学与工程学领域,卷积技术被广泛应用以简化方程——待会儿我们将对卷积进行简略的规范化描述——随后,我们将探讨这些领域的理念与深度学习之间的联系,从而深化对卷积概念的理解。但现在我们先从实用的角度理解卷积。

我们如何对图像应用卷积

在图像处理中实施卷积操作时,我们会在两个维度——即水平与垂直方向——进行卷积运算。这一过程中,我们融合了两种信息:一是输入图像,它由三个矩阵组成,即RGB三通道,每个矩阵的元素均为介于0到255之间的整数;二是卷积核,即一个由单个浮点数构成的矩阵。我们可以将卷积核的尺寸和模式类比为搅拌图像的一种手段。卷积核处理后的结果是经过调整的图像,在深度学习领域里,这类结果通常被称为特征图。针对每一种颜色通道,都会生成一个相应的特征图。

边缘检测卷积核的效果

这究竟是如何实现的呢?下面,我们就来演示一下,如何利用卷积操作来融合这两种信息。我们首先从输入的图片中截取一个与卷积核尺寸相匹配的区域,比如当图片尺寸为100×100像素,卷积核的尺寸为3×3时,所截取的区域也将是3×3像素。接着,针对这些区域中相同位置的元素,我们进行乘法运算,并将结果相加。这种操作与矩阵乘法不同,但与向量内积相似,实际上是对两个等大小的矩阵进行点乘运算。feature map 的一个像素是由这些乘积的总和构成的。完成一个像素的计算后,像素点会移动至下一个区块,继续进行相同的运算处理。当像素点无法继续移动以获取新的区块时,feature map 的计算过程便宣告结束。这一过程可以通过动画进行直观展示。

深度学习卷积原理_卷积神经网络特征工程_卷积在生活应用

输入图片被定义为RAM,而feature map则被称作Buffer。

你或许会留意到存在一个规范化系数 m,其具体数值对应于核的尺寸9;这一设置旨在确保输入图像与特征图的亮度保持一致。

为什么机器学习中图像卷积有用

图像里可能充斥着许多我们并不感兴趣的杂音。以我在Burda Bootcamp与Jannek Thomas合作的项目为例。Burda Bootcamp是一个实验室,它让学生们能在极短的时间内,以类似黑客马拉松的形式掀起技术狂潮。在那儿,我与9位同事携手,在短短两个月内成功打造了11个产品。其中一种解决方案是利用深度编码器构建的针对时尚图片的搜索工具;将一幅时尚服饰的图片上传至该工具,编码器便能自动识别并推荐与之款式相近的服饰。

若要辨别服装款式,色彩因素相对不那么关键;此外,诸如品牌标识等细节亦非首要考量。服装的整体轮廓可能更为关键。通常而言,女性衬衫的款式与普通衬衫、夹克及裤装在外观上存在显著差异。若能剔除这些不必要的干扰因素,我们的算法便不会因颜色、品牌标识等细节而分散注意力。通过卷积技术,我们能够轻松完成这一处理过程。

我的同事Jannek Thomas运用了索贝尔边缘检测滤波器(与之前的一幅图像相仿),从中移除了除边缘以外的所有图像细节——这便是为何卷积操作常被称作滤波,而卷积核则常被称为滤波器的缘由(更精确的解释将在下文阐述)。边缘检测滤波器所输出的特征图在辨别服装种类方面极为关键,其优势在于仅保留了服装的轮廓信息。

在彩图的左上区域,我们可以看到搜索的关键词,而其余部分则展示了搜索到的相关内容。观察后发现,自动编码器主要聚焦于衣服的轮廓,而非其色彩。

进一步来说,存在众多不同的核,它们能够生成多样化的特征图,例如,锐化图像以突出细节,或是模糊图像以降低细节的显现。这些特征图各自都有助于算法在决策过程中发挥作用——例如,某些细节,如衣物上三颗纽扣而非两颗,或许能帮助区分不同的服饰。

采用这种方式——即读取输入数据、对其进行转换、随后将 feature map 输入至特定算法——我们称之为特征工程。这项工作极具挑战性,市面上鲜有资源能助你入门。因此,掌握特征工程的人寥寥无几,能熟练在多个领域运用此技术的更是凤毛麟角。特征工程——完全依赖人工操作——在 Kaggle 比赛中占据着至关重要的地位。特征工程之所以复杂,是因为针对不同的数据和问题,有效的特征各不相同;在图像处理任务中,其特征可能对时间序列分析任务并无助益;即便是同为图像处理任务,由于识别对象的差异,有效的特征也难以找到。这一过程很大程度上依赖于从业者的经验。

因此,对于初学者来说,特征工程显得尤为棘手。然而,针对图像处理,我们是否能够通过卷积核自动识别出特定任务中最优的特征呢?

进入卷积神经网络

卷积神经网络正是为此而设计的。与之前采用的固定数字卷积核不同,我们为这些核设定了参数,这些参数会在数据训练中得到优化。在卷积神经网络的训练过程中,为了提取有用信息,这些卷积核在图像或特征图上的过滤效果会逐渐提升。这一过程是自动进行的,被称为特征学习。特征学习能够自主适应新的任务需求,我们仅需对新数据进行一次训练,便能自动识别出新的筛选器。这也是卷积神经网络之所以强大的关键所在——它无需进行繁琐的特征工程处理!

卷积神经网络通常不是仅学习一个核,而是同时掌握多层级的多个核。以一个32x16x16的核为例,将其应用于256×256的图像,便会生成32个241×241(latex.png)的feature map。因此,自然而然地获得了32个有价值的新特征。这些特征可以成为后续核的输入。掌握了多级特征之后,我们只需将其传递给一个结构简单的全连接神经网络,该网络便能进行分类任务。至此,对卷积神经网络在概念层面的理解就已足够(至于池化这一重要议题,则留待下篇博客再详细探讨)。

第二部分:高级概念

我们对卷积有了初步的把握,同时亦明了卷积神经网络的功能及其强大的原因。接下来,我们将深入探究卷积运算的实质。我们将会发现,之前对卷积的阐述较为简略,此处有更为精致的解释。通过深入的学习,我们将洞悉卷积的内在本质,并将其应用于众多不同的数据类型。万事开头难,首要任务是掌握卷积的原理。

卷积定理

要掌握卷积概念,便不能不提及卷积定理,该定理将时域与空域的复杂卷积转换成了频域内简单的元素相乘。这一理论具有强大的影响力,在众多科学领域内被广泛采纳。正因如此,卷积定理使得快速傅里叶变换算法被誉为20世纪最具影响力的算法之一。

第一个等式描述了在一维连续空间中,两个连续函数之间进行的卷积运算;而第二个等式则涉及到了二维离散空间,即图像领域中的卷积操作。在这两个等式中,我们分别探讨了不同维度下的卷积概念。

指的是卷积,

指的是傅里叶变换,

表示傅里叶逆变换,

这是一个标准化的常数。在此,“离散”一词表明数据由若干个变量组成,即像素;而“一维”描述的是数据的线性特征,如时间;至于图像,它具有二维特性,而视频则属于三维范畴。

为了深入领会卷积定理的精髓,我们必须掌握数字图像处理领域内傅里叶变换的相关知识。

快速傅里叶变换

快速傅里叶变换是将时域与空域数据转换为频域的算法。它通过正弦波和余弦波的组合来表述原始函数。需要强调的是,傅里叶变换通常涉及复数运算,即一个实数被转换成包含实部和虚部的复数形式。通常情况下,虚部仅在特定领域发挥作用,例如将频域数据转换回时域和空域;但在本篇博客中,我们将不予考虑。在您眼前,可以观察到信号(这类以时间作为变量,并呈现周期性变化的函数通常被称作信号)是如何经过傅里叶变换过程的。

红色是时域,蓝色为频域

或许你未曾亲眼目睹过此类物品,然而我可以确信开元ky888棋牌官方版,这些元素在你的日常生活中并不陌生:若将红色比作一首旋律,那么蓝色所代表的,便是你于MP3播放器屏幕上所观察到的音频频谱。

傅里叶域上的图像

我们怎样去感知图像的频率?可以设想一张仅包含两种图案的纸张,将纸张直立,沿着其线条方向观察,便能观察到一系列的光点。这些由固定间隔分隔的黑白波浪状图案,即代表频率。在频域中,低频区域靠近中心,而高频区域则靠近边缘。在频域中,亮度较高(如明亮、白色)的区域,指示了原始图像亮度变化的方向。这一现象在后续的图像及其对数傅里叶变换结果中尤为显著:通过对傅里叶变换的实部进行对数处理,像素亮度的差异得以降低,从而使得更广泛的亮度区域变得易于观察。

我们很快就能察觉到,傅里叶变换中蕴含了物体朝向的相关信息。即便物体发生了一定角度的旋转,仅从图像的像素中可能难以辨识,然而在频域分析中,这种变化则表现得十分清晰。

这是一个至关重要的发现,依据傅里叶定理,我们了解到卷积神经网络能够在频域中检测图像,并成功捕捉到物体的方向数据。因此,卷积神经网络在处理旋转图像方面相较于传统算法更为出色(尽管其表现仍不及人类)。

频率过滤与卷积

为何卷积常被比作一种筛选过程,而卷积核又常常被称作筛选器呢?下面通过一个实例我们可以得到解答:

对图像进行傅里叶变换之后,若将其与一个圆形相乘(该圆形以黑色填充背景,即数值为0),则能够筛选掉所有的高频成分(这些成分在乘积中会变为0,因为背景填充的是0)。经过处理的图像仍保留着条纹图案,然而其整体质量却显著降低——这正是 jpeg 压缩技术的运作机制(尽管具体过程有所差异开元ky888棋牌官网版,但原理类似),它通过改变图形,仅保留部分频率,并最终将这些频率逆转换成二维图像;而压缩效果可以通过黑色背景与圆形图案的比例来衡量。

我们将圆圈设想为卷积核,借此便能够构建起完整的卷积流程——正如在卷积神经网络中所观察到的那样。为了确保傅里叶变换的稳定与高效执行,还需掌握一系列技巧,然而,这便是其核心思想所在。

我们已掌握了卷积定理与傅里叶变换的核心概念,凭借这些知识,我们得以将之融入其他科学分支,从而深化对深度学习领域中卷积机制的理解。

流体力学的启发

流体力学在空气和水的描述中构建了众多微分方程模型,傅里叶变换不仅使得卷积过程变得简便,同时也简化了微分运算,甚至可以说,它对任何依赖微分方程的领域都产生了积极影响。在求解解析解时,傅里叶变换往往成为不可或缺的工具,它允许我们对微分方程的左右两边同时进行变换。在这一过程中,我们倾向于将解表示为两个函数卷积的形式,从而获得更为简洁的表达方式。这不仅是单一维度上的应用,还包括了在两个维度上的运用,例如在天文学领域。

扩散

您可以将牛奶与咖啡这两种液体相混合,只需借助外力,比如用汤勺进行搅拌——这个过程我们称之为对流,并且它进行得相当迅速。另外,您也可以选择静待它们自然融合——这个过程称作扩散,通常来说,它是一个较为缓慢的过程。

设想一个场景,一个鱼缸被一块隔板分成两个区域,每侧都含有不同浓度的盐水溶液。当隔板被移除,两侧的盐水将逐渐交融,直至达到相同的浓度。若两侧盐水的浓度差异较大,这种混合过程将更为激烈。

设想一个鱼缸,它被划分成由256×256个板块组成的256×256个独立区域,这些区域中盐水的浓度各不相同。若将隔板全部移除,那些浓度相近的区域之间扩散现象将非常有限,然而,那些浓度相差较大的区域之间则会出现显著的扩散现象。这些小区域便是像素点,而盐水的浓度则代表着像素的亮度。因此,浓度的扩散过程也就等同于像素亮度的扩散过程。

这表明,扩散过程与卷积存在共通之处,比如在初始阶段,液体的浓度各异,亦或是像素的亮度强度不同。为了深入阐述后续内容,我们必须对传播子有更深入的认识。

理解传播子

传播子相当于一种密度分布函数,它指示流体中的微小颗粒应当朝哪个方向扩散。然而,在神经网络中,我们并未找到类似这样的概率分布函数,而只有卷积核这一工具。那么,我们该如何将这两种不同的概念进行整合呢?

通过正规化处理,我们可以将卷积核转换成概率密度函数。这一过程与计算输出值的softmax函数相似。以下是对第一个例子中的卷积核应用softmax函数后得到的结果:

现在,我们可以从扩散的视角来阐释图像中的卷积现象。这种理解将卷积视为两个独立的扩散过程。首先,像素亮度的变化(如从黑色变为白色等)会导致扩散现象;接着,某个特定区域的扩散需遵循卷积核所指定的概率分布。这表明,卷积核所作用的区域内的像素点必须按照这些概率进行扩散。

在所述的边缘检测器里,绝大多数接近边缘的数据点都会汇聚至边缘位置(虽然这在流体扩散现象中难以实现,然而从数学角度来说,这一解释是合理的)。举例来说,所有亮度值低于0.0001的像素点很可能向中心区域移动并累积。那些与周边像素差异最大的区域将汇聚强度,因为那里的扩散作用最为剧烈。反之,那些强度最为集中的区域,与周边环境的对比尤为鲜明,正因如此,这些区域便是物体的边缘位置,这也正是为何该核能够充当边缘检测器的道理。

因此,我们便获得了物理学上的诠释:卷积代表着信息的传播。这样的理解可以直接应用于其他核函数,尽管有时在解读之前需要先进行softmax规范化处理,但通常核函数中的数值就已足够表达其目的。以以下核函数为例,你能否推测出它的意图呢?

等等,有点迷惑

对于这样一个基于概率的卷积核,其功能如何能够是确定的呢?我们难道不是需要依据核所对应的概率分布,亦即传播子,来推算单个粒子的扩散情况吗?

确实如此,然而,即便只取极小量的液体,例如一滴,其中也含有数百万个水分子。尽管单个水分子的随机运动符合传播子的特性,但大量分子在宏观层面上的行为却呈现出相对稳定的状态。这一现象既可以用统计学原理来阐释,也可以用流体力学理论来解释。我们能够将传播子的概率分布理解为信息或像素亮度的平均分布,换言之,从流体力学的视角来看,我们的解释是合理的。话说回来,这里还有一个卷积的随机解释。

量子力学的启发

量子力学领域内,传播子扮演着核心角色。根据量子力学的理论,一个微观粒子可以同时处于多种状态,这些状态具有两个或更多的属性,使得我们无法精确知晓它在观测宇宙中的确切位置。以一个粒子为例,它可能同时位于两个截然不同的地点。

然而,一旦你检测微粒的具体状态——例如,确定微粒的当前位置——那么微粒便只能存在于一个确定的位置。换言之,观测行为本身便破坏了微粒的叠加性。传播子则揭示了微粒可能出现的概率分布情况。举例来说,在完成测量后,微粒有可能——依据传播子的概率分布函数——有30%的几率出现在A点,而有70%的几率出现在B点。

借助量子纠缠现象,几个粒子便能够同时承载成百上千甚至数百万种状态,这正是量子计算机所拥有的强大力量。

若将此理论应用于深度学习领域,可将图像视为处于叠加态,从而在每一个3*3的局部区域内,每个像素点均可能存在于九个不同的位置。经过卷积操作后,相当于进行了一次观测,随后每个像素点将根据概率分布坍缩至唯一的位置,而所得到的单个像素值则是所有像素的平均值。为确保这一解释的有效性,必须确保卷积过程本身是一个随机事件。这表明,运用相同的图片和卷积核开yun体育官网入口登录app,却能得到各异的结果。这种阐述并未直接指出类比的对象,却或许能激发你思考如何将卷积视为一个随机过程,或是如何创造适用于量子计算机的卷积网络算法。量子算法可以在线性时间复杂度内计算出卷积核所能描述的所有可能状态组合。

概率论的启发

卷积与互相关有着密切的联系。互相关技术,它是一种评估较短信息片段(例如几秒钟的音乐片段)与较长信息(如整首音乐)之间相似程度的方法。这种技术,正如YouTube所采用的类似技术,被用于检测侵权视频。

尽管这些相互关联的公式显得较为复杂,但我们可以借助以下方法迅速揭示其与深度学习的内在联系。在图像搜索领域,我们只需将查询图片进行上下翻转,用作核函数,随后通过卷积操作执行互相关检测。最终,我们会获得一张包含一个或多个亮点的图像,而这些亮点的具体位置,正是人脸的具体位置。

此例亦揭示了通过填充零点来确保傅里叶变换稳定性的方法,众多傅里叶变换的版本均采纳了此法。此外,尚有运用其他填充策略的情况,例如铺展核、分而治之等。对此,我暂不详细阐述,因为关于傅里叶变换的文献资料浩如烟海,其中蕴含的技巧尤为丰富——尤其是在图像处理领域。

在更基础的层级中,卷积网络的第一层并不进行互相关校验操作,其功能主要是进行边缘检测。随着层数的递增,后续层获取的特征愈发抽象,从而具备了执行互相关的条件。我们可以设想,这些亮点像素会被传递至负责人脸检测的单元(例如,在Google Brain项目的网络结构中,存在一些特定的单元用于识别人脸、猫等物体;或许它们正是通过互相关技术来实现的?)。

统计学的启发

统计模型与机器学习模型有何不同?统计模型主要关注数量有限且易于解释的变量。其核心目标通常是为了解答类似这样的问题:药品A与药品B相比,哪一种更有效?

机器学习模型的核心目标是预测效果:针对年龄为X的人群,药物A的治愈率相较于B高出17%;而针对年龄为Y的人群,这一差异则进一步扩大至23%。

机器学习模型在预测方面往往更为出色,然而其可靠性却有所欠缺。相比之下,统计模型在确保结果的准确性与可信度方面更为突出:即便药品A的疗效比B高出17%,我们仍旧无法确定这一差异是否属于偶然现象,这就需要依赖统计模型来进行判断。

时序数据中,存在两种关键模型,分别是加权移动平均模型以及自回归模型,而自回归模型则包含在ARIMA模型(自回归积分移动平均模型)之中。相较于LSTM模型,ARIMA模型在性能上相对较弱。在低维度的数据(1至5维)中,ARIMA模型展现出强大的稳定性。尽管其解释性稍显复杂,ARIMA模型并不像深度学习算法那样是一个难以看透的黑箱。对于寻求一个可靠模型的需求来说,这无疑是一个显著的优势。

我们可以将这些统计模型转化为卷积结构,这样一来,深度学习中的卷积操作就能被视为生成局部ARIMA特征的函数。然而,这两种方法并不完全一致,因此在应用时需格外小心。

C 函数的参数涉及核值,而所谓的白噪声则是一种经过正规化处理的数据,其均值恒为0,方差固定为1,并且各数据点之间彼此独立。

在数据预处理阶段,我们常常将数据转换成类似于白噪声的模式:将数据平移至均值等于0,并将方差调整为1。尽管我们很少去除数据间的相关性,因为这样做计算量较大,但从理论上来说,这个过程相当直观:我们通过旋转坐标轴,使数据的特征向量相互对齐。

若以C视为偏差,那么我们会发现这和卷积神经网络颇为相似。因此,卷积层的输出可以被理解为白噪音数据通过自回归模型处理后的结果。

加权移动平均的概念可以这样理解:它是指将输入数据与一个特定的核进行卷积运算。通过观察文末所展示的高斯平滑核,我们可以清楚地理解这一概念。高斯平滑核实际上可以理解为每个像素与其周围像素的平均值,或者说每个像素的值由其邻近像素的平均值所决定(从而实现边缘的模糊效果)。

尽管单个核无法同时构建自回归和加权移动平均的特征,然而,我们能够通过组合多个核来生成多样化的特征。

总结

在这篇博客中,我们了解到卷积的概念及其在深度学习中的重要性。图片区块的解释既易于理解又便于计算,尽管如此,它仍存在一定的理论限制。通过学习傅里叶变换,我们得知在时域上,傅里叶变换后的结果中蕴含着大量关于物体朝向的信息。借助强大的卷积定理,我们认识到卷积实际上是一种在像素之间进行信息传递的过程。在后续研究中,我们对量子力学中的传播子理论进行了扩展,并提出了一个关于确定过程中随机性的新解释。同时,我们揭示了互相关和卷积之间的相似性,并指出卷积网络的性能可能与feature map之间的互相关强度有关,而这种强度正是通过卷积操作来验证的。最终,我们还探讨了卷积与两种不同统计模型之间的联系。

就我个人而言,我认为撰写这篇博客颇具乐趣。过去,我长时间认为大学期间的数学与统计学课程纯属浪费时光,因为它们显得过于理论化(即便是应用数学也不例外)。然而,后来——仿佛中了头奖一般——这些知识之间开始相互串联,并带来了全新的领悟。我认为这正是一个绝佳的案例,它启示我们应当耐心学习大学中的每一门课程——即便它们起初看似毫无价值。

上文高斯平滑核问题的答案

Reference

访问该网站,您可以了解到关于卷积在深度学习中的应用的详细内容,发布于2015年3月26日。

R. B. Fisher与K. Koryllos共同撰写,题目为《交互式教科书;在文本中嵌入图像处理操作演示》,发表于《国际模式识别与人工智能杂志》第12卷第8期,页码为1095至1123,出版年份为1998年。

在深度学习中,卷积神经网络是一种重要的技术,它通过模拟人脑的视觉感知机制,对图像进行特征提取和分类。这种网络结构在图像识别、物体检测和视频分析等领域有着广泛的应用。文章详细介绍了卷积神经网络的基本原理、实现方法和在实际应用中的效果。

码农场这篇文章的链接如下:http://www.hankcs.com/ml/understanding-the-convolution-in-deep-learning.html,其中详细阐述了深度学习中卷积的理解。

网友留言(0)

评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。