大家好, 欢迎回到深度学习课程｡
在上一个教程中, 我们了解了卷积神经网络的全部内容,
今天我们将深入到第一步卷积｡
这就是卷积函数｡
我知道我们试图远离数学, 保持事物的直观性, 但我还是忍不住要和你们分享这个公式,
因为它太简单了｡
卷积基本上是两个函数的组合积分, 它向你展示了一个函数是如何修改另一个函数或修改另一个函数的形状的｡
如果您从事过信号处理､ 电气工程或需要信号处理的专业,
您肯定会遇到卷积函数｡
现在很流行｡
再一次, 我们要保持数学的轻松或者把它们分开｡
如果你想了解卷积神经网络背后的数学知识,
还可以读一读中国南京大学教授吴建生（Janson Wu）的《卷积神经网络导论》｡
这篇论文是几天前发表的, 大概五六天前,
它专门面向那些刚开始学习卷积神经网络的人｡
所以那里的数学应该是可以理解的｡
我给约翰逊Wu教授发了电子邮件, 他说他的整个目标是把复杂的事情简化, 这样这个领域的新手就可以理解了｡
他还提到他的主页上有一些材料｡
如果你在URL中, 如果你去掉最后两个部分, 你只要转到那个部分, 这是他的主页,
你可以找到更多的教程和资料,
这些资料还没有以论文的形式发表, 但是他在教程中使用了它们, 所以你可能会发现这些资料很有用｡
如果你想了解卷积神经网络背后的数学知识, 可以浏览这里,
并在这方面打下坚实的基础｡
但我们会继续讨论卷积｡
那么什么是直观的卷积呢？
左边是我们讨论过的输入图像｡
这就是我们看图像的方式, 只有1和0来简化事情｡
你可以看到那个笑脸｡
然后我们有一个特征探测器｡
因此, 特征检测器是一个3 × 3矩阵｡
一定要三乘三吗？
不, 不是这样的｡
我想亚历克斯·内特用的是七乘七, 而其他一些著名的探测器用的是五乘五的特征探测器｡
它们可以是不同的, 但通常你会看到它们是三乘三的, 它们是使它们成为三乘三的理由｡
所以我们要坚持使用3 × 3特征检测器的惯例｡
另外, 特征检测器也被称为特征检测器, 这些都是重要的术语,
因为您可能会遇到许多不同的特征检测器术语, 但最常见的是特征检测器｡
或者你可能听到它被称为内核或者你可能听到它被称为过滤器｡
因此, 在本课程中, 我们将交替使用过滤器或特征检测器｡
但请记住, 它有这些名字, 卷积运算是用圆圈中的X表示的,
就像你在前面和这里的公式中看到的那样｡
所发生的一切都是在直觉的层面上, 所有或仅仅是从背景中实际发生的事情而不是数学的角度来思考它｡
你把这个特征检测器或过滤器放在你的图像上, 就像你在左边看到的那样｡
例如, 在这个例子中, 你覆盖了左上角, 左上角有九个像素｡
你基本上是把每个值乘以每个值｡
所以各自值｡
所以最上面的0由左上角的值乘以左上角的值, 然后基本上是位置编号1, 1由位置编号1, 1位置由一个数字或者0
1乘以0, 102由0 2等等｡
把这些矩阵的元素相乘, 然后把结果加起来｡
所以在这种情况下, 没有匹配的｡
所以要么是0乘0, 要么是0乘1｡
所以结果是零｡
在这里你可以看到其中一个匹配, 左边的那个匹配｡
所以这里有一个1｡
没有匹配的, 没有匹配的, 没有匹配的｡
然后我们继续下一排｡
我们移动整个滤波器的步长称为步幅｡
这里我们有一个像素的步幅｡
在这里你可以看到右下角的匹配项与步幅匹配, 但是中间的一个匹配项在这里, 右上角,
一个匹配项, 然后没有匹配项.
步幅是一｡
你可以改变步幅, 你可以一步, 两步, 三步｡
你喜欢什么都行｡
最终, 效果良好的通常是2｡
这就是人们所坚持的｡
在本教程的最后, 我们会讨论这个步幅｡
所以现在我们要匹配了｡
所以我们就一直走下去｡
你可以看到我们得到了一个2, 因为其中两个是匹配的, 等等, 等等｡
好了
还有一个匹配的｡
我们走吧｡
他们就这样结束了｡
那又怎样？
我们创造了什么？
好吧, 我知道了
这里有几件重要的事情｡
右边的图像称为特征图｡
也有好几个术语｡
有时也可称为受控特征｡
所以当你把卷积运算符应用到某个东西上时, 它并没有变得卷积, 而是变得复杂｡
是的, 有时候我喜欢, 我想自己在错误的方式, 但它是正确的术语｡
它的参与, 是一种老功能, 或者也可以叫激活图｡
但在本课程中我们将把它称为功能图, 这样它就可以被称为这些东西中的任何一个｡
我们在这里做了什么？
如你所见, 我们缩小了图像的尺寸.
这是第一条｡
这就是我想提到的关于输入图像､ 特征检测和步幅的重要内容, 对吧？
如果步幅为1, 您可以看到图像缩小了一点, 但如果步幅为1或2,
图像将缩小更多｡
因此, 特征图将变得更小, 这是整个卷积步骤中特征检测器的一个非常重要的功能,
就是使图像更小, 因为这样处理起来更容易,
速度也更快｡
它会和｡
他就是福斯特, 因为想象一下, 我们有一个什么, 一个七乘七的图像｡
但是想象一下如果你有一张合适的照片, 对吗？
或者你有一个像256乘256像素的图像｡
这是一个巨大的像素数, 比如256的平方, 或者说是300 x 300像素｡
所以, 我们才不会和GB 256搞混｡
假设我们有一张300 x 300的图像, 大小和像素都是300｡
那么你有300平方像素, 这是一个很大的数字｡
因此, 特征检测器将减小图像的大小, 因此, 步长为2实际上是有益的｡
但接下来的问题是, 当我们应用特征检测器时, 我们是丢失了信息还是正在丢失信息？
当然, 我们丢失了一些信息, 因为我们得到的矩阵中的值较少｡
但同时, 特征检测器的目的是检测某些特征, 即图像中不可分割的某些部分｡
所以, 举例来说,
如果你这样想, 就像特征检测器上有一个特定的模式, 当模式匹配时, 你的特征图中的最高数字｡
事实上, 在一个简化的例子中, 你能得到的最高数字是当特征匹配时｡
-没错—没错
您可以在功能图中看到数字4｡
没错｡
所以如果你看这里, 这就是这个特征检测器的位置, 因为只有四个1完全匹配｡
所以你可以看到这里｡
因此, 正如我们在本节开头所讨论的, 在此处检测到了该功能｡
这个特性就是我们如何看待事物, 是我们如何认识事物｡
我们不会看每一个像素, 可以说, 在我们看到的图像或在真实的生活中｡
我们不会看每一张照片｡
我们看特征, 看鼻子, 帽子,
羽毛, 眼睛下面或者猎豹眼睛下面的小黑点来区分猎豹和豹子或者火车的形状｡
我们不去区分它是子弹头列车还是普通列车等等｡
所以我们不看所有的东西｡
我们看特征, 这就是我们要保留的, 这就是特征地图帮助我们保留的｡
事实上, 这就是它允许我们向前推进并去除所有不必要的东西, 即使是作为人类,
我们也不会处理在任何给定时间进入你眼睛的这么多信息, 比如千兆字节的信息, 如果你看每一个点,
如果不是每秒进入你眼睛的兆字节的信息,
我们仍然能够处理, 因为我们去除了不必要的东西｡
只关注重要的功能｡
特征对我们很重要, 这正是特征图的作用｡
现在继续, 这是我们的输入图像, 我们创建一个特征图｡
前面的那个, 假设前面的那个就是我们刚刚创建的那个｡
但是为什么会有很多这样的地图, 但是我们创建了多个特征地图, 因为我们使用了不同的过滤器, 对吗？
这是我们保存大量信息的另一种方式｡
所以我们不只是有一个特征图, 我们寻找特定的特征, 然后或者基本上是网络通过它的训练来决定,
这是我们在本节最后讨论的,
通过它的训练, 它决定哪些特征对特定类型或特定类别是重要的, 然后它寻找它们｡
因此, 我们会有不同的过滤器, 我们刚才会谈到过滤器, 但基本上它会应用这些过滤器｡
所以为了得到这个特征图, 它应用了一个过滤器, 就像我们看到的那样｡
但是, 为了得到这个特征映射, 应用不同的过滤器来得到这个特征映射,
应用不同的过滤器等等｡
所以基本上它只是创建这些特征地图｡
事实上, 这就是为什么我个人认为特征检测器比过滤器更好｡
请记住, 这里有一个过滤器, 我们也可以称之为特征检测器｡
事实上, 我认为单词特征检测器更适合｡
原因是这就是目的所在｡
好吧, 我知道了
我们不想只是我们不想只是过滤掉我们的图像｡
但是, 即使这是全部, 这是相同的, 只是一个术语的问题｡
但基本上, 我们想要检测特征｡
好吧, 我会的
在这一层中, 我们将获得我们检测到的特征地图, 在我们检测到的特征地图中, 某些特征在图像中的位置,
某些其他特征在哪里, 某个特定特征在哪里｡
在这个特征图中, 我们已经检测到, 某个其他特征位于图像上的什么位置｡
这就是我们要做的｡
让我们看几个例子｡
我们使用的是Ingeborg的文档, 这是一个免费的工具, 就像画图一样,
你可以用它来调整图像或处理图像｡
但基本上他们在他们的文档中有一些有价值的例子, 这里他们有一张泰姬陵的图片, 你可以选择你想要应用的过滤器｡
如果你下载这个程序, 上传一张照片到里面, 你就可以启动卷积矩阵,
应用滤波器, 你会看到这些东西,
这些卷积矩阵实际上应用在图像处理和设计等方面｡
让我们来看看我们得到了什么, 我们得到了什么｡
所以, 如果我们在中间应用这个过滤器5, -1, -1, -1,
-1, 你可以看到它锐化了图像｡
是的, 如果你想的话, 这是非常直观的｡
五是像素, 主要像素, 比如滤波器或特征检测器中间的像素, 然后减一,
减一, 减一, 直观地说,
就是减少周围的像素｡
然后模糊｡
所以基本上它需要同等的重要性, 给中心像素周围的所有像素同等的重要性｡
因此, 它将它们结合在一起, 你会得到一个模糊的, 手中的边缘｡
这里你可以看到减1和1, 然后你得到0, 对吗？
所以你删除, 删除中间主像素周围的像素, 你只保留这个负1, 它就给了你一个边缘｡
而这一个有点难以理解它是如何工作的｡
直觉上想起来可能更难｡
右边缘检测｡
所以这个可能更有意义, 对吧？
你取中间的一个, 你减少中间的一个, 可能就像中间像素的强度｡
然后你寻找那些, 你寻找这些, 你增加他们周围的力量｡
所以你有那些｡
是的, 我知道
这就是边缘检测, 你可以看到你得到了什么, 并领导另一个｡
所以这里的关键是它是不对称的, 你可以看到图像也是不对称的｡
所以你会有一种感觉, 它是站在你面前的, 这就是你得到的, 当你在这里有负,
在这里有正｡
再一次, 这是非常的, 这现在变得有点技术性了, 但至少我们可以得到一些直观的, 理解的东西,
让我们再快速地浏览一遍｡
有锐化, 有模糊, 有边缘增强, 有边缘检测, 有浮雕｡
正如你所看到的, 这些都是同一幅图像的很好的例子, 但是我们得到的是特征图,
所以我们使用不同的特征检测器来得到同一幅图像的不同特征图｡
所以现在我们有很多版本的图像, 在每一个版本中, 我们都试图检测某些东西,
这些术语, 它们不适用于我们, 除了像boss, 可能不适用于我们的卷积神经网络｡
但边缘检测很重要｡
我们要检测边缘, 边缘增强, 可能不是模糊锐化｡
所以像边缘这样的东西可能是我们这类工作中最重要的一个｡
就像计算机一样的理解力而言, 他们会自己决定, 他们的神经网络会自己决定, 什么是重要的,
什么是不重要的｡
而且它可能连人眼都认不出来｡
你无法理解这些特征的含义, 但计算机会做出决定, 这就是神经网络的美妙之处, 它们可以处理很多不同的事情,
甚至不用直觉就能理解,
不用解释为什么它们会理解哪些特征对它们很重要, 不管我们是否给它们起了名字, 这是一个与人工神经网络无关问题｡
我最喜欢的一张, 这是杰弗里·欣顿的照片, 杰弗里·辛顿的照片通过了其中一个过滤器｡
好吧, 我会的
今天的教程到此结束｡
我希望你喜欢学习卷积｡
关键的一点是, 卷积, 卷积的主要目的是用特征检测器找到图像中的特征,
把它们放到特征图中, 通过把它们放到未来的图中,
它仍然保留了像素之间的空间关系, 这对我们来说非常重要, 因为如果它们完全混乱了,
那么我们就失去了模式｡
与此同时, 重要的是要理解,
大多数时候, 神经网络检测并用于识别某些图像和类别的特征对人类来说毫无意义, 但它们仍然有效｡
这就是卷积｡
我期待着在赤道上见到你｡
在此之前, 请尽情享受深度学习｡