【自用复习提纲】计算机视觉相关知识(CNN/RNN/CRNN/RCNN)总结

部署运行你感兴趣的模型镜像

对比

CNN图像/语音/矩阵 → 特征图卷积+池化+激活分类、检测、分割一切“网格数据”
RNN序列 → 序列/向量循环连接的隐藏层文本、语音、时序预测
CRNN图像 → 字符序列CNN + RNN场景文字识别(OCR)
R-CNN图像 → 框+类+像素级掩码CNN + 区域候选 + 分类回归实例分割(检测+精细轮廓)

CNN

前向传播——实现信息的前向传导

卷积层:

        卷积运算 —— 提取特征

        稀疏连接 —— 降低了模型的复杂度,防止过拟合

        权值共享 —— 减少权值数量,模型易优化

        权值初始化 —— 决定算法是否收敛

        感受野 —— 在原始图像上映射的区域大小

        边界填充Padding —— 图像尺寸对齐,保持边界信息

池化层

        池化:又叫下采样、降采样。

        作用:降采样(减少参数),增大感受野,提高运算速度及减小噪声影响,防止过拟合。

全连接层

   卷积层、池化层、激活函数 —— 将原始数据映射到隐层特征空间,提取特征;

   全连接层 —— 将学到的 “分布式特征” 映射到样本标记空间,进行分类;

激活函数——增加非线性能力

        隐含层与输出层之间(如:卷积层+激活函数+池化层)

        在隐藏层:Sigmoid函数\sigma(x)=\frac{1}{1+e^{-x}};(全连接层)

                          Tanh函数tanh(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}};(全连接层)

                          ReLU函数ReLU(x)=max(0,x)(卷积层)

        在输出层:Softmax函数;(全连接层)

                          线性激活函数

反向传播——迭代训练,降低损失

损失函数

衡量模型预测值与真实值之间的差异

正则化

提升模型的泛化能力,防止过拟合

L1/L2/dropout
L1L2Dropout
作用对象模型权重参数模型权重参数神经元激活值(网络结构)
实现方式显式修改损失函数
添加权重绝对值惩罚项
显式修改损失函数
添加权重平方惩罚项
隐式正则化
训练时随机"失活"神经元
数学形式Loss'=Loss+\lambda \sum|w_i|Loss'=Loss+\lambda \sum w_i^2训练时:随机屏蔽部分神经元
测试时:权重按比例缩放
参数影响产生稀疏解
部分权重被精确压至0
权重平滑衰减
所有权重均匀变小
无直接权重惩罚
迫使学习更鲁棒的特征表示
核心效果特征选择
自动忽略不重要特征
防止权重过大
抑制个别特征主导
类似集成学习
近似训练多个子网络
适用场景高维特征、需要稀疏性
(如基因数据、NLP)
通用线性模型、神经网络
防止权重爆炸
仅限深度学习模型
特别是深层全连接网络

L1与L2正则化的最大区别在于解的稀疏性:(是否产生精确零值)

        L1正则化:会将不重要的特征权重精确压缩至0,实现特征稀疏化。

        L2正则化:仅使所有权重平滑趋近于0但永不等于0,得到稠密解。

        L1会"砍掉"无用特征,L2只是"削弱"所有特征。

L1:高维灾难场景、资源受限部署、可解释性刚需

L2:特征共线性问题、深度学习标配、小样本精细建模

计算机视觉:默认L2(1e-4),配合Dropout;L1仅用于训练后稀疏化剪枝,训练时慎用

RCNN

Region Proposals候选区域生成——CNN特征提取——SVM目标分类——NMS消除冗余检测结果+Boundingbox Regression边框位置修正

Fast RCNN

改进:(只保留RP+CNN)

卷积不再是对每个region proposal进行,而是直接对整张图像;

用ROI pooling进行统一的特征尺寸变换(RCNN需要将候选区域都归一化到固定大小);

将regressor放进网络一起训练,每个类别对应一个regressor,同时用softmax代替原来的SVM分类器

Faster RCNN

RPN(Region Proposal Network,建议区域生成网络)+Fast RCNN

将候选框生成也融入到CNN网络中,使得 候选框生成、特征提取、候选框分类、候选框边界回归这四大部分都结合在一个CNN网络中,避免了分步训练,实现了真正端到端的目标检测。

Mask RCNN

Faster RCNN+全连接的分割子网(对每个RoI预测了对应的二值掩膜(binary mask),以说明给定像素是否是目标的一部分)

