使用Excel实现卷积网络

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

卷积在生活应用_卷积的应用案例_用卷积解释一种生活现象

当您开始时,您可能会发现机器学习复杂……甚至令人恐惧。另一方面,电子表格很简单。电子表格并不酷,但是它们可以避免分散您的注意力,同时帮助您以直观的方式可视化代码背后的事情。

我将逐步通过电子表格向您展示(您可以通过下面的链接下载它)如何将卷积神经网络(CNN)应用于计算机视觉任务。这包括一些数学,但是电子表格包含所有公式。

该电子表格模型查看图像,分析其像素,并预测它是否是Elon Musk,Jeff Bezos,Jon Snow ...显然,这三个是Skynet最大的威胁。

用卷积解释一种生活现象_卷积的应用案例_卷积在生活应用

终结者愿景 - 在电子表格中创建卷积神经网络

本文将介绍上图中的9个步骤,每个步骤将使用类比方法来增强您的直觉。

本文的目的是使用易于操作的电子表格,为开始机器学习提供一个简单的途径,并向好奇的读者展示尖端AI技术的奥秘。如果本文对您有帮助,请注册我创建的邮件列表。注册后,您可以收到更多后续的电子表格,以帮助您开始进行机器学习和创建神经网络。

用卷积解释一种生活现象_卷积在生活应用_卷积的应用案例

Facebook面部识别系统,某个国家的奥威尔风格的大规模监视系统的基础,您的汽车(在不久的将来)是计算机愿景。

卷积在生活应用_用卷积解释一种生活现象_卷积的应用案例

CNN侦探

让我们假装在终结者的心中有一个特殊的侦探,称为“夏洛克卷积福尔摩斯”。他的工作是仔细查看证据(输入图像),使用敏锐的眼睛和推理技能(功能检测),预测图像中的人是谁,从而解决了案例(正确对图像进行了正确分类)。

卷积在生活应用_用卷积解释一种生活现象_卷积的应用案例

卷积网络体系结构

您将学习:

输入:如何查看计算机

功能检测:像夏洛克·福尔摩斯一样思考

卷积数学:Sherlock Holmes的侦探工具

Relu:非线性模式识别

最大池:保留最重要的线索

平坦:安排所有线索

完整连接:完成案例难题

logit + softmax:解决情况

横向渗透损失:夏洛克·福尔摩斯的“正/误差”

用卷积解释一种生活现象_卷积的应用案例_卷积在生活应用

输入 - 一张图片比一千个单词要好

卷积在生活应用_用卷积解释一种生活现象_卷积的应用案例

对天网的最大威胁 - 埃隆·马斯克(Elon Musk)

我从上图中看到了一个有远见的人。一方面,他不断地改善地球地球,另一方面,他会创造出从地球上逃脱的火箭,以防终结者试图摧毁地球。与计算机不同,我看不到像素值,我也无法认识到图像只是红色,绿色和蓝色的一堆:

用卷积解释一种生活现象_卷积在生活应用_卷积的应用案例

另一方面,一台计算机(例如天网)是盲目的……只能看到数字。

想象一个由3个电子表格(红色,绿色,蓝色)组成的堆栈组成的电子图像,每个图像都带有数字矩阵。拍照时,相机测量到达每个像素的红色,绿色和蓝光的量。然后,它在0-255的范围内评估每个像素,然后将其记录到电子表格中。

用卷积解释一种生活现象_卷积在生活应用_卷积的应用案例

计算机查看电子表格

以上是28x28图像,每个像素由三线(红色,蓝色,绿色)表示,值范围为0-255。每个像素的颜色对应于其值。

用卷积解释一种生活现象_卷积的应用案例_卷积在生活应用

终结者没有看到眼睛开元ky888棋牌官网版,他看到了一串数字

将每种颜色分别放入矩阵中,我们得到3 28x28矩阵,这是我们稍后用来训练神经网络的输入:

卷积在生活应用_卷积的应用案例_用卷积解释一种生活现象

模型输入

如果您想知道如何将任意图像转换为电子表格,请访问以下URL:

