CNN基础

本文详细介绍了卷积神经网络(CNN)的基础知识,包括inductive bias、计算图的概念及其在Pytorch中的应用。阐述了卷积、激活函数、归一化以及损失函数的类型,并探讨了针对不平衡数据集的class_weighting策略。此外,还讨论了优化方法,如动量梯度下降、RMSprop和Adam算法,解释了它们如何加速和稳定模型训练。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CNN的inductive bias

inductive bias是模型设计时的固有假设,或者说依据一定的假设相应地设计的模型。CNN的假设是:

1. Translation equivariance 

2. Locality or shared computation

计算图

计算图是用来描述运算的有向无环图。使用节点表示数据,边表示运算。

Pytorch在前向传播时建立动态计算图存储数据和运算,反向传播时可以自动完成求导计算梯度。

节点的数据使用tensor结构,tensor包括如下属性:

requires_grad:Pytorch只对requires_grad属性设为True的节点计算梯度。自己定义的tensor的requires_grad属性默认为False。神经网络层中的权值w的tensor的requires_grad属性默认为True,若一个节点requires_grad被设置为True,那么所有依赖它计算的节点的requires_grad都为True。希望某些节点不更新时将相应节点的requires_grad属性设为False即可;

grad_fn:用于存储前向传播时获得该tensor使用的运算,以便在后续反向传播求导时使用;

grad:用于存储其反向求导得到的梯度;

is_leaf:为了节省内存,一轮反向传播后非叶子节点的梯度是会被释放;

参考:[PyTorch 学习笔记] 1.4 静态图与动态图机制 - 知乎

网络

1. 卷积

Pytroch实现torch.nn.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuyuelongfly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值