图深度学习-第1部分

有关深层学习的FAU讲义 (FAU LECTURE NOTES ON DEEP LEARNING)

These are the lecture notes for FAU’s YouTube Lecture “Deep Learning”. This is a full transcript of the lecture video & matching slides. We hope, you enjoy this as much as the videos. Of course, this transcript was created with deep learning techniques largely automatically and only minor manual modifications were performed. Try it yourself! If you spot mistakes, please let us know!

这些是FAU YouTube讲座“ 深度学习 ”的 讲义 这是演讲视频和匹配幻灯片的完整记录。 我们希望您喜欢这些视频。 当然,此成绩单是使用深度学习技术自动创建的,并且仅进行了较小的手动修改。 自己尝试! 如果发现错误,请告诉我们!

导航 (Navigation)

Previous Lecture / Watch this Video / Top Level / Next Lecture

上一个讲座 / 观看此视频 / 顶级 / 下一个讲座

Image for post
Graph deep learning is becoming a key technology in learning simulations. Image created using gifify. Source: YouTube.
图深度学习正在成为学习模拟的关键技术。 使用gifify创建的图像 。 资料来源: YouTube 。

Welcome back to deep learning! So today, we want to look a bit into how to process graphs and we will talk a bit about graph convolutions. So let’s see what I have here for you. Topic today will be an introduction to graph deep learning.

欢迎回到深度学习! 因此,今天,我们想研究一下如何处理图形,并讨论图形卷积。 因此,让我们看看我在这里为您提供的服务。 今天的主题将是图深度学习的介绍。

Image for post
CC BY 4.0 from the 深度学习讲座中 Deep Learning Lecture.CC BY 4.0下的图像。

Well, what’s graph deep learning? You could say this is a graph, right? We know that from math that we can plot graphs. But this is not what we’re going to talk about today. Also, you could say a graph is like a plot like this one. But these are also not the plots that we want to talk about today. So is it Steffi Graf? No, we are also not talking about Steffi Graf. So what we actually want to look at are more things like this like diagrams that can be connected with different nodes and edges.

那么,什么是图深度学习? 您可以说这是一个图,对吗? 从数学知道,我们可以绘制图形。 但这不是我们今天要谈论的。 此外,您可以说图形就像这样的图形。 但是,这些也不是我们今天要谈论的情节。 那是Steffi Graf吗? 不,我们也没有在谈论Steffi Graf。 因此,我们实际上要看的是更多类似图的东西,它们可以与不同的节点和边连接。

Image for post
CC BY 4.0 from the 深度学习讲座中 Deep Learning Lecture.CC BY 4.0下的图像。

A computer scientist thinks of a graph as a set of nodes and they are connected through edges. So this is the kind of graph that we want to talk about today. For a mathematician, a graph is a manifold, but a discrete one.

计算机科学家将图视为一组节点,并且它们通过边连接。 这就是我们今天要讨论的图表。 对于数学家来说,图是流形,但是离散的。

Image for post
CC BY 4.0 from the 深度学习讲座中 Deep Learning Lecture.CC BY 4.0下的图像。

Now, how would you define a convolution? On euclidean space, well both for computer scientists and mathematicians this is too easy. So this is the discrete convolution which is essentially just a sum. We remember we had many of those discrete convolutions when we are setting up the kernels for our convolutional deep models. In the continuous form, it actually takes the following form: It’s essentially an integral that is computed over the entire space and I brought an example here. So if you want to convolve two Gaussian curves, then you essentially move them over each other multiply at each point and sum them up. Of course, the convolution of two Gaussians is a Gaussian again so this is also easy.

现在,您将如何定义卷积? 在欧几里德空间上,对于计算机科学家和数学家来说,这都太容易了。 因此,这就是离散卷积,本质上只是一个和。 我们记得在为卷积深度模型设置内核时,曾有很多离散卷积。 在连续形式中,它实际上采取以下形式:它本质上是一个在整个空间中计算的整数,在此我举了一个例子。 因此,如果要对两条高斯曲线进行卷积,则实际上是将它们在每个点上彼此相乘,然后求和。 当然,两个高斯的卷积又是高斯,因此这也很容易。

