卷积神经网络CNN理论到实践(1)

标准卷积(Standard Convolution) 所以输出特征图尺寸为5×5.其中[x]表示向下取整。 阅读详情

作者:相国大人


写这篇博文用了很多时间和精力,如果这篇博文对你有帮助,希望您可以打赏给博主相国大人。哪怕只捐1毛钱,也是一种心意。通过这样的方式,也可以培养整个行业的知识产权意识。我可以和您建立更多的联系,并且在相关领域提供给您更多的资料和技术支持。

赏金将用于拉萨儿童图书公益募捐

手机扫一扫,即可:

附:《春天里,我们的拉萨儿童图书馆,需要大家的帮助》


1. 导读

卷积神经网络CNN常用于处理具有栅格拓扑特征的数据。时间序列数据可以看做是在固定时间间隔采样的一维网格数据;图像可以看做是由像素组成的一个二维网格。在实际应用中,具有很好的效果。也是进入深度学习领域需要掌握的最基本的网络模型。卷积网络使用卷积来代替一般的矩阵乘法。将一层卷积结果作为一个输出层。
本文是一之后系列博文的第一篇。在本系列博文中,我们会全方位,足够深入的为你讲解CNN的知识。包括很多你之前在网上找了很多资料也没搞清楚的东西,例如:
1. 我们会全面深入的介绍卷积的概念,让你不仅仅知道卷积的运算,还能够从理性和感性的双重角度,理解卷积的意义。我们还会探讨为什么要使用卷积网络,卷积网络究竟有什么特性。
2. 我们会详细介绍池化的概念,并且告诉你为什么要做池化操作,池化操作究竟有什么特别的好处。
3. 我们会全面介绍CNN的各种形式。如:standard convolution,valid convolution, same convolution,full convolution,unshared convolution,tiled convolution等等。尤其是tiled convolution我们会用最能够让人理解的方式,让你透彻明白其中的原理。这一点,我们的工作要比网上其他博文做得更好。
4. 我们还将详细探讨卷积与矩阵乘法的关系。这一点,我们的工作也要比网上其他博文作的好。
5. 除此之外,我们还会探讨更多,更深入的知识,例如:CNN中的其他操作(如反卷积等),如何在数据集上使用不同维度的卷积,使得卷积操作更高效的方式 ,使用tensorflow进行CNN的实现,讨论并实现如何使用CNN做中文文本分类。

所有这些精彩的内容,都会在我接下来的博文中一一介绍。
因此,与网上其他博文相比,我们的工作更好,主要体现在:
1.对理论的介绍足够深入易懂
2. 我们会利用CNN做文本分类的实践。
3. 我们会绘制大量精美的示意图。保证博文的高质量和美观。


接下来,我们为大家介绍卷积的概念

2. 卷积

假如我们现在要追踪一艘船的位置,这艘船会给我们返回当前时刻 t 的它的位置坐标x(t),这里的 x 和t都是实数。如果这个函数返回的值有些噪声干扰,那么我们能够想到的一个策略,就是取邻域求均值。如下图所示,我们用最近观测到的结果做一个加权求和。只不过,这个权重显然应该是离当前时刻越近越大才合理一些。这样,我们不妨假设权重函数为 ω(Δt) ,那么对于一个特定时刻 α ,而言,加权求和中,关于它的一项,应该写为: x(α)ω(t−α) .如果对所有时刻进行求和,我们就可以得到一个新的函数 s(t) ,表示对 x(t) 的一个平滑的估计:

s(t)=∫x(α)ω(t−α)dα(2.1)

我们把上面这个操作,叫做 卷积(convolution).常常简写为:
s(t)=(x∗w)(t)(2.2)


2.1
图片2.1 卷积示意图

在我们这个场景(追踪船位置)中,我们的函数 ω 是权重函数,因此,它在全域上的积分和应该为1,并且是非负函数。因此这个 ω 函数,实质上就是一个概率密度函数。并且 ω(t)=0,if:t<0 ,否则这意味着我们可以看到未来的数据,这不符合此场景下的逻辑。
但事实上,刚才说到的这两个限制,仅仅是在我们这个场景中是成立的。对于一般的卷积定义来说,不管 ω 是什么样的函数,只要可以写成公式 (2.1,2.2) 的形式,我们都称之为卷积操作。
特别的,在深度学习领域中,我们把公式 (2.1,2.2) 中的 x 叫做输入(input),把ω叫做核(kernel),而输出 s 叫做特征映射(feature map).本文接下来的所有论述中,将直接使用英文术语。

