我试图学习卷积神经网络,但我很难理解在合并步骤后神经网络会发生什么。
所以从左边开始,我们有代表我们图片的28x28矩阵。我们对其应用三个5x5过滤器以获得三个24x24特征图。然后我们对每个2x2正方形特征图应用最大池化以获得三个12x12池化层。我了解到这一步的一切。
但现在发生了什么?我正在读的文件说:
“网络中的最后一层连接是一个完全连接的层。也就是说,这一层将最大池化层的每个神经元连接到10个输出神经元中的每一个。”
正文没有进一步描述除此之外发生的事情,它给我留下了几个问题。
三个集合层是如何映射到10个输出神经元的?通过完全连接,是否意味着12x12汇集层的三个层中的每一层中的每个神经元都有一个将其连接到输出层的权重?那么有3x12x10个权重从池层链接到输出层?输出神经元是否仍有激活功能?
从该在线资源获取的图片和摘录:http://neuralnetworksanddeeplearning.com/chap6.html
是的,你走对了。有一个层,权重矩阵为4320个条目。
该矩阵通常安排为432x10。这是因为这432个数字是输入图像的固定大小表示。在这一点上,你不在乎你是如何得到它的——CNN,简单的前馈或疯狂的RNN逐像素,你只想把描述变成分类。在大多数工具包中(例如,TensorFlow、PyTorch甚至是普通的numpy),您需要明确地将池的3x12x12输出重塑为432长向量。但这只是一种重新安排,各个元素不会改变。
此外,通常会有10个长的偏差向量,每个输出元素一个。
最后,关于非线性:因为这是关于分类的,所以通常需要输出10个单位来表示输入属于特定类别(数字)的后验概率。为此,使用softmax函数:y=exp(o)/sum(exp(o))
,其中exp(o)
表示元素指数。它保证它的输出将是正确的分类分布,所有元素
还要注意的是,这根本不特定于卷积网络,您可以在几乎每个分类网络的末尾找到此块完全连接层。您还可以将此块视为实际的分类器,而它前面的任何内容(在您的示例中是一个浅层的CNN)都只是试图准备好好的特性。
本质上,全连接层提供了神经网络进行预测的主要方式。如果您有十个类,那么一个全连接层由十个神经元组成,每个神经元对属于该类的分类样本的可能性具有不同的概率(每个神经元代表一个类)。这些概率由隐藏层和卷积决定。池化层只需输出到这十个神经元中,为您的网络提供进行预测的最终接口。这是一个例子。池化后,您的全连接层可以显示以下内容:
(0.1)
(0.01)
(0.2)
(0.9)
(0.2)
(0.1)
(0.1)
(0.1)
(0.1)
(0.1)
其中每个神经元都包含样本属于该类的概率。在这种情况下,如果您正在对手写数字的图像进行分类,并且每个神经元对应于图像为1-10的预测,那么预测将为4。希望有帮助!
注意: 本教程适用于对Tensorflow有丰富经验的用户,并假定用户有机器学习相关领域的专业知识和经验。 概述 对CIFAR-10 数据集的分类是机器学习中一个公开的基准测试问题,其任务是对一组大小为32x32的RGB图像进行分类,这些图像涵盖了10个类别: 飞机, 汽车, 鸟, 猫, 鹿, 狗, 青蛙, 马, 船以及卡车。 想了解更多信息请参考CIFAR-10 page,以及Alex Kriz
卷积神经网络(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网络由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网络能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网络
在了解了机器学习概念之后,现在可以将注意力转移到深度学习概念上。深度学习是机器学习的一个分支。深度学习实现的示例包括图像识别和语音识别等应用。 以下是两种重要的深度神经网络 - 卷积神经网络 递归神经网络 在本章中,我们将重点介绍CNN - 卷积神经网络。 卷积神经网络 卷积神经网络旨在通过多层阵列处理数据。这种类型的神经网络用于图像识别或面部识别等应用。CNN与其他普通神经网络之间的主要区别在于
主要内容:卷积神经网络深度学习是机器学习的一个分支,它是近几十年来研究人员突破的关键步骤。深度学习实现的示例包括图像识别和语音识别等应用。 下面给出了两种重要的深度神经网络 - 卷积神经网络 递归神经网络。 在本章中,我们将关注第一种类型,即卷积神经网络(CNN)。 卷积神经网络 卷积神经网络旨在通过多层阵列处理数据。这种类型的神经网络用于图像识别或面部识别等应用。 CNN与任何其他普通神经网络之间的主要区别在于CNN
注意: 本教程适用于对Tensorflow有丰富经验的用户,并假定用户有机器学习相关领域的专业知识和经验。 概述 对CIFAR-10 数据集的分类是机器学习中一个公开的基准测试问题,其任务是对一组32x32RGB的图像进行分类,这些图像涵盖了10个类别: 飞机, 汽车, 鸟, 猫, 鹿, 狗, 青蛙, 马, 船以及卡车。 想了解更多信息请参考CIFAR-10 page,以及Alex Krizhev
在“多层感知机的从零开始实现”一节里我们构造了一个含单隐藏层的多层感知机模型来对Fashion-MNIST数据集中的图像进行分类。每张图像高和宽均是28像素。我们将图像中的像素逐行展开,得到长度为784的向量,并输入进全连接层中。然而,这种分类方法有一定的局限性。 图像在同一列邻近的像素在这个向量中可能相距较远。它们构成的模式可能难以被模型识别。 对于大尺寸的输入图像,使用全连接层容易造成模型过大