大家好, 欢迎今天继续学习深度学习课程｡
我们正在讨论最大池, 我们有一些非常令人兴奋的幻灯片即将到来, 甚至在教程的最后一个特别的惊喜｡
那么我们开始吧｡
第一个问题是什么是池, 为什么我们需要它？
为了回答这个问题, 让我们来看看这些图片｡
在这三张照片上, 我们看到了一只猎豹｡
事实上, 它和第一张图片上的猎豹一模一样｡
图像已正确定位｡
猎豹正直直地盯着你｡
在第二个图像上, 它有点旋转, 第三个图像有点压扁｡
我们希望神经网络能够在每一张图片中识别出猎豹｡
事实上, 这只是一只猎豹｡
如果我们有很多不同的猎豹呢？
这是一只猎豹｡
这是另一只猎豹｡
这是一只猎豹, 这是一只猎豹, 这是一只猎豹.
我们想让神经网络把所有这些猎豹都识别为猎豹｡
如果他们都朝不同的方向看, 它怎么能做到呢？
它们都在图像的不同部分｡
就像他们的脸被放置在图像的不同部分｡
有人在右手边, 有人在左角, 有人在中间｡
他们都有点不同｡
纹理有点不同, 灯光也有点不同｡
有很多细微的差别｡
所以如果神经网络寻找特定的特征, 比如说,
猎豹的一个显著特征就是它脸上从眼睛流出的眼泪, 或者看起来像眼泪的阴影, 纹理,
从眼睛流下的图案｡
这是在它的鼻子大小｡
看起来像眼泪｡
这是猎豹的显著特征｡
但如果它要寻找的特征是它从特定的猎豹身上学到的在特定的位置或特定的形状或结构上它永远不会找到其他的猎豹
所以我们必须确保我们的神经网络有一个叫做空间不变性的属性, 这意味着它不关心特征在哪里,
不关心在图像的哪个部分, 因为我们已经在地图上, 在po上,
在卷积层上考虑到了这一点｡
但是它不必关心特征是否有点倾斜,
特征是否在纹理上有点不同, 特征是否有点靠近, 或者特征是否相对于彼此分开得有点远｡
因此, 如果特征本身有点失真, 我们的神经网络必须有一定的灵活性,
才能找到那个特征, 这就是池化的意义所在｡
让我们来看看池的工作原理｡
这是我们的功能图｡
我们已经完成了卷积运算, 现在开始处理卷积层｡
现在, 我们将应用池｡
那么它是如何工作的呢？
我们将应用最大池｡
有几种不同类型的池可以应用是平均池, 最大池, 一些池,
我们将在本教程的最后评论这些｡
但现在我们只是应用最大池｡
所以我们拿一个像这样的2 × 2像素的盒子, 同样, 它不一定是2 × 2｡
你可以选择任何大小的盒子｡
同样, 我们会在试验结束时对此进行评论, 你把它放在左手,
你会在那个方框中找到最大值｡
然后你只记录这个值而忽略其他三个值｡
所以在你的盒子里有四个值, 你忽略了三个, 你只保留了一个最大值, 在这个例子中是一｡
然后你把你的盒子向右移动一个步幅, 你再一次选择这个步幅｡
这里我们选择步幅为2, 这是您通常选择的步幅｡
您可以选择一个步幅, 您可以选择｡
所以有重叠的盒子｡
你可以选择任何你喜欢的步幅, 甚至三个, 如果你想要的｡
但我们这里选择的步幅是2, 这是常用的步幅｡
然后你重复, 重复这个过程｡
在这里记录最大值｡
如果你超度了, 那就无所谓了, 你只要继续做你正在做的事情就行了｡
所以你还是在这里记录最大值, 这里是0, 这里是4, 这里是2, 这里是10102,
然后是1｡
所以如你所见, 发生了一些事情｡
首先, 我们仍然能够保留特征, 对吗？
因为我们知道卷积层的工作原理｡
我们知道, 特征图中的最大值或位大的数字表示您实际上找到与某个特征最接近的相似性的位置｡
但是通过合并这些特征, 我们首先是摆脱了75%的信息｡
这不是我们关注的重要功能, 因为我们忽略了四个像素中的三个,
所以我们只保留了25%｡
还有一个原因是我们取的是像素的最大值｡
因此, 我们对任何扭曲都进行了解释｡
举个例子, 两张图片中, 比如说, 猎豹眼睛上的眼泪｡
在一个图像中, 有一位向左或一位向左旋转｡
再来一个｡
有一点, 有它们应该是什么样的, 或者我们喜欢什么样的, 如果我们把一个作为基础,
然后把另一个向左旋转, 合并的特征将完全相同｡
所以你可以看到这里, 如果我们谈论的是作弊者, 干杯｡
假设这是4, 它就在这里.
然后如果它有点旋转｡
比如说, 四个在这里结束, 然后当我们进行合并时,
我们仍然会得到相同的合并特征图｡
这就是它背后的原理｡
这是一个非常粗略的解释,
再一次, 直观的解释, 但这就是我们仍然能够保存这些特征的汇集点, 而且还能解释它们可能的空间或纹理或其他类型的扭曲｡
除此之外, 我们还在缩小规模｡
所以还有另一个好处｡
我们保留了特征, 引入了空间不变量,
将尺寸缩小了75%, 这是一个巨大的进步, 这将在处理方面对我们有很大的帮助｡
此外, 池化的另一个好处是我们减少了参数的数量｡
所以我们又减少了75%｡
我们减少了进入神经网络最后一层的参数数量, 因此我们防止了过度拟合｡
这是一个非常重要的好处池, 我们正在删除信息｡
这是一件好事｡
这是一件好事, 因为这样我们的模型就不会过度拟合这些信息, 特别是因为这些信息是不相关的｡
请记住, 就像我们一开始所说的,
即使是对人类来说, 重要的是要准确地看到特征, 而不是进入我们眼睛的所有其他噪音｡
神经网络也是一样｡
他们通过忽略不必要的不重要的信息, 我们正在帮助防止过度拟合｡
所以他们会去｡
这就是池的意义所在｡
当然, 问题是, 为什么？
为什么是麦克斯·普尔林, 对吧.
有很多不同类型的池, 为什么为什么跨越尝试, 为什么一个大小为2 × 2像素,
很多这些东西｡
关于这一点, 我想向你们介绍这篇很棒的研究论文, 叫做“卷积架构中的池化运算在物体识别中的评估”,
作者是来自波恩大学的多米尼克·谢勒｡
这就是其中的联系, 这篇论文的美妙之处在于它非常, 非常简单, 非常直接｡
所以, 如果你以前从未读过研究论文, 你想尝试给予吗？
这是一个很好的开始｡
它很短, 只有十页, 非常容易阅读｡
另外, 额外的好处是, 我们已经讨论了卷积和池化,
您将完全熟悉本文中讨论的所有内容｡
而你这是一个很好的方式来巩固你的知识｡
所以我强烈推荐你看看这篇论文｡
我会花20分钟来阅读它, 你甚至可以跳过第二部分, 这被称为相关工作｡
如果感觉有点牵强或疏远｡
别读那部分｡
直接从第一部分跳到第三部分｡
关于这篇论文, 你们需要知道一件事, 他们谈到了一个叫做子采样的概念,
子采样基本上是平均池｡
记住我们是如何取最大值的.
所以在我们的平方中我们取最大值｡
有一个概念叫做平均池或一些池｡
有些汇集是你只是把这些值中的一些往上平均汇集还是平均汇集？
你把所有这些的平均值取出来, 子抽样有点像平均值合并的推广｡
这是一种更普遍的方法来取这些值的平均值｡
你可以在报纸上读到更多关于它的内容, 但除此之外, 当你阅读报纸的时候, 你可以把它看作是平均池｡
在这里你可以得到关于这个主题的更多信息｡
现在让我们回顾一下我们的进展？
这就是我们的输入图像｡
然后, 我们应用卷积运算, 得到卷积层｡
现在, 对于我们获得的每一个功能映射, 我们都应用了池化层｡
我们已经完成了卷积和合并这两个步骤, 现在我们要做一些非常有趣的事情, 一些令人兴奋的事情｡
我们要做个实验｡
这是我从Adam哈雷创建的一个工具上截取的一张截图, 他在瑞尔森计算机科学大学的时候, 现在他在卡内基梅隆大学, 我想,
他正在读博士, 这是一个很棒的工具｡
所以让我们打开｡
让我们看看, 这样你就能找到它了｡
你不能通过谷歌找到它｡
你必须知道网址｡
只是很难找到｡
因为这里没有文字｡
SC好吧, 就这个网址｡
政务司司长点瑞尔森档案, 然后在最后这件事｡
基本上这就是我们正在做的｡
但是观想｡
所以这里你需要画一个数字｡
假设我画了4, 这个工具会把4放在这里.
这是你在我们第一步中的形象｡
这就是卷积步骤, 对吧？
这是合并步骤｡
顺便说一下, 池化也被称为下采样｡
因此, 池化和缩减采样是一回事｡
你可以看到它是应用卷积, 然后是应用池, 你可以看到它是如何工作的｡
所以你可以看到它应用了什么样的卷积, 或者它应用了什么样的滤波器, 它们看起来是什么样子｡
您可以看到它要寻找哪些功能, 然后应用､ 池化, 从而减小大小｡
你可以看到这很重要, 对吧？
因此, 您可以看到, 这是相关图像, 这是合并图像, 您仍然可以看到相同的特征｡
只是信息少了, 但功能相同, 对吧？
特征被保留｡
这才是最重要的｡
而且, 如果我们的四个像这样稍微向一边旋转一点,
它仍然可以拾取非常相似的池层｡
然后它有更多的层次｡
我们还没谈这个呢｡
这里还有另一个卷积卷积层, 实际上我们没有, 还有另一个池层,
但基本上只是重复相同的过程｡
之后, 我们将在课程的后面讨论完全连接的层等等,
但你肯定可以玩这个游戏｡
所以如果我删除了你喜欢的, 如果我画了一个7, 你会看到它实际上告诉你猜测是它猜测是这是一个7, 第二个猜测,
第二个可能性是一个3｡
所以你可以给它画一些有挑战性的东西, 看看它能不能把它们捡起来｡
假设我画了一个看起来像零的东西, 但它不是终点零, 它会不会把它捡起来,
这次没有捡起来｡
看起来像是九比一的图像｡
如果我像这样结束呢？
所以现在它认为是0或者9, 你可以看到是什么点亮了0或者9.
但我们会在后面讨论这部分｡
我们再来一次｡
比如说八个｡
我觉得8对这个来说很难, 现在拿一个8, 所以你可以看到它变成了8｡
然后就再也认不出来了｡
这些止损对我们人类来说是有意义的, 对吧？
这些功能, 它的工作, 但在同一时间, 它是正确的认识到, 它是一个8｡
是啊, 所以一定要好好玩玩｡
你可以画一个笑脸, 看看会发生什么｡
它看起来像是这个工具的3, 因为这个工具显然只训练了0到9的数字｡
所以它必须从这些中识别出一些东西, 它识别出一个3｡
这就像在生活中, 当你看到一种你从未见过的水果,
比如奶油冻苹果什么的.
你觉得它就像是梨因为你从来没见过.
你不知道该把它归为什么｡
这里也一样｡
所以实际上它并没有训练笑脸｡
这就是为什么它认为它是一棵树｡
这是一个三｡
所以你去那里｡
这是一个非常强大的工具｡
它会对你有帮助的发挥周围｡
实际上, 当你把鼠标放在一个像素上时, 它会显示特征检测器在哪里检测到这个像素,
这样你就可以看到这个像素是从哪里来的｡
你们也可以看到滤波器就像是穿过图像一样, 这正是我们在课程中所讲的｡
在这里你可以看到池, 你可以看到池是用一个2乘2的小正方形来完成的｡
你可以看到它的步幅也是2, 就像我们在今天的教程中讨论的那样｡
好了, 我们来玩一玩, 希望大家喜欢今天的课程｡
我期待着下次见到你｡
在此之前, 请尽情享受深度学习｡