在刚才的场景中,我们默认x是连续的函数。事实上,在很多实际情况中,尤其是在深度学习中,这是不可能的。通常情况下,当我们处理计算机上的数据时,时间是离散化的。因此,我们接下来不妨假设,在刚才的场景中,函数 x(t) 中,参数 t 只能取得整数值,这样,一个离散化的卷积定义就出现了:

s[n]=(x∗ω)(n)=∑m=−∞∞x[m]ω[n−m](2.3)

在机器学习领域中,我们的input往往是多维数组,kernel也是由学习参数构成的多维数组。这样以来,我们可以把这些多维数组看做是张量。从公式 (2.3) 中可以看到,我们需要对无穷多数据进行求和,但实际上,如果我们假定,除了我们存储的观测值之外,其他没有观测到的值,统统记为0,那么就可以通过有限次的求和来得到式 (2.3) 的结果。
由上面的论述,我们知道,我们需要同时在多个维度上进行卷积操作。例如,如果我们使用二维图像 I 作为输入,那么我们也希望使用二维的kernel K进行卷积操作(类比之前的场景,这个时候,你可以把K理解为,在二维网格中,距离当前节点越近的格点,应该拥有更大的权值):

s[i,j]=(I∗K)[i,j]=∑m∑nI[m,n]K[i−m,j−n](2.4)

对于卷积操作而言,交换 I 和K的参数,其值不变(关于这一点,其实你看下图片2.1,相信不会难以理解),即:
s[i,j]=(I∗K)[i,j]=∑m∑nI[i−m,j−n]K[m,n](2.5)

在CNN中, K 的尺寸一般要比I的尺寸小很多。这意味着,如果我们采用公式 (2.4) 的话,那么我们需要对大尺寸的 I 的每一个像素点遍历,得到I[m,n],然后再去寻找 K[i−m,j−n] ,没有其值的就以0填充。因此这种操作顺序,浪费计算。但是,如果我们采用公式 (2.5) ,那么我们需要对小尺寸的 K 的每一个像素点遍历,得到K[m,n],然后再去寻找 I[i−m,j−n] ,这个在大尺寸的 I 中是可以找到的(没有其值的就以0填充)。因此这种操作顺序,比较节约计算资源。所以我们在CNN中使用的是后者。
有趣的是,在很多机器学习库中,它们往往把上面公式的kernel进行“翻转”,得到下面的样子:
s[i,j]=(I∗K)[i,j]=∑m∑nI[i+m,j+n]K[m,n](2.6)

并且,也把这个叫做卷积(实际上应该叫做互相关)。
下图所示是运用公式 (2.5) 对Input中标有颜色的数据进行卷积的示意图。对于Input中白色数据,我们这里没有做,实际上,我们可以在Input外面补充相应数量的0值,来同样完成卷积。

这里写图片描述
图2.2 离散卷积示意图

卷积与普通的矩阵乘法相比,对应的连接更稀疏:

这里写图片描述

上面这张图表示的是两个神经网络。其中,左侧的神经网络是通过卷积得到的。 s 为featrure map,x为input, kernel这里取宽度为3。
右侧的网络是通过矩阵乘法得到的,具体来说,有 S=KX ,其中 K 就是网络中,这些边的权值。
从这两个图我们可以看到,由于kernel的规模一般远小于input,因此最后得到的网络是稀疏的。也就是说在所有的输出中,只有三个(s2,s3,s4)是受到 x3 影响的。而对于右侧的网络,连接不再是稀疏的,所有的输出都受到 x3 的影响。
同样的,也可以反过来看:
这里写图片描述

在左侧的卷积网络中,只有3个输入可以影响输入,而在右侧的矩阵乘法网络中,所有的输入都会影响输出。

3. 在神经网络中使用卷积的原因

