• 端到端(end-to-end,end2end):不需要做其他额外处理,从原始数据输入到任务结果输出,整个训练和预测过程,都是在模型里完成的
  • 收敛:一般指的是某些指标(例如损失、准确率等)不再大幅度波动、震荡。例如你看到训练集的 loss 曲线呈平稳下降,我们就说,训练集 loss 正在慢慢收敛
  • 分布(distribution):分布不是让你真的去算这个一系列数据属于正态分布还是均匀分布等,而是一种大致的感觉,例如别人和你说,我们的数据分布特别不均衡,这个人所说的数据分布指的就是各个类别样本的数量比例;再比如别人和你说,这个样本的预测概率分布比较均匀,其实他的意思就是这个样本预测的概率向量比较均匀,例如一个二分类问题,那可能就是 [0.5,0.5] 这样,当然实际上这不是什么好的情况,因为这样我们就不知道这个样本到底该被预测为哪个类别了
  • 维度(dimension):维度分两种情况理解。假设一个人和你说:“这个数据的维度是 2 维的”,那其实就表示这个数据是一个矩阵;如果一个人和你说:“它的维度是 128 维”,那其实就表示矩阵中的某一个位置维度是 128 维的,比如一个句子经过 WordEmbedding 之后它的维度是 [batch_size, seq_len, emb_dim],那么我说 emb_dim 这个位置的维度是 128 维的
  • 连续(continuous):一般指的是向量中的值,例如经过 WordEmbedding 之后,向量里的值肯定都是连续的,例如 [1.271, -2.433,…] 这种
  • 离散(discrete):同样指的是向量中的值,例如经过 WordEmbedding 之前,向量里的值肯定都是离散的,因为是每个词对应的索引,例如 [0, 78, 32, 54, 1992,…] 这种
  • 微调(Fine-tune): fine-tune中文译为“微调”,深度学习中需要在深层网络中不断进行训练更新模型的参数(权重)拟合能实现预期结果的模型。
    Fine-tuning的原理就是利用已知的网络结构和已知的网络参数,修改output层为我们自己的层,微调最后一层前的若干层的参数,这样就有效利用了深度神经网络强大的泛化能力,又免去了设计复杂的模型以及耗时良久的训练,所以fine tuning是当数据量不足时的一个比较合适的选择。
    Fine-tuning意义
    1、站在巨人的肩膀上:前人花很大精力训练出来的模型在大概率上会比你自己从零开始搭的模型要强悍,没有必要重复造轮子。
    2、训练成本可以很低:如果采用导出特征向量的方法进行迁移学习,后期的训练成本非常低,用CPU都完全无压力,没有深度学习机器也可以做。
    3、适用于小数据集:对于数据集本身很小(几千张图片)的情况,从头开始训练具有几千万参数的大型神经网络是不现实的,因为越大的模型对数据量的要求越大,过拟合无法避免。这时候如果还想用上大型神经网络的超强特征提取能力,只能靠迁移学习
  • SOTA:SOTA全称是state of the art,是指在特定任务中目前表现最好的方法或模型。Benchmark和baseline都是指最基础的比较对象。你论文的motivation来自于想超越现有的baseline/benchmark,你的实验数据都需要以baseline/benckmark为基准来判断是否有提高。唯一的区别baseline讲究一套方法,而benchmark更偏向于一个目前最高的指标,比如precision,recall等等可量化的指标。举个例子,NLP任务中BERT是目前的SOTA,你有idea可以超过BERT。那在论文中的实验部分你的方法需要比较的baseline就是BERT,而需要比较的benchmark就是BERT具体的各项指标。