【深度学习笔记二】卷积神经网络基础

来源

最近在学习图像分类的相关知识,卷积是其中不可忽略的技术

b站up主:霹雳吧啦Wz

他的CSDN:太阳花的小绿豆

github:https://github.com/WZMIAOMIAO/deep-learning-for-image-processing

学习链接:https://blog.csdn.net/qq_37541097/article/details/103482003

https://blog.csdn.net/m0_37867091/article/details/107136477

什么是卷积神经网络

包含了卷积层的神经网络都可以理解为卷积神经网络

卷积层

卷积:卷积核覆盖到计算的特征值上,将卷积核上的值与特征值上的值相乘,最后相加

卷积目的:图像特征提取

卷积特性:局部感知,权值共享

输入:具有RGB三通道的图像

卷积核的深度要和输入图像的深度保持一致,三通道图像需要三维的卷积核

将卷积核分别放在RGB三通道上,进行对应元素相乘相加,最后再将三个通道卷积后的值相加,得到特征矩阵

卷积核的channel与输入特征层的channel相同

输出的特征矩阵channel与卷积核个数相同

padding操作,并计算卷积后的特征矩阵大小

常用的激活函数

为什么要引入激活函数?

在计算过程中是一个线性计算的过程,通过激活函数引入非线性因素,使其具备解决非线性问题的能力

常用的激活函数有两种:Sigmoid激活函数和Relu激活函数

池化层

池化目的:对特征图进行稀疏处理,减少数据运算量

池化特征:没有训练参数;只改变特征矩阵的高和宽,不改变通道;一般池化size和stride相同

常用的两种池化:最大池化,平均池化

误差计算

分类问题多用交叉熵损失

Softmax输出:类别之间无交叉(类别之间互斥),如,猫和狗

Sigmoid输出:类别之间有交叉,如,人类和男人

权重的更新

最常用的优化器:SGD+Momentnum

总结

  1. 卷积核改变channel数,卷积核的数量 = 输出的channel数

nn.Conv2d(输入channel数量,卷积核数量,卷积核大小)

如,nn.Conv2d(3, 16, 5),输入三通道图像,采用16个5x5卷积核,输出通道变为16

  1. 池化层不改变channel数量,改变图像的高和宽

nn.MaxPool2d(池化size,stride)

  1. 全连接层,输入输出是一维向量,需要进行flatten操作

nn.Linear(3*32*32, 120)

  1. 在计算交叉熵的内部已经实现了softmax,不需要再额外添加softmax

loss_function = nn.CrossEntropyLoss()

outputs = net(inputs)

loss = loss_function(outputs, labels)

loss.backward()

  1. 定义优化器,net.parameters()是模型中需要训练的参数,lr是学习率

optimizer = optim.Adam(net.parameters(), lr=0.001)

optimizer.step()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值