【模型解读】从“局部连接”回到“全连接”的神经网络

哪些属于神经网络结构,全连接神经网络结构图 1、全连接神经网络解析:对n-1层和n层而言,n-1层的任意一个节点,都和第n层所有节点有连接。即第n层的每个节点在进行计算的时候,激活函数的输入是n-1层所有节点的加权。2、全连接的神经网络示意图:3、“全连接”是一种不错的模式,但是网络很大的时候,训练速度回很慢。部分连接就是认为的切断某两个节点直接的连接,这样训练时计算量大大减小。 阅读详情

09

这是深度学习模型解读第9篇,本篇我们简单介绍非局部神经网络。

640?wx_fmt=jpeg

言有三

毕业于中国科学院,计算机视觉方向从业者,有三工作室等创始人

作者 | 言有三(微信号:Longlongtogo)

编辑 | 言有三

与全连接神经网络相比,卷积神经网络在每一层是局部的,采用了较小的卷积核,感受实际对应到原始图像空间较大的区域,而且随着网络的加深,感受野增加。但是感受野毕竟不是全图,在降采样的过程中也会丢失信息。

那为什么还要这么做呢?首先这是计算量的限制,卷积核越大计算量越大,而且会存在非常多的冗余。另外,这也是模仿人眼的分层视觉理论,即不断加深抽象层级。

虽然网络结构从全连接进化到局部连接后才有了现在的发展,但并不意味着拥有更大视野的全连接就没有用了,至少Non-local networks又开始重新思考这个问题。

1

什么是Non-Local Networks

这背后的核心思想是non-local,说到non-local又得提一下经典的non-local means滤波算法。

640?wx_fmt=png

假设输入是f,输出是g,一个经典的局部滤波算子如上,它是只在一个邻域内的加权平均,所以称之为local滤波方法,实际上上面是双边滤波的公式。

640?wx_fmt=png

而non-local顾名思义,将这个邻域扩展到全图。如上图p作为中心像素,q1,q2,q3对p的滤波都有贡献,实际上图像上任意一个点都有贡献。

640?wx_fmt=png

借用论文中的公式如上,很简单,关键就在这个f如何定义。传统的最好的图像降噪算法BM3D,就是non-local means方法,它通过计算不同图像块的相似性来获得权重。

2

为什么需要Non-local 

在正式说如何实现时,先来总结一下为什么我们需要这个non-local连接。

首先我们要看现在的CNN是怎么做的,为了能够捕捉到更大的感受野,现在的CNN是通过不断加深网络,逐步增加感受野的方案,RNN则是通过循环的方式处理序列输入(如视频帧序列或者图片上一行一列等空间序列),从而融合非局部的信息,它们都有几个缺点。

(1)  计算效率不高,这是肯定的,明明可以一步到位,却去增加了网络深度。

(2)  感知效率不高,虽然感受野可以通过深度增加,但这个增加是有限的,实际上感受野并没有理论计算出来那么大,很多的长程的信息依然获取不到。

(3)  增加优化难度,我们知道随着网络的加深,网络的优化会面对各种梯度问题。

而更大的感受野对于视频图像中的场景理解,跟踪,语音识别等时序问题都是必要的。因此我们需要一个Non-Local连接,而non-local也有理由表现得更好,就好比Non-Local means方法比local filter方法去噪更强,dense crf比普通的crf更强一样。

3

怎么实现

首先要说明的是,non-local可以是只在图像空间上的non-local,也可以是不同时间帧上的non-local,甚至是两者的融合,不过理解起来都是一样的。

640?wx_fmt=png

上面展示的是一个视频数据的block,首先我们要注意,non-local-block可以作为基础的block嵌入到现有的模块,因为它的输入与输出相等,都是T*H*W*1024。

其中1024是通道数,T就是时间帧数。⊗是矩阵乘法,⊕是逐像素相加。

我们看上面的图,f的操作,对应的就是输入T*H*W*512与512*THW矩阵相乘输出THW*THW的模块。可以看到,f(.)的操作就是每个通道上每个点的特征向量进行内积,空间信息保留了下来,输出还是HxW大小。

另外上面的设计采用了残差的方式,所以可以轻松地嵌入现有的任何网络。

4

总结

一如既往,咱们没有贴实践效果。从理论猜想和作者的实验结果都可以看出,对于视频分类non-local比对应的local网络效果会更好,这是必然的,视频中的主体空间移动速度非常快,如果没有大的感受野未必能很鲁棒的捕捉一个动作到底是跳高还是跳水。

640?wx_fmt=png

640?wx_fmt=png

依据作者们的结论,在网络浅层效果会更好,我想这也是可以理解的,毕竟随着网络深度增加,感受野增加了。

更多的实践,放心,随着咱们这个系列接近尾声,实践也快来了,不过你可能需要补一补以前的知识了。

