1. 前置知识标准化流(Normalizing Flow)能够将简单的概率分布转换为极其复杂的概率分布,可以用在生成式模型、强化学习、变分推断等领域,构建它所需要的工具是:行列式(Determinant)、雅可比矩阵(Jacobi)、变量替换定理(Change of Variable Theorem ...
CS224n-lecture10-Question Answering
CS224n-lecture10-Question Answering
SQuAD
Evaluation
- 作者对每个问题提供了3个正确回答(gold answers)
- 模型得分(score)根据以下两个指标
- Exact Match(EM): 模型输出的答案为三个gold answers之一则为1,否则为0
- F1: 将模型输出的答案和gold answers当做词袋,假设模型给出的答案x,x有a个词出现在某个gold answer,x一共有b个词,gold answer有c个词,则在该gold answer上计算答案的Precision = a / b,Recall = a / c,F1 = 2PR / (P + R),对每个问题,输出的答案score为其在几个 gold answers 上得分最大的那个
- 计算上述两个指标时,都忽略标点符号与冠词(a, an, the)
- 整个数据集最终的 F1 score 为每个问题的 F1 score 的平均
CS224n-Lecture08-Translation, Seq2Seq, Attention
浅谈L2正则化为什么有效
L2正则化为什么有效无论是学过机器学习还是深度学习的同学一定知道正则化可以缓解过拟合,最常用的就是L2正则化,即在损失函数$J(\theta)$上加上参数的L2范数$\lambda||\theta||_{2}$,不过一般也不开根号了,也就是直接加$\lambda\sum\limits_{i}\the ...
Enhanced LSTM for Natural Language Inference笔记
Enhanced LSTM for Natural Language InferenceESIM是ACL2017的一篇论文,在当时成为各个NLP比赛的杀器,直到现在仍是入门自然语言推理值得一读的文章。 本文根据ESIM原文以及pytorch代码实现对ESIM模型进行总结,有些地方的叙述保持了与代码一 ...
深度知识追踪入门
背景介绍知识追踪(Knowledge Tracing)是根据学生过去的答题情况对学生的知识掌握情况进行建模,从而得到学生当前知识状态表示的一种技术,早期的知识追踪模型都是依赖于一阶马尔科夫模型,例如贝叶斯知识追踪(Bayesian Knowledge Tracing)。将深度学习的方法引入知识追踪最 ...
【Pytorch排坑记】:2.蜗牛索引
今天又发现了一个pytorch的小坑,给大家分享一下。手上两份同一模型的代码,一份用tensorflow写的,另一份是我拿pytorch写的,模型架构一模一样,预处理数据的逻辑也一模一样,测试发现模型推理的速度也差不多。一份预处理代码是为pytorch模型写的,用到的库是torch,另一份是为ten ...
【Pytorch排坑记】:1.内存泄漏
起因最近在修改上一个同事加载和预处理数据的代码,原版的代码使用tf1.4.1写的,数据加载也是完全就是for循环读取+预处理,每读入并预处理好一个batch就返回丢给模型训练,如此往复,我觉得速度实在太慢了,而且我新写的代码都是基于pytorch,虽然预处理的过程很复杂,我还是下决心自己改写。 用p ...
超参数优化框架Optuna
深度学习调参是一门玄学,有时候想改进自己的模型,比如把LSTM替换为Transformer,好不容易模型框架照着论文搭好了,超参数也和论文一致,照理说acc、auc等各种评价指标应该远远超过LSTM,理想是丰满的,现实却是惨不忍睹的,在自己的数据集上跑时,有时效果反而还不如原本已经fine tune ...
NLP实习面试总结
本文记录我大三寒假找NLP算法实习岗位的面试(被暴打)经历,整个期末考试周上午考试下午面试,连着面了五六天,每次两小时左右,一通下来被虐得很厉害,算是知道自己到底有多辣鸡了,大多数面试官人都很好,少数emmm。。。写下此篇给找ai/nlp方向实习工作的同学当作复习参考。