李宏毅《DLHLP》学习笔记6 - 语言模型

news/2024/5/18 13:06:32/文章来源:https://blog.csdn.net/dupei/article/details/128158555

视频链接:https://www.youtube.com/watch?v=dymfkWtVUdo&list=PLJV_el3uVTsO07RpBYFsXg-bN5Lu0nhdG&index=8&ab_channel=Hung-yiLee
课件链接:https://speech.ee.ntu.edu.tw/~tlkagk/courses/DLHLP20/ASR3.pdf

1. Language Model

LM的作用是预测token sequence出现的概率。对于输出文本的模型,LM通常都是很有帮助的。
在这里插入图片描述
N-gram LM 有smooth的问题,然后,引出Continuous LM,再进一步扩展到Deep Learning based LM.

2. N-gram LM

传统的LM是N-gram LM,下面介绍一下N-gram LM的技术细节。

2.1 N-gram细节

常见的N-gram有2-gram,3-gram,。。。
在这里插入图片描述

2.2 N-gram LM的局限

局限是什么?估计的概率可能并不准确。

  1. N越大,问题越明显;
  2. 在训练集中,n-grams并没有出现。
    在这里插入图片描述
    如何解决?使用的技术叫做language model smoothing

3. Continuous LM

在Deep Learning技术出现之前,使用的方法叫continuous LM,这是一个源于推荐系统的技术。
在推荐系统中,使用Matrix Factorization的技术,为用户进行推荐。如下图的B用户,推荐蓝色框的内容。
在这里插入图片描述
借助上面说的Matrix Factorzation技术,就可以引出Continuous LM的设计思路了。
下图中表格里的纵轴和横轴都是词典里所有的词汇,每个词汇是需要用一个向量表示,这个向量是需要在后面学习出来的。表格中的值是根据收集到的文章进行的统计值,其中,0是没有出现的组合。
假设nij=vi.hjn_{ij}=v^i.h^jnij=vi.hj,那么,我们需要做的就是最小化下面这个损失函数。
在这里插入图片描述
在使用的过程中,假设"dog"和"cat"的vector学习以后比较相近,那么,即使"dog jumped"从来没有见过,也可以通过vector计算出一个非0的值。
在这里插入图片描述
下面从另外一个视角看一下Continuous LM的样子,可以将Continuous LM看做是只有一个hidden layer的NN,如下:
在这里插入图片描述
这样,就可以很自然地想到可以使用更深层的NN来构建LM。

4. NN-based LM

NN-based LM最初是用于解决N-gram的问题,用于预测下一个word输出的概率。
在这里插入图片描述
在这里插入图片描述
为了使用很多的word作为前置词汇,来预测后续出现词汇的概率,这里,就引入了RNN-based LM。这种能力是N-gram无法企及的!
在这里插入图片描述
RNN-based LM可以很复杂,但是,研究表明:只需要使用LSTM,再配上合适的optimization和regularization,就可以得到很好的结果了。
在这里插入图片描述

5. 如何使用LM提升语音识别?

这里以LAS为例,简单介绍一下常见的几种结合方式:
在这里插入图片描述

5.1 Shallow Fusion

Shallow Fusion是将已经训练好的LM和LAS Decoder放在一起使用,将两者的输出整合起来。
在这里插入图片描述

5.2 Deep Fusion

Deep Fusion是将LAS的输出和LM的输出,作为一个新network的输入,来训练这个network,可以视为使用Network代替上述的整合公式。
这种方式存在一个问题:Network训练好以后,对应的LM就不能随意更换了。
在这里插入图片描述
课程中,李宏毅老师说,使用下面的方式,可以解决上述的问题。
使用LM在softmax前的特征作为Network的输入,可以解决network重训练的问题,尚未理解。
在这里插入图片描述

5.3 Cold Fusion

Cold Fusion的思路是在训练LAS和Network时,使用已经训练好的LM。
在这里插入图片描述
这种方式的好处是可以使LAS训练过程快速收敛。
但是,这样做的话,一点更换LM,整个LAS都需要重新训练。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_229600.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FFmpeg二次开发

本文主要讲解 FFmpeg 的二次开发,ffmpeg.exe 的命令行功能特别强大,很多需求都能直接用命令行实现,但是总有一些需求用 命令行实现不太好做。 而你实现那些特殊需求,通常需要把 ffmpeg.exe 里面的某部分代码抄过来,本…

阿里云新用户活动:云服务器ECS 新购、升级报价出炉了!

阿里云新人特惠,阿里云新用户新购升级立享满减,新购升级云服务器ECS ,购买热门产品 s6/u1/c6/g6/r6/c7/g7/r7指定配置,可享折上折!从未购买过云服务器ECS或者轻量应用服务器的用户一次性可领取3张优惠券。优惠券适用于…

VS Code快速实现Git PR操作