您将学习如何获得您的Excel粉丝朋友会喜欢的“前拍摄” ...相信我,在电子表格中找到您的杯子(或他们的杯子)会让它们发笑(小)图片最有效)。

培训概述 - 像计算机一样,像孩子一样

你知道你出生时狗的样子吗?我当然不知道。但是随着时间的流逝,您的父母会向您展示书籍,动画片和现实生活中的狗图像。逐渐地,您可以指出那些四足动物的动物,并说“狗”。大脑中数亿个神经元之间的联系变得足够强,您可以识别狗。

终结者学会以相同的方式识别埃隆。在一个被称为监督培训的过程中,人们向终结者展示了数千张埃隆·马斯克,杰夫·贝佐斯,乔恩·斯诺的图像。一开始,它只能随机猜测(有机会正确猜测的1/3)。像孩子一样,逐渐地看到训练期间越来越多的图像,它越来越准确地猜测。 。随着时间的推移,网络的连接(即“重量/偏见”)会更新,以便它可以基于像素输入来预测输出。这是我讨论的学习过程(梯度下降)。

用卷积解释一种生活现象_卷积的应用案例_卷积在生活应用

CNN训练周期

卷积神经网络和正常神经网络有什么区别?

用两个词总结一下:翻译不变性。

不知道发生了什么事?让我们解构:

在计算机视觉中,这意味着无论对象在何处移入图像(翻译),它都不会改变对象(不变性)。

用卷积解释一种生活现象_卷积的应用案例_卷积在生活应用

翻译不变性(和扩展不变性)

这需要训练卷积神经网络以识别Elon的特征,而不管图像中的埃隆在哪里(翻译)或图像中的Elon有多大(缩放不变性)。

在普通的神经网络中,我们会使用每个像素作为模型的输入(而不是3个矩阵),但这忽略了类似像素具有特殊意义和结构的事实。在CNN中,我们查看像素组,该类别允许模型学习局部模式,例如形状和线条。例如,如果CNN看到了黑色圆圈周围许多白色像素,它将识别这种眼睛的模式。

为了实现翻译不变性,CNN需要依靠其功能侦探夏洛克卷积霍姆斯的服务。

类比:图像就像由像素制成的电子表格。

卷积在生活应用_用卷积解释一种生活现象_卷积的应用案例

与Sherlock卷积Sherlock Sherlock - 特色侦探

卷积在生活应用_卷积的应用案例_用卷积解释一种生活现象

夏洛克寻找功能

夏洛克生活在终结者的脑海中。他每次都使用放大镜查找图像的重要特征(“线索”),仔细检查一小块图像。在收集了简单的线条和形状之类的线索之后,他将它们堆积起来,并开始看到眼睛或鼻子等面部特征。

每个卷积层都存储了在另一层上构建的一组特征地图。最后,Sherlock结合了所有线索,因此他可以解决该案例(识别目标)。

用卷积解释一种生活现象_卷积在生活应用_卷积的应用案例

每个功能图就像一个线索

网络的每个卷积层都包含一组特征图,这些特征图能够识别日益复杂的模式/形状的层次方法,如下图所示。

CNN根据数字模式识别找到了任何图像的最重要功能。随着CNN连续使用更多的网络层堆叠这些模式,它可以创建非常复杂的特征图。

卷积的应用案例_卷积在生活应用_用卷积解释一种生活现象

功能层次结构

现实生活中的CNN与Sherlock做同样的事情:

CNN的奇迹是它可以自己学习这些功能...工程师不必编写代码,例如找到一组眼睛,鼻子和嘴巴。

这样工作的工程师更像是建筑师开元ky888棋牌官方版,他们告诉夏洛克:“我给您两个('卷积层')空白特征映射(“线索”)的堆栈,您的工作是分析图像并找出最重要的东西。线索。第一个堆栈有16个特征地图(“线索”),第二个堆栈具有64个功能地图...现在使用您的侦探技巧来解决此情况!

类比:每个特征映射在情况下都像一个线索。

卷积在生活应用_用卷积解释一种生活现象_卷积的应用案例

为了找出情况中的“线索”(即,计算的特征图),夏洛克需要依靠他的侦探工具箱中的某些工具,我们将一一介绍:

