day8)
生成式对抗网络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的情况下想办法从没有标注的资料里面把资料分成两部分让一部分作为模型的输入另一部分作为模型的标注。BERTMasking 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得到三个数值分数最高的就作为起始位置即s2再把蓝色的拿来和document的向量做inner product再过Softmax得到三个数值分数最高的就作为起始位置即e3自监督式学习三很多现象要在足够的训练量上面才能显现出来。自监督式学习四用GPT实现英语到法语的翻译注此时为21年注意几种Learning的不同之处。