1.一种深度学习模型的超参数调优方法,其特征在于包括如下步骤:步骤1:文本数据的预处理,对文本数据进行标注;
步骤2:构建深度学习模型;
步骤3:对深度学习模型进行训练,通过增加模型深度的方式使得模型在训练集上对数据过拟合,利用过拟合模型来保证对训练数据充分利用,并逐步减少模型深度来微调模型,最后根据测试集上的表现选择最优的模型深度;
步骤4、模型预测;
对需要预测的文本内容,利用步骤3训练好的深度学习模型,得到文本数据标记的预测值;
步骤1具体实现如下:
1‑1.收集文本数据集X={x1,x2,…xN},N为总的训练样本数量;其中,xi∈{x1,x2,…xN},xi表示第i个待处理的文本数据;
1‑2.利用人工对文本数据进行标记,针对文本数据集中每一个文本数据xi,标记对应的yi,yi∈{0,1};标记文本数据的目的在于根据业务需要利用人工经验对文本数据进行分析,其中,1表示和业务相关,0表示不相关;
1‑3.利用Jieba分词器对文本数据集X进行分词,汇总得到所有文本数据的词表W,W={w1,w2…,wD},其中D为词表的总长度;wk表示词表中第k个词;则文本数据xi可以表示为其中kn表示文本数据xi中第n个词在词表W中的序号,从而可用词表序号重新表示文本数据xi={k1,k2…,kn};
步骤2具体实现如下:
2‑1.对文本数据 的长度进行固定;
当文本数据的长度小于预设的固定长度时,使用“PAD”进行填充达到固定长度;
当文本数据的长度大于预设的固定长度时,丢弃超过预设的固定长度的部分;
如果文本数据中的词不在词表W中,使用“UNK”代替;
2‑2.建立每个词的embedding向量;将词表W中的所有词转化为预设的固定长度的稠密向量,优选用128维向量;
2‑3.获取一维卷积block;使用多个不同宽度的卷积核同时对embedding向量进行卷积;将每个卷积核的卷积结果进行拼接,得到一维卷积block,每次卷积后保证序列长度不变;
2‑4.多次叠加一维卷积;
利用2‑3定义的一维卷积block对wide特征进行处理,得到新的embedding向量,在每次卷积后使用窗口大小为4,步长为4的最大池化;每一次最大池化操作后长度缩小1/4;反复进行4次卷积和最大池化操作;获取最终序列长度变为64,特征长度为8;
2‑5.文本表示;将序列长度为64,特征长度为8的向量拉直成一个序列长度为512维的向量,得到整个文本序列的512维特征向量的表示;
2‑6.构建损失函数;使用全连接层将512维特征向量映射成2维的向量,再通过softmax函数,得到两个文本数据标注yi的预测概率值;构建损失函数为:loss=yilog pi+(1‑yi)log(1‑pi);
其中,yi为文本数据标记,pi为文本数据标记yi的预测概率值,i为数据标记的索引,表示第i个文本数据;
步骤3具体实现如下:
3‑1.利用梯度下降算法,求解步骤2‑6中的损失函数,使得其最小化来训练模型;
3‑2.利用上述深度学习模型对测试集上数据进行测试,如果测试集上的损失函数值和训练集上的损失函数值的拟合相对误差小于5%,则跳转到步骤2‑4,并增加一个卷积block,然后重新执行步骤2‑4到3‑1;直到深度学习模型在训练集上的损失函数值比测试集上的损失函数值的拟合相对误差大于等于5%,即模型达到过拟合状态,则进入步骤3‑3;
测试集上的损失函数为
训练集上的损失函数为
拟合相对误差为
其中,Dtrain表示训练样本集,Ddev表示测试集,n表示n个卷积block;
3‑3.以步骤3‑2中训练的模型参数为初始值,再跳转到步骤2‑4,去掉最顶层的卷积block,然后继续训练模型,执行步骤2‑4到3‑1后跳过步骤3‑2,直接进入步骤3‑3;
3‑4.如果测试集上的损失函数值和训练集上的损失函数值的拟合相对误差大于等于
5%,则跳转到步骤3‑3;如果测试集上的损失函数值和训练集上的损失函数值的拟合相对误差小于5%,则模型训练完成。