IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 深度学习11 -> 正文阅读

[人工智能]深度学习11

Generative Adversarial Network
Conditional Sequence Generation
在这里插入图片描述
用maximize likelihood(也可以称为minimize cross entropy)训练seq2seq model 的问题是training criterion很难选到合适的在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
与普通Gradient更新(更新一次参数,再求一个gradient,再更新…)的不同,在这里更新参数后需要返回互动,需要重新互动N收集数据,然后再求gradient,再更新参数…
在这里插入图片描述
comprasion: RL每个training data有自己的weight
在这里插入图片描述
对于R(c,x)恒为正的情况,通常处理是一起减掉一个threshold,让它变得有正有负
RL的困难是:机器需要跟人/环境互动很多次,在真实情境很难实现 -> alpha GO style-让两个机器自己互动,在这种方法中的问题是evaluation function是人定的,而定义出合适的evaluation function其实是很难的-> use GAN to improving
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

难点:seq2seq model + discriminator是没有办法做微分的(因为token是通过sampling的方式获得的,当整个network中有一个sampling process时,是没有办法进行微分的,基于微分的定义(输出的改变除以输入的改变)因为对分布修改参数后sampling出来的token其实是不一样的,对output的影响是不确定的)
在这里插入图片描述
解决方法
在这里插入图片描述
在这里插入图片描述

continuous Input for discriminator
在这里插入图片描述
problem:real is one-hot, fake is not one-hot
解决方法:考虑WGAN
在这里插入图片描述
reinforcement learning
在这里插入图片描述
R -> D
用GAN来train seq2seq model
在这里插入图片描述
在实做上会有一点问题:I下降
在这里插入图片描述
解决方法:对每一个time step做generation
在这里插入图片描述
试验结果:一般方法会比较常出现 I’m sorry / I don’t know, GAN 则趋向于产生更长的句子
在这里插入图片描述
在这里插入图片描述
unsupervised conditional sequence generation
text style transfer
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

unsupervised abstractive summarization(摘要生成)
硬train需要大量的训练样本(百万级)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Evaluation
传统的方法
传统用likelihood衡量Generator的效果,但是由network构成的generator没有办法知道真实概率分布,只能通过采样
在这里插入图片描述
kernel densityestimation:用gaussian去fit sampled data;问题很多:不知道要sample多少个data、不知道怎么估测gaussian
在这里插入图片描述
likelihood 和 generator真正的能力也未必是有关系的
在这里插入图片描述
objective evaluation
利用一个已经训练好的classifier,需要考虑两点:单张图效果和多张图的多样性
在这里插入图片描述
在这里插入图片描述
另一个在train GAN时,需要注意的问题-不能记住data base
计算new data 和 training data间的相似度,但是只算pixel level(L1 or L2)是不够的,因为移动后就检查不出来
在这里插入图片描述
Mode Dropping-多样性,GAN产生的distribution不够大
在这里插入图片描述
mini-batch discrimination: discriminator 看一把图时就可以看到多样性了,另一个用一把图的方法是 optimal transport GAN
在这里插入图片描述
在这里插入图片描述
Transfer Learning
在这里插入图片描述
在训练中,训练数据不一定要和任务的种类是相同的。如上图,虽然是训练猫狗的分类器,但是也可以使用大象老虎的照片或者是卡通的猫和狗作为一部分训练数据。
在这里插入图片描述

之所以需要迁移学习是因为,在现实中,符合要求的图片相对较少。如上图,如果要分析一张医学方面的图片,但是相关的数据很少,这时可以给训练数据加进去一些猫狗等其它的图片。
在这里插入图片描述

Overview
在这里插入图片描述
source data指和任务比较不相关的data,而target data就是和任务相关的data。

拥有的数据种类不同,要使用不同的方法。

source data有label,target data有label
Model Fine-tuning

做法是:

用source data作为训练数据,去训练模型。
将第一步训练而出的模型的参数作为此时的初始值,改成用target data去训练模型。
专业词汇:One-shot learning,指这种只有很少的target data的训练。

这个方法很简单,但是要注意,如果target data的数据非常少,需要加一些技巧(Conservative Training、Layer Transfer)来防止模型发生过拟合。
在这里插入图片描述

如果target data很少,为了防止使用target data训练时发生过拟合,可以在训练时加一些限制(比如加一些像L1、L2之类的正则项),让两边产生的模型不要相差太远。
在这里插入图片描述
另一个防止使用target data训练时发生过拟合的方法,是 Layer Transfer 。

用source data训练出一个neural network后,把其中的一些layer的参数(黄色的箭头)复制到右边去训练。
用target data来调剩下的layer(橙色的箭头)
这样使用target data的训练过程就只调了部分的参数,减少了发生过拟合的风险。

当然,如果target data足够多的话,还是可以在用source data训练出模型后,用target data去微调整个模型的参数。

现在有一个问题,我们要决定那些layer应该是copy的呢?
在这里插入图片描述
语音辨识:通常保留后几层layer,因为靠近input的layer,会受不同人的声音信号所影响。而越到后面,和人的发音方法越不相关,所以可以保留。
图像辨识:通常保留前几层layer,因为靠近input的layer,只是识别一些简单的特征(直线、斜线等),所以不同的任务在前几层做的事情都差不多。

Layer Transfer 在 Image上的效果
在这里插入图片描述

X轴代表复制多少layer,Y轴代表准确度。下面数字代表上图不同的线

