自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 图神经网络中的注意力机制

图神经网络中的注意力机制本文讨论了 GNN 中常用的注意力机制,相关论文有:Graph Attention NetworksHow Attentive are Graph Attention NetworksMasked Label Prediction: Unified Message Passing Model for Semi-Supervised ClassificationGraph Attention Networks (GAT)GAT 的基本原理GAT 是 GNN 中的经典模

2021-12-15 20:21:54 7095 4

原创 Pytorch-Geometric 中的 Message Passing 解析

Pytorch-Geometric 中的 MessagePassing图中的卷积计算通常被称为邻域聚合或者消息传递 (neighborhood aggregation or message passing). 定义 xi(k−1)∈RF\mathbf x^{(k-1)}_i \in R^{F}xi(k−1)​∈RF 为节点 iii 在第 (k−1)(k-1)(k−1) 层的特征, ej,i\mathbf e_{j,i}ej,i​ 表示节点 jjj 到 节点 iii 的边特征,在 GNN 中消息传递可以

2021-11-06 18:43:50 4859

原创 Deeper GNN:更深的图神经网络

Deeper GNN:更深的图神经网络论文链接:DeeperGCN: All You Need to Train Deeper GCNs (arxiv.org)DeepGCNs: Can GCNs Go as Deep as CNNs? (arxiv.org)引言图机器学习中常见的任务由节点分类、连接预测和图分类。图卷积网络 (GCN) 是最近比较流行的一种方法。GCN 的核心概念是建立消息传递的基础上的,所谓消息传递就是根据邻域节点的特征计算相邻节点之间的消息,并将之用于更新中心节点的特征。

2021-11-06 18:41:18 1506

原创 Graph U-Nets 笔记

Graph U-Nets 笔记1. 引言论文主要内容是提出了用于图神经网络的 U-Net 结构。论文的出发点很简单,鉴于 UNet 的 encoder-decoder 结构在图像领域取得的成功,我们能不能在 GNN 中也模仿 U-Net 设计一种 Graph U-Net 结构呢?因为 U-Net 是先做降采样(Encoder)得到从低层次到高层次的图像特征,然后再做上采样 (Decoder)将 Encoder 计算的特征融合起来得到新的特征,所以如果要在 GNN 中构造 UNet 结构,就需要解决如何进

2021-11-06 18:35:43 2380

原创 PointNet++ 笔记

PointNet++ 笔记1. 引言PointNet++ 是在 PointNet 的基础上进行改进得到的。PointNet 是对点云中每一个点都学习一个空间编码 (spartial encoding, 在 GNN 中也叫做节点嵌入),然后将所有点的特征用最大池化聚合为一个能表示点云的全局特征。从 PointNet 的网络结构上看,它并没有考虑点云的局部特征,但是根据 CNN 网络设计的成功经验来看,点云的局部结构也是相当重要的。在 CNN 中,一个好的网络结构,往往能够学习到图像的高低不同层次的特征,在

2021-06-22 21:23:14 389

原创 CS224W-07:图神经网络二

