视频地址

李宏毅深度学习(nlp)2017

视频摘要

P1

讲了RNN,LSTM ,GRU网络构造

P2

讲了卷积的原理,pooling的原理,已经不太常规的poolling方法。另外提到一种特殊的Rnn结构stackRNN

P3

讲了深度学习反向传播的知识,其中提到链式法则,fc网络的bp方法和RNN的bp方法

P4

讲语言模型
n-gram : P(a|b)直接统计语料库的概率
nn-based-LM: P(a|b)由网络计算出来,其原理是matrix-factorization
RNN-based-LM: P(a|b,c)由网络计算出,RNN可以用前一次计算的隐状态,相比传统方法计算P(a|b,c)参数计算量更少。

P5

Spatial Transfromer Layer
主要思路是在图像进入CNN之前,先经过旋转缩放操作,然后在进行识别。主要解决了cnn网络无法识别经过旋转缩放的图像。(感觉好像random corp 也能部分解决)
该转换层仅仅需要6个参数,对图像的左边进行转换:
[xbeforeybefore]∗[w1w2w3w4]+[b1b2]=[xafteryafter]\begin{bmatrix}x_{before}\\ y_{before}\\\end{bmatrix}*\begin{bmatrix}w_1&w_2\\ w_3&w_4\\\end{bmatrix}+\begin{bmatrix}b_1\\ b_2\\\end{bmatrix}=\begin{bmatrix}x_{after}\\ y_{after}\\\end{bmatrix}[xbefore​ybefore​​]∗[w1​w3​​w2​w4​​]+[b1​b2​​]=[xafter​yafter​​]
训练时通过下图方法将权重和loss联系起来,然后训练权重

P6

HighWay Network &Gird LSTM
HighWay Network的方式和ResNet的方式有点相似
Resnet的下一层输出可表示为:
Layert+1=Laytert+RELU(W1∗Laytert)Layer_{t+1}=Layter_t+RELU(W_1*Layter_t)Layert+1​=Laytert​+RELU(W1​∗Laytert​)
HighwayNet的下一层的输出可表示为:
H=(W1∗Laytert)H=(W_1*Layter_t)H=(W1​∗Laytert​)
Z=signmod(W2∗Laytert)Z=signmod (W_2*Layter_t)Z=signmod(W2​∗Laytert​)
Layert+1=Z⨀Laytert+(1−Z)⨀HLayer_{t+1}=Z\bigodot Layter_t+(1-Z)\bigodot HLayert+1​=Z⨀Laytert​+(1−Z)⨀H
Gird LSTM:
在多层LSTM网络中横向(时间方向)都会有hidden做为隐转态传递,作为短时记忆。纵向(深度方向)传递前一层LSTM的输出。
Gird LSTM 在纵向(深度方向)加了一个隐状态。使得多层LSTM见深度方向上也具备短时记忆。

P7

Recuesive Network 递归神经网络
主要思想是重复使用一个网络。

介绍了两种实现形式:
1.Recuesive Neural Tensor Network
2.Matrix-Vector Recuesive Network
区别是网络内部数据流动方式不一样。

P8

1.RNN生成模型

1.RNN直接生成一些文字内容。写诗机
2.RNN生成图片。(gird lstm的高级用法,考虑临近像素的相关性)
3.看图说话。CNN信息提取Vector,作为RNN的输入(隐状态),RNN输出文字
4.seq2seq。不同的是encoder的输出,多次的传给decoder(防止遗忘),而不是只在开头穿一次
5.多轮对话的RNN。多级RNN,多的那一级RNN用于处理每句话RNN输出vector,然后输出一个vector给Decoder

2.attention

attention 本质上做的事情就是为decoder筛选有用的输入信息.
1.在seq2seq中是在decoder的输入(hidden和input)考虑所有encoder的输出(hiddenoutput),具体方法就是乘某些可训练的权值
2.在看图说话中可以将图片划分成多个图,每个图通过CNN产生一个Vector,然后使用注意力来选择这些vector(加权求和之类的办法)

3.memory network

感觉和attention的有点像,被用来做阅读理解

4.neurl turning machine

在网络之外,维护一组vector(记忆),作为网络的部分输入,网络会输出一些控制,来修改这些记忆。

5.训练的track

attention训练应保持每次关注不同的元素,加一些正则化方法
seq2seq的训练,decoder输入可以 以一定概率选择前一次decoder的输出或者正确的标签。(scheduled samaling)
Beam Search:decoder的输出保留K个最可能的输出,下一时间输出K个,在k*N(词的个数)个输出中保留K个输出,最终选择一条最好的seq

整体最好与局部最好:局部最好的方法就是每个decoder的输出求交叉熵之和,整体最好就是所有decoder输出的整体与target seq的差异最小,后者使用了reinforcement learning

P9 (特别注意)

1.Point Network

seq2seq模型的attention变种,decoder 产生的序列是 encoder输入序列的子集。decoder的attention的权重直接argmax挑选出输入。

