Gumbel-Softmax

Gumbel-Softmax

比如你每天都会喝很多次水(比如100次),每次喝水的量也不一样。假设每次喝水的量服从正态分布𝑁(𝜇,𝜎2)(其实也有点不合理,毕竟喝水的多少不能取为负值,不过无伤大雅能理解就好,假设均值为5),那么每天100次喝水里总会有一个最大值,这个最大值服从的分布就是Gumbel分布。

其实就是softmax的一个改进,从原分布采样Gumbel噪声的采样效果是最好的

对于强化学习来说,在选择动作之前加一个扰动,相当于增加探索度,感觉上是合理的。对于深度学习的任务来说,添加随机性去模拟分布的样本生成,也是合情合理的。

Mac-docker使用&清除空间

https://www.runoob.com/docker/macos-docker-install.html

这里有安装指南,我选择了手动下载安装,所以需要先启动docker服务。

打开之后——点鲸鱼图标——perferences——reset

reset点击后

点击【reset disk image】就可以删除了。

这里可以修改disk占用的空间:

拖动下面的滑块可以修改disk最大占用空间

关于docker.raw占用的空间,在这里https://www.cnblogs.com/shengulong/p/10261577.html 有解释,需要看实际占用空间。

VAE

https://blog.csdn.net/matrix_space/article/details/83683811

Variational Autoencoder

有更加完备的数学理论(引入了隐变量),理论推导更加显性,训练相对来说更加容易

VAE 全名叫 变分自编码器,是从之前的 auto-encoder 演变过来的,auto-encoder 也就是自编码器,自编码器,顾名思义,就是可以自己对自己进行编码,重构。所以 AE 模型一般都由两部分的网络构成,一部分称为 encoder, 从一个高维的输入映射到一个低维的隐变量上,另外一部分称为 decoder, 从低维的隐变量再映射回高维的输入:

VAE模型

说明

————————————————
版权声明:本文为CSDN博主「Matrix_11」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/matrix_space/article/details/83683811

======

这篇文章里的很形象:https://blog.csdn.net/weixin_40955254/article/details/82315224

通过一个网络,将一个高维空间的人脸映射为低维空间的一个向量。

想象一下,在一个末日大片中,我们需要去搞出一个许多机器人占领世界的场面,但是我们的特效师一张张去画,这无疑会是一个令人头疼的工作,利用VAE,只需要使用有限的数据输入,我们就可以通过隐形参数的调节,获得几乎无限的数量。

VAE中的编码器,对于每个隐性参数他不会去只生成固定的一个数,而是会产生一个置信值得分布区间,这是一种连续的表达方式,通过采样,我们就可以获得许多从来没有见过的数据了。

https://blog.csdn.net/weixin_40955254/article/details/82315909

我们所假设的这些分布都是正态分布,那么我们就需要求得相应的方差和均值,所以在编码实现的过程中,不难看到encoder部分真实做的事情就是,对相应的输入数据,通过两个网络产生了均值和方差。

第三部分在:https://blog.csdn.net/weixin_40955254/article/details/101037614

VGAE

Variational graph auto-encoders

https://zhuanlan.zhihu.com/p/78340397

VAE:

如果将解码器看做一个生成模型,我们只要有低维向量表示,就可以用这个生成模型得到近似真实的样本。但是,这样的生成模型存在一个问题:低维向量表示必须是由真实样本通过编码器得到的,否则随机产生的低维向量表示通过生成模型几乎不可能得到近似真实的样本。那么,如果能将低维向量表示约束在一个分布(比如正态分布)中,那么从该分布中随机采样,产生的低维向量表示通过生成模型不是就能产生近似真实的样本了吗?

变分自编码器通过编码器学到的不是样本的低维向量表示,而是低维向量表示的分布。假设这个分布服从正态分布,然后在低维向量表示的分布中采样得到低维向量表示,接下来经过解码器还原出原始样本。

在损失函数中加入加入各独立正态分布和标准正态分布的KL散度,强迫各个正态分布逼近标准正态分布

VGAE:

输入图的邻接矩阵和节点的特征矩阵,通过编码器(图卷积网络)学习节点低维向量表示的均值 和 方差,然后用解码器(链路预测)生成图。

切割-最小切割-归一化切割

https://blog.csdn.net/qq_38476684/article/details/80553850

一个图(graph), 然后计算权重图(weighted graph),然后分割成一些具有相同特征的区域。如果是图像处理,就把图像看成一个图。切割和社区划分差不多,最小切割就是让社区内更密集。

切割的时候不能一味追求最小,还要考虑原来的节点有多少个邻居 也就是他的度数是多少,如果度数本身大,就可以给他更大的连接的机会,所以要把度数作为分母。