卷积的理解和应用

妈妈说,生活就像一盒各种口味的巧克力,你永远不知道下一块是什么。

9eae4a100214d9955482ed60ac901fa2.png

我说生活像这个棒棒糖。不同口味,方向相反的味道一路走一路相伴,衰老和成长缠绕在一起,成了最终的滋味。

8ceb557d3cbaf4b6b2acc0836a383ea6.jpeg

一、 卷积的直觉                   

这一生,从某一时刻开始,你探索世界,

随着时间的增长,你经历的新鲜事越来越少

10岁,你充满好奇,事事新鲜,经历4件新鲜事,

20岁,你充满憧憬,经历了3件新鲜事,

30岁,你带着希望,经历了2件新鲜事,

40岁,你百无聊赖,经历了1件新鲜事.

但随着时间的增长,你所经历的新鲜事沉淀出的智慧将逐次增高。每经过10年沉淀,都会带来更高层次的收获

10岁时,你看到一个新鲜事,对它不是很了解,这件事带给你1分的智慧

20岁时,你从书中读到它,似乎有所感悟,它给你带来2分的智慧。

30岁时,你在生活中经历了它,切身体会,它给你带来3分的智慧。

40岁时,你在别人的生活中读到了它,感同身受,它给你带来4分的智慧

      年龄阶段的增长(1,2,3,4)

每隔10年经历的新鲜事f->(4,3,2,1)

每隔10年新鲜事带来的收获g->(1,2,3,4.)

要想让智慧通过人生与经历相遇,它们的方向必须相向而行,就像一列火车必须反转车头才能通过隧道。

所以我们将g反转为g(-u)(蓝色部分),按40岁来算,平移将g的“车头”停留在隧道f起始入口

df0bd13ec504947c80d7cec2a6c85382.png

并将g逐次向前平移,模拟年龄阶段递增

b83450711552e05217ecdfda4656fc19.png

10岁时,你经历4件新鲜事,每件事带来1分的智慧。你的智慧点数=4*1

8eb7a40bc49de994d11194cc5aa4718f.png

再向前,模拟20岁

0e10051b42869b3cacc173c7c471e47f.png

20岁时,10岁时经历的4件新鲜事智慧点数沉淀为2,而你又经历了3件新鲜事,初次体味,它们给你带来1分智慧,此时你的智慧分数为:4*2+3*1

53c183dd39215d0f0cb5d6422ea39668.png

以此类推

30岁时,你的智慧分数:4*3+3*2+2*1

558205396f052703ea5c24dd0b988352.png

40岁时,你的智慧分数:4*4+3*3+2*2+1*1

3d00892dd86de957f8e0f220291862da.png

就是一种卷积的一种直觉,相反方向的两个函数,一个退,一个增,乘积求和,好像某种缠绕

我们可以预测,某个年龄段t,它所经历的智慧点数为

0c87f7834d8a569cf4296ad0842b7a78.png

  •  二、信号处理中的卷积

信号处理中的卷积,往往用以下公式表示

3efc8df8bcdc3063e6d17af34fbe98e0.png

这时函数是连续的,用积分代表求和。

根据以上的理解,我们可以把上述过程看成,g反转后和f以相反的方向,逐次相交乘积,并最终求和的过程。而变量“t”,指示两个函数相交的程度,或者说,是g向前平移的程度。

我们用一组图来说明这个过程:

假设,函数f(u)的图像如下图所示

5796cf5ceb9189a1f6eb864e60159120.png

函数g(u)的图像如下图所示:

f5104eb614e454934bfef81ef4526deb.png

将g(u)反转为g(-u)

e6ea91488445337857b7738cd3184b1e.png

g(-u)不断向前平移,再某一时刻t,g(t-u)和f(u)相交

abd300341be9ac78cb6e4f8f78400697.png

取乘积后求积分形成基于t变化的卷积函数

  •  三、图像中的卷积

不管从直觉分析,还是从信号处理的角度,我们都看到,卷积实际上就是两个函数交叉相乘而求和的过程。

那么图像处理中的卷积,又是什么呢。

对,同样是交叉相乘,求和。

只不过,因为图像在计算机中,表示为二维矩阵,此时的函数乘积,变为二维矩阵的元素乘积。

所谓交叉相乘,变成镜像位置元素相乘。

一个图像是一个很大二维矩阵,通常,我们定义一个小矩阵,作为模板窗口,在图像上滑动,求卷积,以求得图像在某个位置的特征,这个模板窗口就是卷积核。

卷积核,有时也称为算子。通常根据不同的算子,可以取得图像某一位置不同方面的特征。比如sobel算子和lapacian算子,可以取得图像的轮廓特征

c3db867bbf8185131ce56a1f2f1e28a8.png

一个二维的图像

,卷积核为

6b96165aed80e8ab3025c4b4b7d9af7d.png