注意:建议先学习git的基本操作。 安装插件 下图中红圈标记的插件都安装好。 Fork上游仓库 在网页上点击你想要fork的仓库,点击fork 然后该仓库就会fork到你的github账户下面,如下图。 现在可以在你账户下面的repo(我们称为下…

Allegro如何移动器件操作指导

Allegro如何移动器件操作指导 Allegro上可以任意移动器件,具体操作如下 选择Edit-move Find选择Symbols Point根据需要选择 Sym Origin是抓取器件的原点 Body center是抓取器件的中心 User Pick可以自定义抓取的原点,在移动整个模块的并且旋转的时候常用的命令 Sym Pin#设…

【抓包工具】win 10 / win 11:WireShark 下载、安装、使用

目录 一、WireShark 下载 二、WireShark 安装 (1)双击运行安装程序 (2)Choose Components:选择组件 (3)Additional Tasks:附加任务 (4)Choose lnstall …

Pikachu靶场全关攻略(超详细!)

一、靶场搭建 准备工具 phpstudy**pikachu靶场下载地址:**https://github.com/zhuifengshaonianhanlu/pikachu 搭建过程 将靶场文件夹放到phpstudy的www目录 进入pikach文件夹的inc目录,修改靶场配置文件config.inc.php,设置数据库账号密…

微服务框架 SpringCloud微服务架构 10 使用Docker 10.6 容器命令练习

微服务框架 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 SpringCloud微服务架构 文章目录微服务框架SpringCloud微服务架构10 使用Docker10.6 容器命令练习10.6.1 直接开干10 使用Docker 10.6 容器…

Stable Diffusion 2.0 来了

Stable Diffusion 一经发布,就立刻在业界掀起巨大的波浪。我个人后知后觉,直到 Stable Diffusion V1.4 版本发布,才接触 Stable Diffusion (之前使用的是 Disco Diffusion)。这段时间,SD 团队也没闲着,很快就发布了 V2…

HTML学生个人网站作业设计 明星易烊千玺介绍(HTML+CSS) web前端开发技术 web课程设计 网页规划与设计

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

2022年第十一届认证杯数学中国数学建模国际赛小美赛:C 题 对人类活动进行分类 建模方案及代码实现

2022年第十一届认证杯数学中国数学建模国际赛小美赛:C 题 对人类活动进行分类 建模方案及代码实现 1 题目 人类行为理解的一个重要方面是对日常活动的识别和监控。可穿戴活动识别系统可以在许多关键领域提高生活质量,如门诊监测、居家康复、跌倒检测等。…

[附源码]计算机毕业设计springboot校园代取快递系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

GameOff2022参与有感

GameOff2022参与有感以及年度总结 厚颜无耻的用我们美术的立绘 GameOff— Redemption 很高兴在一个月的时间里面和大家一起完成了《Redemption》 比赛链接:Itch.io 百度云盘链接: 链接:https://pan.baidu.com/s/1ylK0QRr2lmkqi4JF1wsXtA 提…

[附源码]计算机毕业设计springboot疫情管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

天宇优配|研判明年下半年投资机会或更大 险资看好“安全”与“发展”

上海证券报记者昨日获悉,多家稳妥资管公司已经拟定2023年出资战略,跟着本年以来多项稳经济方针逐步落地,险资遍及看好下一年经济复苏带来的商场出资时机。 权益出资方面,险资以为,当时股票商场估值处于前史较低水平&am…

重点问题!CPU利用率过高排查思路|原创

本文讲解了重点面试问题CPU利用率高如何排查和解决。点击上方“后端开发技术”,选择“设为星标” ,优质资源及时送达CPU利用率高怎么办?如何排查和解决这是一个常见的面试问题,也是线上常遇到的问题之一。遇到线上服务器异常告警&…

Maven的简单介绍

Maven 构件 <packaging> : pom、jar、ear、war以及maven-plugin,构建Maven之后所生成的文件类型&#xff0c;Pom本身不产生构件&#xff0c;用来作为依赖库。 pom类型常用于微服务中作为父Pom,通过 可以将子模块包含进来&#xff0c;共享父Pom的依赖&#xff0c; GAV坐标…

第十五章 如何编写README文档

README 文档对于开源项目的重要性甚至会超过代码本身。你试想一下&#xff0c;你打开一个 Github 项目&#xff0c;第一时间就会看到 README 文档&#xff0c;而这时候同一类的项目你可能有很多选择&#xff0c;如果这个README不正规&#xff0c;无法快速上手&#xff0c;你可能…

ICS计算系统概论实验3—LC3汇编代码实现最长重复子字符串Longest-duplicate-substring

Lab03 Longest-duplicate-substring Purpose 子字符串是字符串中至少出现一次的连续字符序列。重复子字符串是一种由相同字符组成的子字符串。例如&#xff0c;“aabbbc”的重复子字符串是“aa”&#xff0c;“bbb”和“c”。 给定一个字符串及其长度&#xff0c;计算出它最长…

【Matplotlib绘制图像大全】(二十一):Matplotlib为绘图添加注释

前言 大家好,我是阿光。 本专栏整理了《Matplotlib绘制图像大全》,内包含了各种常见的绘图方法,以及Matplotlib各种内置函数的使用方法,帮助我们快速便捷的绘制出数据图像。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmMatp…

Day18-购物车页面-收货地址-重新选择收货地址-取消授权时的问题

1.重新选择收货地址 我的操作&#xff1a; 1》在my-address.vue中&#xff1a; 2》效果图&#xff1a; ①&#xff1a; ②&#xff1a; ③&#xff1a; ******************…