Image for post
CC BY 4.0 from the 深度学习讲座中 Deep Learning Lecture.CC BY 4.0下的图像。

How would you define a convolution on graphs? Now, the computer scientist thinks really hard but … What the heck! Well, the mathematician knows that we can use Laplace transforms in order to describe convolutions and therefore we look into the laplacian that is here given as the divergence of the gradient. So in math, we can deal with these things more easily.

您如何定义图的卷积? 现在,计算机科学家真的很努力地思考,但是……这太糟糕了! 好吧,数学家知道我们可以使用拉普拉斯变换来描述卷积,因此我们研究了拉普拉斯算子,这里给出的是梯度散度。 因此,在数学上,我们可以更轻松地处理这些事情。

Image for post
CC BY 4.0 from the 深度学习讲座中 Deep Learning Lecture.CC BY 4.0下的图像。

This then brings us to this manifold idea. We know how to convolve manifolds, we can discretize convolutions, and this means that we know how to convolve graphs.

然后,这使我们想到了这个多方面的想法。 我们知道如何对流形进行卷积,我们可以使卷积离散化,这意味着我们知道如何对图进行卷积。

Image for post
CC BY 4.0 from the 深度学习讲座中 Deep Learning Lecture.CC BY 4.0下的图像。

So, let’s diffuse some heat! We know that we can describe Newton’s law of cooling as the following equation. We also know that the development over time can be described with the Laplacian. So, f(x,t) is then the amount of heat at point x at time t. Then, you need to have an initial heat distribution. So, you need to know how the heat is in the initial state. Then, you can use the Laplacian in order to express how the system behaves over time. Here, you can see that this is essentially the difference between f(x) and the average of f on an infinite decimal small sphere around x.

因此,让我们散发一些热量! 我们知道我们可以将牛顿冷却定律描述为以下等式。 我们也知道,随着时间的发展可以用拉普拉斯人来描述。 因此,f(x,t)就是时间t处x点的热量。 然后,您需要具有初始热分布。 因此,您需要知道热量在初始状态如何。 然后,您可以使用拉普拉斯算子来表达系统随着时间的变化。 在这里,您可以看到,这实际上是f(x)与x周围无穷小十进制小球体上f的平均值之间的差。

Image for post
CC BY 4.0 from the 深度学习讲座中 Deep Learning Lecture.CC BY 4.0下的图像。

Now, how do we express the Laplacian in discrete form? Well, that’s the difference between f(x) and the average of f on an infinitesimal sphere around x. So, the smallest step that we can do is actually connect the current node with its neighbors. So, we can express the Laplacian as a weighted sum over the edge weights a subscript i and j. This is then the difference of our center node f subscript i minus f subscript j and we divide the whole thing by the number of connections that actually are incoming into f subscript i. This is going to be given as d subscript i.

现在,我们如何以离散形式表示拉普拉斯算子? 好吧,这就是f(x)与x周围无穷小球面上f的平均值之间的差。 因此,我们可以做的最小步骤是实际上将当前节点与其邻居连接起来。 因此,我们可以将拉普拉斯算子表示为边缘权重下标i和j的加权和。 这就是我们的中心节点f下标i减去f下标j的差,我们将整个事物除以实际进入f下标i的连接数。 这将以d下标i给出。

Image for post
CC BY 4.0 from the 深度学习讲座中 Deep Learning Lecture.CC BY 4.0下的图像。