1.没做Layer Transfer
2.(和Layer Transfer无关的实验)使用target data先训练,然后固定住前几层(多少层对应X轴)的参数。然后继续用target data去调整后面剩下的layer。可以看到固定越多层,效果越差。因为不同的layer是有互相协调的。
3.(和Layer Transfer无关的实验)使用target data先训练,然后固定住前几层(多少层对应X轴)的参数。然后继续用target data去fine-tune整个模型。
4.做了Layer Transfer的结果。复制越多层,效果慢慢变差。
在这里插入图片描述

Multitask Learning

在这里插入图片描述

Multitask Learning能让机器学会多个任务。Multitask Learning很适合用neural network 来做。

上图左边,在network的前几层共用layer,到了后面要细分任务的时候再分为多个layer。

如果两个任务只有中间比较像,那就可以用上图右边的做法。

在这里插入图片描述

Multitask Learning一个很成功的的应用就是 多语言的语音辨识。

虽然是不同语言,但是声音的信号都差不多,所以前面的layer可以共用。到了细分语言再拆成多个layer。

在这里插入图片描述

上图是一个普通话(mandarin)的识别。 X轴是普通话的数据的时长,Y轴是错误率。

可以看到,虽然欧洲语言和普通话好像一点都不像。但是把欧洲语言和普通话一起做 Multitask Learning,让欧洲语言去帮忙调整前几层layer的参数,可以看到训练出来的结果会比只有普通话作为训练数据要好。

从图中横线的位置可以看出,Multitask Learning 达到和 Mandarin only 相同的错误率,Multitask Learning使用的训练数据明显更少。

Progressive Neural Networks
在这里插入图片描述
这个方法是这样:

1.先训练一个network解决task 1 。
2.固定住task 1 的network的参数,把task 1的network 的layer复制到task 2 的network中。
好处:即便在训练task 2时,也不会影响原来task 1的model的参数。同时,如果task 1的参数不适用于task 2,也会在训练时被慢慢调整好,不会对task 2造成影响。

source data有label,target data没label
在这里插入图片描述
Domain-adversarial training
在这里插入图片描述
这里source data是有label,而target data没有label。

以手写数字识别为例,source data是MNIST数据集,而target data是MNIST-M。

这时可以把source data看做training data,而target data看做testing data。但是这里有一个问题是,这两者的特征不是很像

在这里插入图片描述
如上图,把model前几层提取的特征显示出来,可以看到source data和target data的特征是很不一样的(图中的红色和蓝色点有明显的分界线)。所以如果用source data去learn一个model后,直接以target data作为input去预测,结果肯定是很差的。
在这里插入图片描述

所以我们要使得source data和target data输入model后,经过feature extractor后,所得到的特征是比较像的,即如上图是“混在一起”的。

所以这里将feature extractor的output接到一个domain classifier。domain classifier是分类source data和target data的特征,所以最好的情况是feature extrator的output,能使的domain classifier的准确率达到最低(即代表source data和target data的特征没被区分开)。

但这里有个漏洞,如果要使domain classifier的准确率很低,那feature extractor可以不管input是什么,都output 同一个数值。这明显是不对的,所以还要加一个限制。如下。

在这里插入图片描述

在刚才的基础上,再加一个label predictor。所以现在feature extractor不仅要能最小化domain classifier的准确度,还要最大化分类的准确率。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

上图是使用有无Domain-adversarial training的对比结果。
在这里插入图片描述
在刚才 Domain-adversarial training 的例子中,source data和target data比较不像。

但在 Zero-shot Learning 里,source data和target data是两种不同task。如上图,source data是分类猫狗的data,而target data则是分类羊驼的任务。这时可以有两个方法可以做:Representing each class by its attribute、Attribute embedding。

Representing each class by its attribute

在这里插入图片描述

既然使用target data没办法直接预测图中的物体是什么,那就换一种角度。

让neural network去预测图中物体有哪些特征(例如毛茸茸,4条腿,有尾巴等)。
知道图中物体有哪些特征之后,查数据库(这个是人工建立的),看拥有此特征对应哪种物体。

Attribute embedding

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

这里需要引进word vector。word vector的每一维代表这个word的某一种attribute。

现在直接把动物的名字所对应的word vector来代替每一种动物的attribute。其他步骤和刚才Attribute embedding一样。

Convex Combination of Semantic Embedding
在这里插入图片描述
这个方法的好处是不用训练。

步骤如下:

把image输入到一个NN(随便找个现成的NN就行),NN输出这张图片属于不同种类的几率。比如上图属于狮子和老虎的几率都是0.5 。
去找lion和tiger的word vector,把它们按各自0.5融合,得到图中黑色的点。
去找其他word vector看哪个点和这个黑色点距离比较近。如上图liger的word vector和这个黑色点比较近,就说明 image 的物体属于这个liger 。
在这里插入图片描述
Example of Zero-shot Learning

在这里插入图片描述
在这里插入图片描述

上面两张图是Zero-shot Learning应用在翻译的例子。这个例子的training data除了日转韩,其它都有。所以使用Zero-shot Learning后就能实现日转韩的翻译。

它的步骤大概可以理解为:

输入的英语日语韩语到机器中。
机器将data投射到另一个space上(转换为另一种机器自己看得懂的语言)。不同语言但是同一个意思的词在这个space上的位置都差不多。
最终输出翻译的时候就把这个space上的点转换为人类看得懂的语言。

source data有label,target data没label
在这里插入图片描述
Self-taught learning
在这里插入图片描述

这个方法步骤如下:

从source data里去learn 一个性能更好的feature extractor
用这个性能更好的feature extractor去target data上提取feature。

source data没label,target data没label
论文如图,自己看

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-02 11:21:53  更:2021-09-02 11:24:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 16:41:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码