超分辨率卷积神经网络(SRCNN)的关键算法与公式讲解

超分辨率卷积神经网络(SRCNN)的关键算法与公式讲解

1. 卷积层

卷积层通过对输入数据进行卷积操作来提取特征。此操作包括一个过滤器(或称为内核),该过滤器在输入图像上滑动,并计算过滤器与其覆盖的图像像素的点积。二维卷积的公式(步长为1,填充适当)如下:

( f ∗ g ) ( i , j ) = ∑ m ∑ n f ( m , n ) ⋅ g ( i − m , j − n ) (f \ast g)(i, j) = \sum_m \sum_n f(m, n) \cdot g(i - m, j - n) (fg)(i,j)=mnf(m,n)g(im,jn)

其中 ( f ) 是过滤器,( g ) 是图像。

2. ReLU激活函数

ReLU(线性整流单元)激活函数为网络引入非线性,定义如下:

ReLU ( x ) = max ⁡ ( 0 , x ) \text{ReLU}(x) = \max(0, x) ReLU(x)=max(0,x)

此函数对元素逐个应用,将特征图中的负像素值替换为零。

3. 批量归一化

批量归一化通过以下公式来归一化每个特征,减少内部协变量偏移。公式如下:

x ^ i = x i − μ B σ B 2 + ϵ \hat{x}_i = \frac{x_i - \mu_B}{\sqrt{\sigma_B^2 + \epsilon}} x^i=σB2+ϵ xiμB

其中 ( \mu_B ) 是批量均值,( \sigma_B^2 ) 是批量方差,( \epsilon ) 是一个很小的常数,以避免除以零。

4. 残差块

残差块的输出通过以下公式进行非线性激活后输出,这有助于网络学习更深层次的特征。公式如下:

x out = ReLU ( x + F ( x ) ) x_{\text{out}} = \text{ReLU}(x + F(x)) xout=ReLU(x+F(x))

其中 ( x ) 是输入的激活,( F(x) ) 是网络学习的残差映射。

5. 均方误差(MSE)损失

均方误差损失用于衡量预测值与真实值之间的误差,公式如下:

MSE = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 \text{MSE} = \frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2 MSE=n1i=1n(yiy^i)2

其中 ( \hat{y}_i ) 是预测值,( y_i ) 是真实值,( n ) 是样本数量。

6. Adam优化器

Adam优化器用于随机优化,结合了两种扩展的随机梯度下降法——AdaGrad和RMSProp的优点。Adam为每个参数计算自适应学习率。

7. 数据处理与转换

  • 图像加载与转换:使用PIL库和torchvision变换来加载和转换图像,包括调整图像大小并将其转换为张量格式。
  • DataLoader:用于有效管理数据集的批次,支持选项如随机排序和并行处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行走的小部落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值