resnet Block
时间: 2025-01-02 18:11:20 浏览: 6
### ResNet 块架构
ResNet(残差网络)通过引入快捷连接(shortcut connection),解决了深层神经网络中的梯度消失问题并促进了更深层次的学习能力。这种设计使得模型能够更容易地训练非常深的网络结构。
#### 残差块的设计原理
在传统的卷积神经网络中,随着层数加深,会出现退化现象——即当网络更深时,准确率反而下降。而ResNet采用了一种称为“残差学习”的方法来解决这个问题[^1]。具体来说:
- **残差表示**:假设目标函数为H(x),那么传统CNN试图直接拟合这个映射;而在ResNet中,则尝试去学F(x)=H(x)-x的形式,也就是只关注输入到输出之间的差异部分。
- **恒等映射**:如果最佳解就是保持原样不变的话,由于存在直连路径可以直接传递信息而不改变任何东西,因此即使在网络较深处也能很好地保留原始特征。
#### 实现细节
对于一个标准的两层残差单元而言,其基本形式如下所示:
```python
import torch.nn as nn
class BasicBlock(nn.Module):
expansion = 1
def __init__(self, in_channels, out_channels, stride=1, downsample=None):
super(BasicBlock, self).__init__()
# 定义两个连续的3×3卷积操作
self.conv1 = nn.Conv2d(in_channels, out_channels, kernel_size=3, stride=stride, padding=1, bias=False)
self.bn1 = nn.BatchNorm2d(out_channels)
self.relu = nn.ReLU(inplace=True)
self.conv2 = nn.Conv2d(out_channels, out_channels * self.expansion, kernel_size=3, stride=1, padding=1, bias=False)
self.bn2 = nn.BatchNorm2d(out_channels * self.expansion)
self.downsample = downsample
def forward(self, x):
identity = x
out = self.conv1(x)
out = self.bn1(out)
out = self.relu(out)
out = self.conv2(out)
out = self.bn2(out)
if self.downsample is not None:
identity = self.downsample(x)
out += identity
out = self.relu(out)
return out
```
此代码片段定义了一个简单的`BasicBlock`类,它实现了最基本的两种情况之一:要么尺寸相同不需要调整(`downsample=None`),要么需要降采样的情况下会传入相应的下采样模块用于匹配维度大小以便相加运算。
此外,在构建更深版本如ResNet-101或ResNet-152时,主要增加了更多这样的三层组合而成的基础组件数量,从而达到更高的理论深度,但整体计算量却相对较小[^2]。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)