Sherlock的放大镜/过滤器

夏洛克无疑非常敏锐,具有出色的观察技巧,但是如果没有那些专门制作的放大镜(过滤器),夏洛克就无法完成工作。他使用不同的放大镜来帮助填写每个空白特征映射的详细信息。因此,如果他有16张特色地图...他将有16张放大镜。

卷积的应用案例_用卷积解释一种生活现象_卷积在生活应用

每个放大玻璃由多层玻璃组成,每一层玻璃都由不同的重量组成。玻璃层的数量,即滤光片深度,始终等于输入层的深度。

一开始,输入图像Sherlock锯是3层 - 红色,绿色和蓝色。因此,放大镜还具有3层。

当我们进一步创建CNN时,层的深度增加,因此,放大镜变得更厚。

要创建1个特征映射(线索),Sherlock首先取出放大镜并将其放置在输入图像的左上角。红色玻璃只能看到红色输入图像,绿色玻璃只能看到绿色图片,而蓝色玻璃只能看到蓝色图片。

现在是数学部分。

卷积数学

特征图中的每个像素都是线索的一部分。要计算每个像素,Sherlock需要进行一些基本的乘法和添加。

在下面的示例中,我们使用5x5x3的输入图像和3x3x3的过滤器,每个像素需要执行以下计算:

让我们仔细看看数学。一个像素需要27个乘法(3层,每层9个乘法),下面的屏幕截图显示了27个乘法中的9个:

卷积的应用案例_卷积在生活应用_用卷积解释一种生活现象

用元素乘

至于偏见,您可以将其视为放大镜的手柄。像权重一样,它是模型的另一个参数,该参数会在训练过程中自动调整,以提高模型的准确性并更新特征映射的详细信息。

过滤权重 - 在上面的示例中,我将权重值设置为-1、0、1,以简化数学;但是,通常您需要以较小的值随机初始化重量...例如0.01至0.1之间的值,根据铃铛曲线或正常分布进行采样。如果您想了解更多有关权重初始化的信息开yun体育app入口登录,则可以阅读本文。

步进 - 移动放大镜

计算特征图的第一个像素后,夏洛克将在哪里移动放大镜?

用卷积解释一种生活现象_卷积在生活应用_卷积的应用案例

踏脚:每个移动的放大镜1像素

答案取决于步骤参数。作为一名建筑师/工程师,我们需要告诉Sherlock他应该将放大镜向右移动多少像素(步骤)。实践中最常见的步长值是2或3,但是为简单起见,在这里我们将步长设置为1。这意味着Sherlock将放大镜以1像素向右移动,然后执行与以前相同的卷积操作。 。

当他的放大镜到达输入图像的最右端时,他将放大镜移至最左侧的左侧,然后将其移动1像素。

为什么步骤大于1?

优点:较少的操作和较少的计算结果存储在内存中,从而使模型更快。

缺点:由于可能缺少跳过像素的模式的可能性,有关图像的数据丢失了。

2或3个步骤通常是合理的,因为一个像素之后的像素通常具有相似的值,而由2-3个像素隔开的像素更可能具有不同的值,因此特征映射图/模式的值可能很重要。事物。

如何防止信息丢失(丢失的线索)

为了解决此案,Sherlock首次开始与此案接触时需要很多线索。在上面的示例中,我们的输入是5x5x3的图像或75个像素信息(75 = 5x5x3),在第一个卷积层之后,我们获得了3x3x2或18个像素的图像(18 = 3 x 3 x 2)。这意味着我们失去了证据,这使夏洛克的伴侣约翰·沃森(John Watson)非常恶心。

卷积在生活应用_卷积的应用案例_用卷积解释一种生活现象

在CNN的前几层中,Sherlock倾向于看许多微妙的模式(更多线索)。在后卷积层中,当Sherlock堆叠微妙的线索时,请查看较大的模式,“下采样”意味着减少像素的总数(较少的线索)。

因此,当CNN刚刚开始时,我们如何防止此类信息丢失?

1。补偿 - 通过补偿图像来保护犯罪现场

