Network In Network

CNN高层特征其实是低层特征通过某种运算的组合, 至于这个运算的目的就是提取高维特征, 线性卷积层采用的是离散卷积运算, 那么能不能改进这个运算使得特征提取更加高效呢, 基于这种思想, 文章提出在每个局部感受野中进行更加复杂的运算,提出了对卷积层的改进算法:MLP卷积层

VGGNet

VGG和GoogLenet这两个模型结构有一个共同特点是Go deeper。跟GoogLenet不同的是,VGG继承了LeNet以及AlexNet的一些框架,尤其是跟AlexNet框架非常像,VGG也是5个group的卷积、2层fc图像特征、一层fc分类特征。根据前5个卷积group,每个group中的不同配置,VGG论文中给出了A~E这五种配置,卷积层数从8到16递增。

Back Propagation

在介绍了梯度下降法进行模型优化的思想之后, 在介绍神经网络之前, 我们需要对反向传播算法有一个直观的理解, 因为在神经网络中, 包含大量的函数嵌套的前向运算, 在利用梯度下降法求导的时候, 通常需要链式法则来进行微分项的计算

Gradient Descent

SVM and Softmax那篇文章中, 我们知道模型最主要的两个模块, 评分函数代价函数, 我们通过代价函数来表征真实值与模型预测值之间的差异, 当然我们只知道和真实值相差多少是不够的, 我们还要不断的更改模型参数$W$, 使得差异越来越小, 这个过程就是最优化, 这篇文章介绍最优化方法中广泛使用的梯度下降法

Catch单元测试

最近在写C++的一些小程序, 在书上讲到测试驱动开发的方法, 也就是TDD(Test-Driven Development), 所以要打算掌握单元测试方法, 至少自己在写算法题的时候可以自己测试代码的健壮性, 从网上了解了一个C++的测试工具叫Catch, 看是来十分简单友好, 来学习一下