自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 分类的简单模型示例

在PyCharm上再新建上个Data.py文件,用于下载并读取Imagenette数据集,具体功能请详见注释。数据集进行测试,该数据集包含10个类,其中训练集有9469张图片,验证集有3925张图片。使用训练好的模型对单张图像进行推理。

2025-01-08 10:56:01 266

原创 梯度下降方法训练模型

梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。上图的梯度下降看起来很完美,但是神经网络是复杂函数,具有大量非线性变换,由此得到的损失函数看起来不像一个很好的碗状。对于多元函数而言,梯度是一个向量,也就是说,把求得的偏导数(偏导数就是它关于其中一个变量的导数而保持其他变量恒定)以向量的形式写出来,就是梯度。在单变量的实值函数的情况,梯度只是导数,或者,对于一个线性函数,也就是线的斜率。

2025-01-08 10:55:16 545

原创 损失函数的介绍

softmax损失函数的本质是将一个k维的任意实数向量x映射成另一个k维的实数向量,其中,输出向量中的每个元素的取值范围都是(0,1),即softmax损失函数输出每个类别的预测概率。基于概率分布度量的损失函数是将样本间的相似性转化为随机事件出现的可能性,即通过度量样本的真实分布与它估计的分布之间的距离,判断两者的相似度,一般用于涉及概率分布或预测类别出现的概率的应用问题中,在分类问题中尤为常用。等,将映射后的样本看作空间上的点,采用合适的损失函数度量特征空间上样本真实值和模型预测值之间的距离。

2025-01-08 10:54:41 933

原创 激活函数的介绍

如果神经网络中每一层的输入输出都是一个线性求和的过程,下一层的输出只是承接了上一层输入函数的线性变换,那么无论你构造的神经网络多么复杂,有多少层,最后的输出都是输入的线性组合,纯粹的线性组合并不能够解决更为复杂的问题。例如:对于长度为 K 的任意实向量,Softmax 可以将其压缩为长度为 K,值在(0,1)范围内,并且向量中元素的总和为 1 的实向量。ReLU 函数是深度学习中较为流行的一种激活函数,从函数就可以看出其计算成本非常的低,只要大于等于0,那么输出就是其本身,如果小于0,则输出恒为0。

2025-01-08 10:53:45 577

原创 池化的原理

池化的操作就是一个采样的过程,所谓的采样,就是有选择性的保留某些数值。其实操作和卷积很类似,可以理解为池化也有一个卷积核,但是这个核只是一个框,框里没有任何数字需要进行训练,仅仅是按一定的规则对数据进行筛选。可以看到,上述中蓝色的框为池化的核(大小:2x2),平均池化则是计算这个核内的所有数字的平均值,然后输出到下一层。如果卷积是为了能自动提取图像的高维度且有效的特征,那么池化就是自动删除一些不必要的特征,减少特征个数(即降维),增加特征的鲁棒性,缓解卷积层对位置的过度敏感性。

2025-01-08 10:52:42 259

原创 卷积的原理

卷积核通常是一个小的二维矩阵,其大小通常为 k×k ,其中 k 是一个正整数,称为卷积核大小(例如3*3, 5*5, 7*7等等),卷积核的大小也可以称为感受野。在卷积操作中,卷积核可以识别输入图像中的不同特征,例如边缘、纹理、角落等,从而提取更加高级的特征表示。上图中,通过2个输入通道和2个卷积核可以求出一组特征,那么,通过多个卷积核,就可以生成多个输出层(即提取多个抽象的特征)。例如:输入图像大小为3*3,卷积核大小为2*2,卷积的步长为1,那么输出的矩阵大小为2*2。

2025-01-08 10:52:06 288

原创 卷积神经网络的介绍

卷积神经网络 (Convolutional Neural Network,简称CNN),是一种深度学习模型,最初是由Yann LeCun等人在1980年代末和1990年代初所提出,用于解决手写数字识别等计算机视觉问题。但是当时限于计算能力的不足,没有得到广泛的应用和发展。随着计算机硬件性能的提升,特别是GPU的发展,CNN的能力得到了进一步发挥。

2025-01-08 10:51:19 435

原创 神经元和神经网络

其中,b表示一个偏置项,它的作用是使得神经元在输入信号为0时仍然能被激活,从而改善模型的表达能力。其中,一个神经元的树突与其它神经元的突触连接,轴突可以向其它神经元发送信号,树突接收到信号后传到细胞核中进行处理,然后再通过轴突把处理后的信号发给其它神经元。该人工神经元包含多个输入A_1, A_2...A_n(模仿多个树突),一个计算功能(模仿细胞核),以及一个输出(模仿一个轴突)。轴突只有一条,轴突尾端有多个轴突末梢,这个末梢和其它神经元的树突连接,可以给其它多个神经元传递信息。

2025-01-08 10:50:30 395

原创 基于PyTorch (CPU) 的环境安装

开始编写深度学习模型之前,我们得先将环境安装好,本文主要基于PyTorch的深度学习框架。由于是入门级别,所以这里先介绍PyTorch CPU版本的安装。Anaconda可以很方便的创建和管理不同的环境,所谓不同的环境,比如,可以对Tensorflow 和Pytorch创建不同的环境,由于PyTorch和Tensorflow有不同的版本,而每个版本又需要对应指定范围内的Python,CUDA,以及GPU版本。如果将所有版本都安装在一个环境下,不仅容易乱,而且容易导致版本之间的冲突,最终无法正确使用。再一个个

2025-01-08 10:49:40 1099

原创 Tensorflow,Pytorch和PaddlePaddle的对比

这里主要介绍深度学习中使用得比较多的三个框架,他们分别是Tensorflow, Pytorch和PaddlePaddle.为什么使用深度学习框架,因为在这些框架上开发和使用神经网络模型都非常快速和方便,有很多关于深度学习核心算法的API可以直接调用。而且不需要编写底层的代码去调度GPU。就像是搭积木一样的去创建自己的神经网络模型。也可以直接调用现有的神经网络模型,只需简单的代码即可读取模型,训练模型,使用模型进行推理。

2025-01-08 10:47:52 701 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除