Now is there another way of expressing this? Well, yes. We can do this if we look at an example graph here. So, we have the nodes 1, 2, 3, 4, 5, and 6. We can now compute the Laplacian matrix using the matrix D. D is now simply the number of incoming connections into the respective nodes. So, we can see that Node 1 has two incoming connections, Node 2 has three, Node 3 has two, Node 4 has three, and Node 5 also has three, Node 6 has only one incoming connection. What we else need is the matrix A. That’s the adjacency matrix. So here, we have a 1 for every node that is connected with a different node and you can see it can be expressed with the above matrix now. We can take the two and compute the Laplacian as D minus A. We simply element-wise subtract the two to get our Laplacian matrix. This is nice.

现在还有另一种表达方式吗? 嗯,是。 如果我们在这里查看示例图,则可以执行此操作。 因此,我们有节点1、2、3、4、5和6。现在,我们可以使用矩阵D计算拉普拉斯矩阵。 D现在只是进入各个节点的传入连接数。 因此,我们可以看到节点1具有两个传入连接,节点2具有三个进入节点,节点3具有两个,节点4具有三个,节点5也具有三个,节点6仅具有一个传入连接。 我们还需要矩阵A。 这就是邻接矩阵。 因此,在这里,与不同节点连接的每个节点都有一个1,您现在可以看到它可以用上述矩阵表示。 我们可以将两者取和,将Laplacian计算为D减去A。 我们简单地逐元素相减两个即可得到拉普拉斯矩阵。 很好

Image for post
CC BY 4.0 from the 深度学习讲座中 Deep Learning Lecture.CC BY 4.0下的图像。

We can see that the Laplacian is an N times N matrix and it’s describing a graph or subgraph consisting of N nodes. D is also an N times N matrix and it’s called the degree matrix and describes the number of edges connected to each node. A is also an N times N matrix and it’s the adjacency matrix that describes the connectivity of the graph. So for a directed graph, our graph Laplacian matrix is not symmetric positive definite. So, we need to normalize it in order to get a symmetric version. This can be done in the following way: We start with the original Laplacian matrix. We know that D is simply a diagonal matrix. So, we can compute the inverse square root and multiply it from the left-hand side and right-hand side. Then, we can plug in the original definition and you see that we can rearrange this a little bit. We can then write the symmetrized version as the unity matrix minus D. Here, we apply again element-wise the inverse and the square root times A times the same matrix. So this is very interesting, right? We can always get the symmetrized version of this matrix even for directed graphs.

我们可以看到拉普拉斯算子是N乘N的矩阵,它描述的是由N个节点组成的图或子图。 D也是N乘N的矩阵,它称为度矩阵,描述了连接到每个节点的边的数量。 A也是N乘N的矩阵,它是描述图的连通性的邻接矩阵。 因此对于有向图,我们的图拉普拉斯矩阵不是对称正定的。 因此,我们需要对其进行规范化以获得对称版本。 这可以通过以下方式完成:我们从原始的拉普拉斯矩阵开始。 我们知道D只是对角矩阵。 因此,我们可以计算平方根的倒数,并从左侧和右侧将其相乘。 然后,我们可以插入原始定义,您会看到我们可以重新排列一下。 然后,我们可以将对称形式写为单位矩阵减去D。 在这里,我们再次按元素方式应用逆矩阵和平方根时间A乘同一矩阵。 所以这很有趣,对吗? 即使对于有向图,我们也总是可以获得该矩阵的对称形式。

Image for post
CC BY 4.0 from the 深度学习讲座中 Deep Learning Lecture.CC BY 4.0下的图像。

Now, we are interested in how to use this actually. We can do some magic and the magic now is if our matrix is symmetric positive definite, then the matrix can be decomposed into eigenvectors and eigenvalues. Here, we see that all the eigenvectors are assembled in U and the eigenvalues are on this diagonal matrix Λ. Now, these eigenvectors are known as the graph Fourier modes. The eigenvalues are known as spectral frequencies. This means that we can use U and Utranspose in order to Fourier transform a graph and our Λ are the spectral filter coefficients. So, we can transform a graph into a spectral representation and look at its spectral properties.

