ML的隐空间

最近在了解一些隐空间的东西,生成模型常讨论到:

以下是对外网一个blog的翻译+理解:如有错误,请勘误!

目录

1、data compression

2、什么是空间

3、怎么理解similar

4、为什么latent space重要

4.1 Representation Learning

4.1.1 Manifolds

4.1.2 Autoencoders和generativa mode

1、data compression

data compression常在ML使用,一般定义为encoding,用更低的维度来表示原始数据。

假设我们现在使用FCN对minist进行train,这个过程里每一层layer学习着不同的特征,例如你对某一层可视化或grad-cam,是可以看见:不同层学习的特征不一样,(边缘、角度等等),输出是这些a combination of features。这个过程一般如下,encoder, cecoder

encoder是有损的, 如果decoder的任务是重建,那么这个model需要做的是,学习all relevant information 并且去掉或忽略(disregard)噪声。这么个流程说明了,data compression的意义在于去掉噪声,聚焦有用信息。

作者这样总结:This ‘compressed state’ is the Latent Space Representation of our data.

2、什么是空间

我们一般把encoder的输出叫做,a latent code,其所在的空间叫做 a latent space。这怎么理解:

假设一开始我们的数据是一个5*5*1的image,latent space是3*1,如下图,

 对这个image进行encoder,得到下面的列向量,这个data compression过程直观的表明的 把latent space理解成维度空间(自己加的

这个列向量,是3*1的,那么可以使用3D平面来可视化,这个列向量的 space就是我们要的

 作者还说到,一般的encoder可能不仅仅是3维度,怎么理解呢。通过t-SEN图这种降维工具。

一般来说,similar的图片,我们期待data compression的结果也是相近的,也就是space里两个点更靠近。看下文

3、怎么理解similar

看下图,两把椅子和一个桌子,我们都知道相比桌子,两把椅子更接近。即使木材是一样的。

怎么使得椅子更接近呢,从人的语义层次理解,椅子有着与桌子很多可区分的特征,(i.e. back-rest, no drawer, connections between legs)。模型通过学习关于edges、angles的patterns来提取特征。(在cs231n里介绍有cv是怎么理解呢,是points、edges等一系列基础几何单位,通过不同的combination得到的

理所当然,这些特征通过data compression被嵌入到 latent space represention of data。这个降维的过程肯定是有损的,模型可能就认为color这个特征不重要而当作noise去掉了,model会提取它认为最重要的feature到latent space representations中。

(说到这,可能不好理解模型怎么提取这些特征,或者怎么提取人类理解的语义特征。在train过程,我们不知道model怎么提取feature。这个过程是拟合的,因为一开始dl是有监督的,给定label,特征经过fc层得到模型输出,这个输出会跟label做loss的约束从而反传到model中。在cs231n里就有对某一layer进行可视化,还有可解释模块的grad-cam热力图,人们发现一开始model提取的浅层的,网络越深,model关注的点跟原始image越不一样,但conv或者其他fc做的就是通过points、edges来提取特征。所以这,可以理解,上文说的color、back-rest这种人类级别的语义特征被model找到了)

所以呢,经过reduce dimensionality的coder representation,两张椅子的“distance”更接近了。这里的距离,表示为两个coder的接近程度。

4、为什么latent space重要

生成模型喜欢讲latent space,尤其是最近的gan的反演,通过coder的改变而编辑image。

4.1 Representation Learning

经过上述,我们知道,latent space representation 是原始data point经过compression的重要featurn。这有利于下游任务的分类或检测。

In this use case, our latent space representations are used to transform more complex forms of raw data (i.e. images, video), into simpler representations which are ‘more convenient to process’ and analyze.

4.1.1 Manifolds

Manifolds in data science can be understood as groups or subsets of data that are ‘similar’ in some way.(降维,主成分分析?)

 降维,使得data points更容易区分。

4.1.2 Autoencoders和generativa model

Autoencoders就是来发现latent space种data points representation的“closeness”。

这个重建过程不是没有意义的,我们期待encoder在这个过程里面能够学到足够的信息。

gan的生成器通过一个noise开始生成一张image,目前可以通过interpolating coder来编辑图片。举个例子,上面两个椅子的coder是[0.4, 0.5] and [0.45, 0.45],桌子被encode成[0.6, 0.75]。取下stylegan里面的一个案例:coder变化,椅子的特征在发生变化

作者提供了一个链接,来着重说gan里面的潜在空间

以上就是全文了,感谢观看 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值