【图卷积网络】01-卷积神经网络:从欧氏空间到非欧氏空间

news2024/11/28 4:36:51

人工神经网络发展浪潮

在这里插入图片描述
第三次浪潮——卷积神经网络
加拿大多伦多大学教授,机器学习领域泰斗Geoffery Hinton及其学生在《科学》上发表了一篇论文 (Hinton, G. E . Reducing the Dimensionality of Data with Neural Networks[J]. Science, 2006, 313(5786):504-507.) ,开启了深度学习在学术界和工业界的新浪潮!
在这里插入图片描述

在这里插入图片描述

卷积计算与卷积神经网络结构

卷积定义

  • 卷积是分析数学中的一种重要的运算
  • 设 f(x) 和 g(x) 是 R 上的两个可积函数
    • 连续形式卷积定义如下
      在这里插入图片描述
    • 离散空间卷积在这里插入图片描述

卷积中的基本概念

  • 卷积核大小 (Kernel Size): 卷积操作感受野,在二维卷积中,通常设置为3,即卷积核大小为3×3
  • 步长 (Stride): 卷积核遍历图像时的步幅大小,默认值通常设置为1
  • 边界扩充 (Padding): 样本边界的处理方式
  • 输入与输出通道 (Channels): 构建卷积层时需定义输入通道数量I,和输出通道数量O,每个网络层的参数量为I×O×K(K为卷积核的参数个数)

更多卷积动图

Convolution animations

N.B.: Blue maps are inputs, and cyan maps are outputs.

imgimgimgimg
No padding, no stridesArbitrary padding, no stridesHalf padding, no stridesFull padding, no strides
imgimgimg
No padding, stridesPadding, stridesPadding, strides (odd)

Transposed convolution animations

N.B.: Blue maps are inputs, and cyan maps are outputs.

imgimgimgimg
No padding, no strides, transposedArbitrary padding, no strides, transposedHalf padding, no strides, transposedFull padding, no strides, transposed
imgimgimg
No padding, strides, transposedPadding, strides, transposedPadding, strides, transposed (odd)

Dilated convolution animations

N.B.: Blue maps are inputs, and cyan maps are outputs.

img
No padding, no stride, dilation

基本概念——池化、全连接

  • 池化层

    • 特殊形式卷积
    • 降维、减少数据计算量,减缓过拟合,特征不变性(平移、尺度)
      在这里插入图片描述
  • 全连接层

    • 模型输出层
    • 分类、回归
      在这里插入图片描述

多层卷积神经网络示例

在这里插入图片描述在这里插入图片描述在这里插入图片描述
卷积核大小为5*5,步长为1,不扩充边界,输入通道为3,输出通道为2输出通道数为6,其余参数不变。第一层的输出通道数为3,第二层输出通道数为6。

卷积神经网络发展历程
在这里插入图片描述

为什么能得到飞速发展:

  • 数据爆炸:图像数据、文本数据、语音数据、社交网络数据、科学计算等
  • 计算性能大幅提高

现代卷积神经网络结构基础——LeNet

  • LeNet诞生于1994年,由Yann LeCun提出,用于手写字符识别与分类
  • 6层网络结构:两个卷积层,两个下采样层和两个全连接层
  • 卷积层包括两部分:卷积计算和sigmoid非线性激活函数
    在这里插入图片描述

研究重心转向卷积神经网络——AlexNet、VGGNet

  • 网络更深:AlexNet一共8层,VGGNet一共16层或19层
  • 数据增广:为增强模型泛化能力,对256×256原始图像进行随机裁剪,得到尺寸为224×224图像,输入网络进行训练
  • ReLU非线性激活函数:减少计算量,缓解梯度消失,缓解过拟合。ReLU激活函数现已成为神经网络中最通用的激活函数
  • Dropout:全连接层神经元以一定概率失活,失活神经元不再参与训练。Dropout的引用,有效缓解了模型的过拟合
  • Pre-Training:先训练一部分小网络,确保稳定之后,在此基础上网络逐渐加深。

卷积神经网络深度、宽度扩展—— GoogLeNet

  • 网络更深:GoogLeNet一共22层
  • 多分辨率结构:引入Inception结构替代传统卷积+激活
  • 计算量降低:采用1×1卷积核来实现数据降维
    Inception 结构
    在这里插入图片描述
    GoogLeNet 结构
    在这里插入图片描述

卷积神经网络深度、宽度再扩展—— ResNet、DenseNet

  • 网络更深:ResNet已超过一百层(ResNet-101)
  • 残差连接:特征经两条路线传递,常规路线与捷径
  • 跳跃连接:底层特征与高层特征相融合
ResNet残差连接示意图DenseNet结构示意图
在这里插入图片描述在这里插入图片描述

