最近试一下kaggle的文字检测的题目,目前方向有两个ssd和cptn。直接看看不太懂,看到Alexnet是基础,今天手写一下网络,记录一下啊。

先理解下Alexnet中使用的原件和作用:

激活函数使用了relu并用了多个cpu:提高了训练速度。

重叠pool池化(不再是简单除以2的池化了,类似于卷积的计算过程,不过同样还是减少了参数):提高了精度,不容易产生过拟合。

局部响应归一化(Lenet网络的归一化实在最后一层,Alexnet网络前面几层都是在激活池化后用了softmax归一化):提高精度

                     局部响应归一化动机:神经学中有一个概念叫做侧抑制,即被激活的神经元抑制相邻神经元。归一化的目的是“抑制”,局部响应归一化就是借鉴侧抑制的思想来实现局部抑         制,尤其是使用RELU这种“侧抑制”很管用。好处:增强了泛化额能力,做了平滑处理,对局部神经元的活动创建了竞争机制,使得相应比较大的值相对更大,提高了模型泛化能力。(但是在后面的论文中提出lrn没什么卵用)

LocNet locnet结构_人工智能

 

数据增益、dropout:减少了过拟合。

LocNet locnet结构_归一化_02

与以往网络相比创新点在于:

1.大数据训练,Alexnet在网络训练前,对图片进行了变换:平移变换、反射变换、光照和色彩变换。增加数据

2.多CPU训练,使用了两个CPU,因为单CPU存储空间小,所以使用两个。

3.LRN局部相应归一化。局部相应归一化有助于模型的泛化。不太懂这里,留个坑,请指教

4.重叠池化。

5使用dropout来避免过拟合。dropout的神经元既不参与前向传播也不参与反向传播

6非线性激活函数,relu