参考文献

【1】Wang X, Girshick R, Gupta A, et al. Non-local neural networks[C]//The IEEE Conference on Computer Vision and Pattern Recognition (CVPR). 2018.

640?wx_fmt=jpeg

640?wx_fmt=png

十月开始,我们有三AI学院开启了“稷”划和“济”划,帮助想入行以及想取得更多实战经验的同学。内容覆盖从自动驾驶到美颜直播等领域的实战项目,从图像基础到深度学习理论的系统知识,欢迎关注。

有三AI“【济】划”,从图像基础到深度学习

有三AI“十月【稷】划”,从自动驾驶到模型优化

xmorient

xmorient

如果想加入我们,后台留言吧

640?wx_fmt=jpeg640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=png

微信

Longlongtogo

640?wx_fmt=png

公众号内容

1 图像基础|2 深度学习|3 行业信息

640?wx_fmt=jpeg 640?wx_fmt=jpeg

640?wx_fmt=png

640?wx_fmt=png

模型解读

卷积神经网络CNN各层基本知识 卷积神经网络(CNN)由输入层、卷积层、激活函数、池化层以及全连接层构成。INPUT(输入层)-CONV(卷积层)-RELU(激活函数)-POOL(池化层)-FC(全连接层)简单来说:卷积用来提取特征,池化压缩特征,全连接层用来加权重。 阅读详情

相关推荐

经典神经网络模型-LeNets5

经典神经网络模型-LeNets5

m0_73645257的博客 1135

卷积神经网络(CNN)特点之局部连接

卷积神经网络(Convolutional Neural Network,CNN)具有四个特点:局部连接、权值共享、池化操作及多层结构。其局部连接是相对于多层感知机(Multilayer Perceptron,MLP)的全连接特点说的。所以要介绍局部连接,我们首先要先提一下多层感知机,之后再引入CNN局部连接的原理,及具体表现。多层感知机(Multilayer Perceptron,MLP)是由输入层、隐含层(一层或多层)及输出层构成的神经网络模型,可以解决单层感知器不能解决的线性不可分问题。下面是含有2个隐

qq_42212501的博客 6305

LeNet模型解读

LeNet模型解读 上图为LeNet-5识别手写体数字的过程,其包含输入层在内共有八层,每一层都包含多个参数(权重),c层代表的为卷积层,通过卷积操作,使原信号特征增强,并降低噪音。s层代表下采样层,即池化层,利用图像局部相关性的原理,对图像进行了子抽样,可以减少数据处理量,同时也可以保留一定的有用信息。 LeNet-5 包含了卷积神经网络的基本模块是入门卷积神经网络最好的网络之一,包含...

朴素.无恙的博客 6247

卷积神经网络

卷积神经网络与注意力机制

qq_45549605的博客 2339

卷积神经网络模型解读及数学原理 ——翻拍图片识别

此需求的提出是基于这样一个业务场景: XX企业在提供售后服务如安装、检测、维修等上门服务时,服务人员需要使用终端将产品包含机编码的部分拍照上传系统,并且终端会在图片上增加工单号、拍照时间和拍摄地址信息的水印。 在这个过程中,发现一种情况,存在部分服务人员没有现场拍摄照片上传,而是翻拍以前的或别人的照片上传。 基于此场景,客户提出希望实现系统自动识别出翻拍图片。

imiyuer的博客 7140

全连接、局部连接、全卷积与局部卷积的区别

全卷积(Fully Convolutional)是一种卷积神经网络(CNN)结构,其主要特点是将传统的全连接层替换为卷积层,使网络可以接受任意大小的输入,并输出相应大小的特征图,适用于图像分割、语义分割等像素级别的任务。总体来说,全连接和局部连接描述的是神经元之间的连接方式,而全卷积和局部卷积描述的是卷积核在输入数据上滑动的方式。为了解决全连接层的问题,一些新的网络结构,如卷积神经网络(CNN)和注意力机制等,引入了局部连接、权值共享等概念,从而更好地处理图像、序列等具有结构性的数据。

优快云 精品推荐 666

深度学习相关概念整理

残差连接(Residual Connection)是一种在深度学习领域,特别是在深度神经网络架构设计中的关键技术。它最初由何凯明等人在2015年的论文《Deep Residual Learning for Image Recognition》中提出,并应用于ResNet(Residual Network)中,极大地推动了深度神经网络的发展,尤其是在图像识别任务上的突破。残差连接的核心思想是引入“捷径”或“跳过连接”,它允许输入信号可以直接传递到网络的较深层,而不仅仅依赖于逐层前向传播的计算结果。

不断进步的咕咕怪的博客 7846

全连接神经网络及其激活函数的深入解读