现在,我们对如何实际使用它感兴趣。 我们可以做一些魔术,现在的魔术是,如果我们的矩阵是对称正定的,那么矩阵可以分解为特征向量和特征值。 在这里,我们看到所有特征向量都以U组合,并且特征值在此对角矩阵Λ上 。 现在,这些特征向量被称为图傅立叶模式。 特征值称为频谱频率。 这意味着我们可以使用UU转置来对图进行傅立叶变换,而我们的Λ是频谱滤波器系数。 因此,我们可以将图形转换成光谱表示形式,并查看其光谱特性。

Image for post
CC BY 4.0 from the 深度学习讲座中 Deep Learning Lecture.CC BY 4.0下的图像。

Let’s continue with our matrix. Now, let x be some signal, a scalar for every node. Then, we can use the Laplacian’s eigenvectors to define its Fourier transform. This then is simply x hat and x hat can be expressed as U transposed times x. Of course, you can also invert this. This is simply done by applying U. So, we can also find for any set of coefficients that are describing properties of the nodes, the respective spectral representation. Now, we can also describe a convolution with a filter in the spectral domain. So, we express the convolution using a Fourier representation and therefore we bring g and x into Fourier domain, multiply the two and compute the inverse Fourier transform. So, we know that from signal processing that we can also do this in traditional signals.

让我们继续我们的矩阵。 现在,让x为某个信号,每个节点的标量。 然后,我们可以使用拉普拉斯特征向量来定义其傅立叶变换。 那么这就是x hat, x hat可以表示为U换位乘以x 。 当然,您也可以将其反转。 只需通过应用U即可完成。 因此,我们还可以找到描述节点属性的任何系数集,相应的频谱表示形式。 现在,我们还可以描述在频谱域中使用滤波器的卷积。 因此,我们使用傅立叶表示来表示卷积,因此将g和x带入傅立叶域,将二者相乘并计算傅立叶逆变换。 因此,我们知道从信号处理中我们也可以在传统信号中做到这一点。

Image for post
CC BY 4.0 from the 深度学习讲座中 Deep Learning Lecture.CC BY 4.0下的图像。

Now, let’s construct a filter. This filter is composed of a k-th order polynomial of Laplacians with coefficients θ subscript i. They are simply real numbers. So, we can now find this kind of polynomial that is a polynomial with respect to the spectral coefficients and it’s linear in the coefficients θ. This is essentially just a sum over the polynomials. So now, we can use that and use this filter in order to perform our convolution. We essentially have to multiply in the same way as we did before. So, we have the signal, we apply the Fourier transform, then we apply our convolution using our polynomial, and then we do the inverse Fourier transform. So, this would be how we would apply this filter to a new signal. And now, what? Well, we can convolve x now using the laplacian as we adapt our filter coefficients θ. But U is actually really heavy. Remember we can’t use the trick of a fast Fourier transform here. So, it’s always a full matrix multiplication and this might be very heavy to compute if you want to express your convolutions in this type of format. But what if I told you that a clever choice of polynomials cancels out U entirely?

现在,让我们构造一个过滤器。 这个滤波器由拉普拉斯算子的第k阶多项式具有系数θ下标i的。 它们只是实数。 因此,我们现在可以找到这种多项式,它是关于频谱系数的多项式,并且在系数θ中是线性的。 这实际上只是多项式的和。 因此,现在,我们可以使用它并使用此过滤器来执行卷积。 本质上,我们必须以与以前相同的方式进行乘法。 因此,我们得到信号,应用傅立叶变换,然后使用多项式应用卷积,然后进行傅立叶逆变换。 因此,这就是我们将滤波器应用于新信号的方式。 现在呢? 好了,我们现在可以使用拉普拉斯算子对x进行卷积,因为我们可以调整滤波器系数θ 。 但是, U实际上真的很重。 请记住,这里我们不能使用快速傅立叶变换的技巧。 因此,它始终是一个完整的矩阵乘法,如果您想以这种格式表示卷积,那么计算起来可能会很繁重。 但是,如果我告诉您,多项式的明智选择会完全抵消U

