本文范围:

Inception-v1/v2系列案例剖析与实现

Inception-v1

简介:在严格的意义上来讲,Inception-v1是属于GoogLeNet系列的,是早期向LeNet模型致敬的一款模型。

轨范员1小时源码演示谷歌Inception不合入门深度进修根本模型

Inception构造

上图便是Inception-v1的构造示意图,我们可以看到在个中有很多连续的卷积和并列的卷积核(滤波器),还分别有三个输出层(便是当时在入门CNN文章中提到过的多输出构造)

此外:

Inception相较于AlexNet而言移除了两个全连接层,用均匀池化来进行替代。

额外添加两个SoftMax避免梯度低落。
(笔者看过很多干系的代码,创造很多的实例并不会利用这两层额外的作为赞助输出,详细的效果读者可以自行测试一下)

上图便是一个inception-v1的构造模块,在过去我们学习的CNN模型中都是将卷积核串联在一起,而Inception却是将其输出在通道上进行堆叠。
个中11卷积核紧张起到减少打算通道的浸染。

Inception-v2

简介:Inception-v2在v1的根本上添加了BN层,将构造模块中的55卷积核改为两个33的卷积核,这样能既能减少网络中的参数,又能提高打算速率

[(55)/(332)= 1.388888889 ]

图为改进后的Inception构造模块,总体构造没有改变,这样我们就可以进行一些代码的干系实践

框架版本:TensorFLow-1.5-GPU

代码实现

如图和代码所示,模块共采纳四个通道进行并行打算,通报的结果在第三通道(深度)处进行拼接输出。

但是,单单实现了通报过程还不能够,Inception-v2最值的一提的还是BN层,它可以避免频繁调试学习率而大幅度的提升模型的演习效率。

本日就到这里,下次我会带大家深入浅出——快速实现BN层算法,使你的模型也能够演习如飞!

记得添加关注哦!

(未完待续)