极简解释inception V1 V2 V3 V4

Inception v1

inception的核心就是把google net的某一些大的卷积层换成1*1, 3*3, 5*5的小卷积,这样能够大大的减小权值参数数量。直接上一张完整的图片
这里写图片描述
可以看到,卷积了几步之后就开始出现并行的过程,换成几个1*1, 3*3, 5*5的卷积并列。然后再把分别卷积的结果作为层数维度上的合并。
比方说这一层本来是一个28*28大小的卷积核,一共输出224层,换成inception以后就是64层1*1, 128层3*3, 32层5*5。这样算到最后依然是224层,但是参数个数明显减少了,从28*28*224 = 9834496 变成了1*1*64+3*3*128+5*5*32 = 2089,减小了几个数量级。
再上一张形象的图:
这里写图片描述
这个图除了那三个卷积并联,还加上了一个3*3的池化层并联,操作方法一模一样,这里就不多加赘述了。
换成代码就是

def 
### Inception v1至v4版本的区别与改进 #### 版本概述 Inception系列模型经历了多个迭代版本的发展,从最初的Inception v1 (GoogLeNet)[^5] 到后来的Inception v2、v3以及最终的v4,在架构设计上不断引入新的技术以提高性能并降低计算成本。 #### 主要变化与发展 ##### Inception v1 作为该系列的第一个版本,提出了经典的Inception模块概念。通过在一个层内组合不同大小的卷积核(如1x1, 3x3, 5x5),使得网络能够捕捉多尺度特征的同时保持较低参数量和计算开销。 ##### Inception v2 & v3 这两个版本来自同一份论文《Rethinking the Inception Architecture for Computer Vision》[^4]。其中一个重要改进是将较大尺寸的卷积操作分解成更小的操作序列——例如把单个5x5卷积分解为连续两次应用的3x3卷积;这不仅减少了参数数量而且提高了效率。此外,还加入了批量标准化(Batch Normalization)用于加速收敛过程,并优化了网格尺寸规约策略以更好地控制信息流路径中的分辨率损失。 ##### Inception v4 此版本进一步探索了如何结合先前成功的组件和技术来构建更深更强力的体系结构。特别是借鉴了ResNet的思想,在原有基础上增加了残差连接机制,从而允许创建更加深层化的网络而不会遇到梯度消失等问题。这种做法显著增强了模型的学习能力,并促进了更快捷有效的训练流程[^1]。 ```python def inception_module_v4(x_input): # 定义分支11x1 卷积 branch_0 = Conv2D(96, kernel_size=(1, 1), padding='same', activation='relu')(x_input) # 定义分支2:串联两个1x1卷积加一个3x3卷积 branch_1 = Conv2D(64, kernel_size=(1, 1), padding='same', activation='relu')(x_input) branch_1 = Conv2D(96, kernel_size=(3, 3), padding='same', activation='relu')(branch_1) # ...其他分支定义... output = concatenate([branch_0, branch_1]) # 合并所有分支输出 return Add()([output, x_input]) # 添加残差连接 ```
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值