李理的博客

XLNet代码分析(四)

本文介绍XLNet的代码的Fine-tuning部分,需要首先阅读第一部分第二部分第三部分,读者阅读前需要了解XLNet的原理,不熟悉的读者请先阅读XLNet原理

基于WFST的语音识别解码器

本系列文章介绍基于WFST的语音识别解码器的理论知识。前面的微软Edx语音识别课程最后一个实验因为没有足够的理论知识,很难读懂其中的代码,因此本系列文章介绍这些缺失的内容。

  • 8/8更新语音识别系统概述本文回顾WFST之前的解码器基础知识,便于没有基础的读者了解最基本的Viterbi算法和Beam搜索算法、Word Lattice等基本概念。

  • 8/23更新WFST介绍本文介绍语音识别里用到的WFST的基本概念,重点介绍WFST的复合、确定化、weight pushing、最小化和ε消除等算法。

  • 9/5更新基于WFST的语音识别解码器算法,本文首先介绍基于WFST的语音识别系统,然后解释语音识别系统的不同模块怎么用WFST来表示以及怎么把这些WFST组织成单一的搜索网络。最后我们介绍使用完全复合后的WFST来进行识别的时间同步Viterbi Beam搜索算法。因为文章内容较长,读者一次阅读内容太多,另外作者更新一次时间也太长,因此以后会完成一部分更新一部分。

对BERT的pretraining改进的几篇文章

本文介绍对于BERT的Pretraining过程进行改进的几篇文章,包括Pre-Training with Whole Word Masking for Chinese BERTERNIE: Enhanced Representation through Knowledge IntegrationERNIE 2.0: A Continual Pre-training Framework for Language Understanding

注意:这几篇文章都是对BERT模型的Pretraining阶段的Mask进行了不同方式的改进,但是对于BERT模型本身(基于Mask LM的Pretraining、Transformer模型和Fine-tuning)没有做任何修改。因此对于不需要Pretraining的用户来说只要把Google提供的初始模型替换成这些模型就可以直接享受其改进了(百度的ERNIE和ERNIE 2.0是基于PaddlePaddle的,Tensorflow和PyTorch用户需要借助第三方工具进行转换)。

阅读本文前,读者需要了解BERT的基本概念,不熟悉的读者可以先学习BERT课程BERT模型详解BERT代码阅读

BERT的成功是否依赖于虚假相关的统计线索?

本文介绍论文Probing Neural Network Comprehension of Natural Language Arguments,讨论BERT在ACRT任务下的成绩是否依赖虚假的统计线索,同时分享一些个人对目前机器学习尤其是自然语言理解的看法。

深度学习理论与实战:基础篇

目前在京东有售,相关代码和补充材料可以点击《深度学习理论与实战:基础篇》代码

微软Edx语音识别课程

本系列文章是作者学习微软在Edx上的语音识别课程DEV287x的笔记。

(6/6增加模块三:声学模型;6/15增加模块四:语言模型;7/15增加模块五:解码器)

这是一个非常好的课程,尤其是实验的设计,通过实际的代码让我们一步步完成特征提取;神经网络声学模型训练;语言模型训练和基于WFST的解码器实现。

我在《深度学习理论与实战:提高篇》里虽然介绍了语音识别的基础理论,也试图提供实战的例子,比如HMM和WFST代码示例Kaldi简介DeepSpeech理论与实战等内容。但是这些例子都是孤零零没有联系的,读者很难了解全貌,那本书中缺乏一个完整的从头到尾的基于WFST的HMM-DNN的例子。虽然End-to-end的语音识别系统在是学术界研究的重点,但是目前业界流行的还是HMM-DNN的基于WFST解码器的系统。在那本书里没有介绍WFST尤其是解码器的代码,只是简单的介绍了流行的Kaldi系统的用法,但是Kaldi的代码过于复杂,不适合初学者了解WFST的基本原理。

最近找到了这个课程,花时间学习了一遍,觉得这个课程的例子非常好,因此借这个课程把之前那本书的缺陷弥补一下。另外这个课程的理论讲到太少了,比如WFST的解码器,只是提供了代码,而没有任何介绍,这让学习者很难看懂其中的代码,因此我也对其中不够详细的地方做一些补充。

