☰
机器学习与深度学习(李宏毅)day8
2026/10/8 2:13:15 网站建设 项目流程

生成式对抗网络GAN四——Cycle GAN

如图所示的不成对的资料称为unlabeled data

比如说要做图片风格转换,要求把真人图片转换成动漫图片

做法如下:

从x domain中sample一张真人图片,把照片放到第一个generator里面,让它产生另一个y domain里的图片,此操作就需要依靠discriminator。通过给这个discriminator看很多y domain 的图片,使discriminator能分辨y domain的图片和不是y domain的图片,在看到y domain的图片就给高分,看到不是y domain的图片就给低分。

而第二个generator的目标是看到一张y domain的图片就把它还原回x domain的图,经过两次转换之后输入跟输出要越接近越好。

上述是从x转到y再从y转到x,在做Cycle GAN的时侯还可以同时做另一个方向的训练,也就是给generator一张y domain的图片,让它产生x domain的图片,再把x domain的图片还原为原来y domain的图片,依然要让输入跟输出越接近越好。就需要再训练一个discriminator,这个discriminator是要看一张图片像不像真实的照片。这两部分合起来就是Cycle GAN

还可以实现语言风格的转换,比如把正面的句子转换成负面的,不过就需要Seq2seq,输入一整个sequence再输出一整个sequence。

自监督式学习一

没有什么内容

自监督式学习二

Self-supervised Learning:

在没有label的情况下,想办法从没有标注的资料里面把资料分成两部分,让一部分作为模型的输入,另一部分作为模型的标注。

BERT

Masking Input:

在训练的时候,输入一个句子,先随机决定哪些中文的字会被盖起来,接下来再决定要怎么盖,是要换成特殊的、代表盖住的符号还是随机从中文的字里面挑一个出来盖住。盖住以后输入还是一个sequence,输出是另外一个sequence,接下来把盖住的部分所对应的输出的向量做linear transform(即乘一个矩阵),然后做softmax得到一个输出,输出一个分布,每一个字对应一个分布。目标就是让输出跟盖住的字越接近越好

Next Sentence Prediction:

拿两个句子,在两个句子中间加入特殊的符号代表分隔同时合为一个句子,还会在句子前面加上另一个特殊符号[CLS],再一起放到BERT里面。只看CLS位置的输出,将这一输出乘上linear transform预测YES/NO来判断两个句子是不是相接的。不过这种做法对BERT要做的事情作用不大。

虽然BERT只学会做“填空题”,但是接下来他可以被拿来做各种各样的Downstream Tasks。

BERT的使用:

Sentiment analysis:

分析一句话是正面的还是负面的。

在做Self-supervise Learning的时侯用了大量没有标注的资料,但是下游任务有少量有标注的资料合起来就是semi-supervise。

POS tagging:

词性标注,输入和输出的长度一样。

NLI(Natural Language Inferencee):

根据两个句子,输出两个句子之间的关系。或者是进行立场分析。

QA(Extraction-based Question Answering):

给机器读一篇文章,让机器给出答案。不过需要答案是文章里面的一个片段。

把文章和问题输入模型,模型就会输出两个正整数s和e,根据这两个正整数从文章里面截一个段落(即从第s个字到第e个字)就是答案。如下图所示。

在这个任务里面唯一需要从头开始训练的只有两个向量,即下图的橙色和蓝色向量分别计算答案的起始和结束位置,这两个向量的长度跟BERT的长度是一模一样的。

向量用法:先把橙色的拿来和document的向量做inner product再过Softmax得到三个数值,分数最高的就作为起始位置(即s=2),再把蓝色的拿来和document的向量做inner product再过Softmax得到三个数值,分数最高的就作为起始位置(即e=3)

自监督式学习三

很多现象要在足够的训练量上面才能显现出来。

自监督式学习四

用GPT实现英语到法语的翻译(注:此时为21年)

注意几种Learning的不同之处。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询