本文通过详细的代码示例和理论讲解,深入探讨了全连接神经网络的结构和工作机制,包括权重矩阵的转置、偏置的存储方式、多个输入的处理方法以及如何使用TensorFlow进行计算。同时,文章还详细介绍了神经网络中常用的激活函数,包括sigmoid、tanh、ReLU及其变种,以及各自的数学表达式、导数和在TensorFlow中的实现方式。通过对比各种激活函数的定义域、值域和导数,本文帮助读者更好地理解它们在神经网络中的应用和优缺点。

weixin_42509507的博客 440

残差连接 residual connection 详解

残差连接是一种强大的网络设计技巧,它通过简单的改进显著提升了深度学习模型的性能和稳定性,特别是在构建深层网络时。在Point Transformer网络中,残差连接的应用同样关键,它帮助模型更有效地处理3D点云数据,提高了模型在复杂三维空间任务中的性能。

晨的博客 1万+

在abaqus中利用point-based 来快捷定义螺栓连接

abaqus中可以通过point-based方式定义连接点的位置,并对连接方式进行定义,可以进行螺栓连接的模拟。 可以通过逐点输入坐标或导入外部的坐标位置 也可以通过阵列的方式定义点 定义完点后就利用create fasteners,选择point-based,选取刚才创建好的点阵列,然后定义连接的属性,如下图 定义connector section时,类型选择translator,相当于只有1方向可以动,定义弹性模量以及破坏准则。 案例操作 假如有两个板,通过...

fiber_tape的博客 7350

SAM2与Docker的完美组合:5分钟搞定Linux环境下的图像分割部署

本文详细介绍了如何在Linux环境下通过Docker快速部署SAM2图像分割模型,解决安装过程中的常见问题。文章提供了从镜像选择、CUDA版本匹配到容器构建的全流程指南,特别针对GPU加速环境下的'cudnn_frontend: No execution plans support the graph'等报错提供了实用解决方案,帮助开发者在5分钟内完成高效部署。

fern8的博客 934

「模型解读」从“局部连接”回到“全连接”的神经网络

https://www.toutiao.com/a6710967708617277960/ 作者 | 言有三(微信号:Longlongtogo) 编辑 | 言有三 与全连接神经网络相比,卷积神经网络在每一层是局部的,采用了较小的卷积核,感受实际对应到原始图像空间较大的区域,而且随着网络的加深,感受野增加。但是感受野毕竟不是全图,在降采样的过程中也会丢失信息。 那为什么还要这么做呢?首...

喜欢打酱油的老鸟 583

【移动APP测试】Firebase Test Lab (FTL) 实战指南:从零搭建自动化测试流水线

本文详细介绍了Firebase Test Lab (FTL) 在移动APP测试中的实战应用,从零搭建自动化测试流水线。通过真实设备、虚拟设备和iOS设备的全面覆盖,FTL帮助开发者高效进行兼容性测试、性能监控和崩溃分析,显著提升应用质量。文章还提供了设备选择策略、成本控制技巧和CI/CD集成的最佳实践,助力团队优化测试流程。

weixin_29281915的博客 255

全连接神经网络_【模型解读】从“局部连接”回到“全连接”的Non-Local神经网络...

文章首发于《有三AI》【模型解读】从“局部连接”回到“全连接”的神经网络​mp.weixin.qq.com这是深度学习模型解读第9篇,本篇我们简单介绍非局部神经网络。与全连接神经网络相比,卷积神经网络在每一层是局部的,采用了较小的卷积核,感受实际对应到原始图像空间较大的区域,而且随着网络的加深,感受野增加。但是感受野毕竟不是全图,在降采样的过程中也会丢失信息。那为什么还要这么做呢?首先这是计算量的...

weixin_40001967的博客 381

C# chart以鼠标所在位置为中心进行缩放

以前都用labview做一些软件,但给出去总是会遇到版本,安装包过大等一些问题,于是想自学C#,记录一下使用过程中遇到的一些问题和解决措施,便于日后回顾。 在这个项目中需要绘制折线图,由于数据比较大,需要对图表进行缩放操作,以鼠标为中心对图表进行缩放,在网上查找了一些资料没找到我想要的,于是自己想了一个解决方案,可以基本实现,但略显繁琐,由于刚开始学习C#,对一些操作不太了解,若以后遇...

fei的博客 6363

Shopee商品详情页反爬实战:手把手逆向x-sap-Ri和x-sap-Sec请求头加密

本文详细解析了Shopee商品详情页反爬机制中x-sap-Ri和x-sap-Sec请求头参数的加密逻辑,通过JS逆向技术手把手教你定位加密入口、分析哈希算法与对称加密实现,并提供完整实战案例和应对反爬策略的高级技巧,助力开发者突破电商平台数据采集难点。

weixin_27875131的博客 1830

【深度学习】卷积神经网络(CNN)--原理详细解读(通俗易懂)