Image for post
CC BY 4.0 from the 深度学习讲座中 Deep Learning Lecture.CC BY 4.0下的图像。

Well, this is what we will discuss in the next session on deep learning. So, thank you very much for listening so far and see you in the next video. Bye-bye!

好吧,这就是我们将在下一届深度学习会议上讨论的内容。 因此,非常感谢您到目前为止的收听,并在下一个视频中与您相见。 再见!

Image for post
More simulation examples. Image created using gifify. Source: YouTube.
更多仿真示例。 使用gifify创建的图像 。 资料来源: YouTube 。

If you liked this post, you can find more essays here, more educational material on Machine Learning here, or have a look at our Deep LearningLecture. I would also appreciate a follow on YouTube, Twitter, Facebook, or LinkedIn in case you want to be informed about more essays, videos, and research in the future. This article is released under the Creative Commons 4.0 Attribution License and can be reprinted and modified if referenced. If you are interested in generating transcripts from video lectures try AutoBlog.

如果你喜欢这篇文章,你可以找到这里更多的文章 ,更多的教育材料,机器学习在这里 ,或看看我们的深入 学习 讲座 。 如果您希望将来了解更多文章,视频和研究信息,也欢迎关注YouTube , Twitter , Facebook或LinkedIn 。 本文是根据知识共享4.0署名许可发布的 ,如果引用,可以重新打印和修改。 如果您对从视频讲座中生成成绩单感兴趣,请尝试使用AutoBlog 。

谢谢 (Thanks)

Many thanks to the great introduction by Michael Bronstein on MISS 2018 and special thanks to Florian Thamm for preparing this set of slides.

非常感谢Michael Bronstein在MISS 2018上的精彩介绍,特别感谢Florian Thamm准备了这组幻灯片。

翻译自: https://towardsdatascience.com/graph-deep-learning-part-1-e9652e5c4681

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

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

相关文章

Git上传项目到github

2019独角兽企业重金招聘Python工程师标准>>> Git入门 个人理解git就是一个上传工具,同时兼具和svn一样的版本控制功能(此解释纯属本人个人观点) Github是什么 github就是一个分布式版本管理系统(反正我就是这么认为的…

ionic4 打包ios_学习Ionic 4并开始创建iOS / Android应用

ionic4 打包iosLearn how to use Ionic 4 in this full course for beginners from Awais Mirza. Ionic Framework is the free, open source mobile UI toolkit for developing high-quality cross-platform apps for native iOS, Android, and the web—all from a single Ja…

robot:当用例失败时执行关键字(发送短信)

使用场景: 当用例失败时需要通知对应人员,则需要在Teardown中,使用关键字Run Keyword If Test Failed Send Message关键字为自定义关键字,${content}为短信内容,${msg_receiver}为短信接收者列表。 当然执行成功时需要…

leetcode 263. 丑数

给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。 丑数 就是只包含质因数 2、3 和/或 5 的正整数。 示例 1: 输入:n 6 输出:true 解释:6 2 3 …

NTP同步

RedHat Linux NTP实施步骤1、 查看本系统与NTP服务器的时间偏差 ntpdate -d 192.168.142.114 [rootzabbix-proxy ~]# ntpdate -d 192.168.142.114 24 Aug 17:26:45 ntpdate[3355]: ntpdate 4.2.6p51.2349-o Fri Apr 13 12:52:28 UTC 2018 (1) Looking for host 192.168.142.…

项目经济规模的估算方法_估算英国退欧的经济影响

项目经济规模的估算方法On June 23 2016, the United Kingdom narrowly voted in a country-wide referendum to leave the European Union (EU). Economists at the time warned of economic losses; the Bank of England produced estimates that that GDP could be as much …

Oracle宣布新的Java Champions

\看新闻很累?看技术新闻更累?试试下载InfoQ手机客户端,每天上下班路上听新闻,有趣还有料!\\\Oracle宣布了2017年新接纳的Java Champion的综述。这次宣布了40位新的成员,包括InfoQ的贡献者Monica Beckwith。…

lambda ::_您无法从这里到达那里:Netlify Lambda和Firebase如何使我陷入无服务器的死胡同

lambda ::[Update: Apparently you can get there from here! That is, if you use firebase-admin instead of google-cloud/firestore. Ill have more on this in the future, but the gist of it is summarized here.][ 更新:显然您可以从这里到达那里&#xff…

leetcode 264. 丑数 II(堆)

给你一个整数 n ,请你找出并返回第 n 个 丑数 。 丑数 就是只包含质因数 2、3 和/或 5 的正整数。 示例 1: 输入:n 10 输出:12 解释:[1, 2, 3, 4, 5, 6, 8, 9, 10, 12] 是由前 10 个丑数组成的序列。 解题思路 维…

奇迹网站可视化排行榜]_外观可视化奇迹

奇迹网站可视化排行榜]When reading a visualization is what we see really what we get?阅读可视化内容时,我们真正看到的是什么? This post summarizes and accompanies our paper “Surfacing Visualization Mirages” that was presented at CHI …

