深度学习基础—语言模型和序列生成

引言

深度学习基础---循环神经网络(RNN)https://blog.csdn.net/sniper_fandc/article/details/143417972?fromshare=blogdetail&sharetype=blogdetail&sharerId=143417972&sharerefer=PC&sharesource=sniper_fandc&sharefrom=from_link

上篇文章,我们介绍了RNN的基本结构,本篇博客,我们就来一起看一下语言模型和序列生成,这是对RNN的一个基本应用。

1.语言模型


在NLP中,构建语言模型是最重要最基础的工作之一,什么是语言模型?简而言之语言模型就是预测一个特定的句子出现的概率是多少。

比如语音识别系统,我们听到一个人说了一个句子,"the apple and pear(pair) salad was delicious.",所以那个人究竟说了什么?是 "the apple and pair salad",还是"the apple and pear salad"?(pear和pair是近音词)。一个语音识别模型可能算出第一句话的概率是10^(-13),而第二句话的概率是10^(-10),比较这两个概率值,显然那个人说的是第二句话,因为第二句话的概率比第一句高出1000倍。

2.序列生成


假设训练集有一句话:"Cats average 15 hours of sleep a day."(猫一天睡15小时),将这个句子序列化,先建立一个字典,然后将每个单词都转换成对应的one-hot向量,也就是字典中的索引。

可能某些场景我们需要定义句子的结尾,一般的做法就是增加一个额外的标记EOS(上图编号1所示),表示句子的结尾。如果想要模型能够准确识别句子结尾的话,EOS标记可以被附加到训练集中每一个句子的结尾。如果加了EOS标记,这句话就会有9个输入:有8个词和一个EOS标记(忽略标点符号)。

如果训练集中有一些词并不在字典里,比如"The Egyptian Mau is a bread of cat.",其中有一个词Mau并不是字典中的词,在这种情况下,可以把Mau替换成UNK标志,代表未知词。然后只针对UNK建立概率模型,而不是针对这个具体的词Mau(就是所有没有出现在字典中的词都识别为UNK)。

****构建语言模型的核心就是让模型在已经学习到某些词的基础上预测其他的词出现的概率。****在第0个时间步,输入激活值a0和x1,其中x1=0向量(因为此时模型还未学到任何词,它要做的事就是针对词典每个词,预测第一个词是Cats的概率),最终会得到第一个词是Cats。在第1个时间步,由于已经预测出第一个词是Cats,因此我们令x2=y1,即输入x2=Cats和激活值a1,最终第1个时间步得到的结果应该是average,以此类推。最后一个时间步中,我们需要把上一时间步的正确结果输入,并希望预测结果为EOS。

定义代价函数:

总损失等于每一个时间步的预测损失求和,每一时间步的损失等于softmax层预测结果之和(长度为词典的长度)。

3.概率计算


如果用很大的训练集来训练这个RNN,可以通过一系列开头单词像是Cars average 15或Cars average 15 hours of来预测之后单词的概率。比如现在有一个新句子,它是y1 y2 y3,现在要计算出整个句子中各个单词的概率:

第一个softmax层会告诉我们y1的概率为p(y1),然后第二个softmax层会告诉我们考虑y1出现的情况下的概率为p(y2|y1),然后第三个softmax层告诉我们考虑y1和y2出现的情况下的概率p(y3|y1,y2),把这三个概率相乘,最后得到这个含3个词的整个句子的概率。

这个概率计算公式也是语言模型背后的概率原理,即在已经学习到某些词(已经发生的事件)的基础上预测其他词(还未发生的事件的可能)。

相关推荐
AI架构师易筋8 分钟前
AIOps 告警归因中的提示工程:从能用到可上生产(4 阶梯)
开发语言·人工智能·llm·aiops·rag
数说星榆18129 分钟前
在线高清泳道图制作工具 无水印 PC
大数据·人工智能·架构·机器人·流程图
说私域39 分钟前
B站内容生态下的私域流量运营创新:基于AI智能名片链动2+1模式与S2B2C商城小程序的融合实践
人工智能·小程序·流量运营
特立独行的猫a39 分钟前
告别写作焦虑:用 n8n + AI 打造“输入即发布”的自驱动写作工作流
人工智能·工作流·n8n
老胡全房源系统40 分钟前
2026年1月适合房产经纪人用的房产中介管理系统
大数据·人工智能·房产经纪人培训
一瞬祈望41 分钟前
⭐ 深度学习入门体系(第 11 篇): 卷积神经网络的卷积核是如何学习到特征的?
深度学习·学习·cnn
GISer_Jing43 分钟前
智能体工具使用、规划模式
人工智能·设计模式·prompt·aigc
小小工匠44 分钟前
LLM - Claude Code Skills 实战指南:用模块化“技能包”重构AI 开发工作流
人工智能·claude code·skills
双翌视觉1 小时前
深入解析远心镜头的工作原理与选型
人工智能·数码相机·机器学习
二哈喇子!1 小时前
PyTorch与昇腾平台算子适配:从注册到部署的完整指南
人工智能·pytorch·python