文章目录
参考链接
7-5 自编码器(上)
目录
自编码器是什么(不用标注的训练,但要发明一个任务可以去训练)
首先你有大量的没有标注的资料,用这些没有标注的资料,你可以去训练一个模型,你必须发明一些不需要标注资料的任务,比如说做填空题,比如说预测下一个 Token
这个不用标注资料的学习叫做,Self-Supervised Learning,或者是也有人叫 Pre-Training,那用这些不用标注资料的任务,学完一个模型以后,它本身没有什麽用,BERT 只能做填空题,GPT 只能够把一句话补完,但是你可以把它用在其他下游的任务裡面
Auto-encoder的流程(Encoder将输入向量压缩为更低维度的向量,但是携带的信息会更多)
假设你有非常大量的图片,在 Auto-Encoder 裡面你有两个 Network,一个叫做 Encoder,一个叫做 Decoder,他们就是两个 Network
- Encoder 把一张图片读进来,它把这张图片变成一个向量,就 Encoder 它可能是很多层的 CNN,把一张图片读进来,它的输出是一个向量,接下来这个向量会变成 Decoder 的输入
- Decoder 会产生一张图片,所以 Decoder 的 Network 的架构,可能会像是 GAN 裡面的 Generator,它是 11 个向量输出一张图片
训练的目标是希望,Encoder 的输入跟 Decoder 的输出,越接近越好
假设你把图片看作是一个很长的向量的话,我们就希望这个向量跟 Decoder 的输出,这个向量,这两个向量他们的距离越接近越好,也有人把这件事情叫做 Reconstruction,叫做重建
因为我们就是把一张图片,压缩成一个向量,接下来 Decoder 要根据这个向量,重建原来的图片,那我们希望原输入的结果,跟重建后的结果越接近越好
为什么Auto-encoder有效?(图片看似有3x3种可能,但是变化可能就几种,所以可以用Encoder进行压缩)
Auto-encoder is not a new idea(15年前就有了…)
De-noising Auto-encoder(加点噪声,回顾BERT?)
7-6 自编码器(下)
文章目录
目录
Feature Disentanglement
Encoder输出的向量包含了输入的所有信息,有没有可能知道哪些维度是内容,哪些维度是声音?(disentagle 可以做到,具体可以参考论文)
应用:变声(把内容和声音分开,再拼接A的内容和B的声音就可以做到了)
Discrete Latent Representation
强迫Embeding输出的值是离散的,例如one-hot,也许就能做到无监督分类效果?
Embedding可不可以不是向量呢?比如序列?(会有问题啦,比如只有Encoder和Decoder懂的暗号,所以还要加上Discriminator,这就类似CycleGAN的概念了,互通)
实作上的效果:
机器犯错例子:
Tree as Embbeding(更狂的拿Tree作为Embbeding,说明Embbeding的形式多种多样,自己决定!)