学习霹雳吧啦up主笔记(一)全连接层、卷积层、池化层

一、学习内容
目标检测: fast r-cnn、ssd、yolov3
二、所需知识
图像处理基础知识
python3基础语法
numpy 科学计算包
了解pytorch
数学基础(线性代数)
三、所需环境
anaconda3 python3.6 pycharm pytorch torchvision
沟通方式:github csdn
四、卷积神经网络(cnn)发展
   
五、全连接层

  • 神经元
  • bp算法:包括信号的前向传播和误差的反向传播两个过程。计算误差时按从输入到输出的方向进行,调整权值和阈值则从输出到输入的方向进行。
  • 实例:利用bp算法实现车牌识别(可以再看视频回忆)

六、卷积层(cnn中独特的网络的结构)

  • 用一个卷积核在图像上已滑动窗口的形式顺序滑动。
  • 目的:进行图像特征提取  卷积特性:  
    1、拥有局部感知机制
    2、权值共享 卷积过程: 卷积核的深度(个数)与输入特征层的深度(个数)相同。 输出的特征矩阵深度(个数),与卷积核个数相同

  

  • 激活函数:

  

  • 矩阵经卷积操作后的尺寸由什么因素决定:


七、池化层:

  • 目的:对特征图进行稀疏处理,减少数据运算量
  • maxpooling下采样层:取的最大值
  • averagepooling下采样层:取的是平均值。 池化层特点:

没有训练参数 只改变矩阵的宽度和高度,不改变深度 一般池化大小和步距是一样的。

八、回顾
全连接层
卷积层
池化层

### LeNet 学习笔记 #### 、LeNet 的历史背景和发展 LeNet 是最早的卷积神经网络之,由 Yann LeCun 在 1980 年代后期开发,并在 1998 年正式发布。该模型最初用于手写字符识别任务,在邮政编码读取方面取得了显著的成功[^1]。 #### 二、LeNet 架构详解 ##### 1. 输入层 LeNet 接受固定大小的图像作为输入,通常为 \(32 \times 32\) 像素灰度图。对于 MNIST 数据集而言,则是 \(28 \times 28\) 大小的手写字母图片。 ##### 2. 卷积层与激活函数 - **第卷积层**:使用六个不同的滤波器对输入图像执行卷积操作,生成六个特征映射。 - **Sigmoid 或 Tanh 激活函数**:应用于每个特征映射中的每个像素点上,增加非线性特性。 ```python import torch.nn as nn class LeNet(nn.Module): def __init__(self): super(LeNet, self).__init__() self.conv1 = nn.Conv2d(in_channels=1, out_channels=6, kernel_size=5) self.relu = nn.Tanh() ``` ##### 3. 汇聚层(池化) 通过汇聚层可以减少数据量并提高计算效率;同时也降低了后续处理过程中对特定位置信息的需求以及减少了过拟合的风险[^2]。 ```python self.pool = nn.AvgPool2d(kernel_size=2, stride=2) ``` ##### 4. 更多卷积和汇聚组合 继续应用更多轮次的卷积加汇聚过程来提取更复杂的模式直至达到合适的抽象层次为止。 ##### 5. 全连接层 最后几层采用传统的全连接方式构建分类器部分。这些层负责将前面学到的空间结构转换成具体的类别预测结果。假设最后层有十个输出节点对应十类可能的结果(如MNIST),那么这里就需要大量的参数来进行训练[^3]。 ```python self.fc1 = nn.Linear(16 * 5 * 5, 120) self.fc2 = nn.Linear(120, 84) self.fc3 = nn.Linear(84, 10) ``` #### 三、总结 通过对上述各组成部分的理解可以看出,尽管 LeNet 已经不是当前最先进的架构,但它奠定了现代 CNN 设计的基础理念和技术框架。理解其工作原理有助于深入掌握更加复杂高效的新型网络设计思路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值