大家好, 欢迎回到深度学习课程｡
今天我们终于到了第四步, 完全连接｡
那么, 这一步到底是怎么回事呢？
在这一步中, 我们在卷积神经网络中加入了一个完整的人工神经网络｡
因此, 除了我们目前所做的卷积池化和平坦化之外, 现在我们将添加一个全新的｡
在这背后, 有多激烈？
这就是这就是这就是这绝对是一件事｡
这里有输入层, 还有一个完全连接的LAN输出层｡
顺便说一下, 人工神经网络中的全连接层, 我们过去称之为隐藏层,
现在我们称之为全连接层, 因为它们是隐藏层｡
但与此同时, 它们是一种更特殊的隐藏层, 是人工神经网络中的全连接层｡
隐藏层不需要完全连接,
而在卷积神经网络中, 我们将使用完全连接的层, 这就是为什么它们通常被称为完全连接的层｡
因此, 基本上, 在平面化之后, 我们得到的输出的整个列或向量, 我们将其传递到输入层｡
这里我们有一个非常简单的例子, 只是为了说明的目的,
人工神经网络的主要目的是, 将我们的特征组合成更多的属性, 从而更好地预测类别｡
因此, 我们已经在输出向量中使用了平坦度和平坦化结果｡
我们有一些特征编码在向量中的数字中,
它们可能已经很好地预测了我们所看到的是什么样的动物, 是狗还是猫, 是肿瘤还是非肿瘤, 等等｡
但与此同时,
我们知道我们有一个叫做人工神经网络的结构, 它是专门设计的, 它的目的是处理属性,
处理特征, 提出新的属性, 并将属性组合在一起, 以更好地预测我们试图预测的事情｡
我们从上一部分就知道了｡
为什么不利用这一点呢？
这就是我们的计划
那么, 我们把这些值传递给一个人工神经网络, 让它进一步优化我们正在做的一切, 怎么样？
这就是我们要做的｡
但让我们看一个更现实的例子, 因为这个例子有点太简单了｡
这里我们有一个更好的人工神经网络, 我们有五个输入属性｡
第一层有六个神经元, 第二层有八个神经元, 然后我们有两个输出, 一个给狗,
一个给猫.
因此, 我们在这里要讨论的一个重要问题是, 为什么我们有两个输出？
我们已经习惯了在人工神经网络中只有一个输出｡
一个输出是当你预测一个数值时, 当你运行一个回归类的问题时｡
但是当你进行分类的时候, 你需要每个类的输出, 例外的是当你只有两个类的时候, 比如我们这里有两个类,
狗和猫, 我们可以只做一个输出,
把它变成二进制输出, 说一是狗, 零是猫｡
那样的话, 效果会很好的
实际上, 你们会在实践教程中看到如何去做, 这就是它们的结构｡
但同时, 如果你有两个以上的类别, 例如, 狗,
猫和鸟, 那么你必须为每个类别都有一个神经元｡
这就是为什么我们要在这个例子中用两个类别来练习, 这样我们就知道如果我们有两个以上的类别,
会发生什么｡
那么接下来会发生什么呢？
所以我们已经做了所有的基础工作,
我们已经做了卷积, 我们已经做了合并和平坦化, 现在信息将通过人工神经网络｡
让我们来看看这一切是如何发生的｡
信息从一开始就经过了处理, 从图像被处理的那一刻起, 然后可以涉及,
然后汇集, 展平, 然后通过人工神经网络, 所有四个步骤｡
然后进行预测, 我们马上就会看到这是如何发生的｡
会非常非常有趣的｡
但现在, 我们只能说是做出了预测｡
比如说, 80%的人认为它是狗,
但结果它是猫, 然后计算出一个误差, 这就是我们过去在人工神经网络中所称的成本函数, 我们在这里或卷积神经网络中使用的均方误差｡
这叫做损失函数, 我们用交叉熵函数来表示, 我们会讨论交叉熵和均方误差｡
在一个单独的教程中, 以及所有这些是如何发生的｡
但现在, 我们只假设我们有一个丢失的函数, 它告诉我们网络的性能如何,
我们正在尝试优化, 优化它或最小化该函数来优化我们的网络｡
所以我们计算误差, 然后通过网络反向传播, 就像我们在人工神经网络中反向传播一样｡
并且在网络中调整了一些东西以帮助优化性能｡
调整的是人工神经网络部分的权重｡
所以你在这里看到的蓝线, 是突触｡
另外一个需要调整的是特征检测器｡
所以我们知道我们在寻找特征, 但是如果我们寻找的是错误的特征呢？
如果这不成怎么办？
因为特征不正确｡
所以特征检测器, 那些记住我们的小矩阵, 即3
× 3矩阵, 它们被调整, 这样也许下次会更好, 让我们看看会发生什么｡
当然, 这一切都是在大量的科学知识和大量的数学知识的背景下完成的, 这一切都是通过梯度,
梯度下降和反向传播完成的｡
所以这一切不仅仅是随机扰动｡
它实际上是经过深思熟虑的｡
但尽管如此, 特征检测器被调整, 权重被调整, 整个过程再次发生｡
然后, 误差又会传播回来, 这种情况一直持续下去｡
我们的网络就是这样优化的｡
我们的网络就是这样训练数据的｡
因此, 这里最重要的是, 数据从最开始到最后经过整个网络,
然后比较误差｡
因此, 计算误差, 然后将其反向传播｡
和人工神经网络的情况一样, 只是时间稍长一点, 因为我们已经完成了前三步｡
现在让我们来看看有趣的部分, 真正有趣的部分｡
这两个类是如何工作的？
这两个输出神经元是如何工作的？
因为以前我们总是有一个输出神经元｡
如果我们有两个呢？
这是怎么样的这种情况下的图像分类发挥出来？
好吧, 让我们先从最上面的神经元开始｡
我们先从狗开始｡
我们的主要目的是, 我们首先要做的是, 我们需要了解,
这些连接到狗的突触, 应该分配什么样的权重, 这样我们就能知道, 之前的神经元中, 哪些对狗来说是重要的｡
让我们看看这是怎么做到的｡
假设, 我们在上一层得到了这些数, 上一层是全连通的, 最后的全连通层｡
同样, 这些数字可以是任何数字｡
它们不一定是任何数字｡
但为了便于讨论, 我们会同意, 我们特别关注的是0和1之间的数字｡
所以对我们来说, 争论这些事情和理解这些事情更容易｡
其中一个意味着那个神经元非常自信地发现了某个特征｡
而零就意味着神经元没有找到要寻找的特征｡
因为在一天结束的时候, 这些神经元就像左边的其他东西一样, 只是在看一张图像的特征｡
这已经是非常, 非常处理, 但它仍然是检测图像上的某个特征或特征组合｡
就在我们进入控制步骤之前, 我们在泳池步骤中有一些可识别的特征｡
它们变得不那么容易辨认, 然后在平面化的图像中变得更不容易辨认, 然后它们被组合起来, 等等｡
但不管怎样, 我们在这里讨论的, 是呈现图像的某些特征或它们的组合｡
所以一个被暂停的信号, 这很重要, 被同时传递给狗和猫,
传递给两个输出神经元
所以一个意思是, 对于我们来说, 对于我们的论点来说, 它意味着这个神经元正在被激发｡
它能快速地检测到这个特征｡
可能是眉毛｡
它可能是在检测这个眉毛, 为了简单起见, 它是在检测这个眉毛｡
它将这些信息传递给狗的神经元｡
对猫的神经元说, 我能看到我的眉毛, 我能看到我的眉毛｡
然后就由猫和狗的神经元来理解这对它们意味着什么｡
好吧, 我知道了
那么在这个例子中, 哪些神经元被激活了？
这三个神经元在眉毛上放电｡
比如说鼻子在说, 我能看到我能看到大鼻子, 我能看到耷拉的耳朵.
所以它对狗和猫说了这些话, 然后又对狗说了什么｡
然后我们知道这是一只狗｡
所以狗的神经元知道答案是它实际上是一只狗, 因为在最后, 我们将它与图片或图片上的标签进行比较,
它就知道这只狗了｡
所以基本上狗的神经元会说, 啊哈, 所以在这个例子中我应该被触发｡
所以这些都是｡
我的神经
他们告诉我, 他们发送给我, 狗和猫的信号, 实际上是在暗示我,
这是一只狗｡
在这些大量的迭代中,
如果这种情况发生很多次, 狗会知道当这个特征属于狗的时候, 这些神经元确实会被激活｡
另一方面, 猫的神经元会知道它不是猫, 它会知道这个特征被激活了, 这个神经元告诉我,
它能看到下垂的耳朵, 下垂的耳朵, 下垂的耳朵,
但同时它也不是猫｡
所以基本上对我来说这是一个信号, 我应该忽略这个神经元｡
这种情况发生得越多, 猫的神经元就越会忽略这个关于耷拉耳朵的神经元｡
基本上这就是如何通过大量的迭代, 如果这种情况经常发生｡
这只是一个例子｡
但如果这种情况经常发生, 也许是1, 也许是0｡ 八比零｡ 9､ 也许有时候它不会开火｡
但总的来说, 平均来说, 这个神经元是非常频繁地发光｡
当它确实是一只狗时, 狗的神经元将开始赋予这个神经元更高的重要性｡
所以我们开始了｡
这就是我们要表达的意思｡
我们会说这三个神经元, 通过这个迭代过程, 用很多很多的样本和很多很多的纪元,
记住｡
所以样本是数据集中的一行, 而时期是你一遍又一遍地检查整个数据集的时候｡
有很多很多的迭代｡
这个狗的神经元学习到这个眉毛神经元,
这个大鼻子神经元, 还有这个耷拉耳朵神经元, 它们似乎都很好地帮助了它对狗的分类.
原来如此｡
再一次, 这些耳朵, 鼻子和眉毛, 这些都是非常, 非常近似或者非常牵强的例子,
因为到了这个阶段, 在整个卷积神经网络中, 它们完全无法识别, 它们在寻找什么｡
但与此同时, 它也是狗或猫或任何你正在分类的东西的特征｡
然后让我们继续下一个｡
现在我们来看看猫的神经元, 但是我们要记住这些权重是我们已经把狗的分类出来的｡
所以狗几乎忽略了其他神经元｡
一, 二, 三, 四, 五｡
但它真正关注的是这三个神经元在说什么｡
现在, 猫在听什么呢？
好吧, 只要它实际上是一只猫, 对｡
这是一个实际上是一只猫的例子｡
所以你会看到这三个神经元, 0｡ 九比零｡ 9和1, 他们在说什么｡
他们在对猫和狗说些什么｡
这一点同样需要记住｡
因此, 该输出信号双向传输｡
这是一样的, 对吗？
它对狗说的话就是对猫说的话,
但接下来要由狗和猫来决定是否考虑这个信号, 并从中学习｡
而狗和猫都能看出这是一张照片｡
我应该在这里放一张猫的照片, 但基本上想象一张猫的照片｡
狗和猫都能看出这实际上是一只猫｡
所以基本上狗就像, 哦, 好吧, 所以这些胡须和这些尖尖的三角形耳朵和这个小尺寸, 我猜,
或者哦, 也许这些类型, 你知道猫的眼睛里有这些东西吗？
他们的眼睛都像小东西｡
它们不是圆圈, 它们的线条或类似的东西｡
就像猫的眼睛｡
基本上, 这双猫眼, 绝对不适合我｡
它们并没有帮助我做出预测, 因为每次这些神经元亮起的时候, 预测都不是我想要的｡
另一方面, 猫会说, 嗯, 这很有趣｡
每次这个灯亮起来, 它或大多数时候它都亮起来｡
它符合我的期望｡
和我想找的一样｡
好吧, 我会的
我要多听这个人的话｡
这个也一样｡
每次它亮起或大部分时间它亮起｡
我碰巧得到了一个好的我碰巧因为我的预测而得到了奖励, 因为我做对了｡
是只猫｡
好吧, 我会多听他的｡
你知道, 这个人对我没用, 因为他不像他｡
他都没点烟｡
是只猫, 但它没有点烟｡
因此, 情况正好相反｡
还有这个｡
是只猫, 但它没有点烟｡
所以我不打算听他的｡
可是这一次, 他当这是什么？
的眼睛｡
猫的眼睛亮起来｡
我们可以看到我可以看到它是一只猫｡
大多数时候都是匹配的｡
所以我会从中学习, 我会经常听这三个家伙的话｡
所以基本上猫只听这三个而忽略了其他五个｡
这就是这些最后的神经元如何学习在最后的, 完全连接的层中的哪些神经元要听｡
因此输出神经元学习哪一个完全连接或哪一个最终完全连接｡
他们的神经元听｡
他们就是这样理解的｡
基本上, 这就是特征如何通过网络传播并传递到输出｡
所以尽管这些特征, 当然,
对他们来说没有太多的意义, 比如松软的耳朵或者胡须, 但同时, 它们也有一些与众不同的地方它们是这个特定类别的与众不同的特征.
这就是网络的训练方式, 因为我们在记忆过程中, 在反向传播过程中,
我们也调整了特征检测器｡
所以如果一个特性对输出无用, 它可能会被忽略, 因为这不会发生在一两天内,
它只会发生在成千上万的迭代中｡
所以随着时间的推移, 对网络无用的功能将被忽略, 并被有用的功能所取代｡
所以在一天结束的时候, 在这最后一层神经元中,
你很可能会有很多特征或者特征的组合, 这些特征来自于图像, 它们确实是狗和猫的代表或者描述｡
所以一旦你的网络被训练好了, 这就是它的应用方式｡
所以这是下一步, 就像我们已经训练过了一样｡
让我们来看看应用这个网络后会发生什么｡
假设我们传递了一个狗的图像｡
这些值通过网络传播, 我们得到了特定的值｡
所以这一次狗和猫的神经元不知道｡
这里没有狗的形象｡
他们不知道那是狗还是猫｡
他们不知道这是什么, 但他们已经学会了倾听这里正在展示的东西, 对吗？
他们已经学会了听狗的神经元, 听这三个神经元, 猫的神经元听这三个｡
所以狗的神经元看到1到3, 就会说, 啊哈, 这些都很高｡
所以我认为它是狗的概率很高｡
猫的神经元看着这三个, 然后说, 好吧, 这个, 这个很高, 但是这个很低｡
有意思｡
所以我的概率是0｡ 05.
然后, 然后, 这就是你得到你的预测的地方｡
所以你的第一选择是狗, 第二选择是猫｡
差不多就是这样了｡
所以答案是狗｡
当你传递一张猫的图片时, 同样的事情也会发生, 你会得到新的值, 你可以看到, 尽管这个值很高,
这些值很低｡
对于猫来说, 这个高一些, 这个高一些, 这个低一些｡
所以这里的概率可能没有之前那么大｡
但你仍然可以看到它是一只79%的猫｡
所以神经网络会投票决定它是一只猫｡
所以基本上所有的神经网络都会断定它是猫｡
投票是一个术语, 是用于这些家伙｡
所以这些神经元在最后一个完全连接的层, 它们可以投票, 这些是它们的选票｡
同样, 我们只是为了论证起见, 在这里把值放在0和1之间｡
这些可以是任何值, 但是他们要投票, 然后这些权重就是他们投票的重要性｡
所以这是这些紫色的权重是狗的神经元如何看待他们的投票｡
它赋予这些神经元和这些选票的重要性有多大？
这是猫神经元赋予这些投票的重要性｡
所以这些神经元会根据它们学习到的权重来投票给狗和猫｡
他们决定听谁的, 然后他们作出预测, 然后举行｡
神经网络得出结论, 在这种情况下, 这是一只猫｡
这就是你的结论｡
这就是你如何得到这样的图像, 你有一个猎豹, 然后你有一个猎豹类像一个高, 高概率｡
这就是网络预测的概率｡
这些都是低点, 但它们仍然存在, 因为它们仍然是一种很小的机会｡
其他的神经元也在倾听他们的选民, 他们说, 哦, 也许这实际上是一只豹子｡
子弹头列车很有可能在这里｡
剪刀, 你知道, 这个, 一个按钮的pangloss非常接近第二,
然后是听诊器, 因为你可以看到像这些家伙, 这个这个神经元,
剪刀神经元, 输出, 这个神经元听它的选民, 它有一个主要的投票, 但然后手光泽也有一个很好的结果｡
好了, 我们走吧｡
这就是完整连接的工作原理, 这就是它的工作原理｡
所有这些都是一起发生的｡
我希望你喜欢今天的教程｡
我们也会在总结中总结所有这些内容, 下次再见｡
在此之前, 请尽情享受深度学习｡