人工智能常见名词
人工智能的理论知识了解,记录(代码实现的基本流程+各个流程中对应的经典例子(VGGNet + AlexNet + LeNet5))
神经网络的基本组成+组合
工程技巧
模型的优化
合理的模型结构设计
提升泛化能力,表达能力,减轻过拟合
模型参数量/卷积核/通道数的设置,提高模型的性能,模型设计(提升深度,宽度)
经典算法-随机梯度下降;基本算法-线性回归
激活函数(relu)
神经网络的基本单元
小卷积核的使用:3*3
nlp常用模型:transformer
语言模型的参数:为了计算语言模型,我们需要计算词的概率,以及一个词在给定前几个词的情况下的条件概率,即语言模型参数。
池化技术
深度模型中的剪枝
根据特定标准修剪训练的大模型,即重新调整网络结构中的通道或层数等,来得到一个精简的网络结构
前向,反向传播算法
AI数学-->基础算法(分类+回归)-->机器学习算法-->NLP语言模型训练(transformer,pytorch,tensorflow框架)(分词+情感分类)-->工程技巧(数据增强,归一化)-->工程技巧相关算法(反向传播算法)
-
DNN:深度神经网络
-
交叉验证:交叉验证(Cross-validation)主要用于建模应用中,例如PCR、PLS回归建模中。在给定的建模样本中,拿出大部分样本进行建模型,留小部分样本用刚建立的模型进行预报,并求这小部分样本的预报误差,记录它们的平方加和。
-
多数投票
-
Bert:是一种预训练语言模型(pre-trained language model, PLM),其全称是Bidirectional Encoder Representations from Transformers。
-
语言模型:对于任意的词序列,它能够计算出这个序列是一句话的概率。比如词序列A:“知乎|的|文章|真|水|啊”,这个明显是一句话,一个好的语言模型也会给出很高的概率,再看词序列B:“知乎|的|睡觉|苹果|好快”,这明显不是一句话,如果语言模型训练的好,那么序列B的概率就很小很小。
-
预训练:预训练是一种迁移学习的概念。所谓预训练模型,举个例子,假设我们有大量的维基百科数据,那么我们可以用这部分巨大的数据来训练一个泛化能力很强的模型,当我们需要在特定场景使用时,例如做医学命名实体识别,那么,只需要简单的修改一些输出层,再用我们自己的数据进行一个增量训练,对权重进行一个轻微的调整即可。预训练语言模型有很多,典型的如ELMO、GPT、BERT等。
-
Transformer:Bert是基于Transformer实现的,BERT中包含很多Transformer模块,其取得成功的一个关键因素是Transformer的强大作用。
Transformer可以理解为一个神经网络模块,模块内部有其复杂的网络结构,我们可以暂且将其视为黑盒,这并不影响对Bert的理解。总之,这个模块通过自注意力机制实现快速并行,改进了RNN最被人诟病的训练慢的缺点,并且可以增加到非常深的深度,充分发掘DNN模型的特性,提升模型准确率。
PS:BERT一层层深究下去的路径是这样的:【BERT】–【Transformer】–【self-attention】–【attention机制】–【seq2seq】
-
Bidirectional:因为BERT之前的预训练语言模型如ELMO和GPT都是单向的(ELMO可以说是双向的,但其实是两个方向相反的单向语言模型的拼接),而结合上下文信息对自然语言处理是非常重要的。Bidirectional也是Bert的主要创新点。