使用卷积的原因在于,它利用sparse interactions, parameter sharing, 和equivariant representations来提高机器学习系统。本小节的目的,就是分别介绍这三个特性。

3.1 sparse interactions

sparse interactions又叫做sparse connectivity 或sparse weights
关于这一点,我们在上一节的末尾,已经为大家讲到了。因此此处不再赘述。
需要说明的一点是,随着网络层数的增加,输出结点的输入域将会扩大,如下图:

这里写图片描述

在上面这张图中,更深层中节点的接受域要比浅层节点更大。这意味着,尽管直接连接比较稀疏,深层中的节点仍然可以获取大多数,甚至全部的输入节点的信息。

3.2 parameter sharing

在CNN中,kernel(也就是我们之前说的函数 ω 带着一组固定权重的神经元)对局部输入数据进行卷积计算。每计算完一个数据窗口内的局部数据后,数据窗口不断平移滑动,直到计算完所有数据。这个过程中,有这么几个参数:
  a. 深度depth:神经元个数,决定输出的depth厚度。同时代表kernel个数。
  b. 步长stride:决定滑动多少步可以到边缘。
  c. 填充值zero-padding:在外围边缘补充若干圈0,方便从初始位置以步长为单位可以刚好滑倒末尾位置,通俗地讲就是为了总长能被步长整除。
  

这里写图片描述

下面这幅图片,是卷积操作的另一个示意图,与图2.2不同的是,我们这里的input是一个三维的输入,下图左侧的三个矩阵,分别代表了input X 在第三维度上的切片x[:,:,0],x[:,:,1],x[:,:,2]
根据我们之前的介绍,这个时候,我们的kernel也应该是三个维度,也就是下图中的 ω0
不过,这里我们用了两个kernel,分别是 ω0,ω1 ,对应的也就有了两个输出。

这里写图片描述

值得一提的是:

  1. 左边数据在变化,每次滤波器都是针对某一局部的数据窗口进行卷积,这就是所谓的CNN中的局部感知机制。
    打个比方,滤波器就像一双眼睛,人类视角有限,一眼望去,只能看到这世界的局部。如果一眼就看到全世界,你会累死,而且一下子接受全世界所有信息,你大脑接收不过来。当然,即便是看局部,针对局部里的信息人类双眼也是有偏重、偏好的。比如看美女,对脸、胸、腿是重点关注,所以这3个输入的权重相对较大。
  2. 与此同时,数据窗口滑动,导致输入在变化,但中间滤波器Filter w0的权重(即每个神经元连接数据窗口的权重)是固定不变的,这个权重不变即所谓的CNN中的参数(权重)共享机制。
    再打个比方,某人环游全世界,所看到的信息在变,但采集信息的双眼不变。btw,不同人的双眼 看同一个局部信息 所感受到的不同,即一千个读者有一千个哈姆雷特,所以不同的滤波器 就像不同的双眼,不同的人有着不同的反馈结果。

关于这个图片的具体计算过程,读者可以参考v_JULY_v的博文(点击此处)

进一步来说:

这里写图片描述

在左侧的网络中,我们用深黑线表示这些边的参数是相同的(事实上,在做卷积的时候,确实如此,这些边都是中间位置的边,对应的也是kernel的中间的值),可以看到在这个网络中,参数是共享的。而在右侧的矩阵乘积网络中,每一个边的参数,都不是共享的。

假如我们现在有 m 个输入和n个输出,那么矩阵乘法需要有 m×n 个参数并且时间复杂度为 O(m×n) .现在,如果我们按照卷积的操作,把每个输出的连边个数限制到 k 个,那么对于这样一个稀疏链接我们只需要k×n个参数和 O(k×n) 的时间复杂度。尽管我们让 k 比m小了好几个数量级,但是在很多实际的机器学习任务中,这已经足够获得优异的性能了。

我们有时候也把paremeter sharing叫做tied weights,因为应用在某一个输入的权重的值与其他位置上的权重值绑定在一起。在卷积网络中,kernel中的每一个元素都会作用在input的每个位置中(不考虑边界的话)。参数共享(parameter sharing)意味着,我们不需要对每一个位置都分别训练一套属于自己独有的参数。我们只需要一套参数就可以了。这不会改变前向传播的运行时间,事实上,它仍然是 O(k×n) (见上一段).但是由于我们只需要存K个参数,因此降低了模型的存储要求。由于 k 比m要小好几个数量级,而 m 和n大致在一个规模上,这样 k 与m×n相比就更小了。因此无论是在统计效率上还是存储上,卷积都要比稠密的矩阵乘法更加高效。