2.Point Network的拓展应用

Point Network 的输出,结合seq2seq的输出做文本摘要。

P10

Batch Normalization 在网络的隐含层中按批次做Normalization。具体方法:
通常在激活层之前加BN。
由于σ\sigmaσ和μ\muμ需要一个batch。在predict时没有batch,只有单个样本。一种方法是记录训练时每轮的σ\sigmaσ和μ\muμ按照一定的权重加权平均。
Batch Normalization 的优点:
1.加快训练,可以使用较大的learnrate。(解决了 Internal Covariate Shift)
2.一定程度上缓解了梯度消失和爆照,特别是针对激活函数为signmod和tanh。(BN后输入的值落在0附近,梯度适中)
3.减少了训练结果和权重初始化的相关性。(w同乘k,BN后相当于没有乘)
4.一定程度上相当于进行的正则化,减少overfitting。(噪声被BN了)

P11

relu激活函数家族(大多数只是是<0的部分设置成一个负数)
其中一个特别的激活函数selu,在输入进行standardscale后(均值0,方差1),权重高斯分布初始化时。训练往往取得较好效果。

P12

capsule (胶囊网络)

单个神经元输入输出的不再是一个scalar(标量)而是一个vector(向量)。细胞内部部分权值更新部分依赖BP,部分靠迭代(像RNN)。
传统cnn可以检测到有没有某个pattern,而capsule自带了pattern之间的联系。
例如,是否有人脸:CNN,有鼻子眼睛就可以,capsule有鼻子眼睛还要位置合理才行

如何构建capsule网络参考:
https://blog.csdn.net/u013010889/article/details/78722140/

P13

超参选择:

  1. 网格搜索
  2. 随机搜索(效率高于网格搜索,如果只是要求选到比较好的超参,而不是最优超参)
  3. 用一个模型去学习超参和ACC之间的关系。(逻辑回归,RNN学习CNN的层数和卷积核大小和步长【RL】。RNN学习激活函数组合,还有learn_rate)

P14

  1. local minima 和 saddle point (优化时的问题)
  2. 网络巨大可以硬背输入数据。(但是网络并没有硬背,现阶段不知道为啥。)实验方法挺奇妙的。
  3. 用一个网络去学习另一个网络的输出(softmax),而非直接学习标签,效果比直接学好。(可以用于网络压缩,用小网络学大网络)

P15

  1. auto encoder
  2. Auto encoding variational bayes (VAE)
  3. GAN 的数学原理推导
  4. 实际使用时的方法化简后的数学方法
  5. conditionl GAN(text to image , image to image)

P16

  1. 回顾GAN的basc idea
  2. GAN损失函数的由来
  3. WGAN和改善的WGAN (修改了G和D的损失函数)
  4. conditionl GAN(text to image , image to image)(和前一节重复了)

P17

  1. 回顾seq2seq
  2. cha-bot中使用RL(policy gradient)训练。本质上讲传统方法训练是在求在训练集上的maxium-likehood,每个样本的权重都是1. 而在RL(policy gradient)训练时没有训练集,随机给一个可能的输入x,然后网络产生输出y,然后人给出R(x,y)分数。使R(x,y)为每个(x,y)的权重求maxium-likehood。
  3. R(x,y)不能全为正,需要使用R(x,y)-b。(b的确定方法没有讲)
  4. Alpha Go 式 RL训练方法, 不需要人给出R(x,y)。连个网络聊天,组成xy,然后自定义R(x,y)方法。(存疑)
  5. RL的其他方法:actor-critic
  6. seqGAN 可以看做 Generator 是seq2seq Discriminator和原本的GAN一样的GAN,也可以看做seq2seq +RL(Discriminator作为reward函数,只不过这个reward函数需要训练)。有一些训练时的track就是在reward的时候可以考虑将R(x,y)(对输入和输入整句)拆封成R(x,y1)+R(x,y2)…(对每个G产生的单词做)这样训练。

P18

三次元到二次元图转换(GAN+AutoEncoder+Classifer)

P19

Imiation Learning (模仿学习)

  1. Behavior Cloning (就是直接学习x,y)缺陷是expert 产生的(x,y)不能覆盖所有的出现的情况,可以做DataSet Aggregation。即actor在实际操作时产生expert 未产生的x时,expert 标出y,然后形成(x,y)放回训练
  2. Inverse Reinforcement Learning 。本质上是 structured learning(这个我也不知道,还需要去学习structured learning)。
    IRL 在实际学习的时候 先随机一个reward 函数给 actor,actor 产生一组(x1,y1),expert产生(x,y),是的R(x,y)>R(x1,y1),更新R。重复。
  3. GAN for Imiation Learning :Discriminator expert 产生的数据(data) 和actor (Generator)产生的数据.
  4. Third Person Imiation Learning .主要是之前的都是 expert 和actor 的视角是一样的。Third Person就是机器观察人的动作去学习,用到了Domain Adversarial Train 的方法。(还不了解去百度)。