卷积在生活应用_卷积的应用案例_用卷积解释一种生活现象

在上面的示例中,我们只能在撞到右边缘之前移动3次滤波器...从上到下是正确的。这意味着我们获得的输出的高度/宽度为3x3,从左到右,丢失了2个像素,并且从上到下丢失了2个像素。

为了防止这种信息丢失,通常使用零以“填充”原始图像(称为零填充或同一填充)……这有点像使用犯罪现场隔离胶带来确保没有人摧毁证据。

卷积的应用案例_卷积在生活应用_用卷积解释一种生活现象

填写后,如果Sherlock再次使用相同的放大镜,他的两个特征地图的尺寸​​将为5x5而不是3x3。

这意味着我们最终获得了50像素的信息(5x5x2 = 50)。

50像素比18岁好。但是不要忘记...我们只是从75个像素开始,所以我们仍然错过了一些线索。

那么,我们还能做些什么来满足Sherlock和John Watson?

2。更多过滤器 - 至少在我们的卷积层中添加功能图,以提供夏洛克的更多线索

该模型不会限制特征地图的数量(“线索”)……这是我们可以控制的超参数。

如果我们至少将特征映射从2增加到3(5x5x2到5x5x3),则总输出像素(75)等于输入像素(75)。如果我们将地图增加到10,那么我们还有更多信息供夏洛克探索(5x5x10 = 250)。

卷积的应用案例_用卷积解释一种生活现象_卷积在生活应用

事情变得越来越有趣

总而言之,前几层开始时的信息像素总数通常高于输入图像,因为我们希望给夏洛克尽可能多的微妙模式/提示。在网络的最后几层中,我们经常下样本,信息像素变小,因为这些层识别图像中的较大模式。

类比:过滤器就像放大镜一样,而填充就像犯罪现场隔离胶带一样。

卷积在生活应用_用卷积解释一种生活现象_卷积的应用案例

非线性模式识别-Relu

提供夏洛克足够的案例信息很重要,但是现在是时候进行真正的侦探工作了 - 非线性模式识别!例如耳膜和鼻孔。

到目前为止,Sherlock已完成了许多数学操作来构建特征图,但是所有操作都是线性的(对每个输入像素进行一些乘法和加法操作),因此他只能识别像素的线性模式。

为了将非线性引入CNN,我们将使用称为“矫正线性单元”的激活函数,称为简称为relu。首次执行卷积操作以获得特征图后,每个值都通过此函数来查看是否被点亮/激活。

如果输入值为负,则输出为零。如果输入值是一个正数,则输出将与输入相同。 relu就像一个开关,允许特征映射的每个值通过relu,创建非线性模式识别。

回到我们的原始CNN示例,我们在卷积后立即应用Relu:

卷积的应用案例_卷积在生活应用_用卷积解释一种生活现象

尽管有许多非线性激活函数可以将非线性引入神经网络(Sigmoid,Tanh,漏水的Relu等),但Relu是目前最流行的激活功能。您可以参考Andrej Karpathy关于非线性激活功能的概述,以了解每个功能的利弊(Translator的注释:您也可以参考它,并且还比较了不同激活功能的利弊)。

模拟:relu就像开关。

卷积在生活应用_卷积的应用案例_用卷积解释一种生活现象

最大池 - 保留大脑阁楼中的少量关键信息

现在,Sherlock有一些特征地图(“线索”)可以查看,如何确定哪些信息至关重要,哪些信息无关紧要?最大池。

夏洛克认为,人的大脑就像一个空的阁楼。傻瓜会在其中存储各种家具和物品,留下一堆碎片中缺少有用的信息。智者只存储最重要的信息,因此他可以在需要时快速做出决定。从这个意义上讲,最大的合并是大脑阁楼的夏洛克版。为了更快地做出决定,他只保留最重要的信息。

用卷积解释一种生活现象_卷积在生活应用_卷积的应用案例

通过最大池,Sherlock仅保留相邻像素的最大值,这是证据中最重要的部分。

例如,如果他看着一个2x2区域(4像素),他只能保持具有最高值的像素并丢弃其余3个像素。这种技术使他能够快速学习,同时还可以帮助他概括(而不是“记忆”)可用于未来图像的线索。

