日常知识:cnn是什么意思(比特币实时消息)

来自奥菲斯的白十字量子比特报告|微信官方账号QbitAI看你是人还是物,是猫还是狗。卷积神经网络(CNN)最重要的应用是图像分类。说到这里,似乎很简单。为什么不

来自奥菲斯的白十字
量子比特报告|微信官方账号QbitAI

看你是人还是物,是猫还是狗。

卷积神经网络(CNN)最重要的应用是图像分类。说到这里,似乎很简单。

为什么不用普通的神经网络呢?

那是因为在对图像进行分类时,我们面临着图像大、物体形状和位置不同等问题。,这给普通神经网络带来了困难。

卷积神经网络就是为了解决这个问题。

软件工程师Victor Zhou在这篇介绍文章中介绍了什么是卷积神经网络。

到目前为止,已经有47k次访问。

已经对神经网络有所了解的同学,来看看吧。

MNIST手写数字分类

首先,以MNIST手写体数字分类为例,它是MNIST数据集的样本。

很简单,就是识别图像,然后分类成数字。

MNIST数据集中的每幅图像都是28×28。我们可以看到,中间都是灰色的数字。

一个正常的神经网络其实可以解决这个问题。首先,将每幅图像视为一个28×28=784维的向量,并将784维的向量发送到一个784维的输入层。堆叠几个隐藏层,然后用10个节点完成输出层,每个节点对应一个数字。

但这几个数字在中间,图像小,不存在尺寸和位置偏差大的问题。但我们知道,在现实生活中,情况并非如此。

好了,有了基本的了解,让我们进入卷积神经网络的世界。

什么是卷积神经网络?

顾名思义,卷积神经网络是一种基本由卷积层组成的神经网络,卷积层是基于卷积的数学运算。

卷积层由一组过滤器组成,您可以将它们视为二维矩阵的数字。例如,这是一个3×3滤波器。

输入图像与滤波器卷积以生成图像,该图像包括:

将滤波器叠加在图像的某个位置上。在滤波器中的值和图像中的相应值之间进行元素乘法。将所有元素的乘积相加。这个和就是输出图像中的目标像素的输出值对所有位置重复进行。

这样可能会有一些我不太理解的抽象。不要紧,例子来了。

让我们以一个微小的4×4灰度图像和一个3×3滤镜为例。

图像中的数字就是我们日常看到的像素强度,其中0为黑色,255为白色。我们的输出设置为2×2输出图像。

首先,将我们的滤镜叠加在图像的左上角位置。

然后,将这两个值(图像值和过滤器值)逐个元素相乘。获得了下表:

结果是62-33=29。

以此类推,可以得到2×2图像的值。

卷积有什么用?

先抛开卷积的使用,看图吧。

这不就是3×3滤镜吗?其实它还有一个专业名称——垂直索贝尔滤镜,对应的是一个水平索贝尔滤镜,也就是中间横线上的数字为0。

其实Sobel滤波器是边缘检测器,垂直Sobel滤波器检测垂直边缘,水平Sobel检测水平边缘。

所以,可能不明显。让我们来看图。

你感觉到什么了吗?

试想一下,如果两种滤波器都用,卷积是否能捕捉到图像的边缘特征。

输出图像中的亮像素表示原始图像周围的强边缘。

这样,卷积可以帮助我们找到特定的局部图像特征,比如边缘。

填充

一般来说,我们都希望输出图像与原始图像大小相同。但是在上面的例子中,我们使用4×4的图像作为输入,2×2的图像作为输出。应该如何解决这个问题?

填充。这就是我们所说的0的神奇作用。

要在图像周围添加一个圆圈“0”,滤镜需要填充1个像素。

这样,输出图像与输入图像具有相同的大小,这被称为相同的填充。

卷积层

卷积层包含上面提到的一组滤波器,卷积层的主要参数是滤波器的数量。

对于MNIST CNN,如果使用具有8个滤波器的小卷积层,则输入是28×28,输出结果变成26×26×8。

(因为它是一个有效的填充,所以它会将输入的高度和宽度减少2)

池化层

一幅图像中相邻的I像素往往具有相似的值,通过卷积层可以在相邻像素中生成相似的值。这会造成卷积层输出的很多信息是冗余的。

至于上面说的负责边缘检测的滤镜,它可以在某个位置找到强边缘,但很有可能它也可以在与之相邻的一个像素中找到强边缘,从而造成两条相同的边缘同时存在。

这样就会造成信息冗余,找不到新的信息。

Pool将解决这个问题。Pool,即通过将输入中的值集中在一起,减少了输入的大小。

通常是通过简单的运算来完成的,比如取最大值、最小值或者平均值。

以下是最大池层的示例,池大小为2的最大池层。为了执行最大池化,输入图像在2×2块中遍历,最大值被放入相应像素的输出图像中。

池将输入的宽度和高度除以池的大小。

例如,对于我们的MNIST CNN,我们将在初始转换层之后立即放置一个池大小为2的最大池层。池层将26x26x8输入转换为13x13x8输出。

softmax层

其实要最终完成CNN,就要赋予它预测的能力。

然后,我们将使用多类分类问题的标准最终层:Softmax层,这是一个全连通(稠密)层,它使用Softmax函数作为其激活的全连通(稠密)层。

什么是Softmax函数?

给定一些数字,Softmax函数可以将任何数字转换成概率。

例如,我们选择数字1、0、3和5。

首先需要计算E的指定数幂,然后将所有结果相加作为分母。

最后以e到指定数值幂的值为分子,计算可能性。

以MNIST CNN为例,有10个节点的softmax层将作为CNN的最后一层,每个数字代表一个数字。图层中的每个节点都将连接到每个输入。

应用softmax变换后,节点代表的最高概率数将是CNN的输出。

好了,就这些。能不能很好的理解卷积神经网络?

可以戳下面的链接了解更多~

门户网站:

https://victorzhou.com/blog/intro-to-cnns-part-1/

https://victorzhou.com/blog/softmax/

—结束—

量子qbitai头条号签约

关注我们,第一时间获悉前沿科技动态。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。

作者:美站资讯,如若转载,请注明出处:https://www.meizw.com/n/227655.html

发表回复

登录后才能评论