P22

Energy-base GAN:主要是修改了Discriminator的方案,原本gan只要求做二分类即可,现在要求real data通过D的值尽可能大,而其他所有的data 尽可能小(structured learning)的方法
1.EBGAN 。discriminator 变成auto encoder 。loss修改的比较奇妙。 另外可以要求G产生的图通过encoder产生的vector尽可能不同。 EBGAN 也可以看做auto encoder 的一种有效的训练方法。
2.BEGAN。 类似EBGAN loss 更奇妙,效果很好。

李宏毅深度学习视频摘要相关推荐

  1. [李宏毅老师深度学习视频] 生成式对抗网络(GAN)【持续更新】

    从零开始GAN 1.生成式对抗网络 - 基本概念介绍 1.1.引入生成式对抗网络 1.2.Generative Adversarial Network(GAN) 2.GAN理论介绍+WGAN 上上个星 ...

  2. 李宏毅深度学习作业二

    任务说明 Binary classification is one of the most fundamental problem in machine learning. In this tutor ...

  3. 【李宏毅深度学习CP10】Self-attention(part1)

    学习心得 (1)传统的Attention是基于source端和target端的隐变量(hidden state)计算Attention的,得到的结果是源端的每个词与目标端每个词之间的依赖关系.但Sel ...

  4. [2022]李宏毅深度学习与机器学习第四讲(选修)-GNN

    [2022]李宏毅深度学习与机器学习第四讲(选修)-GNN 做笔记的目的 GNN NN4G DCNN MoNET GTA GIN 做笔记的目的 1.监督自己把50多个小时的视频看下去,所以每看一部分内 ...

  5. [2022]李宏毅深度学习与机器学习第十二讲(必修)-Reinforcement Learning RL

    [2022]李宏毅深度学习与机器学习第十二讲(必修)-Reinforcement Learning RL 做笔记的目的 What is RL Policy Gradient Version 1 Ver ...

  6. 李宏毅深度学习笔记——呕心整理版

    李宏毅深度学习笔记--呕心整理版 闲谈叨叨叨: 之前看过吴恩达的一部分课程,所以有一定理论基础,再看李宏毅的课程会有新的理解.我先以有基础的情况写完学习过程,后续再以零基础的角度补充细节概念(估计不会 ...

  7. [2022]李宏毅深度学习与机器学习第六讲(必修)-GAN

    [2022]李宏毅深度学习与机器学习第六讲(必修)-GAN 做笔记的目的 GAN generator Unconditional generator Theory Behind Tips for GA ...

  8. 吴恩达老师深度学习视频课笔记:逻辑回归公式推导及C++实现

    逻辑回归(Logistic Regression)是一个二分分类算法.逻辑回归的目标是最小化其预测与训练数据之间的误差.为了训练逻辑回归模型中的参数w和b,需要定义一个成本函数(cost functi ...

  9. 收集一些深度学习视频

    <机器学习&&深度学习> 视频课程资源百度云下载.  林轩田:机器学习基石  链接:http://pan.baidu.com/s/1qXSKZP64 密码:dwie 林轩田 ...

最新文章

  1. Jmeter也能IP欺骗!
  2. mysql需要vc_VC连接MySql
  3. TI(德州仪器) TMS320C674x逆向分析之一
  4. 解读webpack的bundle.js
  5. 删除mysql临时文件_mysql自动备份数据库与自动删除临时文件
  6. wordpress中文路径出现404错误的解决办法
  7. vue实现钉钉扫码登录
  8. 经典网页设计:25个精美的全屏背景网站设计作品
  9. 【ABC 132 E】Hopscotch Addict(最短路)
  10. LeCo-81.搜索旋转数组(二)
  11. 华为服务器显示乱码,本地正常 服务器乱码
  12. matlab单边带调制器设计,通信系统综合设计与实践(基于MATLAB的单边带调制)研究.doc...
  13. 企业级应用Service Management Automation X(SMAX)的微服务之路
  14. 【蓝桥杯】算法提高 奥运会开幕式
  15. FFmpeg:基础命令
  16. 微信内置浏览器的JsAPI(WeixinJSBridge续)
  17. 中国紫外线传感器市场深度研究分析报告
  18. 微信公众号接入多客服系统,功能使用说明
  19. 5G技术带来无限可能,VR全景视频前景怎么样?
  20. shell脚本常见参数

热门文章

  1. 软考架构师-知识点总结
  2. python求三角形面积步骤_通过求三角形面积步入python程序世界.pdf
  3. AVC/H264格式压缩编码原理
  4. 教你如何配置CISCO路由器
  5. 谷歌身份验证 asp.net core和go的实现
  6. vscode win10笔记本 蓝屏_win10 最近突然频繁蓝屏
  7. spyder(anaconda3)进行汉化
  8. x265-1.8版本-common/framedata.h注释
  9. ecmall mysql调用_ECMall系统请求跳转分析
  10. 软考高级-系统架构师-第四章系统开发基础知识