一、卷积层
1、卷积层是什么?能用来干什么?
卷积层的主要作用就是提取特征。
它的优点:
- 局部连接:卷积层通过卷积核将一个3*3的区域卷积化成一个特征数值,这样传到下一层的神经网络保留了前一层的特征而且减少了传递的成本。
- 权值共享:一张图片使用卷积核扫描,整张图片全部使用卷积核的参数。
import torch
import torch.nn.functional as F
input =torch.tensor([[1,2,0,3,1],[1,2,5,3,1],[1,4,0,3,1],[1,2,6,4,1],[2,0,3,9,1]])
kernel =torch.tensor([[1,2,1],[1,2,1],[1,2,1]])
input = torch.reshape(input,(1,1,5,5))
kernel= torch.reshape(kernel,(1,1,3,3,))
print(input.shape)
print(kernel.shape)
output = F.conv2d(input,kernel,stride=1)
print(output)
output2 = F.conv2d(input,kernel,stride=2)
print(output2)
output3 = F.conv2d(input,kernel,stride=1,padding=1)
print(output3)
#直接写的卷积,这里涉及到了conv2d是2维的神经网络扫描,可以设置:kernel卷积核、stride扫描的跨度、padding留白的大小
这里注意卷积conv2d的参数设置即可。
self.conv1 = Conv2d(in_channels=3,out_channels=6,kernel_size=3,stride=1,padding=0)
这就是一个卷积函数,可以对应官网查询卷积公式,有时候需要现推卷积参数。
二、池化层
1、池化层的作用?
为了降低数据量,减少过拟合,提高速度,来对图片进行合理的“降低画质”,在不影响机器理解的情况下来减少计算成本。
2、常见的池化方法
- 最大池化:选取最大值进行提取。
- 均值池化:计算出均值进行提取。
三、激励函数
1、激励函数是什么?有什么作用?
激活函数就是非线性的函数。
激活函数就是为了加强神经网络的表达能力。引入非线性函数作为激励函数,这样深层神经网络表达能力就更加强大(不再是输入的线性组合,而是几乎可以逼近任意函数)
具体的激励函数讲解看:激励函数详解