一维卷积神经网络_卷积神经网络的基础知识「建议收藏」

一维卷积神经网络_卷积神经网络的基础知识「建议收藏」一维卷积一维卷积的输入是一个向量和一个卷积核,输出也是一个向量。通常状况下,输入向量长度远大于卷积核的长度。输出向量的长度取决于卷积操作的填充方案,等宽卷积的输出向量的和输入的向量长度相等。卷积核的长度通常是奇数,这是为了对称设计的。一个例子:一维卷积示例注意相乘的顺序是相反的,这是卷积的定义决定的。输出长度是7,卷积核长度是3,输出的长度是7-3+1=5。也就是说这里的卷积操作若输入长度是m…

大家好,又见面了,我是你们的朋友全栈君。


一维卷积

一维卷积的输入是一个向量和一个卷积核,输出也是一个向量。

通常状况下,输入向量长度远大于卷积核的长度。

输出向量的长度取决于卷积操作的填充方案,等宽卷积的输出向量的和输入的向量长度相等。

卷积核的长度通常是奇数,这是为了对称设计的。

一个例子:

aa8ab7ad8c0b13c98144248b8d96f5b0.png

一维卷积示例

注意相乘的顺序是相反的,这是卷积的定义决定的。

输出长度是7,卷积核长度是3,输出的长度是7-3+1 = 5。

也就是说这里的卷积操作若输入长度是m,卷积核长度是n,则输出长度是m-n+1。

这样的卷积就叫窄卷积。

等宽卷积就是在输入两边各填充(n-1)/2,最终输出长度是m+(n-1)/2*2-n+1 = m。

填充元素可以是0,也可以和边缘一样,也可以是镜像。

如上图例子中的输入向量,

  • 填充0后的输入为 012345670
  • 重复边缘填充后为:112345677
  • 镜像填充后为: 212345676

如下图,等宽卷积以及0填充,输入是1 2 3 4 5 6 7,输出是0 2 4 6 8 10 20

e96bf7a8d002a258fa649a1ddc5acf42.png

0填充-等宽卷积

换种风格说一下卷积步长的概念,如下图

67f73709cdc1ae04d29839f798aa694d.png

图a是步长为2,不填充;图b是步长为1,填充0的等宽卷积。

卷积步长为2,可以看成是步长为1状况下的输出隔两个取一个,当然这也就是步长的概念。默认情况下步长是1。使用等宽卷积时,步长为2的一维卷积会使得输出长度是输入的一半。

二维卷积

ba17d03d5f8def45ddccc775985d4210.png

无填充的二维卷积

如上图,二维的卷积,假设输入维度是mxm,卷积核大小是nxn,则无填充的输出大小是(m-n+1)x(m-n+1)。这和一维卷积是类似的。有填充的二维卷积如下图,

f674b2f2e9c5188a355e4c9bd909f08f.png

卷积的padding

卷积核的含义

600852b184013e82f066fd72ce950848.png

不同卷积核的作用:锐化,边缘等

在信号处理中,某些卷积核也被称为滤波器。如用滤波器对数字图像进行处理,获得目标图像。上图中有三个不同的卷积核,具有不同的作用,如锐化,去燥,提取边缘等。卷积神经网络中学习到的参数主要就是这些滤波器(也就是卷积核),在训练开始时,这些卷积核的值可能是0,或者随机数。训练结束时,这些卷积核就称为学习到的特征。

卷积层

ab629a66e05b61f80f39f902f2dfd0dc.png

全连接层和卷积层

如上图,全连接层有35个连接,5*7=35个不同参数。卷积层只有5*3=15个连接,但只有3个参数。因为在图b中,相同颜色的连接权重是相等的。这就称为权重共享。而3<7就包含了局部连接的含义,也就是说上边的神经元不是和下边的每一个神经元都有连接,而是它只与附近的几个连接。

池化层

用几个二维的例子来说明,概念非常简单。如这是2×2最大池化,

1e6f6b112ea5186140d42ba21d06da33.png

