一个完整的深度学习系统最核心的两个方面是
数据和
模型。
深度学习模型通常由三部分参数组成:
深度学习模型通常由三部分参数组成:
- 可学习参数(Learnable Parameter),又称可训练参数、神经网络权系数、权重,其数值由模型初始化参数、误差反向传播过程控制,一般不可人工干预。
- 结构参数(Archetecture Parameter),包括卷积层、全连接层、下采样层数目、卷积核数目、卷积核大小等描述网络结构参数,一旦设定好,网络训练阶段不能更改;值得注意的是,训练阶段的参数和预测阶段的参数很可能不同。
- 训练超参数(Hyper-Parameter),用来控制网络训练的收敛的参数,训练阶段可以自动的或手动调节获得更好的效果,预测阶段不需该参数。
可学习参数在内存中使用Blob对象保持,必要时以二进制ProtoBuffer文件(*.caffemodel)形态序列化并存储于磁盘之上,便于进一步微调(funetune,又称为精调)、共享、性能评估(benchmark)。
结构参数使用ProtoBuffer文本格式(*.prototxt)描述,网络初始化通过该描述文件构建Net对象、Layer对象形成有向无环图结构,在Layer和Layer之间、Net输入源和输出均为持有数据和中间结果的Blob对象。