李宏毅机器学习笔记【未完】
李宏毅2021/2022春机器学习课程【《2021机器学习-李宏毅》学习笔记】一、机器学习1.机器学习基本概念找一个函数。深度学习:使用类神经网络的函数。可以有各式各样的输入:向量,矩阵(如图像),序列(如语音,文本);也可以有各式各样的输出:数值(regression),类别(classification),文本图像…函数类别Regression(回归):输出是一个数值(scalar)Class
一、机器学习
1.机器学习基本概念
找一个函数。
深度学习:使用类神经网络的函数。
可以有各式各样的输入:向量,矩阵(如图像),序列(如语音,文本);也可以有各式各样的输出:数值(regression),类别(classification),文本图像…
- 函数类别
Regression(回归):输出是一个数值(scalar)
Classification(分类):给定选项/类别(classes),输出正确的
Structured Learning:创造一些结构(image,document)
- 如何找一个函数(训练)
1.Function with unknown parameters.
model:
y
=
b
+
w
x
1
y = b + wx_1
y=b+wx1
x:feature;w:weight;b:bias
2.Define loss from training data.
Loss是未知参数的函数,L(b, w),How good a set of value is.
例如,MAE,MSE;error surface(误差曲面)
3.Optimization 找到一组w和b让loss最小
w
∗
,
b
∗
=
a
r
g
m
i
n
w
,
b
L
w^*,b^* = arg\underset{w,b}{\mathrm{\ min}}\ L
w∗,b∗=argw,b min L
Gradient Descent:w-loss图像,随机选一个初始的点,计算斜线切率(L对w求微分),正的则增大w,负的则减小w;w0 -> w1 步伐大小,斜率大步伐划大,learning rate(超参数hyper parameters);不断更新w,停下来的情况可能是微分为0(local minima,真正loss最小 global minima)
两个变量w和b:w和b的方向结合起来,可以更新新的梯度方向
考虑周期性,更新model(函数)
以上,linear model(线性模型),线性模型的限制:model bias
piecewise linear curves(分段曲线) = constant + sum a set of 平稳的阈值(蓝色function,hard sigmoid)(Sigmoid Function,公式如下)
y
=
c
1
1
+
e
−
(
b
+
w
x
1
)
=
c
s
i
g
m
o
i
d
(
b
+
w
x
1
)
y = c\ \frac{1}{1+e^{-(b+wx_1)}} = c\ sigmoid(b + wx_1)
y=c 1+e−(b+wx1)1=c sigmoid(b+wx1)
改变w,b,c 的影响
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-upk7HGcK-1652774598419)(https://diamond-mule-bee.notion.site/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fd52a58b4-465f-485d-a0f2-eeb47134c890%2FUntitled.png?table=block&id=76f26ca5-49eb-416a-9bca-fd3c4327cad0&spaceId=effd33e2-527b-43dc-aef5-7b5ee7b83428&width=1030&userId=&cache=v2)]
- new model:(可以用线性代数表示)
y = b + ∑ i c i s i g m o i d ( b i + ∑ j w i j x j ) y = b + \sum \limits_i c_i \ sigmoid(b_i+\sum \limits_j w_{ij}x_j) y=b+i∑ci sigmoid(bi+j∑wijxj)
y = b + c T σ ( b + W x ) y=b+\pmb{c^T} σ(\pmb b+W\pmb x) y=b+cTcTcTσ(bbb+Wxxx)
所有的参数统称为 θ,所以Loss表示为 L(θ)
- Optimization of new model(优化过程):
选定初始参数值向量θ0;求微分(梯度向量);更新参数。
θ
∗
=
a
r
g
m
θ
i
n
L
\pmbθ^*=arg\ \underset{\pmb θ}min\ L
θθθ∗=arg θθθmin L
L对θ微分,拼成向量就是gradient(g),(梯度)
g
=
∇
L
(
θ
0
)
\pmb g=∇L(\pmbθ^0)
ggg=∇L(θθθ0)
θ 1 ← θ 0 − η g \pmb\theta^1 \larr \pmb\theta^0 - \eta\ \pmb g θθθ1←θθθ0−η ggg
……依此类推。
batch:一批,randomly,每次更新参数时使用1歌batch里的数据计算loss求梯度,bitch_size也是超参数
epoch:把所有的batch看一遍
update:每更新一次参数
- sigmoid → ReLU(Activation Function激活函数)
把两个 ReLU 叠起来,就可以变成 Hard 的 Sigmoid。
y
=
b
+
∑
2
i
c
i
m
a
x
(
0
,
b
i
+
∑
j
w
i
j
x
j
)
y = b + \sum \limits_{2i} c_i \ max(0,b_i+\sum \limits_j w_{ij}x_j)
y=b+2i∑ci max(0,bi+j∑wijxj)
neuron →neural network
layer → deep learning
layer过多的话,会出现 overfitting问题(过拟合),layer层数(做几次sigmoid,ReLU)也是超参数
Back propagation(反向传播):计算梯度的一种有效方法
2.Colab使用教程
https://blog.csdn.net/qq_36890370/article/details/106160805
二、机器学习任务攻略
1.机器学习任务攻略
- 复习训练的过程
写出一个有未知参数的function,确定损失函数,optimization
- general guide(如何达到更好的效果)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-loGgZh5J-1652774598420)(https://diamond-mule-bee.notion.site/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F6586a506-6ac8-43ad-a1d9-28e6de0b1fdb%2FUntitled.png?table=block&id=53a2d275-3157-4673-93d0-c137a8465213&spaceId=effd33e2-527b-43dc-aef5-7b5ee7b83428&width=2000&userId=&cache=v2)]
model bias
the model is too simple. 没有找到一个function可以让loss变小
解决:重新设计model
optimization issue
先跑一些浅层的网络(或者其他不是深度学习的模型)(比较好优化);如果更深的model比浅的比起来loss更大,说明optimization有问题
over fitting
training data上loss小,testing data上loss大
解决:
增加training data,data augmentation(数据增强),
constrained model(给model制造限制,less parameters,sharing parameters,less features,early stopping,regularization,dropout)(给模型太多限制可能会model bias)
Cross Validation
怎样选出有较低testing-loss的模型?
training set分成training set和validation set(训练集,验证集)
N-fold Cross validation(K折交叉验证法)
mismatch
训练资料和测试资料分布不一样(作业11)
2.类神经网络训练不起来怎么办
a.局部最小值和鞍点
- optimization fails because……
gradient为0:local minima(no way to go),saddle point(鞍点)(escape)
泰勒展开写出附近的loss函数L(θ’)
L
(
θ
)
≈
L
(
θ
′
)
+
(
θ
−
θ
′
)
T
g
+
1
2
(
θ
−
θ
′
)
T
H
(
θ
−
θ
′
)
L(\pmb\theta)\approx L(\pmb\theta')+(\pmb\theta-\pmb\theta')^T\pmb g+\frac1 2(\pmb\theta-\pmb\theta')^T H(\pmb\theta-\pmb\theta')
L(θθθ)≈L(θθθ′)+(θθθ−θθθ′)Tggg+21(θθθ−θθθ′)TH(θθθ−θθθ′)
g表示梯度,是L的一阶导数,H表示海塞矩阵(Hessian),是L的二阶导数
在critical point附近,第二项为0,根据第三项判断是local min,还是local max,还是saddle point
大于0,local minima;小于0,localmaxima;有正有负,saddle point
判断正负:二次型,算H的特征值就行
H may tell us parameter update direction!
按照海塞矩阵特征值为负的对应特征向量的方向走
Saddle point v.s. Local minima
Loss在高维空间,local minima比saddlepoint少很多
b.批次和动量
- tips for training: Batch and Momentum
1 epoch = see all the batches once
Shuffle(置乱) after each epoch
Small Batch v.s. Large Batch
比较大的batch size not require longer time to compute gradient(除非太大)
比较小的batch需要更长的时间for one epoch(longer time for seeing all data once)
小的batch size有更好的表现,而batch size大性能不好?Optimization Fails
小的batch size有更好的表现:“Noisy” update is better for training.
small batch is better on testing data?
flat minima,sharp minima(差很多)
batch size也是超参数。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hptQrEUs-1652774598421)(https://diamond-mule-bee.notion.site/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F3158ec11-5567-4ef4-a7d6-79d3db676675%2FUntitled.png?table=block&id=6160f7de-7bcc-4299-8e1d-39cf98246302&spaceId=effd33e2-527b-43dc-aef5-7b5ee7b83428&width=1090&userId=&cache=v2)]
Momentum(动量) 惯性
Vanilla Gradient Descent(一般的梯度下降),只考虑梯度的方向,向反方向移动
Gradient Descent + Momentum,考虑前一步移动的方向
另一个解读:更新的方向不是只考虑现在的 Gradient,而是考虑过去所有 Gradient 的总合
总结:
-
Critical points have zero gradients.
-
Critical points can be either saddle points or local minima.
- Can be determined by the Hessian matrix.
- It is possible to escape saddle points along the direction of eigenvectors of the Hessian matrix
- Local minima may be rare.
-
Smaller batch size and momentum help escape critical points.
c.自动调整学习率(Adaptive Learning Rate)
Different parameters needs different learning rate.
坡度比较大的时候,learning rate设小一点;坡度比较小的时候,lr设大一点
θ
i
t
+
1
←
θ
i
t
−
η
σ
i
t
g
i
t
\pmb\theta^{t+1}_i \larr \pmb\theta^t_i-\frac{\eta}{\sigma^t_i} \pmb g^t_i
θθθit+1←θθθit−σitηgggit
求σ:Root Mean Square
Adagrad(考虑之前所有的梯度大小)
坡度小,gradient比较小,σ就小;反之
缺点:不能“实时”考虑梯度的变化情况
RMS Prop(加权重,调整“当前步”梯度与“历史”梯度的重要性)
调整α
Adam:RMSProp + Momentum
调用pytorch的
learning rate scheduling
learning rate dacay(跟时间有关)
Warm up(lr先变大后变小)(限制参数不会走的离初始的地方太远)
RAdam
总结:
-
使用动量,考虑过去的梯度**“大小”与“方向”**
-
引入σ,考虑过去梯度的“大小”(RMS)
-
使用Learning Rate Schedule
d.损失函数
classification as Regression: class as one-hat vector(独热向量)
得到y’:softmax(把它Normalize到0到1之间),sigmoid(两个class)
计算y’跟ŷ之间的距离:MSE,Cross-entropy(常用在分类问题)
minimizing cross-entropy is maximizing likelihood(极大似然)
在pytorch里面,Cross-entropy跟Soft-max,他们是被绑在一起的,他们是一个Set,只要Copy Cross-entropy,里面就自动内建了Soft-max。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JmyiQE8q-1652774598423)(https://diamond-mule-bee.notion.site/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F1f6dae63-ffbc-41c6-83ee-bcf286ef2764%2FUntitled.png?table=block&id=e028b452-d68c-4a12-be9e-42962d24b75a&spaceId=effd33e2-527b-43dc-aef5-7b5ee7b83428&width=2000&userId=&cache=v2)]
e. batch normalization
给不同的dimention同样的数值范围:Feature Normalization(归一化)
normalization要放在 activation function 之前或之后都是可以的
实际上做Normalization时,只能考虑有限数量的数据:考虑一个Batch内的数据,近似整个数据集(batch size比较大)
testing(inference):μ,σ 算 moving average(加权平均,权值是超参数)
Batch Normalization 可以改变 error surface,让 error surface 比较不崎岖
三、卷积神经网络(CNN)
1.CNN
常用场景:image classification
一张图片是三维的tensor(张量),拉直成一个向量(全连接)
简化1:
Receptive field(感受野),可以重叠(overlapped)
all channels,高宽kernel size,stride(步长),会overlap,超出范围padding
简化2:
共享参数。filter 计算内积
cnn→convolutional layer→局部连接+共享参数
一个图片通过conv得到feature map(特征图,channel变大,filters数)
连续两个3*3,相当于原图上的5*5,一个filter扫过整张图片
简化3:
pooling(池化)(图片变小,channel不变),可以让参数变少
max pooling,mean pooling
其他应用:围棋、语音、文字处理…
围棋:19*19的向量,channel为48,没有用pooling
cnn不能处理图像放大缩小旋转,need data augmentation
2.为什么用了验证集(Validation)结果还是过拟合?
val训练结果不好:H val复杂程度(待选择模型太多),N val大小
3.鱼和熊掌可以兼得的机器学习:深度学习
H小(待选择的模型),Loss低
fat+short 的loss比 thin+tall 大,
产生同样的neural,deep参数远小于shallow,when the reqquired functions are complex and regular
2021李宏毅作业hw3 --食物分类。对比出来的80准确率 🔗
李宏毅2021春机器学习HW1——记录与拓展 🔗
四、自注意力机制(self-attention)
1.应用背景
Vector Set as Input
自然语言处理:word表示为向量:one hot,word-embedding
声音信号:frame帧
图:社交网络图,化学分子式(每个节点视为一个向量)
Output
sequence Labeling,输入输出数量相等
one label,一个输出
model decides the number of labels,seq2seq
2.self-attention
paper:Attention is all you need.
每个b都考虑所有a:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rMgFeDxd-1652774598429)(https://diamond-mule-bee.notion.site/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa3a65878-e15f-40ac-bdd6-338d081073b8%2FUntitled.png?table=block&id=68d19f7d-44ed-474e-8520-414492b58cc4&spaceId=effd33e2-527b-43dc-aef5-7b5ee7b83428&width=670&userId=&cache=v2)]
计算每两个a之间的相关程度α:Dot-product、Additive
Dot-product:输入的这两个向量分别乘上两个不同的矩阵,左边这个向量乘上矩阵 W^q得到矩阵 q,右边这个向量乘上矩阵 W^k得到矩阵 k;再把 q跟 k做dot product,逐元素相乘后累加得到一个 scalar就是α
Additive:得到 q跟 k后,先串接起来得到 α,再过一个Activation Function(Normalization),然后得到 α‘,α‘和v相乘再相加(加权求和);b可以一次性产生
矩阵乘法角度:q=Wa,k=Wa,v=Wa,三个不同的矩阵W(未知的)
α=kq(全是向量/矩阵计算)→α’
O=VA‘
Multi-head Self-Attention
使用多个 q,k,v组合,不同的 q,k,v 负责不同种类的相关性
Positional Encoding
为每个位置设定一个positional vector:hand-crafted手工设置、根据资料计算
应用
NLP、语音(Truncated self-attention)、Image图像
Self-attention v.s. CNN
CNN:简化版的self-attention,资料越多self-attention(弹性好)越好
Self-attention v.s. RNN(循环神经网络)
Self-attention 可以平行处理所有的输出,效率更高
Self-attention for Graph:GNN
五、Transformer
Sequence-to-sequence(Seq2seq)
1.应用背景
语音识别、机器翻译、语音翻译、Chatbot、QA、文法分析、multi-label classification、Object Detection
2.结构
- Encoder:输入一排向量,输出另外一排同样长度的向量
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5cGa0msi-1652774598432)(https://diamond-mule-bee.notion.site/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F3fd757f3-1ee4-4316-9b81-368f982b7626%2FUntitled.png?table=block&id=45d2d5ca-2639-40bb-918d-8634f20bfe4a&spaceId=effd33e2-527b-43dc-aef5-7b5ee7b83428&width=1060&userId=&cache=v2)]
每个Block中的架构:
- multi self-attention
residual connection:把这个vector加上它的input作为output【残差网络】
layer normalization:对同一个feature,同一个example,不同的dimension,去计算mean跟standard deviation
FC network,也有residual的架构
把residual的结果,再做一次layer normalization得到的输出,才是residual network里面,一个block的输出
- Decoder:产生输出,常用Autoregressive(AT)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fwg6uTb0-1652774598433)(https://diamond-mule-bee.notion.site/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F00501b23-5e85-480d-b1e0-324f871e949b%2FUntitled.png?table=block&id=4bfbcb77-9232-4960-a121-f574f4ce1dca&spaceId=effd33e2-527b-43dc-aef5-7b5ee7b83428&width=1170&userId=&cache=v2)]
Transformer中:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qeB97o6p-1652774598434)(https://diamond-mule-bee.notion.site/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F6fe24f84-7de6-4d5c-b8c6-31cc2e4c7411%2FUntitled.png?table=block&id=4da83c18-cf4a-4d1d-a97b-cf19e0759828&spaceId=effd33e2-527b-43dc-aef5-7b5ee7b83428&width=960&userId=&cache=v2)]
Masked self-attention:产生输出时,不能再看”右边“的部分(一步一步输出)
- Decoder:Non-Autoregressive(NAT)
一次产生整个句子,并行化,能控制输出的长度,performance不如AT
- Encoder-Decoder之间的信息传递
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZAAaA0WK-1652774598435)(https://diamond-mule-bee.notion.site/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fb2dcb41f-01e9-483a-abd9-4d2e94fc6396%2FUntitled.png?table=block&id=2a5f4eb5-99a2-4eae-b928-cecfc8a043b0&spaceId=effd33e2-527b-43dc-aef5-7b5ee7b83428&width=1560&userId=&cache=v2)]
Cross Attention
not transformer
3.训练(Training)
训练数据:一段音频与对应的文字,文字为one-hot编码的向量
训练过程:Decoder输出的是概率分布。可以通过输出的概率分布与Ground Truth之间的计算交叉熵(Cross Entropy)并求梯度实现优化,交叉熵的值越小越好。
Teacher Forcing: using the ground truth as input
- tips:
Copy Mechanism
复制输入,如,Chatbot,写摘要
Guided Attention
强迫机器要把输入的每一个东西都看过,如 语音识别,语音合成
Beam Search(集束搜索)
每次都选择分数最高的:Greedy Decoding
用比较有效的方法找一个估测的 Solution,不是完全精准的 Solution
需要机器发挥创造力/随机性的时候,beam search就比较没有帮助,如语音合成TTS,续写
评价标准:BLEU Score 是 Decoder产生一个完整的句子以后再去跟正确的答案一整句做比较
训练的时候,是看 Cross Entropy,实际上作业真正评估的时候,看的是 BLEU Score
不能把BLEU作为LOSS:无法微分
解决办法:遇到在 Optimization 无法解决的问题,用 RL 硬 Train 一发。遇到无法 Optimize 的 Loss Function,把它当做是 RL 的 Reward,把你的 Decoder 当做是 Agent。
Scheduled Sampling
给 Decoder 的输入加一些错误的东西
会损害并行化的能力
六、生成式对抗网络GAN
1.基本概念介绍
a. Generator
输入除了x以外,还有从某一简单的(已知)分布中随机采样得到的一个random的z
从network输出的也将是一个分布
b. 机器需要Creativity的时候
画图、聊天机器人
c. GAN
Unconditional generation:没有x,只看z
Discriminator(判别器):输入一张generator的产物,输出一个数字scalar;也是一个神经网络
d. 算法
初始化generator与discriminator,开始以下迭代:
固定G,训练D;固定D,训练G,使之骗过D
Progressive GAN:产生人脸,做内插
2. 理论介绍与WGAN
a. our objective目标
让生成器产生的与真实数据之间的分布接近
G
∗
=
a
r
g
m
G
i
n
D
i
v
(
P
G
,
P
d
a
t
a
)
G^*=arg\ \underset{G} min\ Div(P_G,P_{data})
G∗=arg Gmin Div(PG,Pdata)
怎么计算divergence?通过sample数据,借助 Discriminator 来计算
训练Discriminator,真实图和生成图给不同的分数,训练过程等价于训练一个二元分类器
用max_D V(D,G)代替Div(D,G)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vCAJwVPu-1652774598436)(https://diamond-mule-bee.notion.site/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F6207f090-d8e5-4dd1-a956-d9f1bd5153e6%2FUntitled.png?table=block&id=eaf19fdd-4470-41aa-b6b7-c5932edd8984&spaceId=effd33e2-527b-43dc-aef5-7b5ee7b83428&width=1470&userId=&cache=v2)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h1MMSBK6-1652774598437)(https://diamond-mule-bee.notion.site/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fa6deb1c3-d57b-4cd8-a7b8-1112cabfc335%2FUntitled.png?table=block&id=27498bc4-314b-4cf9-b1be-d3bcbb68b3b7&spaceId=effd33e2-527b-43dc-aef5-7b5ee7b83428&width=1670&userId=&cache=v2)]
b. 训练技巧——WGAN
P_G和P_Data low-dim manifold in high-dim space. 重叠范围少
JS Divergence 的特性:两个没有重叠的分布算出来的值恒为 log2,无法衡量这类(没有重叠的)分布之间的关系。
使用Wasserstein distance(Earth Mover Distance)替代JS Divergence
推土机推土距离的最小值:穷举/优化问题
- 计算:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0Fh3T4Nb-1652774598437)(https://diamond-mule-bee.notion.site/image/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fd8088967-ce00-4d82-affc-f8ff1cc0c3b4%2FUntitled.png?table=block&id=ea5e0e03-0a8b-4acb-aaa9-aa6cdae816ff&spaceId=effd33e2-527b-43dc-aef5-7b5ee7b83428&width=1410&userId=&cache=v2)]
D必须要是一个足够平滑的function,这样即使两个分布没有重叠时,也不会出现“过于剧烈”的D,保证收敛性。避免了JS Divergence出现的问题。
- 如何实现D的限制条件:
限制参数大小;Gradient Penalty;Spectral Normalization(SNGAN)
3. 生成器效能评估与条件式生成
a. GAN训练困难
困难:Discriminator 跟 Generator,它们互动的过程是自动的。不会在每一次 Train Discriminator 的时候都换 Hyperparameter。如果有一次loss没有下降,那整个训练过程都有可能出现问题。
b. GAN for sequence Generation,不能用GD
使用Reinforcement Learning?:GAN+RL难以训练
其他的生成办法VAE、FLOW-based
有监督学习的生成模型:Generative Latent Optimization (GLO),Gradient Origin Networks
c. Evaluation of Generation(评价指标)
将图片图像影像分类系统
- Diversity:对所有(一批)图片
Diversity-Mode Collapse(模型崩溃):训练输出的分布局限在很小的范围
Diversity-Mode Dropping(模型丢弃):训练输出的分布范围较大,但没有完全覆盖真实数据分布(多样性减小)
评估多样性:把图像分类系统对所有生成结果的输出平均起来
- 量化指标
Inception Score(IS),基于CNN的Inception网络
Fréchet Inception Distance (FID),取Softmax 之前的 Hidden Layer 输出的向量,来代表这张图片
利用FID衡量不同GAN的性能——Are GANs Created Equal,A Large Scale Study
- We don’t want memory GAN.(记忆性)
d. conditional generation(supervised learning)
- text-to-image
DIscriminator:考虑Condition x,图片跟文字的叙述必须要是相配的,Discriminator 才会给高分
需要“图片-文字”的成对资料:高分;需要准备“好图片-配错文字”的成对资料:低分
- Image Translation(pix2pix)
会输出“模糊”
-
声音-图片
-
产生会动的人像
4. Cycle GAN
- learning from unpaired data
例如,图片风格转换:两个Domain之间的转换
三个Network:X转成Y;把Y还原回原来的X;discriminator看generator的输出像不像是Y domain的图
问题:两个generator学到的操作不是预期的,比如左右翻转之类的
- 双向Cycle GAN
把橙色的generator拿来,给它Y domain的图片,让它产生X domain的图片
再把蓝色的generator拿来,把X domain的图片,还原回原来Y domain的图片
- More style-transfer GAN
StarGAN——多种风格间转换
- text style transfer
利用RL硬做
负面的句子转换为正面的句子:两个generator,把正面的句子转回原来负面的句子
其他应用:文本摘要,无监督翻译,无监督语音识别
七、自监督式学习
https://diamond-mule-bee.notion.site/07-Self-Supervised-Learning-BERT-fffe64d9c1ec4200a2db33ba911a24c4
https://www.bilibili.com/video/BV1Wv411h7kN?p=71
八、自编码器(Auto-encoder)
https://diamond-mule-bee.notion.site/08-Auto-encoder-57c07342cd7642298e897d0ad04aa502
九、机器学习的可解释性
https://diamond-mule-bee.notion.site/09-Adversarial-Attack-125d90a904ab4c7ab4db7162c9f1cbea
十、来自人类的恶意攻击(adversarial attack)
https://diamond-mule-bee.notion.site/10-Explainable-AI-9ea7e4815dfb4c94bff3e8dd596ded42
十一、概述领域自适应(domain adaption)
https://diamond-mule-bee.notion.site/11-Domain-Adaptation-c6f428ddbe264c878b2fa8bdf2d124dd
十二、概述增强式学习
https://diamond-mule-bee.notion.site/12-Reinforcement-Learning-RL-00c5c8c0e77749e3add1726525467ff5
十三、神经网络压缩
https://diamond-mule-bee.notion.site/13-Life-Long-Learning-LLL-120a6afa51a84f238a3f59a926ae082d
十四、机器终身学习
https://diamond-mule-bee.notion.site/14-Compression-523b9ce9e62640aab94d2e82dc975923
十五、元学习(Meta learning)
https://diamond-mule-bee.notion.site/15-Meta-Learning-b98f8168d4044ad783b6241acd4e666a
十六、
https://diamond-mule-bee.notion.site/16-c6364089b256467b98f3aa1c025d51b6
更多推荐
所有评论(0)