AlexNetImageNet LSVRC-20101000类分类比赛上实现了37.5% top-117.0% top-5的最小误差率,在LSVRC-2012上实现了15.3% top-5的最小误差率,这些数据是当时最好的识别结果,其实现代码也在google code上公开:cuda-convnet

本文学习AlexNet网络结构及其训练方法

阅读全文 »

使用前馈神经网络进行检测,测试集的检测率总是低于训练集,尤其是训练集数量不大的情况下,原因在于神经网络在训练过程中不断调整参数以拟合训练数据,在此过程中也学习了训练集噪声,导致泛化能力减弱

随时失活(dropout)是一种正则化方法,其动机来自于进化中的性别作用理论(a theory of the role of sex in evolution),它通过训练多个不同网络模型,模拟模型组合的方式来提高网络性能,防止网络过拟合

主要内容如下:

  1. 基础知识 - 伯努利分布/均匀分布
  2. 实现原理
  3. 模型描述及改进
  4. 3层神经网络测试
阅读全文 »

主成分分析(princial component analysis,简称PCA)是一种无监督的数据降维操作,它通过最大化方差方法来寻找低维空间,能够有效减轻计算量的同时保证处理数据有效性

主要参考文章PCA数学原理,里面做了生动的数学原理分析

阅读全文 »

小结PCA求解过程中相关的线性代数基础(部分几何内容+概率论内容

  • 内积
  • 投影
  • 向量的线性相关/线性无关
  • 向量空间的基
  • 线性变换和线性映射
  • 矩阵降维
  • 特征值和特征向量
  • 正交向量组和正交矩阵
  • 实对称矩阵
阅读全文 »

Nesterov加速梯度(Nesterov's Accelerated Gradient,简称NAG)是梯度下降的一种优化方法,其收敛速度比动量更新方法更快,收敛曲线更加稳定

阅读全文 »

动量(momentum)更新是梯度下降的一种优化方法,它能够加快损失函数收敛速度(converge rate

阅读全文 »

在标准随机梯度下降过程中,每次更新使用固定学习率(learning rate),迭代一定次数后损失值不再下降,一种解释是因为权重在最优点周围打转,如果能够在迭代过程中减小学习率,就能够更加接近最优点,实现更高的检测精度

学习率退火(annealing the learning rate)属于优化策略的一种,有3种方式实现学习率随时间下降

  1. 随步数衰减(step decay
  2. 指数衰减(exponential decay
  3. 1/t衰减(1/t decay

下面介绍这3种学习率退火实现,然后用numpy编程进行验证

阅读全文 »