,通常k为奇数。图像通过卷积核计算输出:

dc3d9e1892806b06995dd7c44524c12b.jpeg

  •  四、深度学习中的卷积。

深度学习中的卷积,和图像处理中的卷积相似,但稍有不同。

我们了解到,不论在信号处理,还是图像处理中,卷积的乘积都是交叉进行的。所以在上述图像处理中,我们必须对卷积核进行翻转再与图像局部区域各个相应元素相乘。

而深度学习中,卷积核不需要进行翻转。

fa5cbf490f07c6ef7ab14c9b8b08f9da.jpeg

     注意到上述公式和公式(2)区别,仅在于图像X的位置计算不同。c22b9ec71d0fcb44e93acd7ee25dd891.png

注意到上图,左边是原图像,中间是卷积核,右边是输出。

a5699a3d296278300135d0082756d881.jpeg

每个卷积核提取某种特征,为了增加特征的丰富程度,我们常会使用多个卷积核。最后将输入与每个卷积核得到的结果拼接起来,得到一个feature map。

可见,feature map是个 3维的张量。

五:池化

用各种卷积核滑动于图像之上,做卷积运算输出特征后,可以进一步都这些特征“采样”,从而缩小feature map大小,减少计算量。

通常我们将输入的图像划为若干个区域,只需采样该区域的最大值或平均值进行输出。

3c764049b6041b99f6ab76c3fac40e19.png

  •  六:卷积神经网络

卷积神经网络,就是将卷积层于池化层堆叠得到的。

很有名的AlexNet,由5个卷积层,2个池化层,和3个全连接层组成。

ea874967a767bc1d713262ce564cba81.png

第一层:卷积层,卷积核大小11*11,96个卷积核,输出96个特征图。

第二层:池化层,采用最大值池化,池化窗口为3*3

第三层:卷积层,卷积核大小5*5,256个卷积核。

第四层:池化层,采用最大值池化,池化窗口为3*3

第五-七层:卷积层,卷积核第五层384个,第六层384个,第七层256个,卷积核大小3*3

最后三层:全连接层。

七:卷积网络的神奇特征

卷积网络有个很神奇的特征。就是因为它是卷积层堆叠而成,而我们知道,卷积实质是某种特征提取,这中卷积层的堆叠,使我们在每一层可以提取不同层次的特征。

0fbd687dd2a0bcf81024fd68add5e1be.jpeg

其中低层次的特征比如颜色,边角;中等层次的特征比如图像纹理,高层次特征比如图像语义。


以下是一个CNN可视化工具,动动鼠标,感受一下!

https://poloclub.github.io/cnn-explainer/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/149414.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

菱形继承的类对父类的初始化、组合、多态、多态的原理等的介绍

文章目录 前言一、菱形继承的类对父类的初始化二、组合三、 多态1. 构成多态2. 虚函数3. 虚函数的重写4. 虚函数重写的两个例外1. 协变2. 析构函数的重写 5. C11 final 和 override1. final2. override 6. 设计不想被继承的类7. 重载、覆盖(重写)、 隐藏…

YOLOv8——测量高速公路上汽车的速度

引言 在人工神经网络和计算机视觉领域,目标识别和跟踪是非常重要的技术,它们可以应用于无数的项目中,其中许多可能不是很明显,比如使用这些算法来测量距离或对象的速度。 测量汽车速度基本步骤如下: 视频采集&#x…

JVM的基本组成

一、JDK\JRE\JVM JDK: 全称 "Java Development Kit" ,Java 开发工具包,提供 javac 编译器、jheap、jconsole 等监控工具;JRE: 全称"Java Runtime Environment",Java 运行环境,提供Class Library 核心类库 JV…

同等学力英语用什么app背单词

同等学力申硕的意义和作用 授予同等学力人员硕士学位是国家为同等学力人员开辟的获得学位的渠道,对于在职人员业务素质的提高和干部队伍建设起到积极作用。它为那些没有传统学历背景但具有相应学术水平的人员提供了获取学位的机会,有助于提升他们的职业竞…

WebSocket实现在线聊天室

项目实现源码: 前端源码 后端源码 1.常见的消息推送方式 1.1 轮询 1.1.1 轮询的概念 客户端以固定的事件间隔(例如每秒或几分钟)向服务器发送HTTP请求,服务器收到请求后,处理请求并返回数据给客户端 轮询具体实现htt…

POI获取模板文件,替换数据横纵动态表格、折线图、饼状图、折线饼状组合图

先说几个关键的点 pom.xml依赖 <dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.11.0</version> </dependency> <dependency><groupId>com.deepoove</groupId>&…

鸭脖变“刺客”,啃不起了

