项目实战:Torch实现简单分类网络

目录

简介

图像分类

深度学习分类原理

卷积层

全连接层

Softmax 函数

Loss计算

Torch代码实战

数据集

数据加载

模型搭建

损失函数

优化器

训练流程

模型预测

简介

这是一个简单的resnet实现猫狗分类例子,项目代码可在github获取,希望你能够学习如下内容:

1)神经网络实现分类的原理

2)了解模型优化流程:数据处理、损失计算、反向传播等

3)熟悉如何使用torch加载图片数据、搭建模型、训练模型。

图像分类

定义:给定一张图像,判断图像中目标类别

深度学习分类原理

在深度学习中,通过卷积神经网络对图像进行特征提取,得到一个代表图像特征的向量,然后通过全连接层将特征向量映射到类别输出,最后通过softmax层得到类别概率输出,整体流程如下。通过训练,不断的更新优化模型的参数,让模型具备预测新数据的能力。

卷积层

作用:通过滑动窗口(‌卷积核)‌在特征图上进行滑动并进行计算,‌实现图像的特征提取。‌卷积的特性包括局部感知机制、‌权值共享等,‌这些特性使得卷积神经网络能够有效地处理图像数据,‌同时减少模型的参数数量,‌防止过拟合。‌

图像在计算机中就是一个多维向量,比如(3x224x224),经过卷积网络后假设得到:(7x7x512)大小的特征图(32倍下采样)。

全连接层

简单来说,全连接层就是一个线性分类层,图像经过卷积网络得到的特征图经过池化或者flatten后,变成一维向量,比如长度512的向量,然后经过全连接层进行线性映射,得到类别输出。比如二分类,得到长度为2的向量。举一个简单的例子:

 

Softmax 函数

作用就是将一组数值转换为对应的概率,且概率和为 1。公式:

比如,经过全连接层得到每个类别输出值为[-0.3241, -0.8814],经过 Softmax 之后,得到类别概率[0.6358, 0.3642],原始的输出转换成一组概率,并且概率的和为 1 。原始输出中值最大的类别具有最大的概率。

Loss计算

深度学习模型训练流程:前向传播计算模型输出、模型输出和标签根据损失函数计算损失、通过损失计算模型参数的梯度、优化器根据参数梯度更新模型参数。损失函数在模型优化中比较重要,它影响模型参数的梯度计算。Softmax对应使用交叉熵损失函数,其计算公式如下:

上式中, a是softmax的计算结果,y是训练样本的标签(on

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值