在人工智能的浪潮中,卷积神经网络(CNN)以其卓越的性能在图像识别、视频处理等领域大放异彩。它通过模拟人脑视觉系统,利用卷积层、池化层等结构,从数据中自动提取并学习特征,实现高效且准确的分类与识别。本文旨在以简洁明了的方式,揭开CNN的神秘面纱,解析其工作原理,让小伙伴们快速了解这一前沿技术如何推动图像处理的进步,并激发对深度学习领域的兴趣与探索。定义。

m0_71212744的博客 2万+

在RV1126上实现人脸识别----MobileFaceNet转成rknn模型

目录 1.模型下载 2 转成rknn模型并推理 3 查看网络模型 1.模型下载 首先下载MobileFaceNet的模型,github下载地址为:https://github.com/sirius-ai/MobileFaceNet_TF/tree/master/arch/pretrained_model/ 2 转成rknn模型并推理 import numpy as np import cv2 from rknn.api import RKNN if __name__ == '__..

C/C++、嵌入式开发、深度学习算法、模型部署与推理优化 3530

深度学习(3)全连接神经网络

例如第一个隐藏层学习到的是"边缘”的特征,第二个隐藏层学习到的是由‘边缘"组成的"形状”的特征,第三个隐藏层学习到的是由"形状"组成的“图案”的特征,最后的隐藏层学习到的是由“图案"组成的"目标"的特征。深度学习最基础的网络类型的之一,全连接神经网络(Full Connect Neural Network)是大多数入门深度学习领域的初学者必学的内容,充分体现深度学习方法相比于传统机器学习算法的特点,即大数据驱动、去公式推导、自我迭代更新、黑匣子训练等。,这是模型的输入特征。

weixin_73012949的博客 1515

C语言读取CSV文件的方法1

逗号分隔值文件格式(CSV),以纯文本形式存储表格数据,它是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。本文介绍利用C语言标准库中的一个字符串处理函数 strtok()来对CSV文件内容进行读取的基本方法

白马负金羁 1万+

Qt(C++)使用QChart动态显示3个设备的温度变化曲线

Qt的QChart是一个用于绘制图表和可视化数据的类。提供了一个灵活的、可扩展的、跨平台的图表绘制解决方案,可以用于各种应用程序,如数据分析、科学计算、金融交易等。

1917

【模型解读】“全连接”的卷积网络,有什么好?

【模型解读】“全连接”的卷积网络,有什么好? 这是深度学习模型解读第8篇,本篇我们简单介绍Densenet。 作者&编辑 | 言有三 1 从skip connect到dense connect 我们知道,曾经深度网络训练不好收敛,Resnet的出现打破了这一僵局,背后的思想仅仅只是拉了一个skip connect,也就是将输入和输出相连相加,下面是一个resnet18的展...

hacker_long的专栏 1464

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

卷积神经网络参数解读

简单的卷积网络 构建卷积神经网络 读取数据 卷积网络的介绍与构建 准确率评估标准 网络模型的训练和测试

weixin_54929649的博客 3620

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

纯小白入门解读:神经网络

在神经网络中,非线性指的是神经元的激活函数不是线性的。输入层是1×3的矩阵,隐藏层1和隐藏层2是1×4的矩阵,输出层是1×1的矩阵,这样在输入层和隐藏层1之间有一个3*4的权重矩阵,隐藏层1和隐藏层2之间有一个4×4的矩阵,隐藏层2和输出层之间有一个4*1的权重矩阵。y与很多x相关,但是x的权重不确定,线型回归就是在做求x的权重的过程,神经网络可以视为一个多层的线性回归模型,但其关键之处在于神经网络的每一层之间都会添加非线性激活函数,这使得神经网络可以学习和表示更加复杂的非线性关系。得到不同类别的概率。

m0_54618081的博客 1227

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

全连接层的作用是什么?

点击上方,选择星标或置顶,每天给你送干货!作者|魏秀参地址 |https://www.zhihu.com/question/41037974/answer/150522307编辑 ...

zenRRan的博客 2498

【论文解读】 FPGA实现卷积神经网络CNN(三) 深鉴科技: Going Deeper with Embedded FPGA Platform for CNN

博主评论:深鉴科技是国内做FPGA实现CNN的高端玩家,2018年被Xilinx收购,现在专做移动端的深度学习加速,开发了端到端的深度学习加速框架DNNDK,博主实测加速效果(ZCU102开发板;计算能力>1.2Tops/s,引入ARM多线程可进一步达到>2Tops/s)。这篇2016年的文章是深鉴科技早期实现卷积神经网络加速的一篇硬核论文,文章写得很深入,这里只做个简要解读~ ...

菜鸟奇遇记 5560
上一篇: 【行业趋势】人工智能凭什么“教育”人
下一篇: 【数据】深度学习从“数据集”开始
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言有三

三人行必有AI

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值