Kaldi文档解读

本系列文章主要是翻译Kaldi的官方文档,但是也不完全是翻译。有些内容比如如何安装作者会略过,而其它重要的内容作者会根据自己的理解增加更加详细的说明。(6/6增加术语表;6/12增加数据准备;6/15增加Kaldi的编译过程;6/22增加Kaldi的矩阵库Kaldi的特征提取;7/18增加外部矩阵库;7/19增加CUDA矩阵库;7/26增加Kaldi的I/O机制;8/1增加Kaldi的I/O机制的命令行用法;8/9增加Kaldi的logging和错误报告Parsing命令行选项其它工具;8/15增加Kaldi的聚类机制)

读汪曾祺

我觉得汪老的小说特别适合现在的人来阅读,原因当然很多,但是其中之一就是他的小说都很短。

借用石头向空空道人说的:“今之人,贫者日为衣食所累,富者又怀不足之心,纵然一时稍闲,又有贪淫恋色,好货寻愁之事,那里去有工夫看那长篇大论?所以汪老的小说,也不愿世人称奇道妙,也不定要世人喜悦检读,只愿他们当那醉淫饱卧之时,或避事去愁之际,把此一玩,岂不省了些寿命筋力?就比那谋虚逐妄,却也省了口舌是非之害,腿脚奔忙之苦。再者,亦令世人换新眼目,不比那些胡牵乱扯,忽离忽遇,满纸才人淑女、子建文君红娘小玉等通共熟套之旧稿。”

每天花上一二十分钟阅读几页汪老的文字,不比用手机刷那些谋虚逐妄的内容要强得多?

(7/8增加《露水》;7/14增加《讲用》;7/15增加《八仙》;7/17增加《罗汉》;7/19增加《李三》;7/22增加《合锦》;7/24增加《卖蚯蚓的人》;7/25增加《拟故事两篇之仓老鼠和老鹰借粮》;7/29增加《辜家豆腐店的女儿》;8/7增加《忧郁症》;8/9增加《道士二题》;8/15增加《玉渊潭的传说》;8/20增加《看水》;8/29增加《大淖记事》;9/4增加《云致秋行状》)

深度学习理论与实战:提高篇

国内首本免费的深度学习书籍!涵盖听觉、视觉、语言和强化学习四大领域,深入浅出的理论分析和详尽的代码分析。(5/18增加用Cycle GAN实现Image to Image Tanslation;6/5增加机器翻译;6/17增加Policy Gradient)。

全书更新完毕!
转载请联系作者(fancyerii at gmail dot com)!

BERT课程

本文是作者即将在CSDN作直播的课程的预备知识,对课程感兴趣但是没有相关背景知识的同学可以提前学习这些内容。新增课程slides和视频回放地址


一两银子值多少钱

最近在微信读书App上看《蜀山剑侠传》,第一章李宁赏给船家四两银子。按照读者的注释,一两银子大概相当于450元人民币。但是又有读者提出质疑:照这么算,《红楼梦》里大丫鬟和姨娘一个月一两的例银实在是有点少。因此上网搜索了一下,本文探讨一下在清朝康乾年间一两银子到底能值多少钱。虽然是纯属无聊的”调研”(考据可能还算不上),但是背后的一些事实对于今天的我们可能也会有些启发。


XLNet代码分析(三)

本文介绍XLNet的代码的第三部分,需要首先阅读第一部分第二部分,读者阅读前需要了解XLNet的原理,不熟悉的读者请先阅读XLNet原理


转载文章

本文转载一些好的技术文章。


XLNet代码分析(二)

本文介绍XLNet的代码的第二部分,需要首先阅读第一部分,读者阅读前需要了解XLNet的原理,不熟悉的读者请先阅读XLNet原理


人工智能六十年技术简史

本文是发表在CSDN的《人工智能六十年技术简史》的草稿,因为最早是网页的形式,参考文献直接作为了链接,没有像传统的论文一样在后面给出参考文献的详细信息。但是发到微信公众号后文中的链接都去掉了。读者自己寻找这些论文可能比较不方便,所以把这篇草稿也发出来。