深度网络的基础组件

xiaoxiao2021-02-28  105

网络架构的主要分类: 1. 无监督网 2. CNN 3. 循环网:[LSTM] 4. 递归网 网络的主要组件: 1. 参数:在不同的架构中,层的结构方式不同,影响参数。 比如DBN中有两套连接。一套是RBM,用于抽取另一个网的特征。另一套是DBN,用RBM的输出去初始化网络。 2. 分层 可以通过改变激活函数的类型或子网类型来定制层。 3. 激活函数 输入层:不用激活函数。 隐藏层:用于抽于高阶特征。Sigmoid(少用)/Tanh(ReLU用得不爽时代替)/Hard tanh/ReLU(常用,用于连续的输入)及其变体。 输出层:回归:单值,线性激活函数 输出层:二元分类:在一个神经元上用sigmoid。 输出层:多类别分类:softmax, 或sigmoid加多神经元。 softmax输出苹果80%。 sigmoid+多神经元输出:绿75% 苹果80% 4. 损失函数 最佳拍档: 交叉熵失损函数+ softmax激活函数  在UPN中,使用重构熵损失函数(reconstruction entropy loss function)+ 高斯噪音,可以自主学习不同的特征。 5. 优化方法/学习函数 优化算法分为两类: First-order:计算雅可比矩阵。雅可比矩阵是损失函数的偏导组成的矩阵。变量是模型参数。 计算坡度。坡度下降算法属于这一类。最强的还是SGD。 Second-order:计算雅可比矩阵的偏导,即黑森Hessian矩阵。它考虑了参数之间的相互依赖。 Second-order包括的方法有: Limited-memory BFGS (L-BFGS):又称为拟牛顿法quasi-Newton method。是Broyden-Fletcher-Goldfarb-Shanno(BFGS)算法的变体。去计算hessian的逆。优于SGD。 Conjugate gradient:共轭梯度,也优于SGD。 Hessian-free:比牛顿法更好的处理二次函数的最小化问题。2010年用于深度网络。 其它优化算法包括: • Genetic algorithms • Particle swarm optimization • Ant colony optimization • Simulated annealing 6. 超参数 包括: 层大小 量级(动量,学习率) 规整化(剪枝,drop connect, L1, L2) 激活量(包括激活函数家族) 权重初始化策略 损失函数 对epochs的设置(mini-batch size) 输入数据的标准化方案(vectorization) 混个眼熟:受限波兹曼机RBMs,自动编码器Autoencoders ND4j:N-Dimensional Arrays for Java 小结:本篇讨论了深度网络的基础组件,以及激活函数、损失函数和优化算法如何取舍。
转载请注明原文地址: https://www.6miu.com/read-51981.html

最新回复(0)