3.3 equivariant representations

我们说一个函数具有等变性质(equivariant),意味着当输入改变时,输出也会以相同的方式改变。特别的,对于函数 f和g ,当 f(g(x))=g(f(x)) 时,我们说函数 f(x) 对函数 g 等变。这个等式的含义很容易理解,对于函数f而言,假如它输入为 x ,那么当输入x按照函数 g 确定的规则进行变化时,函数f的输出也按照同样的方式 g 进行变化,如下图所示:

这里写图片描述

卷积函数就具有这样的性质。
例如,给定一个图像输入I,其中 I(x,y) 表示图像坐标为 (x,y) 处的像素的明度值。接下来,给一个转换函数 g ,I′=g(I),其中 I′ 满足 I′(x,y)=I(x−1,y) .即 g 函数的作用是将图像中的像素向右移动一个单位。那么:

这里写图片描述

即我们先对I做变换 g ,然后将结果进行卷积得到的输出,与先对I做卷积得到的结果在做变换 g 是一样的。
当处理时间序列数据时,这意味着如果我们把输入中的一个事件向后延时,在输出中仍然会有完全相同的表示,只是时间延后了。图像与之类似,如果我们移动输入中的对象,它的表示也会在输出中移动同样的量。
当处理多个输入位置时,一些作用在邻居像素的函数是很有用的。 例如在处理图像时,在卷积网络的第一层进行图像的边缘检测是很有用的。 相同的边缘散落在图像的各处,所以应当对整个图像进行参数共享。 但在某些情况下,我们并不希望对整幅图进行参数共享。 例如,在处理已经通过剪裁而使其居中的人脸图像时,我们可能想要提取不同位置上的不同特征(处理人脸上部的部分网络需要去搜寻眉毛,处理人脸下部的部分网络就需要去搜寻下巴了)。

卷积对其他的一些变换并不是天然等变的,例如对于图像的放缩或者旋转变换,需要其他的一些机制来处理这些变换。

最后,对有些数据而言,用传统的矩阵乘法得到的神经网络可能不会做出很好的处理。这是我们可能通过卷积神经网络来处理,我们将会在接下来的博文中讲到。

4.小结

本篇博文主要讲了以下内容:

在理论部分,本博文首先介绍卷积的概念,然后我们解释在神经网络中使用卷积的原因:sparse interactions,parameter sharing和equivariant representations.
关于卷积更深入的理解,你可以参考这篇博文http://xiaosheng.me/2017/05/16/article60/

接下来的博文中,我们会介绍:
1. 池化
2. 一些在神经网络中常用的卷积函数
3. 如何在数据集上使用不同维度的卷积
4. 使得卷积操作更高效的方式
5. 使用tensorflow进行CNN的实现
6. 讨论如何使用CNN做中文文本分类。


请继续阅读:
《卷积神经网络CNN理论到实践(2)》


welcome!

Xiangguo Sun
sunxiangguodut@qq.com
http://blog.youkuaiyun.com/github_36326955

Welcome to my blog column: Dive into ML/DL!

这里写图片描述

I devote myself to dive into typical algorithms on machine learning and deep learning, especially the application in the area of computational personality.

My research interests include computational personality, user portrait, online social network, computational society, and ML/DL. In fact you can find the internal connection between these concepts:

这里写图片描述

In this blog column, I will introduce some typical algorithms about machine learning and deep learning used in OSNs(Online Social Networks), which means we will include NLP, networks community, information diffusion,and individual recommendation system. Apparently, our ultimate target is to dive into user portrait , especially the issues on your personality analysis.


All essays are created by myself, and copyright will be reserved by me. You can use them for non-commercical intention and if you are so kind to donate me, you can scan the QR code below. All donation will be used to the library of charity for children in Lhasa.


赏金将用于拉萨儿童图书公益募捐
社会公益,听IT人的声音