撰文&#xff5c;ANGELICA 编辑&#xff5c;ANGELICA 审核&#xff5c;烨 Lydia 声明&#xff5c;图片来源网络。日晞研究所原创文章&#xff0c;如需转载请留言申请开白。 你有多久没吃卤味了&#xff1f; 2020年之后&#xff0c;人们对于几大卤味巨头的关注度正在下降。 …

【MySQL 04】数据类型

目录 1.数据类型分类 2.数值类型 2.1 tinyint 类型 2.2 bit类型 2.3 float类型 2.4decimal 3.字符串类型 3.1 char类型 3.2 varchar类型 4.日期和时间类型 6. enum和set类型 6.1.enum和set类型简介&#xff1a; 6.2.enum和set的一般使用方法 6.3.用数字的方式…

业务数据批量插入数据库实践

业务数据如何存储一直以来都是项目开发中的一个比较重要的话题。我们要从资源的利用率&#xff0c;业务场景和技术实现多个方面考虑存储的问题。“抛开业务谈技术就是耍流氓”&#xff0c;所有技术架构都要站在实际的业务场景中分析。比如个人端的产品&#xff0c;这种就属于读…

fiddler抓包11_列表显示服务器IP (配置文件)

请求列表默认不显示服务器IP字段&#xff0c;也无法从定制列窗口添加&#xff0c;可以修改CustomRules.js实现。 ① 菜单栏“Rules”&#xff08;规则&#xff09; - “Customize Rules...”&#xff08;自定义规则&#xff09;&#xff0c;打开CustomRules.js文件。 &#xf…

基于stm32的跑步机控制系统设计-设计说明书

设计摘要&#xff1a; 随着人们对健康和健身的关注增加&#xff0c;跑步机逐渐成为室内健身的主要设备之一。本文提出了一种基于STM32的跑步机控制系统设计&#xff0c;旨在实现对跑步机的运行速度、倾斜角度和运动模式等参数的精确控制&#xff0c;提供更好的健身体验。 首先…

vue3开发中易遗漏的常见知识点

文章目录 组件样式的特性Scoped CSS之局部样式的泄露Scoped CSS之深度选择器CSS Modules在CSS中使用v-bind 非props属性继承组件通信父子组件的相互通信props/$emit父组件传递数据给子组件子组件传递数据给父组件 非父子组件的相互通信Provide/inject全局事件总线 组件插槽作用…

LVGL 控件之消息框(lv_msgbox)

目录 一、概述二、消息框1、创建消息框2、获取消息框的组成部分3、关闭消息框部件4、消息框部件事件5、API 函数 一、概述 消息框部件是由多个小部件构建而成的&#xff0c;包括&#xff1a;lv_obj、lv_btn、lv_label 和 lv_btnmatrix 部件&#xff0c;示意图如下所示&#xf…

简单题83. 删除排序链表中的重复元素 (Java)20240920

问题描述&#xff1a; java&#xff1a; /*** Definition for singly-linked list.* public class ListNode {* int val;* ListNode next;* ListNode() {}* ListNode(int val) { this.val val; }* ListNode(int val, ListNode next) { this.val val; th…

【LLM学习之路】9月23日24日 第十、十一天 Attention代码解读

【LLM学习之路】9月23日24日 第十、十一天 Attention代码解读 Transformer模型大致分为三类 纯 Encoder 模型&#xff08;例如 BERT&#xff09;&#xff0c;又称自编码 (auto-encoding) Transformer 模型&#xff1b;纯 Decoder 模型&#xff08;例如 GPT&#xff09;&#…

基于python的django微博内容网络分析系统,实现文本划分词结构

本项目旨在开发一个基于Python的Django框架的微博内容网络分析系统&#xff0c;聚焦于微博文本的分词处理、名词提取和主成分分析。该系统通过数据收集与预处理、分词及结构化文本分析&#xff0c;为舆情监测、话题分析和用户行为研究提供了一体化的解决方案。 主要功能包括&a…

lkhgjfjghkbhjk

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &#x1f4e2;本文由 JohnKi 原创&#xff0c;首发于 CSDN&#x1f649; &#x1f4e2;未来很长&#…

LED驱动电路

LED驱动电路简介 摘要&#xff1a; LED照明是今年来快速兴起发展的一种新型光源&#xff0c;它的许多良好特点使得它的应用面越来越广。LED的单向导电特性使人一般认为应该用直流驱动&#xff0c;但是对直流恒压和限流的装置在保证比较好的限流特性时&#xff0c;自身功耗是很…

路政通 | OPENAIGC开发者大赛高校组AI创新之星奖

在第二届拯救者杯OPENAIGC开发者大赛中&#xff0c;涌现出一批技术突出、创意卓越的作品。为了让这些优秀项目被更多人看到&#xff0c;我们特意开设了优秀作品报道专栏&#xff0c;旨在展示其独特之处和开发者的精彩故事。 无论您是技术专家还是爱好者&#xff0c;希望能带给…