RNN模型与NLP应用(6/9):Text Generation (自动文本生成)

  Рет қаралды 13,763

Shusen Wang

Shusen Wang

Күн бұрын

下节课 机器翻译: • RNN模型与NLP应用(7/9):机器翻译与...
这节课的主要内容是Text Generation (自动文本生成)。我们训练一个文本生成器,用来自动生成文本。
课件:github.com/wan...
文本生成器代码:François Chollet 的书 Deep Learning with Python 第8.1节。
相关视频:
1. 数据处理: • RNN模型与NLP应用(1/9):数据处理基础
2. 词嵌入: • RNN模型与NLP应用(2/9):文本处理与词嵌入
3. Simple RNN: • RNN模型与NLP应用(3/9):Simpl...
4. LSTM: • RNN模型与NLP应用(4/9):LSTM模型
5.RNN的改进: • RNN模型与NLP应用(5/9):多层RNN...
6. 文本生成: • RNN模型与NLP应用(6/9):Text ...
7. 机器翻译: • RNN模型与NLP应用(7/9):机器翻译与...
8. Attention: • RNN模型与NLP应用(8/9):Atten...
9. Self-Attention: • RNN模型与NLP应用(9/9):Self-...

Пікірлер: 48
@sciab3674
@sciab3674 3 ай бұрын
谢谢,讲的很详细
@maxxxwan
@maxxxwan 10 ай бұрын
温故而知新。看到三种抽样策略的第二种,按概率随机抽样得到下一个字符。其实可以设置一个阈值,只抽样高于这个阈值的概率值的字符,这样就不会生成语法错误的句子了,也兼顾了生成的多样性。
@rayren481
@rayren481 4 жыл бұрын
反复听了好多遍,非常受用,感谢
@totoro_r1668
@totoro_r1668 2 жыл бұрын
感谢你清晰又简洁地讲解!果断订阅。期待以后出可以跟老师一起写码建模的课
@ddp4775
@ddp4775 4 жыл бұрын
讲得太清晰了,谢谢。还有,加油!
@yixunye2777
@yixunye2777 Жыл бұрын
讲得太好了❤简练高效,这才是教学视频该有的样子。 想请问下:现在主流的中文文本生成是用词向量吗?如果是,那最后的softmax不得有大几万甚至十万以上的维度?这么高的维度需要处理吗,怎么处理的
@sddsvnxingyu1506
@sddsvnxingyu1506 3 жыл бұрын
谢谢老师,感激!!!我会努力的!
@wasserbewirtschaftung8222
@wasserbewirtschaftung8222 4 жыл бұрын
感谢感谢
@jokerren3395
@jokerren3395 4 жыл бұрын
讲的真的好有用,反复看了!
@mollyyaw1234
@mollyyaw1234 4 жыл бұрын
Y should be 1x57 vector after one-hot encoding right?
@weiyan2361
@weiyan2361 4 жыл бұрын
王老师,请问训练的时候,您的例子里面是每句话用的60个字符,去预测下一个字符,但是在生成任务阶段,您选用的是用18个字符,依次生成后面的文本。 我的疑问是:训练阶段和生成输入序列长度不一样没关系吗?虽然RNN都是一个字符一个字符依次进入,但训练阶段,是看完60个字符后进行预测,但是生成阶段却只看了18个字符就要进行预测字符了
@ShusenWang
@ShusenWang 4 жыл бұрын
1. 训练和预测时候序列长度可以不一样。RNN的参数只跟x和h大小有关,跟序列长度无关。训练好的RNN可以用在任意长度的序列上。 2. 我后面的例子只是用来讲解的,不是真正实验生成的。
@weiyan2361
@weiyan2361 4 жыл бұрын
@@ShusenWang 非常感谢您的回答
@hw226
@hw226 4 жыл бұрын
王老师有个问题请教,在predict the next char您介绍的三种方法中,第一种和第三种有什么不同,第三种经过指数运算后不是把大的概率变的更大吗,不是跟第一种一样的吗?
@ShusenWang
@ShusenWang 4 жыл бұрын
第一种是最极端的情况,最大的等于1,其余等于0。第三种没这么极端。
@jarorkwong8042
@jarorkwong8042 3 жыл бұрын
有个问题,做文本生成的时候,输入的序列中每一个元素都是一个character的character vector,这里为什么不使用词向量呢?如果使用词向量的话,h(t)输出的context vector不就包含Context的意境了么?然后把h(t)的输出嫁接到SoftMax层上去,得到词汇表中每个词出现的概率分布,做幂变换之后随机选下一个词。(当然,在最后的SoftMax维度太高,因为是词汇表的维度V,可以使用Hierarchical SoftMax进行优化)使用词向量的效果会不会比使用字向量的生成效果好呢?
@jarorkwong8042
@jarorkwong8042 3 жыл бұрын
先使用通用语料预训练词向量矩阵,然后比如创作莎士比亚的作品,再用莎士比亚的作品训练几十个Epochs,然后再递归生成第t个词
@ShusenWang
@ShusenWang 3 жыл бұрын
你说的没错~不过教学得做简化,不然很多学生理解不了。
@caiyu538
@caiyu538 Жыл бұрын
为啥不直接选概率最大的前几个 还需要用temperature去处理一下 感觉画蛇添足
@fzzying
@fzzying 4 жыл бұрын
这么几次听下来感觉RNN就是一个forecasting的模型,不知道工业界有没有用它来预测比如广告流量
@jiehu6323
@jiehu6323 3 жыл бұрын
有用,但有一个问题是训练数据基于已有的历史记录,很难预测新的事件(训练数据以外)的事情。当然符合同一个分布的预测里预测结果是比较理想的。
@DED_Search
@DED_Search 4 жыл бұрын
王老师,关于这节课,我有几个问题。 1. 我对每个block的input 也就是x_t, output也就是hidden state h_t, cell state 也就是c_t 长什么样子 还是比较混乱。就拿老师讲的这个例子来说,视频的19:35分钟,input x_0是"the cat sat on the"文字的矩阵形式,也就是18x57的矩阵(假设dictionary的dimension是57)。output h_0是一个57维的向量,代表空格。c_0是什么样子呢?然后下一轮 input x_1是“he cat sat on the_“的矩阵形式,计算c_1, h_1的时候除了要考虑x_1还要考虑 h_0. c_1长什么样子呢?以此类推。 2. 一个batch size是128的话,那每个batch的ltsm就是128个block? 第13:53分钟, 3. batch_size 和 hidden state h 的dimension都是128,这是巧合么? 4. x可以理解成为128x60x57维度的matrix么,因为这里batch size = 128. 谢谢。
@ShusenWang
@ShusenWang 4 жыл бұрын
1. Input x0不是the cat sat on the,而是 “t”。 x1是 "h",x2是"e"。。。。 h0和c0都是全零向量。
@ShusenWang
@ShusenWang 4 жыл бұрын
2. 不是。batch size 意思是每次做训练用 128 句话,每句话有 t=60 个字符。RNN运行 t=60 轮。让 batch size等于 1 也可以,但是不能很好利用 GPU的算力。 3. 巧合。可以不一样。 4. 对的。
@DED_Search
@DED_Search 4 жыл бұрын
@@ShusenWang 明白了,非常感谢。
@DED_Search
@DED_Search 4 жыл бұрын
@@ShusenWang 明白了,非常感谢。
@xinyuanwang5184
@xinyuanwang5184 4 жыл бұрын
王老师,最近在学习文本分类的方向。可以推荐一些NLP领域比较好的学术会议吗?谢谢
@ShusenWang
@ShusenWang 4 жыл бұрын
ACL, COLING, ICLR, ...
@xinyuanwang5184
@xinyuanwang5184 4 жыл бұрын
@@ShusenWang 谢谢🙏
@小罗在硅谷
@小罗在硅谷 4 жыл бұрын
为什么不对每个英文单词做one hot encoding 呢?是不是因为unique英文单词太多,会导致embedding矩阵超大?如果是这样的话,在中文自动生成的应用中,对中文汉字做embedding不是也会有一样的问题吗?
@ShusenWang
@ShusenWang 4 жыл бұрын
当然可以是每次生成一个单词。Embedding矩阵很大,所以需要训练数据足够大。中文汉字也就几千个,而英文常用单词有上万个,还不算name entity。
@az8134
@az8134 4 жыл бұрын
@@ShusenWang 老师请问如果我想用LSTM做text generation,每个token都是一个词,embedding因该怎么pre train呢?
@ShusenWang
@ShusenWang 4 жыл бұрын
@@az8134 可以用现成的词向量,比如glove embeddings
@az8134
@az8134 4 жыл бұрын
@@ShusenWang 多谢老师
@hzliang7457
@hzliang7457 4 жыл бұрын
感谢,请问文本片段长度必须一样吗?
@ShusenWang
@ShusenWang 4 жыл бұрын
训练的时候需要,因为要把数据存储成Tensor的形式。
@hzliang7457
@hzliang7457 4 жыл бұрын
@@ShusenWang 我理解的是只要一个batch内的数据片段长度一样就行了
@ShusenWang
@ShusenWang 4 жыл бұрын
@@hzliang7457 理论上来说是这样。但是DL的框架要求整个数据集是对齐的。
@hzliang7457
@hzliang7457 4 жыл бұрын
@@ShusenWang 好的,谢谢王老师
@shanewang1696
@shanewang1696 4 жыл бұрын
@@hzliang7457 我觉得你这个理解是对的,因为有不少情况你对一个batch做padding & packing就行了
@ximoyan
@ximoyan 4 жыл бұрын
求老師公眾號或網站
@ShusenWang
@ShusenWang 4 жыл бұрын
sorry,没有公众号之类的
@HenyJone
@HenyJone 4 жыл бұрын
请问示例代码有吗
@ShusenWang
@ShusenWang 4 жыл бұрын
文本生成器代码:François Chollet 的书 Deep Learning with Python 第8.1节。书pdf可以在网上下载到。
@HenyJone
@HenyJone 4 жыл бұрын
请问中文的怎么自动生成?
@ShusenWang
@ShusenWang 4 жыл бұрын
其实完全一样道理。把汉字用one-hot,再作Embedding。输出层还是softmax,输出概率,通过概率抽样汉字。
@boshengding4674
@boshengding4674 4 жыл бұрын
建议用pytorch做展示可能会好一点?现在很多人入门都是用pytorch
RNN模型与NLP应用(7/9):机器翻译与Seq2Seq模型
19:37
Shusen Wang
Рет қаралды 17 М.
Attention in transformers, visually explained | DL6
26:10
3Blue1Brown
Рет қаралды 1,8 МЛН
When Cucumbers Meet PVC Pipe The Results Are Wild! 🤭
00:44
Crafty Buddy
Рет қаралды 60 МЛН
Farmer narrowly escapes tiger attack
00:20
CTV News
Рет қаралды 11 МЛН
УДИВИЛ ВСЕХ СВОИМ УХОДОМ!😳 #shorts
00:49
HARD_MMA
Рет қаралды 3,3 МЛН
2027,人類終結 | 老高與小茉 Mr & Mrs Gao
30:03
老高與小茉 Mr & Mrs Gao
Рет қаралды 553 М.
The moment we stopped understanding AI [AlexNet]
17:38
Welch Labs
Рет қаралды 1,3 МЛН
Few-Shot Learning (3/3):Pretraining + Fine Tuning
18:56
Shusen Wang
Рет қаралды 13 М.
RNN模型与NLP应用(8/9):Attention (注意力机制)
16:51
Shusen Wang
Рет қаралды 31 М.
Has Generative AI Already Peaked? - Computerphile
12:48
Computerphile
Рет қаралды 1 МЛН
10分鐘了解RNN的基本概念
12:58
李政軒
Рет қаралды 8 М.
用tensorflow进行中文自然语言处理中的情感分析
27:45
【数之道 09】揭开循环神经网络RNN模型的面纱
9:00
RNN模型与NLP应用(9/9):Self-Attention (自注意力机制)
7:17