卷积神经网络通用性扩展

  • 深度可分离卷积
    • 5×5分通道卷积
    • 1×1卷积融合各通道特征
      在这里插入图片描述在这里插入图片描述
  • 空洞卷积(膨胀卷积)
    • 局部输入不变
    • 感受野变大
空洞卷积感受野空洞卷积计算过程
在这里插入图片描述img

卷积神经网络计算范式

  • 多维欧式空间
  • 局部空间响应
  • 卷积参数共享

在这里插入图片描述
在这里插入图片描述


卷积神经网络拓展至非欧空间

欧式空间非规则化连接—活性卷积

  • 活性卷积 (CVPR 2017)
    • 双线性插值:离散坐标下,可以通过插值方法计算得到连续位置的像素值
      在这里插入图片描述

    • 可学习参数 △αk,△βk

    • 可变卷积核形状固定

  • 卷积核形状可变

在这里插入图片描述
欧式空间非规则化连接—可变形卷积

  • 可变形卷积 (ICCV 2017)

    • 3×3 可变形卷积 (N=9)
    • 每个位置对应一个偏置
    • 偏置通过额外卷积学习
    • 每个偏置为二维向量
      在这里插入图片描述
  • 卷积核位置参数化

  • 双线性插值连续化

  • 传统BP算法训练
    在这里插入图片描述

欧式空间卷积神经网络

  • 处理固定输入维度数据、局部输入数据必须有序
  • 语音、图像、视频(规则结构)满足以上两点要求

非欧式空间结构数据

  • 局部输入维度可变
  • 局部输入排列无序
    在这里插入图片描述

非欧式空间卷积神经网络
在这里插入图片描述

在这里插入图片描述


本系列内容

  1. 绪论,卷积神经网络:从欧氏空间到非欧氏空间(本文内容)
  2. 谱域图卷积介绍
  3. 空域图卷积介绍(一)
  4. 空域图卷积介绍(二)
  5. 图卷积的实践应用
  6. 基于PyTorch的图卷积代码实现

后续笔记将更新至专栏《图卷积神经网络》中。

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

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

相关文章

【Typescript学习】使用 React 和 TypeScript 构建web应用(二)部分UI、useState、useRef、Props

教程来自freecodeCamp:【英字】使用 React 和 TypeScript 构建应用程序 跟做,仅记录用 其他资料:https://www.freecodecamp.org/chinese/news/learn-typescript-beginners-guide/ 第二天 以下是视频(0:18-0:40) 的内容 目录第二天1 App 函数…

【二叉树】java实现代码,详解二叉树,带大家更深刻的掌握二叉树递归思想

前言: 大家好,我是良辰丫🪐🪐🪐,在探索数据结构的旅程中,二叉树可以说是数据结构中的重点,笔试面试经常出现的问题,同时也是难点。🐥🐥&#x1f4…

【Java开发】Spring Cloud 09 :微服务网关 Gateway

Spring Cloud Gateway(简称 Gateway),它在微服务架构中扮演的角色是“微服务网关”,Nginx 和 Gateway 在微服务体系中的分工是不一样的。Gateway 作为更底层的微服务网关,通常是作为外部 Nginx 网关和内部微服务系统之…

Markdown编辑器基本语法

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…

【C语言从0到1之文件操作(FILE)】(原理 画图 举例 不信教不会你 不要放收藏夹落灰 学起来好嘛)

🕺作者:迷茫的启明星 🎃专栏:《数据库》《C语言从0到1专栏》《数据结构》《C语言杂谈》🏇分享喜欢的一句话:心如花木,向阳而生前言在我们的学习中,文件操作是被我们忽略,…

NodeJS 与第三方模块 mysql(基本操作)

