有关深层学习的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](https://miro.medium.com/freeze/max/9999/0*-_gT6dRSpFrYutqx.gif)
Welcome back to deep learning. So today, we want to continue talking about graph convolutions. We will look into the second part where we now see whether we have to stay in this spectral domain or whether we can also go back to the spatial domain. So let’s look at what I have for you.
欢迎回到深度学习。 所以今天,我们要继续讨论图卷积。 我们将研究第二部分,现在我们看看是必须保留在此频谱域中还是必须回到空间域。 因此,让我们看看我为您准备的。
![Image for post](https://miro.medium.com/max/9999/0*_BYecLvdHkovPj8m.png)
Remember we had this polynomial to define a convolution in the spectral domain. We’ve seen that by computing the eigenvectors of the Laplacian matrix, we were able to find an appropriate Fourier transform that would then give us a spectral representation of the graph configuration. Then, we could do our convolution in the spectral domain and transform it back. Now, this was kind of very expensive because we have to compute U. For U, we have to do the eigenvalue decomposition for this entire symmetric matrix. Also, we’ve seen that we can’t use tricks of the fast Fourier transform because this doesn’t necessarily hold for our U.
记住我们有这个多项式来定义谱域中的卷积。 我们已经看到,通过计算拉普拉斯矩阵的特征向量,我们能够找到合适的傅立叶变换,然后该傅立叶变换将为我们提供图配置的频谱表示。 然后,我们可以在频谱域中进行卷积并将其转换回去。 现在,这非常昂贵,因为我们必须计算U。 对于U,我们必须对整个对称矩阵进行特征值分解。 另外,我们已经看到我们不能使用快速傅立叶变换的技巧,因为这不一定适用于我们的U。
So, how can we choose now our k and θ in order to get rid of U? Well, so if we choose k equals to 1, θ subscript 0 to 2θ, and θ subscript 1 to -θ, we get the following polynomial. So, we still have the configuration that we have x transformed in the Fourier space times our polynomial expressed as matrix times the inverse Fourier transform here. Now, let’s look into the configuration of G hat. G hat can actually be expressed as 2 times θ times Λ to the power of 0. Remember Λ is a diagonal matrix. So, we take every element to the power of 0. This is actually a unity matrix and we subtract θ times Λ to the power of 1. Well, this is actually just Λ. Then, we can express our complete matrix G hat in this way. Of course, we can then pull in our U from the left-hand side and the right-hand side which is giving us the following expression. Now, we use the property that θ is actually a scalar. So, we can pull it to the front. The Λ to the power of 0 cancels out because this is essentially an identity matrix. The Λ on the right-hand side term still remains, but we can also pull out the θ. Well the UU transpose just cancels out. So, this is again the identity matrix and we can use our definition of the symmetric version of our graph Laplacian. You can see that we’ve just found it, here in our equation. So, we can also replace it with this one. You see now U is suddenly gone. So, we can pull out θ again and all that remains is that we have two times the identity matrix minus the symmetric version of the graph Laplacian. If we now plug in the definition of the symmetric version associated with the original adjacency matrix and the degree matrix, we can see that we still can plug this definition in. Then, one of the identity matrices cancels out and we finally get identity plus D to the power of -0.5 times Atimes D to the power of -0.5. So, remember D is a diagonal matrix. We can easily invert the elements on the diagonal and we can also take element-wise the square root. So, this is perfectly fine. This way we don’t have U at all coming up here. We can express our entire graph convolution in this very nice way using the graph Laplacian matrix.
那么,我们现在如何选择k和θ来摆脱U呢? 好,因此,如果我们选择k等于1,θ下标0到2θ,θ下标1到-θ,我们得到以下多项式。 因此,我们仍然具有以下配置:在傅立叶空间中将x变换为乘以矩阵表示的多项式乘以此处的傅立叶逆变换。 现在,让我们研究一下G hat的配置。 如2倍θ倍λ〜0的功率记住Λ是对角矩阵G帽子实际上可以表达。 因此,我们将每个元素取0的幂。这实际上是一个单位矩阵,我们将θ乘以Λ乘以1的幂。好吧,这实际上只是Λ 。 然后,我们可以用这种方式表示完整的矩阵G hat。 当然,然后我们可以从左侧和右侧拉入U ,这使我们得到以下表达式。 现在,我们使用θ实际上是一个标量的属性。 因此,我们可以将其拉到最前面。 幂为0的Λ被抵消,因为这本质上是一个单位矩阵。 右侧项中的Λ仍然保留,但我们也可以拉出θ。 好吧, UU转置只是抵消了。 因此,这再次是单位矩阵,我们可以使用我们的图拉普拉斯算子的对称版本的定义。 您可以在方程式中看到我们刚刚找到它。 因此,我们也可以用此替代它。 您现在看到U突然消失了。 因此,我们可以再次拉出θ,剩下的就是我们有两倍的单位矩阵减去图拉普拉斯图的对称形式。 如果现在插入与原始邻接矩阵和度矩阵关联的对称版本的定义,我们可以看到仍然可以插入此定义。然后,一个标识矩阵被抵消,最终得到标识加D达到-0.5的乘方A乘以D的-0.5的乘方。 因此,请记住D是对角矩阵。 我们可以轻松地将对角线上的元素反转,也可以对元素取平方根。 所以,这很好。 这样,我们这里根本没有U。 我们可以使用图拉普拉斯矩阵以这种非常好的方式表示整个图卷积。
![Image for post](https://miro.medium.com/freeze/max/9999/0*bAiNCABH_MXiC16d.gif)
Now let’s analyze this term a little more. So, we can see this identity on the left-hand side, we see we can convolve in the spectral domain, and we can construct G hat as a polynomial of Laplacian filters. Then, we can see with a particular choice k equals 1, θ subscript 0 equals to 2θ and θ subscript 1 equals to -θ. Then, this term suddenly only depends on the scalar value θ. With all these tricks, we got rid of the Fourier transform U transpose. So, we suddenly can express graph convolutions in this simplified way.
现在让我们再分析一下这个术语。 因此,我们可以在左侧看到该标识,可以在谱域中进行卷积,并且可以将G hat构造为Laplacian滤波器的多项式。 然后,我们可以看到在特定选择下k等于1,θ下标0等于2θ,θ下标1等于-θ。 然后,该项突然仅取决于标量值θ。 通过所有这些技巧,我们摆脱了傅立叶变换U转置。 因此,我们突然可以用这种简化的方式表示图卷积。
![Image for post](https://miro.medium.com/freeze/max/9999/0*Dg13TMlBawt6fPNi.gif)
Well, this is the basic graph convolutional operation and you can find this actually shown in reference [1]. You can essentially do this to scalar values, you use your degree matrix and plug it in here. You use your adjacency matrix and you plug it in here. Then, you can optimize with respect to θ in order to find the weight for your convolutions.
好吧,这是基本的图卷积运算,您可以在参考文献[1]中找到它。 您基本上可以对标量值执行此操作,您可以使用度矩阵并将其插入此处。 您使用邻接矩阵,并将其插入此处。 然后,您可以针对θ进行优化,以找到卷积的权重。
![Image for post](https://miro.medium.com/freeze/max/9999/0*zi_0PyMi8o8qmixr.gif)
Well, now the question is “Is it really necessary to motivate the graph convolution from the spectral domain?” and the answer is “No.”. So, we can also motivate it spatially.
好吧,现在的问题是“真的有必要从谱域中激发图卷积吗?” 答案是“否”。 因此,我们还可以在空间上激发它。
![Image for post](https://miro.medium.com/freeze/max/9999/0*fcaLcb5aERXSBCxQ.gif)
Well, let’s look at the following concept. For a mathematician, a graph is a manifold, but a discrete one. We can discretize the manifold and do a spectral convolution using the Laplacian matrix. So, this led us to spectral graph convolutions. But as a computer scientist, you can interpret a graph as a set of nodes and vertices connected through edges. We now need to define how to aggregate the information of one vertex through its neighbors. If we do so, we get the spatial graph convolution.
好吧,让我们看一下以下概念。 对于数学家来说,图是流形,但是离散的。 我们可以离散流形,并使用拉普拉斯矩阵进行频谱卷积。 因此,这导致我们进行频谱图卷积。 但是作为计算机科学家,您可以将图解释为通过边连接的一组节点和顶点。 现在,我们需要定义如何通过一个顶点的邻居聚合一个顶点的信息。 如果这样做,我们将获得空间图卷积。
![Image for post](https://miro.medium.com/max/9999/0*ZbzZ2rpmfaY93kJ4.png)
Well, how is this done? One approach shown in [2] is GraphSAGE. Here, we essentially define a vertex of interest and we define how neighbors contribute to the vertex of interest. So technically, we implement this using a feature vector at the node v and the k-th layer. This can be described as h k subscript v. So, for the zeroth layer, this contains the input. This is just the original configuration of your graph. Then, we need to be able to aggregate in order to compute the next layer. This is done by a spatial aggregation function over the previous layer. Therefore, you use all of the neighbors and typically you define this neighborhood such that every node that is connected to the node under consideration is included in this neighborhood.
好吧,这是怎么做的? [2]中显示的一种方法是GraphSAGE。 在这里,我们本质上定义了关注的顶点,并且定义了邻居如何对关注的顶点做出贡献。 因此,从技术上讲,我们在节点v和第k层使用特征向量来实现这一点。 这可以描述为h k下标v。因此,对于第0层,它包含输入。 这只是图形的原始配置。 然后,我们需要能够聚合以便计算下一层。 这是通过上一层的空间聚合功能完成的。 因此,您将使用所有邻居,并且通常会定义该邻域,以便连接到所考虑节点的每个节点都包含在此邻域中。
![Image for post](https://miro.medium.com/max/9999/0*3EMLGlYfc6Q01FeI.png)
So this line brings us to the GraphSAGE algorithm. Here, you start with a graph and input features. Then, you do the following algorithm: You initialize at h 0 with simply the input of the graph configuration. Then, you iterate over the layers. You iterate over the nodes. For every node, you run the aggregation function that somehow computes a summary over all of your neighbors. Then, the result is a vector of a certain dimension and you then take the aggregated vector and the current configuration of the vector, you concatenate them and multiply them with a weight matrix. This is then run through a non-linearity. Lastly, you scale by the magnitude of your activations. This is then iterated over all of the layers and finally, you get the output z that is the result of your graph convolution.
因此,这条线将我们带到了GraphSAGE算法。 在这里,您将从图形和输入要素开始。 然后,执行以下算法:仅使用图配置的输入在h 0进行初始化。 然后,您遍历各层。 您遍历节点。 对于每个节点,您都可以运行聚合函数,以某种方式计算所有邻居的汇总。 然后,结果是一个特定维度的向量,然后取聚合向量和向量的当前配置,将它们连接起来,然后将它们与权重矩阵相乘。 然后,这通过非线性进行。 最后,您可以根据激活的大小进行扩展。 然后在所有层上进行迭代,最后得到图卷积结果的输出z 。
![Image for post](https://miro.medium.com/max/9999/0*rt_zesxfr_VGiDnS.png)
The concept of aggregators is key to develop this algorithm because in every node you may have a different number of neighbors. A very simple aggregator would then be simply computing the mean. Of course, you can also take the GCN aggregator and that brings us back to the spectral representation. This way, the connection between spatial and spectral domains can be established. Furthermore, you can take a pooling aggregator which then uses, for example, maximum pooling or you use recurrent networks like LSTM aggregators.
聚合器的概念是开发此算法的关键,因为在每个节点中,您可能具有不同数量的邻居。 然后,一个非常简单的聚合器将简单地计算均值。 当然,您也可以使用GCN聚合器,这使我们回到了光谱表示形式。 这样,可以建立空间域和光谱域之间的连接。 此外,您可以使用一个池聚合器,然后使用例如最大池化,或者使用像LSTM聚合器这样的循环网络。
![Image for post](https://miro.medium.com/freeze/max/9999/0*JzL0SLI5vcT8svLv.gif)
You already see that there is a broad variety of aggregators. This then also is the reason why there are so many different graph deep learning approaches. You can subdivide them into certain kinds because there are spectral ones, there are spatial ones, and there are the recurrent ones. So, this is essentially the key how you can tackle the graph convolutional neural networks. So, what do we actually want to do? Well, you can take one of these algorithms and apply it to some mesh. Of course, this can also be done on very complex meshes and I will put a couple of references below that you can see what kind of applications can be done. For example, you can use these methods in order to process the information on coronary arteries.
您已经看到了各种各样的聚合器。 这也是为什么有这么多不同的图深度学习方法的原因。 您可以将它们细分为某些种类,因为有频谱种类,空间种类以及循环种类。 因此,这实际上是解决图卷积神经网络的关键。 那么,我们实际上想做什么? 好了,您可以采用这些算法之一,并将其应用于某些网格。 当然,这也可以在非常复杂的网格上完成,我将在下面放置一些参考,以了解可以完成哪种应用程序。 例如,您可以使用这些方法来处理冠状动脉信息。
![Image for post](https://miro.medium.com/max/9999/0*gt__N7bHfA_U14yy.jpg)
Well next time in deep learning, there’s only a couple of topics left. One thing that I want to show to you is how you can embed prior knowledge into deep networks. This is also a quite nice idea because it allows us to fuse much of the things that we know from theory and signal processing with our deep learning approaches. Of course, I also have a couple of references and if you have some time please read through them. They elaborate much more closely on the ideas that we presented here. There are also image references that I’ll put into the description of this video. So, thank you very much for listening and see you in the next lecture. Bye-bye!
下次在深度学习中,只剩下了几个主题。 我想向您展示的一件事是如何将先验知识嵌入到深层网络中。 这也是一个很好的主意,因为它使我们能够将我们从理论和信号处理中了解到的许多知识与我们的深度学习方法融合在一起。 当然,我也有一些参考资料,如果您有时间请仔细阅读。 他们更加详细地阐述了我们在此处提出的想法。 我还将在本视频的说明中加入图像参考。 因此,非常感谢您的收听,并在下一堂课中与您相见。 再见!
![Image for post](https://miro.medium.com/freeze/max/9999/0*O1jJmYAVbrDRt1xP.gif)
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-2-c6110d49e63c