卷积神经网络-卷积层

卷积神经网络包含卷积层,利用二维互相关运算进行处理。互相关运算从左上角开始,通过输入数组与核数组的乘积累加得到输出。卷积层在图像处理如边缘检测中有应用,通过卷积核识别局部空间特征。
部署运行你感兴趣的模型镜像

卷积神经网络是含有卷积层的神经网络。
通常,在卷积层中使用更加直观的互相关运算。
在这里插入图片描述
在二维互相关运算中,卷积窗口从输入数组最左上方开始,按从左往右,从上往下的顺序,一次在输入数组上滑动。当卷积窗口滑动到某一位置时,窗口中的输入子数组与核数组按元素相乘并就和,得到输出数组中相应位置的元素。
例如:
0x0 + 1x1 + 3x2 + 4x3 = 19

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
x = torch.tensor([[0,1,2],[3,4,5],[6,7,8]])
k = torch.tensor([[0,1],[2,3]])
corr2d(x,k)

tensor([[19., 25.],
        [37., 43.]])

一个应用场景—图像中物体边缘检测
假设有一张6x8的图像,且中间4列时黑(0),其余为白(1),然后构造一个高和宽为1和2的卷积核k。将该卷积核和输入做互相关运算时,如果相邻元素相同,输出0,否则输出非0。

X = torch.ones(6,8)
X[:,2:6] = 0
K = torch.tensor([[1,-1]])
corr2d(X.float(),K.float())
tensor([[ 0.,  1.,  0.,  0.,  0., -1.,  0.],
        [ 0.,  1.,  0.,  0.,  0., -1.,  0.],
        [ 0.,  1.,  0.,  0.,  0., -1.,  0.],
        [ 0.,  1.,  0.,  0.,  0., -1.,  0.],
        [ 0.,  1.,  0.,  0.,  0., -1.,  0.],
        [ 0.,  1.,  0.,  0.,  0., -1.,  0.]])

所以,卷积层可以通过重复使用卷积核有效地表征局部空间

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值