当前位置:网站首页>18.卷积神经网络
18.卷积神经网络
2022-07-27 05:13:00 【派大星的最爱海绵宝宝】
卷积
全连接网络在pytorch中也叫做线性层,我们实现的时候linear不包括激活函数的部分,
receptive field感受野
感受视野,与局部有关。例如一个小孩看桌子的时候,他可能会先关注到蛋糕,之后再关注其他东西,即关注局部的一些东西。
卷积神经网络指的是局部相关性,每次关注一小块。
weight sharing权值共享
卷积核在图像上移动时,权值是相同的,不会随着移动而改变。
参数

每一层前面的权值和输出加在一起,算一个层。层与层之间有多少条线,就有多少个参数。
[784,256,256,256,256,10]
784×256+256×256+256×256+256×256+256×10=399872个参数,每个参数用4字节来表示,总共1599488B,大约1.53MB。
按理说对于第一个点,应该有4条线,但是卷积神经网络上它只有2条,也就是只有与它相关的只有2条。
卷积操作
卷积核和输入图对应地方的数相乘后再相加的操作。
为什么叫卷积

求函数x(τ)和h(t-τ)重叠部分的面积,我们可以把卷积核看作x(τ)函数,输入图看作h(τ)函数,最后的输出图看作y(τ),y是一个二维的,y的横纵坐标分别表示偏移量,代表着卷积核在输入图上的移动量和方向。
锐化sharpen
| 0 | 0 | 0 | 0 | 0 |
|---|---|---|---|---|
| 0 | 0 | -1 | 0 | 0 |
| 0 | -1 | -5 | -1 | 0 |
| 0 | 0 | -1 | 0 | 0 |
| 0 | 0 | 0 | 0 | 0 |
模糊blur
| 0 | 0 | 0 | 0 | 0 |
|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 | 0 |
| 0 | 0 | 1 | 0 | 0 |
| 0 | 0 | 0 | 0 | 0 |
边缘检测edge detect
| 0 | 0 | 0 | 0 | 0 |
|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 0 |
| 0 | 1 | -4 | 1 | 0 |
| 0 | 0 | 1 | 0 | 0 |
| 0 | 0 | 0 | 0 | 0 |
卷积神经网络

I(28×28)是输入图函数,k是卷积核,F是输出函数。x的范围是0->26,y的范围也是0->26。
不同kernel,代表不同的观察角度,生成不同的map。
kernel:
input_channels原始通道,黑白1,彩色3
kernel_channels代表几个kernel,例如边缘检测、模糊等。
stride步长,每次移动几格
padding补0,paddin=1,把输入图四周各加一行0,使得输出增大。
multi-kernels:
x:[b,3,28,28]
b可以理解为张数。3是input channels。尺寸是28×28
one k:[3,3,3]
第一个3与input channels一致,一个kernel对input的3个通道进行特征提取。后面是尺寸
multi-k:[16,3,3,3]
16是偏置,每一个kernel都有一个偏置,大小和kernel的数量一致。
bias:[16]
大小和kernel的数量一致
out:[b,16,28,28]
28×28是尺寸,取决于有没有padding。
识别特征时,最开始是观察一些低层的特征,如角度、边缘等。中间一般都是观察一些小的概念,比如形状等。高层的一般观察更高级别的特征。识别特征一层一层的叠加。
实现简单的二维卷积神经网络
推荐:layer实例,会先运行hooks,再运行.forward函数。
不建议直接使用forward函数。
layer=nn.Conv2d(1,3,kernel_size=3,stride=1,padding=0)
x=torch.rand(1,1,28,28)
out=layer.forward(x)
print('out shape:',out.shape)
第一个1是input channel,我们假设只有一张黑白的图片。3是指kernel的数量。
由此可推测kernel为[3,1,3,3]
forward()完成一次卷积的前向运算。

layer=nn.Conv2d(1,3,kernel_size=3,stride=1,padding=1)
x=torch.rand(1,1,28,28)
out=layer.forward(x)
print('out shape:',out.shape)
此时我们进行了padding,输出会比上一个大一些。

layer=nn.Conv2d(1,3,kernel_size=3,stride=2,padding=1)
x=torch.rand(1,1,28,28)
out=layer.forward(x)
print('out shape:',out.shape)
layer=nn.Conv2d(1,3,kernel_size=3,stride=2,padding=1)
x=torch.rand(1,1,28,28)
out=layer(x)
print('out shape:',out.shape)
stride有降维的功能,输出维度变小

layer=nn.Conv2d(1,3,kernel_size=3,stride=2,padding=1)
print('weight:',layer.weight)
print('weight shape:',layer.weight.shape)
print('bias shape:',layer.bias.shape)
直接使用自带工具更新梯度。

边栏推荐
- 2021中大厂php+go面试题(1)
- MySQL索引分析除了EXPLAIN还有什么方法
- GBASE 8C——SQL参考6 sql语法(15)
- Minio8.x version setting policy bucket policy
- Basic layout of the page
- How to open a general commodity futures account
- GBASE 8C——SQL参考6 sql语法(11)
- 基于PG-Oracle和MySQL的三库通用sql代码开发
- GBASE 8C——SQL参考6 sql语法(10)
- If you encounter oom online, how to solve it?
猜你喜欢

手把手教你搭建钉钉预警机器人

Fortex Fangda releases the electronic trading ecosystem to share and win-win with customers

基于深度神经网络的社交媒体用户级心理压力检测

Day 6.重大医疗伤害事件网络舆情能量传播过程分析*———以“魏则西事件”为例

When opening futures accounts, you should discuss the policy in detail with the customer manager

解决MySQL JDBC数据批量插入慢的问题

Read and understand the advantages of the LAAS scheme of elephant swap

NFT new paradigm, okaleido innovation NFT aggregation trading ecosystem

Which futures company do you go to and how do you open an account?

解析新时代所需要的创客教育DNA
随机推荐
GBASE 8C——SQL参考6 sql语法(4)
Day 3. Suicidal ideation and behavior in institutions of higher learning: A latent class analysis
DDD领域驱动设计笔记
给测试小姐姐的第三封信 | ORACLE存储过程知识分享和测试说明
刷脸支付永远不会过时只会不断的变革
GBASE 8C——SQL参考6 sql语法(5)
MySQL索引分析除了EXPLAIN还有什么方法
How to apply for the return of futures account opening company?
How does gamefi break the circle? Aquanee shows its style by real "p2e"
Docker deploys the stand-alone version of redis - modify the redis password and persistence method
MySQL快速比较数据库表数据
如果面试官问你 JVM,额外回答“逃逸分析”技术会让你加分
Amazon evaluation autotrophic number, how to carry out systematic learning?
minio8.x版本设置policy桶策略
GBase 8c技术特点
神芷迦蓝寺
期货开户怎么选择好的期货公司 ?
刷脸支付更符合支付宝一直做生态的理念
Do you really know session and cookies?
GBASE 8C——SQL参考4 字符集支持