台大陈蕴侬-应用深度学习2020春课程笔记-Part2-语言以及RNN部分-20210309
因为笔记内容太多,所以尽可能每3-4天汇总成一篇日记,最后汇总成一个豆列或者另外一篇日记来做汇总以及总结;
视频地址:
https://www.bilibili.com/video/BV1T54y1Q72U?p=15
前一部分:
台大陈蕴侬-应用深度学习2020春课程笔记-Part1-基础部分-20210304
https://www.douban.com/note/795820277/
================================================
4、3月5日,第四天

OK,从语料库的方法继续,one-hot编码;

改进one-hot编码的第一点就是词与词之间都是独立的

全文的潜在语法分析;

也是一种很机械的分析方法啦
就是counting的感觉,其实;

这表达方法也是很糟心
维度奇高无比
然后,贼稀疏;

欧克,数学家来咯
降维
做SVD(奇异值分解)
https://www.cnblogs.com/endlesscoding/p/10033527.html
=============================================

走一个近似

阿西吧,说到底就是很难计算

直接从低纬开学
然后最后一条其实是最流行的
word2vec
呵呵呵呵,As known as “Word Embeddings”
【词嵌入】;
word2vec,可是一个well known的库了;

所以最后探索了半天,最后还是要把
well known的Word Embedding学了;
========================================

OK,然后就戛然而止了
开始看RNN
================================================
5、3月8日,第五天,应该主要是看RNN的内容了

OK,循环神经网络;开始


判断哪一个序列更加符合文法

N-Gram 语言模型

数数儿

问题:如果序列没有出现在training data里,那么概率值也会为0

做一个小概率,不要走0
做一个smoothing

所以说这种活儿,还真的是搜索引擎才能干


于是乎,给一个NN,让它看到前面N-1个word,然后让它去猜出来下一个单词的概率

这他妈的就是一个黑魔法
神经语言模型

这是03年的一个模型

Bengio在这里已经用了一个技巧了,把x输入层直接怼到最后那一层做softmax了
跳了


这个训练出来的NN就有一个爽的地方就是
管它是dog还是cat还是rabbit,它们的语义和语言结构是类似的,就会引起类似的神经网络的响应
SO?它后面出现run的可能性都比较大一些;
也就是说NN直接从一个比较模糊的方式去抽取了前面N-1个word的某种特征
用这种特征来演绎出来下一个词可能出现的机率

所以这种NN,很smoothing
另外对训练当中未出现的组合,不会一脸懵逼

问题:固定的上下文窗口
就是还是不够人脑

RNNLM比Feed-Forward Neural Language Model要优化的地方

把时间信息也放进去

之前的模型只是2元预测,看到wreck,预测a,看到a预测nice,看到nice预测beach

OK,然后RNN就是把上一个hidden layer作为下一次运算的hidden layer的输入
所以这样到左右边的时候,本质上就是能看到START、wreck、a、nice====>beach


影响力,杠杆
==========================================

OK,给出RNNLM的正式写法


所以RNN的这种顺序递增的结构,以及这个cost function真的是烦
无法并行化
所以给它留下了相当大的隐患

Training via Backpropagation through Time(BPTT)


阿西吧
这个计算量真是可观啊

所以她用了Unfold这个词

这个计算过程果然恶心

啊啊啊啊啊啊

梯度要么消失了
要么干脆爆炸了
因为W这个矩阵被点乘了过多次

所以朴素的RNN是相当难训练出来的看来

这就是一个很直觉的算法了
加一个阈值来搞定,Clipping

因为存在梯度消失的问题
所以,其实RNN对长编码的记忆能力是很有限的
SO?
引入门电路,对这种长程的信息进行直接编码

扩展1:双向的RNN

深度双向RNN
总结:
RNN是真的不好计算,很烦躁的梯度消失核爆炸问题,以及因为序列计算导致的计算难以并行化问题,以及因为存在梯度消失这个现象导致本质上RNN其实很健忘于是又加入了门电路结构来编码长程信息,导致整个网络更加复杂了;双向RNN有取巧,但怎么说呢,对于语言来说,各种定语后置倒是很合适;总结一下就是NN对于lm来说,最大的进步,比起十多年前的那个机械的n元词法模型来说,他能把语言中类似于文法、词法以及某一些相同词性的近义词、反义词这些东西;用一个神经网络,编码成一个外人都无法看得懂但确实work的网络当中去,去预测,训练资料里都没有提及过的语句,这一点确实很nice;但看下来,rnn的缺点确实很多;但它试图要建模的这个方向绝对是O的;
因为它的很多特性是符合直觉的,是符合人脑对语言的概念构建的;
但肯定还是一种比较拙劣的模仿;但起码模仿的方向是对的;
===========================================================
===========================================================
===========================================================
===========================================================
6、3月9日,第六天,继续RNN的应用;



输入和输出


把一堆向量,combination到一个新的表达
NN的方法可以用的其实有很多

1、递归神经网络
2、循环神经网络
3、甚至是卷积神经网络
都是可以的;对Sequence

操
一个RNN接着一个DNN来做情感分析,真是做人不能太NN啊

output也是一个Sequence的时候
POS的Tagging,语音识别以及机器翻译;

我感觉她这块其实也没认真讲
词性标注这个事情很烦躁
因为确实是和Sequence有关系的

NLU
自然语言理解
这个。。。。。好像是用在各种语音助理上的一个中间表达吧,其实谈不上理解;


RNN确实简单粗暴
两个RNN,一个做encoding,一个做decoding;


两个RNN做对话机器人
感觉。。。这有点扯
好吧
无论是翻译和chat机器人,我感觉这种RNN的用法,只是取巧.....
确实远比不上能看得到全文结构的Transformer
这种程度的模型,基本也就是和T-800那个水平差不多;

嗯,她自己总结了一下;
OK,基本明天就需要进入注意力模型了;
===========================================================
===========================================================
===========================================================
===========================================================
7、3月10日,第七天,今天是重头戏了,注意力机制,给后面理解self-Attention做铺垫吧;
邻家的の柠檬叔的最新日记 · · · · · · ( 全部 )
- 与她的告别信 (2人喜欢)
- 2025年2月21日AI多领域阅读列表汇总
- 触发搜索过于敏感问题 (1人喜欢)
- deepseek v3的指令服从性-作为相关度排序器 (1人喜欢)
- 《史上最大机器人🤖》
热门话题 · · · · · · ( 去话题广场 )
-
加载中...