0
点赞
收藏
分享

微信扫一扫

如何完成一个深度学习的模型

突发奇想,想把模型中要用到的参数,模型,优化的一些选择系统的做一个简单总结

本文中的图片引用自:邱锡鹏,神经网络与深度学习,机械工业出版社,https://nndl.github.io/, 2020.

Model(模型)

模型就是你的模型(听君一席话如听一席话

Optimizer(优化器,或者说优化算法)

在这里插入图片描述

优化器一般选择集各家所长的Adam
在这里插入图片描述
在这里插入图片描述

Loss Function(学习准则,损失函数)

损失函数就是你的模型需要优化的函数,根据不同任务选择不同的损失函数

回归问题常用平方损失
在这里插入图片描述
分类问题一般使用交叉熵损失函数,因为它可以用来衡量两个分布的差异

在这里插入图片描述
在这里插入图片描述

Hinge损失
在这里插入图片描述

Activation Function(激活函数)

在这里插入图片描述
一般情况首选ReLu激活函数
在这里插入图片描述
零中心化的Tanh函数:
在这里插入图片描述

Normalization(标准化,数据预处理)

一般有最大最小归一化,BN,LN

假设每一行为输入变量x的每个特征,一个工有n行,代表批量大小为n,有m列,代表有m个特征
在nlp中就是有很多个长度不一的句子,BN相当于对每一列做归一化,LN相当于对每一行,也就是每个句子自己的所有词做归一化,而因为句子长度不易,BN的效果并不好,所以常用LN

Regularization(正则化)

L1,L2,权重衰减,提前停止,dropout,数据增强,标签平滑

Initialization(参数初始化)

NLP中现在主流方法是使用预训练初始化(词向量,bert)

基于方差缩放的参数初始化

Evaluating Metric(评价指标)

常见的几个评价指标:

  • ‘accuracy’,
  • ‘bleu’,
  • ‘f1’,
  • ‘glue’,
  • ‘precision’,
  • ‘recall’,

batch_size(批量大小)

batch size别太小,也别太大,其他都行

epochs(训练轮数)

一般训练到dev set的损失不再下降即可

learning_rate(学习率)

数据预处理

针对不同的任务有不同的方法

举报

相关推荐

0 条评论