Roger Blog

让时光有力量

Shell编程

common commands

基本介绍   本文用于记录常见的shell编程命令,便于使用时查询。 常用命令 1. read命令:输入 read命令:read [Options] [name…] -s:用于输入密码等场景时不打印到屏幕 -p: 打印输入提示字符串 -r: 禁用反斜杠转义字符“\” -t: 设置最长等待时间(秒) -a: 将输入分配给一个数组(array),而不是一个变量名。例如r...

层次聚类

Hierarchical Clustering Methods

层次聚类方法基本概念   层次聚类的特点有: 层次地进行聚类,聚类结果构成一棵树(dendrogram) 无需指定簇个数K 聚类结果是更确定性的(deterministic,相比于K-Means需要多次初始化) 无需通过不断迭代来细化聚类结果   层次聚类主要分为两类: Agglomerative(自底向上):一开始将每个样本看做一个cluster,然后自底向上通...

Transformer家族模型总结

Transformer's family

为什么是Transformer   我们知道,RNN模型的训练中会有梯度消失/爆炸的问题,这是因为同样的参数会在不同的时间步重复使用,造成RNN的error surface变化特别剧烈(有些区域非常“平坦”,即梯度很小,有些地方却非常“陡峭”,即梯度很大)。LSTM的提出一定程度上解决了梯度消失的问题:RNN通过memory cell,信息可以被加权后以相加的方式“保存”起来,除非用forg...

深度学习之——Normalization

Normalization Techniques

为什么需要Normalization   深度学习训练中有一些常见的问题如梯度爆炸/消失,这一现象往往随着网络深度的增加而愈发凸显。为了解决这一问题,一个直接的想法就是:如果对每一层的输出数值范围都进行标准化,是否可以从某种程度上减轻这一现象呢?基于这个想法,Sergey Ioffe and Christian Szegedy于2015年提出了Batch Normalization,该方法使...

NLP任务评价指标

NLP evaluation metrics

1. BLEU   BLEU (bilingual evaluation understudy)用于评估从一种语言翻译成另一种语言的文本的质量。这里“质量”的好坏被定义为与人类翻译结果的一致性高低。BLEU分数的计算是对于独立的翻译片段(一般是句子)而言的,通过与高质量的翻译“参照”进行比较得出。对于整个语料的得分则是所有翻译片段得分的平均。该度量方式不考虑可理解性及语法的正确性。BLEU的...

模型压缩

Model Compression

模型压缩简介 总结自李宏毅老师的视频教程:Network Compression   为了将神经网络模型部署到手机、智能手表等计算资源有限的设备上,动辄几个GB大小参数的网络自然是不现实的,需要压缩模型到合适的规模。模型压缩方法主要有如下几类: 网络剪枝(Network Pruning) 知识蒸馏(Knowledge Distillation) 参数量化(Parame...

强化学习之——策略梯度

Policy Gradient

1. 策略网络   相比于DQN等基于值函数估计以及贪心策略的算法,直接对策略进行优化是一种更为直接的优化方式。策略函数$\pi(a|s)$是在状态$s$下,关于动作的概率密度函数(Probability Density Function)。Agent从该概率分布中随机抽样要执行的动作$a$。该策略函数可以是一个表的形式,但如果要解决问题有很大的状态空间,那么存储该表便是一个很大的问题,因此...

强化学习之——A2C算法

Advantage Actor Critic Algorithm

1. 动作价值函数$Q_\pi(s_t,a_t)$ \(\begin{align} Q_\pi(s_t,a_t)&=\mathbb{E}_{S_{t+1},A_{t+1}}[R_t+\gamma\cdot Q_\pi(S_{t+1},A_{t+1})]\\ &=\mathbb{E}_{S_{t+1}}[R_t+\gamma\cdot\mathbb{E}_{A_{t+1}}[Q...

少样本学习

Few-shot Learning

Few-shot Learning简介   Few-shot Learning属于Meta Learning,Meta learning的目的是让模型学会学习。Few-shot Learning用于从很少的样本(不要求在训练数据集中出现过)中识别事物之间的异同。比如给定两张图片,模型可以区分二者是否是同一事物;或者给定一张图片(Query)和一组待标签的图片(Support Set,对应多个...

分布式机器学习

Distributional Machine Learning

为什么要并行   现在的机器学习训练数据集越来越大,模型参数规模也越来越大(如BERT),训练时间会变得很长,更不用说模型调参了。而单个主机可扩展的CPU/GPU数量有限,想要做大规模训练就需要用到大量节点来同时计算。 重要概念 通信方式:共享内存 V.S. 消息传递 节点结构:客户端-服务器端 V.S. 点对点 同步方式:批量同步 V.S. 异步 并行方式:数据并行 V....