结构:RPN——Fast RCNN(class+bbox)+ Mask(binary mask)

改进(相比Faster RCNN):

vgg网络 -> ResNet-FPN;

将 Roi Pooling 层替换成了 RoiAlign;

添加并列的 FCN层(mask层);

网络结构:骨干网络ResNet-FPN,用于特征提取——头部网络,包括边界框识别(分类和回归)+mask预测

mask层的作用:

为每个检测到的目标生成一个精确的像素级掩码,从而实现实例分割,而不仅仅是边界框检测;

像素级精度+实例级区分+并行计算,速度友好+训练简单=检测网络升级成“检测+分割”两用工具,精度大幅提升,速度几乎不掉

RNN

对具有序列特性的数据非常有效,主要体现在上下文对理解的重要性

基本结构:输入层x——权重矩阵U——隐藏层s(+延迟器w即s_0)——权重矩阵V——输出层o

五种结构:单个神经网络,即一对一;

单一输入转为序列输出,即一对多(图片);

序列输入转为单个输出,即多对一;

编码解码(Seq2Seq)结构,即不等长多对多(语言翻译,文本摘要,阅读理解,对话生成);

输入输出等长序列(写诗)

LSTM长短时记忆结构

基本单元是“记忆单元”,每个记忆单元包含三个门:输入门(input gate)、遗忘门(forget gate)和输出门(output gate)

解决梯度消失(门控机制控制信息的流动);捕捉长距离依赖

CRNN

卷积层CNN(提取文本图像的特征) + Map-to-Sequence(特征图->特征向量序列) + 递归层RNN(双向LSTM,特征向量进行融合以提取字符序列的上下文特征) + 转录层CTC(预测得到文本序列)

Yolo v8

网络结构:CSPDarknet(主干Backbone) + PAN-FPN(颈Neck) + Decoupled-Head(输出头部Head,class+bbox)

使用VFL Loss作为分类损失,使用DFL Loss+CIOU Loss作为边界框回归损失

与v5本质不同:基于anchor-free的思想,不依赖预定义的锚框(anchor boxes)来匹配真实的目标框,而是通过直接预测目标的中心点和边界框尺寸来完成目标检测。避免了锚框生成和匹配的冗余步骤,避免小目标容易错过锚框匹配,适应不同形状和大小

PyTorch VS TensorFlow

PyTorchTensorFlow
命令式(动态图)声明式(静态图,TF2.x 支持动态图)
像 Python 一样调试,直观TF2.x 改善了很多,但仍稍复杂
学习曲线更平缓,适合研究者学习曲线稍陡,但 TF2.x 已大幅简化
无官方高层 API(可用 Lightning、Accelerate)Keras 是官方高层 API,极简开发
Hugging Face、TorchVision、fairseqTF Hub、Keras Applications、Model Garden
学术界主导工业界主导
 + Hugging Face 多态大模型+ Keras
用 PyTorch 训练,导出 ONNX,再用 TensorRT 部署

为什么学术界偏爱 PyTorch?

1. 动态图机制,调试直观

2. 代码风格简洁,上手快

3. 学术研究社区主导

4. 灵活性强,适合创新

为什么工业界更倾向 TensorFlow?

1. 部署工具链成熟

2. 静态图优化,性能稳定

3. 存量系统和生态依赖

4. 企业级支持强

参考:

ai生成

https://blog.youkuaiyun.com/shinuone/article/details/127289512?fromshare=blogdetail&sharetype=blogdetail&sharerId=127289512&sharerefer=PC&sharesource=IPWAS&sharefrom=from_link
https://blog.youkuaiyun.com/weixin_52435934/article/details/140545360?fromshare=blogdetail&sharetype=blogdetail&sharerId=140545360&sharerefer=PC&sharesource=IPWAS&sharefrom=from_link
https://blog.youkuaiyun.com/lbr15660656263/article/details/139996271?fromshare=blogdetail&sharetype=blogdetail&sharerId=139996271&sharerefer=PC&sharesource=IPWAS&sharefrom=from_link
https://blog.youkuaiyun.com/libo1004/article/details/111595054?fromshare=blogdetail&sharetype=blogdetail&sharerId=111595054&sharerefer=PC&sharesource=IPWAS&sharefrom=from_link
https://ai-wx.blog.youkuaiyun.com/article/details/107509243?fromshare=blogdetail&sharetype=blogdetail&sharerId=107509243&sharerefer=PC&sharesource=IPWAS&sharefrom=from_link



 

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

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值