1. 目标定位
图片左上角为$(0,0)$,图片右下角为$(1,1)$
目标中心点为$(b_x,b_y)$,宽度为$b_w$,高度为$b_h$
继续阅读 »
1. 论文
V1: Going Deeper with Convolutions
V2: Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
V3: Rethinking the Inception Architecture for Computer Vision
V4: Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning
继续阅读 »
1. Shortcut Connection
随着网络层次的越来越深,就容易出现梯度消失或者梯度爆炸的问题,因此网络层数无法很深。残差网络(Residual Network)的出现很好的解决了这个问题。相关论文可以参考Deep Residual Learning for Image Recognition。
继续阅读 »
1. LeNet-5
论文参考Gradient-Based Learning Applied to Document Recognition。
继续阅读 »
1. CNN特点
假设一批图片样本,图片尺寸都是100 × 100(单通道)。使用神经网络来进行训练,假设第一个隐藏层有2500个神经单元,则参数个数一共为 10000 × 2500 = 2500W
存在的问题:
参数数据量太多,需要大量的计算资源
图片是一个二维结构,相邻像素之间的关联较强,距离远的像素之间关联较弱,因此不必要一次性把所有像素在一起计算
继续阅读 »
1. 超参数
到目前为止,已经涉及到了许多个超参数:
学习速率 $\alpha$
Momentum优化算法的 $\beta$
Adam优化算法的 $\beta_1,\beta_2,\epsilon$
网络层数 $L$
每个隐藏层的神经单元个数
学习率衰减 $decay\text{-}rate$
$batch\text{-}size$
继续阅读 »
1. BGD
BGD即批量梯度下降(Batch Gradient Descent),是最原始的梯度下降形式,即每次使用所有训练样本来进行梯度下降。
优点是得到的是全局最优解。
缺点是在样本数量较大的情况下,BGD会运行的很慢。
继续阅读 »
1. 训练/开发/测试集
(1)划分比例:
数据量不大(例如1W条数据)的情况下,可以按照6:2:2进行划分
大数据(例如100W条数据)情况下,可以按照98%,1%,1%进行划分
(2)数据分布
不同数据集应该遵循同样的数据分布。例如图片识别,一部分图片是从网上抓取的,一部分是自己实际拍摄的。那么各个数据集都应当包含这两种图片,并且比例大致相同。
继续阅读 »
1. 前向传播
如上图,左边为一个简单的神经网络结构,右边为每一个神经单元的计算过程。
对于一个样本:
$$
\begin{array}{}
a^{[0]}=x \
z^{[1]}=W^{[1]}a^{[0]}+b^{[1]} \
a^{[1]}=\sigma(z^{[1]}) \
z^{[2]}=W^{[2]}a^{[1]}+b^{[2]} \
a^{[2]}=\sigma(z^{[2]}) \
\end{array}
$$
继续阅读 »
1. 符号表示
假设有一批猫和非猫的图片,要判断是否是猫。假设图片都是彩色图片,尺寸为$64\times64$。
在训练的时候,将图片进行铺平展开,如下图所示:
继续阅读 »