手机扫一扫,即可:

附:《春天里,我们的拉萨儿童图书馆,需要大家的帮助》

标准卷积、深度可分离卷积与GSConv,YOLOv8引入SlimNeck 本文介绍了标准卷积、深度可分离卷积以及paper中的GSConv,分析了它们的性能优劣,并简要介绍了如何将VoVGSP和GSConv引入YOLOv8 阅读详情

相关推荐

基于Pytorch的卷积神经网络CNN实例应用及详解

基于Pytorch的卷积神经网络CNN实例应用及详解 一、卷积神经网络CNN定义 卷积神经网络(CNN,有时被称为 ConvNet)是很吸引人的。在短时间内,它们变成了一种颠覆性的技术,打破了从文本、视频到语音等多个领域所有最先进的算法,远远超出了其最初在图像处理的应用范围。CNN 由许多神经网络层组成。卷积和池化这两种不同类型的层通常是交替的。网络中每个滤波器的深度从左到右增加。最后通常由一个或多个全连接的层组成。 二、卷积神经网络的原理 ...

rothschild666的博客 5522

扩展卷积详解 - 组卷积, 深度可分离卷积, 空洞卷积

文章目录零. Standard Convolution - 标准卷积一. Group Convolution - 组卷积二. Depth Separable Convolution - 深度可分离卷积三. Dilated Convoluton - 扩张卷积四. 参考 在标准卷积的基础上介绍组卷积, 深度可分离卷积, 空洞卷积. 零. Standard Convolution - 标准卷积 标准卷积运算是这样地: 对于输入特征为 C∗H∗WC*H*WC∗H∗W, 卷积核大小为 K∗KK*KK∗K, 共 N

Right here, Code is Magic 4521

【Pytorch教程】:卷积神经网络 CNN

Pytorch教程目录 Torch and Numpy 变量 (Variable) 激励函数 关系拟合(回归) 区分类型 (分类) 快速搭建法 批训练 加速神经网络训练 Optimizer优化器 卷积神经网络 CNN 目录Pytorch教程目录什么是卷积神经网络 CNN卷积 和 神经网络池化(pooling)流行的 CNN 结构CNN 卷积神经网络MNIST手写数据CNN模型训练可视化训练全部代码 什么是卷积神经网络 CNN 卷积 和 神经网络 卷积神经网络是如何运作的呢, 举一个识别图片的例子, 我们知

nanke_4869的博客 8089

Pytorch常用的函数(三)深度学习中常见的卷积操作详细总结

Pytorch常用的函数(三)深度学习中常见的卷积操作详细总结

qq_44665283的博客 4160

CNN卷积神经网络

CNN卷积神经网络 一、CNN卷积神经网络概念 卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。 二、CNN卷积神经网络原理 简要介绍下。神经网络的每个单元如下: 其对应的公式如下: 其中,该单元也可以被称作是Logistic回归模型。当将多个单元组合起来并具有分层结构时,就形成了神经网络模型。下图展示了一个具有一个隐含层的神经网络。其对应的公式如下: 比较类似的,可以拓展到有

qq_54615837的博客 6134

CNN 卷积神经网络

滑动窗口方式除了计算量比较大,还有个问题就是窗口是离散的,所以大概率不会有窗口完美框到待识别物体,并且可能物体本身也不是正方形,因此单纯的滑动窗口无法准确给出边界。YOLO(you only look once)算法解决了上面问题,并且替换了滑动窗口。它将图像等分成n×n的格子,以下图为例3×3,然后识别3类物体,标签为8维数据,P_c每个格子是否有Object,有的话中心点坐标b_x、b_y,框的高度b_h,框的宽度b_w,softmax结果3个,然后训练。

djl806943371的博客 1261

神经网路的几种卷积方式

神经网络的几种卷积方式标准卷积深度可分离卷积组卷积扩展卷积反卷积 在《 详解卷积神经网络 》已经初步的讲解了一个卷积层应该包含的参数、隐含的层等等信息;由于神经网络的发展是由一个比较长久的历史,因此其卷积计算的算子也相对应的演变。下面简单的介绍几种常用的卷积方式: 标准卷积 深度可分离卷积 组卷积 扩展卷积 反卷积 ...