max-pooling

这是2×2平均池化

e08f2ec2d67bc5b6d66396bca04a1128.png

average-pooling

但要注意的是这里默认步长是(2,2),也就是横竖两个方向上的步长都是2。

讲道理的话,2×2最大池化步长是1的结果应该是如下图这样的,但好像不是很常用。

59c68425b651e07cdd6f43fd8c4047ff.png

步长为1的最大池化

池化层也有填充的概念,道理和卷积差不多。

激活层

激活层不改变特征图的大小。也就是说输入大小是mxm的,则输出也是mxm的。只是输入中每个元素x都变成f(x),f就是激活函数。激活函数是一个一元函数,如sigmoid函数是

4eac40a17a11913928cafcb987fff2ef.png

Sigmoid激活函数

或者ReLU函数

d34317b0e517bde11228a8f91931d258.png

ReLU激活函数

优化效果的途径

  • 增加网络层数
  • 增加神经元个数
  • 使用dropout
  • 使用不同的优化器 Adam,RMSprop等
  • 增加训练轮数
  • 批处理大小
  • 正则化

参考文献

https://nndl.github.io/ 《神经网络与深度学习》
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/125311.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 利用opacity属性写过渡效果

    利用opacity属性写过渡效果opacity的意思是不透明性,opacity取值范围为0-1;opacity:0;表示完全透明,opacity:1;表示完全不透明。opacity:0于overflow:hidden不同,overflow:hidden会完全消除空间,opacity:0只是视觉上看不到,但是实际上会占用空间,这点我们常用来于:hover一起使用。&lt;!DOCTYPEhtml&gt;&lt;htmll…

  • 运行时异常和一般异常_异常代码c0000005

    运行时异常和一般异常_异常代码c0000005说到异常,大家都熟悉,只要程序出错了,那么肯定会说:“哎呀,我的程序出错啦~它抛出异常啦”。但单单以“异常”的名称来称呼它们,未免也太粗糙了。我们毕竟是一个精致的程序员,当然得知道他们到底都有哪些种类啦。这就好比一个优质的男朋友(比如本帅博主)必须能够精准地区分女朋友的口红色号一般。那Java到底有哪些异常呢?其实也不多,Java提供了两种错误的异常类,分别是Error和Excepti…

  • navcat15的永久激活码【在线注册码/序列号/破解码】

    navcat15的永久激活码【在线注册码/序列号/破解码】,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 双非本科22届暑期实习,成功拿到B站、阿里实习offer[通俗易懂]

    双非本科22届暑期实习,成功拿到B站、阿里实习offer[通俗易懂]拼一把不一定成功,但是不试试看肯定没有结果!1.前言想写这篇文章很久了,也有粉丝留言、私信问我打卡系列怎么断更了这么多天(狗头保命),首先给大家解释一下最近为什么“失踪了”?由于近两周要入职,找租房,整理微信公众号,所以没多少时间写博客,今天难得闲下来,做一篇近期总结给大家。关于交流群:有粉丝私信,建议创建一个学习群,大家互相分享校招经验,学习心得(我因为怕管理群太麻烦,而一拖再拖,不过也好歹建群了),大家可以通过我的博客首页关注一波公众号:兴趣使然的草帽路飞去获取交流群和内推群群.

  • Poetry(1)Poetry介绍与安装

    Poetry(1)Poetry介绍与安装介绍Poetry是Python中的依赖管理和打包工具,当然它也可以配置虚拟环境。它允许您声明项目所依赖的库,并为您管理(安装/更新)它们。之前一直使用virtualenvwrapper管理虚拟

  • 建站神器:Hexo+Kaze+Gitee Pages 搭建静态博客网站

    建站神器:Hexo+Kaze+Gitee Pages 搭建静态博客网站▲点击上方公众号名称,置顶或星标@蜗牛互联网这是蜗牛互联网的第74期原创。作者l白色蜗牛来源l蜗牛互联网(ID:woniu_internet)转载请联系授权(微信ID:91…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号