知识蒸馏知识蒸馏的作用是使用小网络使得小网络的性能和大网络差不多,从而实现大网络的模型压缩。将大网络压缩成小网络有以下步骤:(1) 训练大网络(2) 将训练好的大网络的输出logit,使用一个温度值$T$放缩,得到$\frac{1}{T}$logit,将放缩后的logit经过softmax层,得到s ...
MiniMax和MCTS
极小极大搜索(MiniMax)极小极大搜索的算法原理很简单,主要基于以下两个思想:(1) 轮到我方选择局面,选择最有利于我方的局面(2) 轮到敌方选择局面,选择最不利于我方的局面 极小极大搜索需要有一个指标,用来衡量局面对我方的有利程度,值越大越有利。假设搜索树的根节点是我方选择局面,根节点在第0层 ...
BN和Dropout
BN在使用神经网络训练数据,常常使用批梯度下降的优化方法。这种优化方法相比起全梯度下降方法有一个问题,就是收敛速度慢,因为每一批数据的分布与全部数据的分布存在着不一致,且每一批数据的分布是变化的,这使得神经网络需要不断根据输入分布的不同调整权重去适应不同的输入分布。然后,神经网络层与层之间的联系是复 ...
MCMC(马尔可夫链蒙特卡洛方法)和吉布斯采样
综述采样方法有什么用?采样方法可以帮助我们从已知分布中采样样本,也可以帮助我们去近似未知分布。 均匀分布采样如果我们想从一个均匀分布采样样本,那么这很简单,可以使用下式采集样本: x_{t+1}=a(x_t+c)\ mod\ m这个式子表示从$[0,m-1]$中等概率采样。一般会要求$m$是一个质数 ...
Transformer-XL和XL-net
Transformer-XLTransformer-XL是针对Transformer不能处理长序列而设计的。Transformer最多只能处理长度为512的序列,当序列超过512时,Transformer会使用步长为1长度为512的滑动窗口,Transformer会在每个窗口内单独训练。具体做法是在 ...
ELMo,GPT和Bert
综述ELMo,GPT,Bert都是NLP任务中的预训练模型,可以根据语料的上下文动态地调整词向量,不再像是在Word2Vec,GloVe,fastText这些预训练模型中,一旦确定了一个词的向量便不会再变。举个简单的例子,apple可以有两种意思,一个意思是水果,另一个意思是公司。如果使用Word2 ...