CFH1021的博客 1170

[2] 卷积神经网络CNN 图解

背景之前在网上搜索了好多好多关于CNN的文章,由于网络上的文章很多断章取义或者描述不清晰,看了很多youtobe上面的教学视频还是没有弄懂,最后经过痛苦漫长的煎熬之后对于神经网络和卷积有了粗浅的了解。于是在这里记录下所学到的知识,关于CNN 卷积神经网络,需要总结深入的知识有很多: 人工神经网络 ANN 卷积神经网络 CNN 卷积神经网络 CNN - BP算法 卷积神经网络 CNN - LetNet

3427

卷积神经网络CNN理论到实践(5)

还没写完。。。 [TOC]1. 导读前面我们用了4篇博文,详细介绍了CNN的基本理论。从这一篇开始,我们将逐渐走向实战。在本篇博文中,我们首先下来介绍一下,最经典的CNN网络,LeNet5。可以说,它是很多现代CNN的雏形。即便是现在,使用这个模型也可以处理一大批基本问题。我们会先从原理上,做一个介绍,然后使用python进行编程实现。如果有精力,再用它做个试验。2. LeNet53. 一个简单C

相国大人 2437

DL:卷积神经网络(CNN)的一些学习网址

将学习CNN过程中所用的网址整理一下。。。。。与我相关的有关CNN的网址【1】知乎:卷积神经网络的多层参数是怎么推导的 https://www.zhihu.com/question/42838093/answer/94920915?from=profile_answer_card【2】知乎:卷积神经网络保证“位移、尺度、形变不变性”该怎么理解 https://www.zhihu.com/ques

梦里水乡的专栏 5058

Buck的振铃实验与分析

上上期我们提到了buck电路的开关的振铃波形,本质原因是LC的阻尼振荡。文章偏理论,那BUCK到底是怎么产生尖峰振荡呢? 要想把这个问题搞清楚,也很是不容易,所以文章有点长,请直接点赞转发加收藏。 问题 本期主要分析以下这两个问题: 1、死区时间是什么?这里有个小台阶是什么情况? 2、上下尖峰振荡是如何产生的?跟哪些因素有关? 理想的BUCK的SW波形 我们由浅入深,一步一步来,先看理想的开关SW波形—没有尖峰电压的波形。 为了能更好的看buck电路各个点的电压电流情况.

weixin_42005993的博客 3万+

卷积神经网络CNN理论到实践(6)

1.导读本节我们的目标是,在上一篇博文的基础上,我们再来实现几个复杂一点的CNN模型。为下一篇CNN做文本分类打下基础。2.例子1:inception模型inception模型来自谷歌的一篇论文Going Deeper with Convolutions.具体来讲,这里的卷积网络模型可以用下面的图表示: #!/usr/bin/env python # encoding: utf-8""" @ver

相国大人 1803

红外回充方案之红外接收和发射/附源码(1)

本文介绍了基于NEC协议的红外回充方案实现,重点讲解了红外收发原理和GD32F330单片机的接收端实现。文章首先说明采用38kHz载波和一体化红外接收管的设计优势,能有效抗环境光干扰。接着详细解析NEC协议格式,包括9ms起始信号、地址码、命令码及其反码校验机制,并给出逻辑1和0的调制方式。在接收端实现上,展示了GD32F330定时器输入捕获配置代码,通过双边沿触发测量脉冲宽度进行解码。文章还提供了状态机设计思路和数据结构,为低成本机器人红外回充方案提供了完整的技术实现方案。

m0_59406757的博客 1240

卷积神经网络(CNN)

卷积神经网络是多层感知机(MLP)的变种,由生物学家休博尔和维瑟尔在早期关于猫视觉皮层的研究发展而来,视觉皮层的细胞存在一个复杂的构造,这些细胞对视觉输入空间的子区域非常敏感,称之为感受野。CNN由纽约大学的Yann Lecun于1998年提出(LeNet-5),其本质是一个多层感知机,成功的原因在于其所采用的局部连接和权值共享的方式:一方面减少了权值的数量使得网络易于优化;另一方面降低了模型的复杂度、减小了过拟合的风险。当网络的输入为图像时,这些优点将表现地更加明显。