文章目录参考描述mysql 模块连接数据库检测基本操作查询数据与代码分离原则占位符插入另一种姿态修改另一种姿态删除标记删除参考 项目描述哔哩哔哩黑马程序员搜索引擎Bing 描述 项目描述NodeJSv18.13.0nodemon2.0.20MySQL5.7.40mysql2.18.1 mysql 模块 npm(Node…

Linux——进程

目录 冯诺依曼体系结构 操作系统(Operator System) 概念 设计OS的目的 定位 如何理解 "管理" 总结 系统调用和库函数概念 承上启下 进程 基本概念 描述进程-PCB task_struct-PCB的一种 task_ struct内容分类 组织进程 查看进程 通过系统调用获取进程…

Pycharm使用Git进行版本控制(自建远端Git仓库)

目录本地Git安装远端Git仓库搭建在Pycharm中使用Git进行版本控制设置Git可执行文件路径创建本地Git仓库设置远端Git仓库提交及推送本地Git安装 安装本地Git用于被Pycharm调用,安装方法参考以下博客: Git 的下载与安装_作者:fengzhx0820 远端…

四轮两驱小车(四):STM32驱动5路灰度传感器PID循迹

目录 前言: 小车效果展示: 5路数字灰度传感器: 巡线思路: 加入PID调节的代码: 前言: 之前买了一批5路灰度传感器,想用这传感器进行循迹,无奈网上和官方的资料提供的还是比较少&a…

ARM X210 官方 uboot 配置编译实践

一、X210官方uboot配置编译实践1 1. 找到官方移植好的 uboot(BSP 概念) (1) 源头的源代码是 uboot 官网下载的。这个下载的源代码可能没有你当前使用的开发板的移植,甚至找不到当前开发板使用的 SoC 对应的移植版本。 (2) SoC 厂商在推出一…

分享145个ASP源码,总有一款适合您

ASP源码 分享145个ASP源码,总有一款适合您 下面是文件的名字,我放了一些图片,文章里不是所有的图主要是放不下..., 145个ASP源码下载链接:https://pan.baidu.com/s/1gxm3rFFLu8pUhVncQga6-g?pwd7n85 提取码&#x…

HJ56、HJ58、JZ4、JZ6、JZ15、JZ17几道题

文章目录HJ56 完全数计算题目描述:具体实现:HJ58 输入n个整数,输出其中最小的k个题目描述:具体实现:JZ4 二维数组中的查找题目描述:具体实现:JZ6 从尾到头打印链表题目描述:具体实现…

springboot文件上传,单文件上传和多文件上传,以及数据遍历和回显

springboot文件上传&#xff0c;单文件上传和多文件上传项目结构及pom.xml创建文件表单页面编写javabean编写controller映射MultipartFile类RequestPart注解controller代码application.properties中的文件上传配置遍历数据显示页面运行显示项目结构及pom.xml pom.xml: <dep…

SQL用法详解补充

本文是对上次“SQL用法详解”的一些补充&#xff0c;一些基本操作可以点击链接查看 目录 一.对表结构的常用操作 查看表结构格式 修改表结构格式 1.修改列名和类型 2.修改添加列 3.修改表删除列 4.修改表名 5.数据删除 二.总结 三.实例 解决 完整代码 一.对表结构的常用操…

TIA博途中启用或禁用DP从站或PROFINET IO设备的具体方法

TIA博途中启用或禁用DP从站或PROFINET IO设备的具体方法 在实际项目中我们会遇到这样的问题, 例如:硬件组态中配置了一个控制器和3个 PN IO设备,但是最后只用到了2个PN IO设备,这样控制器一侧无法连接到第3个PN IO设备时,CPU会产生报警,PLC的Error指示灯会一直闪烁。 那么…

蓝桥杯2021省赛Python

蓝桥杯2021省赛Python 不得不说2021的比2020的难 1.卡片 很明显&#xff0c;最先没的肯定是1或者0&#xff0c;我们只要统计到谁会消耗2022个1或者0就好了 if __name__ __main__:res1 0res0 0for i in range(1,100000):i str(i)res1 i.count(1)res0 i.count(0)if res1…

[Rust笔记] 规则宏的“卫生保健”

规则宏代码的“卫生保健”规则宏mbe即是由macro_rules!宏所定义的宏。它的英文全称是Macro By Example。相比近乎“徒手攀岩”的Cpp模板元编程&#xff0c;rustc提供了有限的编译时宏代码检查功能&#xff08;名曰&#xff1a;Mixed Hygiene宏的混合保健&#xff09;。因为rust…

pointcovn 阅读笔记

各种点云采样算法 https://blog.csdn.net/weixin_41485242/article/details/107150963 Inverse Density 1.2 Inverse Density Importance Sampling (IDIS): 这个也比较好理解&#xff0c;简而言之就是根据每个点的密度来对其重新进行排序&#xff0c;尽可能地保留密度比较低的地…

python第九章 异常笔记

和Java类似程序运行有异常的时候&#xff0c;服务器会采用系统默认的异常处理机制&#xff1a;返回信息&#xff0c;终止程序。异常的类型&#xff1a;常见异常类型&#xff1a;1.NameError&#xff1a;访问了未定义的变量2.IndexError&#xff1a;越界访问3.AttributeError&am…

网络原理-网络发展史和通信基础

目录 1.网络发展史 面向终端的计算机网络 计算机网络阶段(局域网LAN) 组网方式 计算机网络互联阶段(广域网WAN) 2.通信基础 IP地址 端口号 网络协议 协议的作用 知名协议的默认端口 协议分层 分层的作用 OSI七层模型 TCP/IP五层模型 网络设备所在分层 网络分层…