图神经网络二第六节主要是对图神经网络做了一个整体上的介绍,本节介绍几种经典的GNN 和设计GNN的基本思路。具体内容为单层 GNN单层 GNN 的一般形式经典的 GNN 网络:GCN, GraphSAGE, GAT多层 GNN 设计如何确定 GNN 网络的层数过平滑 (Over smoothing) 问题跳跃连接 (Skip connections)实际训练中图的操作特征增广 (Feature augmentation)结构变换 (Structure manipulat

2021-06-07 22:44:31 179

原创 CS224W-06:图神经网络一

图神经网络一图机器学习需要解决的任务有:节点分类 (Node classification) :预测每个节点的类型链接预测 (Link prediction):预测两个节点是否相连社区检测 (Community detection):检测密集连接的节点聚类网络相似性检测 (Network similarity):计算两个网络的相似程度前面章节介绍的是解决这些问题的传统机器学习方法,本节主要介绍图神经网络 (GNN) 的基本思路和训练基本流程。基本方法:消息传递和聚合图给我们的信息有:

2021-06-05 21:05:55 165

原创 CS224W-05: 消息传递和节点分类

消息传递和节点分类本节需要解决的问题是:假如一个图中某些节点的标签已经知道,如何根据节点的邻接关系和节点特征来确定其他节点的标签。在第三讲中,我们已经介绍了利用节点嵌入和传统机器学习方法给节点分类,本节讲介绍如何利用消息 (message passing) 来预测节点分类。本节内容包括:网络中节点的同质性 (Homophily) 和影响性 (Influence)节点集体分类 (Collective classification) 的方法关联分类 (Relational classificatio

2021-05-30 16:54:31 535

原创 CS224W-04: PageRank

CS224W-04: PageRankPageRank 最初作为互联网网页重要度的计算方法,由 Page 和 Brin 提出,并用于谷歌搜索引擎的网页排序。事实上,PageRank 可以定义在任意有向图中,所以也广泛用于社会影响力分析等其他领域。本节的内容包括:PageRank 算法个性化 PageRank 算法 (Personalized PageRank)重启随机游走算法 (Random Walk with Restarts)PageRankPageRank 的定义从直觉出发,要衡

2021-05-29 21:04:19 206

原创 CS224W-03:节点嵌入

CS224W-03:节点嵌入节点嵌入(Node embedding)的目的是为了将图中每一个节点映射到一个低维的向量表示,在嵌入空间最好能够满足下面的性质:如果两个节点在图中具有很高的相似性,那么二则的嵌入也应该具有相应的相似性嵌入应该能够提取图的信息嵌入向量可以用于下游学习和预测任务本节内容包括:提取器和重构器框架 (Encoder-decoder framework)提取器:浅层次的嵌入查找表重构器:基于嵌入向量预测节点相似性节点相似性的度量方法:无偏和有偏的随机游走 (D

2021-05-27 21:12:55 1191

原创 CS224W-02:图的传统机器学习方法

CS224W 笔记02:图的传统机器学习方法文章目录CS224W 笔记02:图的传统机器学习方法设计机器学习方法的流程节点级别特征 (node-level)节点的度节点中心性Eigenvector centralityBetweenness centralityCloseness centralityClustering centralityGraphlet连接级别的特征 (Link-level)基于距离的特征 (Distance-based features)局部邻域重叠度 (Local neighbo

2021-05-16 20:54:53 232

翻译 OpenMesh 教程:删除网格元素

删除网格元素翻译,原文链接本文将说明如何从网格中删除面和顶点。这里使用的网格为第一篇教程 (创建立方体) . 如果我们想要从网格中删除顶点、面或者边,就必须先打开网格的状态属性 OpenMesh::Attributes::Status 用来保存元素是否删除。一般用动态方式定义状态变量,代码如下mesh.request_face_status();mesh.request_edge_status();mesh.request_vertex_status();创建立方体后,我们就可以用 dele

2020-09-21 20:43:36 1258

翻译 OpenMesh 教程:使用特性拓展网格

使用特性拓展网格翻译,原文链接注:原文标题 Extending the mesh using traits本文包括如何使用特性拓展网格要素的功能上一篇教程中我们介绍了如何改变 Point, Normal, TexCoord, Color 的数据类型,这篇文章我们讲一下如何通过特性 (traits) 来改变 Vertex, Face, Edge, Halfedge 的功能。我们的第一个利用特性技巧 (traits technique) 目的是设计一个高度定制化的数据结构 . 我们还是以网格平滑

2020-09-20 22:00:41 559

翻译 OpenMesh 教程:使用网格属性和特性

使用网格属性和特性翻译,原文链接**注:**原文标题为 Using mesh attributes and traits. Attribute 中文意思是属性,前面几篇文章中提到的 Property 中文翻译也是属性,我也不知道怎么翻译才能体现两个词的区别。从英文来看,Attribute 有附加和归属的意思,而 Property 有财产的意思,所以简单地可以认为 Attribute 指的是固有属性,一旦定义便不可删除,Property 则指的是可删除和添加的动态属性。本文的主要内容是说明如何改变坐标、

2020-09-20 20:48:50 1264

翻译 OpenMesh 教程:使用标准属性

使用标准属性翻译,原文链接本文包括如何添加和删除一个标准属性如何获取和设置标准属性的值之前就已经知道,我们可以通过增加自定义属性的方式将额外的数据与网格进行绑定,OpenMesh 中也有不少内置的属性,姑且将之称为标准属性 (standard properties). 与自定义属性不同的是,标准属性具有一些特殊性质和不同的接口,本文将着重说明这些特别之处。下表列出了不同网格要素 (entity) 能够使用的标准属性VertexFaceEdgeHalfedgeCo

2020-09-20 16:03:42 1796

翻译 OpenMesh 教程:使用 Smart Handles

使用 Smart Handles本文包括:如何使用 Smart Handles 和 Smart Ranges 访问网格如何使用 Smart Ranges到目前为止,我们都是使用诸如 halfedge_handle(), next_halfedge_handle(), prev_halfedge_handle(), oppopsite_halfedge_handle(), face_handle(), to_vertex_handle() 等 handle 来获取网格信息。这些函数都需要一个网格

2020-09-20 15:15:25 1145

翻译 OpenMesh 教程:使用 STL 算法

使用 STL 算法翻译原文链接由于 OpenMesh 中迭代器几乎于 STL 迭代器兼容,所有我们可以利用 STL 算法处理网格。下面的例子展示了如何利用 for_each 来处理循环。首先定义一个平滑算法的类,为了可重复使用,这里使用 OpenMesh 中使用模板来定义该类,模板参数为网格类型template <class Mesh> class SmootherT类 SooothT 一共有2个仿函数 (functor),分别用来计算顶点重心和设置顶点坐标,这2个防寒顺都需要重载

2020-09-20 10:23:04 793

翻译 OpenMesh 教程:使用自定义属性

使用自定义属性翻译,原文链接本文包括:如何添加和删除自定义属性如何获取和设置自定义属性的值上一篇文章中我们计算所有顶点相邻点的重心并将之存储在数组中,这里我们介绍一种更加方便也更不容易出错的方式,也就是利用 OpenMesh 来管理这些数据。动态的管理网格的属性会更加方便。通过创建 OpenMesh::PropertyManager 对象,我们可以很方便地创建自定义属性 (custom properties)并将其与网格关联起来。PropertyManager 可以管理这些属性的生命周期并提

2020-09-19 10:33:02 1476

翻译 OpenMesh 教程:iterator 和 circulator的使用

iterator和circulator的使用翻译,原文连接本文包括:如何使用迭代器 (iterator)如何使用循环迭代器 (circulator)本文将以一个简单网格平滑方法来说明如何使用 iterators 和 circulators. 这两种迭代器分别提供了遍历一个网格的所有顶点和遍历一个顶点的所有相邻点的方法(即 one-ring neighbors). 详细说明见 Mesh Iterators and Circulators.首先定义网格类型,三角网格定义如下#include &

2020-09-18 22:17:28 542

翻译 OpenMesh 教程:第一步——创建立方体

##第一步——创建立方体翻译,原文地址本教程包括:如何定义自己的网格类型如何给网格添加顶点和面如何使用 IO 函数输出网格对于每一个程序,首先得定义自己的网格类型 MyMesh. OpenMesh 支持多边形网格(即每个面都是有多边形并且顶点数目也可以各不相同)。在本教程中,我们将利用6个四边形创建一个立方体,因此这里我们选择多边形网格作为基础类型OpenMesh 支持多种网格核 (Mesh Kernels),不同的核其顶点、边和面的存储方式也是不同的,但是所有的存储方式都必须提供与数组类

2020-09-18 21:56:43 1745 5

原创 论文阅读:pix2pix and CycleGAN

GAN NotesImage-to-Image Translation with Conditional Adversarial Networkspix2pix: Code生成器网络:UNet,有助于生成更好的图像细节判别器网络:条件PatchGAN 70x70目标函数函数:Conditional GAN LossGAN LossL1 Loss优化目标需要的数据量: 100~400张图片训练参数设置优化方法:Adam学习率: 0.0002动量参数: β1=0.

2020-07-10 20:47:49 655

原创 论文阅读:GANimation

GANimation: Anatomically-aware Facial Animation from a Single Image本文提出一种基于 Action Units (AU) 的 conditional GAN,可以生成连续人脸表情。文章采用完全的无监督训练(但是要标注AU?)。还提出了一种注意力机制,这种注意力机制使得模型更加关注需要做出变形的地方,对于人脸其他部位和背景可以尽量保持不变,所以模型更加鲁棒。文章整体思路结合了 conditional GAN, CycleGAN 和 Atte

2020-07-10 20:38:39 1648

原创 Deteron2 Faster-RCNN 代码阅读笔记

Deteron2 Faster-RCNN 代码阅读笔记整体结构在 Detectron2 中 Faster/Mask RCNN 系列是通过 GeneralizedRCNN 来实现的,代码位于 detectron2\modeling\meta_arch\rcnn.py 。类的关系入下图所示GeneralizedRCNN 由三部分组成 : backbone、proposal_generator 和 roi_heads,分别通过 build_backbone,build_proposal_generator

2020-06-25 20:00:20 1369 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除