顺其自然~专栏 5万+

ISP之LSC(Lens Shading Correction)

LSC - Lens Shading Correction即镜头暗影校正。

IQ_WXY的博客 5098

[RAM] DRAM 导论:DDR4 | DDR5 | LPDDR5 | GDRR6 | HBM 应运而生

有数据的地方就有存储, 内存是谁都离不开的产品。而动态随机存取存储器(DRAM)作为一种常见的内存。本博客将介绍DRAM的基本概念、工作原理、优缺点以及应用领域等方面。

串起点滴 3918

基于CNN卷积神经网络实现mnist手写数据集识别

CNN理论 CNN结构卷积层卷积运算,填充 步幅 三维数据的运算 多滤波器 批处理 池化层 CNN实现 im2col原理与代码 卷积层与池化层的实现 CNN卷积神经网络的实现 训练CNN

泥签的博客 8555

【1】Java 部分笔试题解析

解析A.abstract关键字应该放在class关键字之前。C.抽象方法不能有方法体。D缺少了class关键字。

博客 3942

CNN卷积神经网络详解

1、cnn卷积神经网络的概念 卷积神经网络(CNN),这是深度学习算法应用最成功的领域之一,卷积神经网络包括一维卷积神经网络,二维卷积神经网络以及三维卷积神经网络。一维卷积神经网络主要用于序列类的数据处理,二维卷积神经网络常应用于图像类文本的识别,三维卷积神经网络主要应用于医学图像以及视频类数据识别。 2、卷积神经网络结构 卷积神经网络通常包含以下几层: 卷积层:卷积神经网路中每层卷积层由若干卷积单元组成,每个卷积单元的参数都是通过反向传播算法优化得到的。卷积运算的目的是提取输入的不同特征,第一层卷积层

qq_45301231的博客 1万+

南方cass9.1【Frame主框架程序没有加载】解决方法(附安装包)

南方cass9.1【Frame主框架程序没有加载】解决方法。

weixin_46066938的博客 3万+

WindowsServer2022蓝牙音频开启方法

为Windowsserver 2022 添加蓝牙音频驱动的方法和工具

thebestismin的专栏 2705

CNN卷积神经网络介绍

1简介 1.1离散卷积 1.2池化 2卷积算法 2.1没有零填充,单位跨度 2.2零填充,跨步 2.2.1一半(相同)的填充 2.2.2全填充 2.3无零填充,非跨步 2.4零填充,非跨步 3池算术18 4转置卷积算法19 4.1卷积作为矩阵运算 4.2转置卷积 4.3无零填充,跨步,转置 4.4零填充,跨步,转置 4.4.1一半(相同)填充,转置 4.4.2全填充,转置 4.5无零填充,非跨步,...

GIS哼哈哈的博客 7756

通过情感分类实例 详细介绍如果借助Huggingface平台 完成Transformers模型运行(包括配置环境-tokenizer-Model-输出头-预测)

attention_mask和padding是配套使用的,当人为去修改padding的时候,也要把attention_mask里面的参数进行修改。下载Huggingface包,Huggingface可以说是一个社区,集成了很多nlp的模型、数据集、预训练权重文件等等,并且免费,只需要pip install下载即可。那么用什么做分类就选择什么输出头,就import什么东西。代码中使用了自动分词器选择,它是由checkpoint指定的预训练模型关联的,不用我们自己选择tokenizer,它自动帮我们选择好了。

LZL2020LZL的博客 1135

卷积神经网络CNN

卷积神经网络(convolutional neural network, CNN),是一类包含卷积计算且具有深度结构的前馈神经网络。卷积神经网络是受生物学上感受野(Receptive Field)的机制而提出的。卷积神经网络专门用来处理具有类似网格结构的数据的神经网络。例如,时间序列数据(可以认为是在时间轴上有规律地采样形成的一维网格)和图像数据(可以看作是二维的像素网格)。

crossoverpptx的博客 5700

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: 高级算法日记3:python数据结构之栈和队列
下一篇: 卷积神经网络CNN理论到实践(2)
相国大人
博客等级 码龄10年 1009粉丝 132原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值