为了小论文之跟着李沐学AI(八)

卷积(一)

难受之前写的博客忘记发就管了
其实这里就是理论部分的证明


为了小论文之跟着李沐学AI(八)_第1张图片
上面的理论证明到了实际的应用就如图所示
为了小论文之跟着李沐学AI(八)_第2张图片
平移不变性表现在kernel的值,不随着input的ij变化而变化
他的局部性体现在,kernel并没有关注全局的点,只关注了一部分点。


def corr2d(X, K):  #
    """计算二维互相关运算。"""
    h, w = K.shape
    Y = torch.zeros((X.shape[0] - h + 1, X.shape[1] - w + 1))
    for i in range(Y.shape[0]):
        for j in range(Y.shape[1]):
            Y[i, j] = (X[i:i + h, j:j + w] * K).sum()
    return Y
    
class Conv2D(nn.Module):
    def __init__(self, kernel_size):
        super().__init__()
        self.weight = nn.Parameter(torch.rand(kernel_size))
        self.bias = nn.Parameter(torch.zeros(1))

    def forward(self, x):
        return corr2d(x, self.weight) + self.bias

其实核心就是互相关运算理解这个就好办了

你可能感兴趣的:(人工智能,深度学习,计算机视觉)