神经网络学习2024

一、图神经网络GNN

图神经网络是一种直接作用于图结构上的神经网络。从其定义中可以看出图神经网络主要由两部分组成,即“图”和“神经网络”。这里的“图”是图论中的图数据结构,“神经网络”是我们熟悉的深度学习NN结构,如MLP,CNN,RNN等。
图神经网络就是借助神经网络的“能力”如深度特征抽取等来处理图结构的数据。

【https://juejin.cn/post/6934508527499083790】

即神经网络的Input Layer为图数据结构。其中图结构的数据有许多,如社交网络图、交通路线图、人物关系图、分子结构图、计算结网络拓扑图等等。这些数据都可以作为图神经网络的输入。之后经过特定的神经网络结构,如MLP,CNN,RNN等的基于图结构的运算,可以完成对于图表示的分类,图的节点或边的预测等功能。
GNN的一个典型应用是节点分类,本质上,图中的每个节点都与一个标签相关联,我们希望预测未标记节点的标签。在节点分类问题中,每个节点v都可以用其特征x_v表示并且与已标记的标签t_v相关联。给定部分标记的图G,目标是利用这些标记的节点来预测未标记的节点标签。
图神经网络(Graph Neural Networks, GNN)是一类用于处理图结构数据的神经网络模型,与传统的神经网络(例如卷积神经网络、循环神经网络等)处理规则数据结构(如图像、时间序列)不同,图神经网络专门处理不规则的图结构数据,如社交网络、知识图谱等。

二、图卷积神经网络GCN

https://blog.csdn.net/weixin_44458771/article/details/129040246

图卷积神经网络(Graph Convolution Network,GCN)是CNN在图结构的非欧氏数据上的应用,GCN 是图神经网络中一个重要分支,现有的大多数图算法模型基本上都是在GCN基础上变化推导而来。
对于一个图结构数据集,其中有个N节点(node),每个节点都有自己的特征,设这些节点的特征组成一个大小为N*D的矩阵X,D表示每个节点隐藏状态维度。另外各个节点之间的关系也可以提取为一个D大小的关系矩阵A,也称为邻接矩阵。A和X就是GCN模型中输入的特征。
X表示节点特征,每个节点都具有自己的向量表示; A表示图结构特征,即节点与节点间的边的信息。
在这里插入图片描述
在这里插入图片描述
GCN的层(layers):
GCN的层数是指节点特征能够传播的最远距离。例如,在1层的GCN中,每个节点只能从其邻居那里获得信息。每个节点收集信息的过程是独立进行的,但对所有节点来说是在同一时间进行的。
当在第一层的基础上再叠加一层时,即重复聚合信息的过程,但这一次,邻居节点已经有了自己的邻居的信息(来自上一步),这使得层数成为每个节点可以走的最大跳步。但GCN作者通过实验表明,GCN层数不宜多,2-3层就足够了,过多的层数反而会适得其反。

三、生成对抗网络GAN

生成对抗网络(GANs)是一种深度学习架构,由两个互相对抗的神经网络组成,分别是生成器(Generator)和判别器(Discriminator)。GANs的核心思想是通过让这两个网络相互竞争,生成器试图生成逼真的数据,而判别器则尽力区分真实数据和生成的数据。这种竞争驱使生成器不断改进生成的数据,使其越来越接近真实数据。
生成器(Generator):生成器的任务是接收一个随机噪声向量作为输入,并将其转化为一个数据样本。初始时,生成的数据可能不够逼真,但在训练中会不断优化以欺骗判别器。
判别器(Discriminator):判别器的任务是接收来自生成器和真实数据的输入,并尝试区分它们。判别器被训练成尽可能正确地分类这些数据,从而迫使生成器生成更逼真的数据。
损失函数(Loss Function):GANs使用损失函数来衡量生成器和判别器的性能。生成器的目标是最小化生成的数据与真实数据之间的差异,而判别器的目标是最小化其分类错误。这种对抗过程会导致博弈的均衡,使生成器生成逼真的数据。

四、自注意力网络

主要解决的问题

网络接收的输入是很多向量,并且向量的大小也是不确定的情况,比如机器翻译(序列到序列的问题,机器自己决定多少个标签),词性标注(Pos tagging 一个向量对应一个标签),语义分析(多个向量对应一个标签)等文字处理以及图像处理中。

文字编码方式

在文字处理中,我们对单词进行向量编码通常有两种方式:

独热编码(one-hot encoding):用N位的寄存器对N个状态编码,通俗来讲就是开一个很长很长的向量,向量长度和世界上存在的词语的数量是一样多的,每一项表示一个词语,只要把其中的某一项置1,其他的项都置0,那么就可以表示一个词语,但这样的编码方式没有考虑词语之间的相关性,并且内存占用也很大。

词向量编码(Word Embedding):将词语映射(嵌入)到另一个数值向量空间,可以通过距离来表征不同词语之间的相关性。
在这里插入图片描述

拿词性标注举例,对一个句子来说每一个词向量对应一个标签,初始的想法是可以通过全连接神经网络,但全连接神经网络没有考虑在句子不同位置,单词可能表示不同含义的问题,并且当输入的句子很长,比如是一篇文章的时候,模型的性能下降严重。

https://blog.csdn.net/qq_48626761/article/details/128747901
下面是transformer的介绍
https://www.zhihu.com/tardis/bd/art/600773858?source_id=1001
https://www.zhihu.com/question/445556653/answer/3228084931(此个解释更通俗)

五、self-attention和transformer

Transformer 和 self-attention 是深度学习中的两个重要概念,它们之间有联系但并不完全相同。

Self-attention(自注意力):
Self-attention 是一种机制,用于处理序列数据,如自然语言处理中的文本或时间序列数据。它允许模型在处理序列中的每个元素时,同时关注序列中的其他元素,而不仅仅是局限于当前位置的信息。在自注意力机制中,每个输入元素都与序列中的所有其他元素进行交互,以计算其相关性得分。这些得分被用来为每个元素分配一个加权组合,从而产生一个新的表示。这种机制允许模型根据序列中不同元素之间的关系来动态调整学习到的表示。

Transformer:
Transformer 是一种神经网络架构,最初被提出用于处理序列到序列的任务,如机器翻译。它是由 Vaswani 等人在2017年提出的,并在很多自然语言处理任务中取得了很好的效果。Transformer 引入了自注意力机制作为其核心组件,使得模型能够捕捉输入序列中的长距离依赖关系,而无需依赖于递归或卷积。除了自注意力机制外,Transformer 还包含了位置编码、多头注意力、残差连接和层归一化等组件,使得模型更加强大和可训练。

联系:
Transformer 模型中的核心组件就是 self-attention 机制。在 Transformer 的编码器和解码器中都使用了 self-attention 层。编码器中的 self-attention 用于捕捉输入序列中的信息,解码器中的 self-attention 除了用于捕捉输入序列的信息外,还会关注输出序列中已生成的部分,以便更好地生成下一个标记。因此,可以说 Transformer 是利用了 self-attention 机制构建的一种模型。

总结来说,Self-attention 是一种机制,而 Transformer 是一种模型,其中包含了自注意力机制作为其核心组件之一。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值