深度学习——入门术语

1.泛化

泛化是指从训练集中学习得到的模型参数在测试集中的好坏程度,测试数据必须和训练数据处于同一分布。

2.DNN

深度神经网络(Deep Neural Networks),CNN(卷积神经网络)、RNN(递归神经网络)等都属于其范畴之内,由输入层、隐藏层、输出层组成。

3.数据集:S3DIS/Modelnet40

S3DIS:是一个大型的3D点云室内数据集。

Modelnet40:下载网址Princeton ModelNet

4.T-net

T−Net是一个微型网络,用于生成一个仿射变换矩阵来对点云的旋转、平移等变化进行规范化处理。这个变换/对齐网络是一个微型的PointNet,它输入原始点云数据,输出为一个3∗3 的旋转矩阵。

5.batch size/iteration/epoch

batch size:一次训练所选取的样本数,其大小影响模型的优化程度和速度,同时直接影响到GPU内存的使用情况,假如GPU内存不大,该数值最好设置小一点,适当Batch Size使得梯度下降方向更加准确。

iteration:1个iteration等于使用batch size个样本训练一次。

epoch:1个epoch等于使用训练集中的全部样本训练一次,通俗的讲epoch的值就是整个数据集被轮几次。

5.loss和val_loss

搬运:loss与val loss的关系_vodka、的博客-CSDN博客_loss val_loss

loss:训练集整体的损失值。
val loss:验证集(测试集)整体的损失值。
  一般来说,我们在训练的一个模型的时候,我们都会把一个样本划分成训练集和验证集。如果我们按照训练集和验证集9:1的比例来划分,那么当我们在训练模型计算出来的loss值就会分为训练集总体loss以及测试集val loss。两者之间有大致如下的关系:
  当loss下降,val_loss下降:训练正常,最好情况。

  当loss下降,val_loss稳定:网络过拟合化。这时候可以添加Dropout和Max pooling。

  当loss稳定,val_loss下降:说明数据集有严重问题,可以查看标签文件是否有注释错误,或者是数据集质量太差。建议重新选择。

  当loss稳定,val_loss稳定:学习过程遇到瓶颈,需要减小学习率(自适应网络效果不大)或batch数量。

  当loss上升,val_loss上升:网络结构设计问题,训练超参数设置不当,数据集需要清洗等问题,最差情况。

6.Channel first

pytorch中要求卷积中特征图的通道数放在第二个参数,第一个为batch

7.baseline

baseline意思是基线,这个概念是作为算法提升的参照物而存在的,相当于一个基础模型,可以以此为基准来比较对模型的改进是否有效。

8.预训练

预训练方式表现在模型参数上,就是我之前已经拿一个合适的任务(这个任务可能是和很多任务有共同之处的任务)提前训练好了所有的模型参数(预训练)。我们不需要再从0开始训练所有参数了,但是针对我们目前这个任务,有些参数可能不合适,我们只需要在当前参数的基础上稍加修改(微调)就可以得到比较好的效果,这样学习时间必然会大大减小。

9.编码器和解码器

以卷积神经网络为例,进行分类任务,编码器负责表示输入,解码器负责输出。

编码器:将输入编程成中间表达式形式(特征)【特征抽取】

解码器:将中间表示解码成输出。【分类器】

你可能感兴趣的:(深度学习,c++)