Oracle自动性能统计

Oracle自动性能统计 高效诊断性能问题,需要提供完整可用的统计信息,好比医生给病人看病的望闻问切,才能够正确的确诊,然后再开出相应的药方。Oracle数据库为系统、会话以及单独的sql语句生成多种类型的累积统计信息。本文主要描述…

numpy2

1、通用函数,是一种在ndarray数据中进行逐元素操作的函数。某些函数接受一个或多个标量数值,并产生一个或多个标量结果,通用函数就是对这些函数的封装。 1、常用的一元通用函数有:abs\fabs  sqrt   square  exp  log\log2…

Apache Prefork、Worker和Event三种MPM简单分析

(1) Prefork MPM (优点) :使用多个子进程,每个子进程只有一个线程来处理一个 http 连接,不用担心线程安全问题缺点:内存消耗大,不擅长处理高并发环境,使用keep-alive长连接时要等到超…

grasshopper_如何使用Google的Grasshopper编码应用程序来学习手机上的编码基础知识...

grasshopper什么是蚱hopper? (What is Grasshopper?) Grasshopper is an interactive education app for learning about coding. It began at Google as an experimental project created by a group called Area 120. Grasshopper是一个用于学习编码的交互式教育…

机器学习 量子_量子机器学习:神经网络学习

机器学习 量子My last articles tackled Bayes nets on quantum computers (read it here!), and k-means clustering, our first steps into the weird and wonderful world of quantum machine learning.我的最后一篇文章讨论了量子计算机上的贝叶斯网络( 在这里阅读&#xf…

leetcode 179. 最大数(排序)

给定一组非负整数 nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。 注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。 示例 1: 输入:nums [10,2] 输出&a…

test3

test3 转载于:https://www.cnblogs.com/Forever77/p/11441068.html

linux渗透测试_渗透测试:选择正确的(Linux)工具栈来修复损坏的IT安全性

linux渗透测试Got IT infrastructure? Do you know how secure it is? The answer will probably hurt, but this is the kind of bad news you’re better off getting sooner rather than later.有IT基础架构吗? 你知道它有多安全吗? 答案可能会很痛…

BZOJ 1176: [Balkan2007]Mokia

一道CDQ分治的模板题,然而我De了一上午Bug...... 按时间分成左右两半,按x坐标排序然后把y坐标丢到树状数组里,扫一遍遇到左边的就add,遇到右边的query 几个弱智出了bug的点, 一是先分了左右两半再排序,保证的是这次的左…

深入理解InnoDB(1)—行的存储结构

1.InnoDB页的简介 页(Page)是 Innodb 存储引擎用于管理数据的最小磁盘单位。常见的页类型有数据页、Undo 页、系统页、事务数据页等 2.InnoDB行的存储格式 我们插入MySQL的记录在InnoDB中可能以4中行格式存储,分别是Compact、Redundant、D…