重要的四个类别:同构图、异构图、属性图和非显示图
是一套基于图卷积操作并不断衍生的神经网络理论
在图神经网络出现之前。处理图数据的方法是在数据的预处理阶段将图转化为一组向量表示,问题是可能会丢失图中的结构信息。
近几年,更多的基于空域图卷积的神经网络模型的变体被开发出来,这类方法被统称为GNN
机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。即是让计算机从数据中挖掘有价值的信息。
损失函数:用来估量模型的预测值和真实值的差异程度,是一个非负实值函数,用L(y,f(x;θ))。机器学习中,通过在训练集X上最小化损失函数来训练模型,调整f的参数θ,使得损失函数值降低。
优化算法:
**批梯度下降算法:**利用梯度信息,通过不断迭代调整参数来寻找合适的解。
1.通过随机初始化为需要求解的参数赋初始值,作为优化的起点。
2.使用模型对所有样本进行预测,计算总体的损失值。
3.利用损失值对模型参数求导,得到响应的梯度。
4.基于梯度调整参数,得到迭代之后的参数。
5.重复上述过程,直到停止条件。
**随机梯度下降算法:**每次从训练集中随机选择一个样本,计算其对应的损失和梯度,进行参数更新和反复迭代。
**神经元:**是神经网络进行信息处理的基本单元,其主要是模拟生物神经元的结构和特性,接收输入信号并产出输出。
**神经元基本组成:**输入信号、线性组合、非线性激活函数。
多层感知器:又称前馈神经网络,
**激活函数:**它的非线性使得神经网络几乎可以任意逼近任何非线性函数。如果不使用激活函数,无论神经网络有多少层,其每一层的输出都是上一层输入的线性组合,这样构成的神经网络仍是一个线性模型,表达能力有限。
ReLU
(Rectified Linear Unit)函数:线性整流函数,是目前深度学习模型中最常用的激活函数。定义为x>=0时,保持x不变进行输出;x<0时,输出为零
,又称单侧抑制。**训练神经网络:**使用反向传播法来高效训练
卷积神经网络(Convolutional Neural Network)是一种具有局部连接、权值共享等特点的深层前馈神经网络,在图像和视频分析领域、比如图像分类、目标检测、图像分割等各种视觉任务上取得了显著的效果
卷积定理:(f * g)(t) 等价于 F(w)G(w),可以将时域中的数据转换到频域中的一种方式。
**时域:**信号的基本性质,描述数学函数或物理信号对时间的关系。
**频域:**信号的基本性质,描述信号在频率方面特性时用到的一种坐标系。
**傅里叶变换:**能将满足一定条件的某个函数表示成三角函数(正弦/余弦)或者他们的积分的线性组合。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lRdhADzn-1594721863638)(C:\Users\13018\Desktop\研究生阶段文件\傅里叶变换时频卷积.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FyfU9jYz-1594721863643)(C:\Users\13018\Desktop\研究生阶段文件\傅里叶变换时频卷积.png)]
**卷积的典型应用:**针对某个线性时不变的系统,给定输入信号f(t)和系统响应g(t),求系统的输出。
**单通道卷积:**卷积核不需要进行显示翻转,卷积网络中的卷积核是通过自动学习得到的。
导致的问题:
解决的办法:
**多通道卷积:**在单通道卷积的基础上添加了通道数C,多通道卷积使用多个卷积核来提取更丰富的特征。
计算过程:
池化
通过将卷积层与池化层进行堆叠得到的
**局部连接:**图像通常具有局部连接性,卷积计算每次只在与卷积核大小对应的区域进行。输入和输出是局部连接的。
**权值共享:**不同的区域使用相同的卷积核参数,减少了参数量,带来了平移不变性。
**层次化表达:**低层次的卷积一般是提取一些简单的特征,如颜色、边缘、角,对应局部性特征。
中间层次的卷积得到的特征开始变得抽象,比如纹理结构。
高层次的卷积得到的特征更加抽象,与图像的语义、具体包含的目标。
表示学习是一类可以自动地从数据中去学习有用的特征,并可以直接用于后续的具体任务的方法的统称。
端到端的学习是一种强大的表示学习方法
图信号处理是离散信号处理理论在图信号领域的应用
**是什么:**傅里叶变换是数字信号处理的基石,傅里叶变换将信号从时域空间转换到频域空间,频域视角给信号的处理带来了极大的便利。
图位移算子: 算子就是把一个R^2 上的函数变化到另一个 R^2上的函数的一个变换。 原图每个点到另一幅图的的映射,是通过矩阵(图像处理时也称为掩膜)用来与原图像做运算而实现的 。
**定义:**对于任意一个在图G上的信号,其图傅里叶变换为:Xk=<Vk,x>矩阵点积的和
,特征向量称为傅里叶基,Xk
是X在第k个傅里叶基上的傅里叶系数,傅里叶系数的本质上是图信号在傅里叶基上的投影。
**总变差:**总变差是图的所有特征值的一个线性组合,权重是图信号相对应的傅里叶系数的平方。代表着图信号整体平滑度的实际意义。
图信号的能量:E(x) = ||x||² = x转置·x (Xk=<Vk,x>)
图信号的能量可以同时从空域和时域进行等价定义。单位向量的图信号能量为1。有了频率的定义,傅里叶系数就可以等价为成图信号在对应频率分量上的幅值,反映了图信号在该频率分量上的强度。
**图滤波器:**对给定信号的频谱中各个频率分量的强度进行增强或衰减的操作。
性质:
H(x+y) = Hx + Hy
H1(H2x) = H2(H1x)
H(λ) ≠ 0
,则该滤波操作是可逆的空域角度:
频域角度:
滤波器种类:
端到端的学习实现了一种自动化地从数据种进行高效学习的机制,但是离不开背后大量的针对特定类型数据的学习任务的适配工作
首先对属性信息进行仿射变换,学习了属性特征之间的交互模式,然后迭代式的聚合邻居节点的特征,从而更新当前节点的特征。
在使用多层GCN之后,节点的区分性变得越来越差,节点的表示向量趋于一致,这使得相应的学习任务变得更加困难,我们将这个问题称为多层GCN的过平滑问题
基本思路:节点的表示向量通过消息函数M(Message)和更新函数U(Update)进行K轮消息传播机制的迭代后得到的。
非局部神经网络是对注意力机制的一般化总结。
基本思路:NLNN是通过non-local操作将任意位置的输出响应计算为所有位置特征的加权和。
基本计算单元包含三个要素:节点的状态、边的状态、图的状态
基本思路:由点更新边,边聚合更新点,点聚合与边聚合更新图。每个元素在更新的时候都需要考虑自身上一轮的状态。
图分类任务中实现层次化池化的机制,是GNN需要解决的基础问题
**读出机制:**对经过K轮迭代的所有节点进行一次性聚合操作,从而输出图的全局性表示。
DIFFPOOL算法
:通过学习出一个簇分配矩阵进行子图的划分,得到簇连接强度,确定邻接矩阵,对节点特征进行加和(这样加和损失了子图本身的结构信息)。EigenPooling算法
:通过图分区的算法(如谱聚类算法)实现对图的划分,得到簇连接强度,之后用子图上的信号在该子图上的图傅里叶变换来代表结构信息于属性信息的整合输出。TopK
的池化机制:**对图中每个节点学习出一个分数(重要度),基于这个分数的排序丢掉一些底分数的节点,借鉴最大池化,将更重要的信息筛选出来。实质是一个不断丢弃节点的过程。基于GNN图表示学习的优势:
- 非常自然的融合了图的属性信息进行学习,而之前的方法大多把图里面的结构信息与属性信息单独进行处理。
- GNN本身作为一个可导的模块,可以任意嵌入到一个支持端到端学习的系统中去,这种特性使得能够与各个层面的有监督学习任务进行有机结合,学习出更加适应该任务的数据表示。
- GNN的很多模型支持归纳学习,多数情况下对新数据的表示学习可以进行直接预测,而不必重新训练。
- 相较于分解类(转换到低维矩阵向量)的方法只能适应小图的学习,GNN保证了算法在工程上的可行性,也能适应大规模的学习任务。
无监督学习的主体在于损失函数的设计,以下是两类损失函数
**基于重构损失的GNN:**核心在于将节点之间的邻接关系进行重构学习,以及加噪降低GNN学习过平滑的问题。
加噪的常见做法:
**基于对比损失的GNN:**通常对比损失会设置一个评分函数D,该得分函数会提高“真实/正”样本的,降低“假/负”样本的得分。
类比词向量,将对比损失的落脚点放在词与上下文中。词就是节点,上下文可以是邻居节点,节点所在的子图、全图。
本文地址:https://blog.csdn.net/qq_40695191/article/details/107344452
如对本文有疑问, 点击进行留言回复!!
Qt——BUG:构造函数中new了控件并隐藏了,后续显示时位置不对?
PAT甲级 1087. All Roads Lead to Rome (30) (dijkstra)
C++删除迭代器两种方法对比(list.erase(it++)和it=list.erase(it))
网友评论