与以前的放大玻璃滤镜相似,我们还可以控制最大池的步长和大小。在下面的示例中,我们将步长设置为1,将池大小设置为2x2:

卷积在生活应用_用卷积解释一种生活现象_卷积的应用案例

最大收集池后,我们完成了1轮卷积/relu/最大池。

在分类器之前,典型的CNN将有几轮卷积/relu/Pool。在每回合中,我们都会在增加深度的同时挤压高度/宽度,以免在此过程中失去证据。

从第一步到第五步,我们专注于收集证据,现在是时候让夏洛克看到所有线索并解决此案:

卷积在生活应用_用卷积解释一种生活现象_卷积的应用案例

现在我们有了证据,让我们开始挖掘证据的含义...

类比:最大的合并就像夏洛克的阁楼理论,保留关键信息并放弃无用的信息。

卷积的应用案例_卷积在生活应用_用卷积解释一种生活现象

在训练周期结束时,Sherlock获得了一系列线索,需要一次找到所有线索。每个线索不过是二维矩阵,但是我们将数千个矩阵堆叠在一起。

作为一名私人侦探,夏洛克擅长处理这种混乱,但他需要将证据带到法庭并组织陪审团的证据来观看。

卷积的应用案例_卷积在生活应用_用卷积解释一种生活现象

展平之前的特征图

他通过一种简单的转换技术来做到这一点:

将由像素组成的每个二维矩阵转换为像素列

安排原始的二维矩阵(现在是像素列)

在人类的眼中,转变就是这样:

卷积在生活应用_卷积的应用案例_用卷积解释一种生活现象

从计算机的角度来看,就是这样:

卷积在生活应用_用卷积解释一种生活现象_卷积的应用案例

现在,夏洛克已经解决了证据,是时候说服陪审团清楚地表明嫌疑人了。

类比:扁平就像向法院提出证据。

用卷积解释一种生活现象_卷积在生活应用_卷积的应用案例

在完全连接的层中,我们连接证据的各个方面。从某种意义上说,我们完成了案件的难题,向陪审团展示了证据与每个嫌疑人之间的联系:

卷积的应用案例_用卷积解释一种生活现象_卷积在生活应用

在计算机的视图中,完整的连接层是这样的:

卷积的应用案例_卷积在生活应用_用卷积解释一种生活现象

在每个证据和3个扁平层的输出之前,都是一组重量和偏见。与网络中的其他权重类似,这些值在刚开始训练CNN时会随机初始初始初始化,并且随着时间的流逝,CNN将“学习”如何调整这些权重/偏置以进行更精确的预测。

现在,是时候让夏洛克透露答案了!

类比:完整的连接层就像说服陪审团决定。

卷积在生活应用_卷积的应用案例_用卷积解释一种生活现象

在CNN的图像分类器阶段中,模型的预测是分数最高的输出。该模型的目的是获得正确的输出得分最高,而错误的输出得分较低。

等级分为两个部分:

logit分数 - 原始得分

SoftMax - 每个输出的概率(在0-1之间)。所有输出分数的总和等于1。

1。logit - 逻辑分数

每个输出的logit分数是一个基本的线性函数:

logit得分=(证据x重量) +偏见

每个证据都乘以连接到输出的重量。将所有产品添加在一起,最终添加了偏移项,最高分数是模型的猜测。

卷积在生活应用_卷积的应用案例_用卷积解释一种生活现象

那么,为什么要等到这个呢?直观地说,有两个原因:

Sherlock的信心 - 我们想知道Sherlock对结果有多自信,因此当Sherlock的信心很高并且他是对的时,我们将奖励他,而Sherlock的信心同时高,当他错了时,我们将惩罚他。在计算损失时,我们会在下一节中特别讨论奖励/惩罚(“夏洛克的准确性”)。

Sherlock的信心加权概率 - 我们希望能够轻松地解释0和1之间的这些概率,我们希望预测的分数与实际输出(0或1)相同。实际正确结果(Elon)的概率为1,其他错误结果的概率(Jeff和Jon)为0。将正确的输出转换为一个,将错误的输出转换为零的过程被调用。

夏洛克的目标是使他对正确产出的预测尽可能接近1。

2。软马克斯 - Sherlock的信任加权概率得分

2.1夏洛克的信心

为了获得Sherlock的信心,我们以E为基础(等于2.71828…),而Logit评分为指数。这样,更高的分数将变得非常高信心,而较低的分数将变得非常低的信心。

该指数操作还确保我们没有任何负分数(Logit分数“也许”负数)。

卷积在生活应用_卷积的应用案例_用卷积解释一种生活现象

2.2 Sherlock置信度加权概率

为了获得置信加权的概率,我们将每个输出置信度除以所有置信度得分的总和,从而确保所有概率的总和为1。

用卷积解释一种生活现象_卷积在生活应用_卷积的应用案例

SoftMax分类器非常直观。 Sherlock认为,终结者将有97%(信心加权)的机会查看图像Elon Musk。

模型的最后一步是计算损失。损失告诉我们侦探夏洛克有多棒(或有多糟糕)。

模拟:Logit + SoftMax就像看一排嫌疑犯并指出罪犯

用卷积解释一种生活现象_卷积的应用案例_卷积在生活应用

所有神经网络均具有比较预测和实际值的损失函数。在CNN培训期间,随着网络重量/偏见的调整,预测得到了改善(Sherlock的侦探技能变得更好)。

CNN最常用的损失函数是横向熵。关于与Google搜索的跨凝集出现的一些解释包括大量希腊字母,这很容易混淆。尽管这些描述各不相同,但它们在机器学习的背景下都意味着一件事。我们将介绍下面的三个最常见的解释,以供您理解。

在描述每个公式变体之前,总结它们的共同点:

卷积的应用案例_卷积在生活应用_用卷积解释一种生活现象

结果是一样的! 3种不同的解释...

说明1-测量实际概率与预测概率之间的距离

距离捕获了这样的直觉,如果正确标签的预测接近1,则损失接近0。如果正确标签的预测接近0,则会有严重的惩罚。目标是最大程度地减少正确分类的预测(Elon,0.97)与正确分类的实际概率(1.00)之间的距离。

“对数”公式背后的奖励和惩罚的直觉将在2号说明中讨论。

用卷积解释一种生活现象_卷积的应用案例_卷积在生活应用

2号说明 - 最大化日志可能性或最大程度地减少负日志可能性

在CNN中,“对数”实际上是指“天然对数(LN)”,这是softmax中指数的反作用,基于自然对数。

对于Sherlock的预测,与直接从实际概率(1.00)中直接减去预测概率(0.97)相比,对数操作加剧了指数水平的罚款。

最大程度地降低对数的可能性和最大化对数似然的性能都导致了SoftMax预测趋势的结果1.0,而损失了0.0。

卷积的应用案例_卷积在生活应用_用卷积解释一种生活现象

卷积在生活应用_用卷积解释一种生活现象_卷积的应用案例

说明3- kl分歧

KL(Kullback-Leibler)差异测量了预测概率(SoftMax得分)和实际概率之间的差异。

KL差异的公式包括两个部分:

实际概率的不确定性。

使用信息量来预测概率损失。

在监督学习分类问题的模型培训中,实际概率的不确定性始终等于0。我们100%确保训练图像正确。目前,最小化预测概率分布与实际概率分布之间的KL差异等效于最小化跨熵。

卷积在生活应用_卷积的应用案例_用卷积解释一种生活现象

类比:跨凝性损失就像评估夏洛克的侦探技能一样。

总结

在特殊的侦探夏洛克卷积福尔摩斯的帮助下,终结者的眼睛具有埃隆·马斯克(Elon Musk)的眼睛,埃隆·马斯克(Elon Musk)可以搜索和摧毁自由世界(对不起,埃隆!)。

尽管我们仅训练终结者以认可Elon,Jeff,Jon ... Skynet具有无限的资源,并且可以随意训练图像,因此Skynet可以使用我们创建的模型来训练终结者来识别任何人类和对象。

网友留言(0)

评论

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