自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(97)
  • 资源 (2)
  • 收藏
  • 关注

原创 44.卷积神经网络代码实现

LeNet是由Yann LeCun等人在1998年提出的卷积神经网络,也是最早出现的卷积神经网络之一,主要用于解决手写数字识别问题。LeNet在手写数字识别上的成功,使得卷积神经网络的应用受到了极大的关注,并为后来的卷积网络发展奠定了良好的基础。LeNet的结构如图所示:- 包含两个卷积层(Conv Layer)- 两个下采样层(Pooling Layer)- 三个全连接层(Fully Connected Layer)

2024-07-19 12:00:00 241

原创 43.池化层Pooling

池化层作为卷积神经网络中的重要组成部分,通过降采样来压缩信息,使网络结构更加紧凑。本文详细介绍了池化层的基本概念、操作方法、特点以及在实际应用中的重要性。希望通过本文的介绍,读者能够更好地理解池化层在卷积神经网络中的作用和意义。如有任何问题或建议,欢迎在评论区留言讨论。祝大家学习愉快!---希望这篇文章对您有所帮助,如果有任何问题或需要进一步的解释,请随时联系我。

2024-07-18 12:00:00 1721

原创 42.卷积层常见操作

本文介绍了卷积操作中的一些关键概念和常见问题,从卷积核的大小、填充和步长,到多通道输入的处理方式,再到分组卷积的应用。这些内容不仅是理解卷积神经网络的基础,也是进行实际操作和优化时需要掌握的重要知识点。希望通过本文的讲解,读者能更好地理解卷积操作在图像处理中的应用和原理。大家加油!

2024-07-17 12:00:00 671

原创 41.卷积层

卷积层是应用了图像卷积操作的神经网络隐藏层。为了更好地理解它,我们先用一个例子说明它的组成。假定输入的图像是一个6×6×3的矩阵,其中3代表RGB三个颜色通道。卷积层中的滤波器(Filter,也叫卷积核)是两个4×4×3的矩阵。需要注意的是,滤波器的深度必须与输入图像的深度保持一致。通过卷积操作后,我们可以得到两个3×3的特征图(feature map)。本节课我们介绍了卷积层的基本知识,详细说明了卷积层的构成、图像卷积核的效果以及感受野的概念。

2024-07-16 12:00:00 358

原创 40.图像卷积

卷积(Convolution)是一种数学运算,广泛应用于信号处理和图像处理领域。基本思想是两个函数的积,通过滑动窗口的方式计算它们的叠加值。对于一维情况下,假设 \( f \) 和 \( g \) 分别表示输入的两个函数,其中 \( f \) 是输入函数, \( g \) 是卷积核函数,卷积运算的符号表示为:对于二维情况,卷积运算略微复杂,有两个变量 \( x \) 和 \( y \)。

2024-07-15 12:00:00 703

原创 39.全连接层问题

在现代深度学习领域,研究的核心问题是数据与模型的匹配问题。如何提升模型的泛化能力是关键,其中,训练过程、数据、模型设计是三个重要的方面。上一章,我们深入探讨了梯度下降法,这一方法专注于训练过程。而本章开始及后续几章将聚焦于模型设计,首先从传统的多层感知机(MLP)入手,并进一步探讨卷积神经网络(CNN)的演变。

2024-07-14 09:08:23 498

原创 38. 深入浅出学习率调节器:理论与代码实现

学习率本质上是模型参数的更新速率,所以如何调整会涉及到模型训练的各个方面。以下因素都会直接影响学习率的设定:- 模型的复杂度- 训练数据的规模- 目标任务的复杂度- 优化器的类型- 损失函数的变化情况- Batch size等因素本节我们介绍了学习率调节器的概念和常见的几种策略,并通过代码实现了一个对比实验,展示了学习率调节器的作用。学习率调节器可以显著提高模型的训练效率和效果,理解并合理使用它们对深度学习实践有着重要意义。

2024-07-10 16:52:16 552

原创 37.深度学习中的梯度下降法及其实现

梯度下降法(Gradient Descent)是一种常用的优化算法,广泛应用于机器学习和深度学习中。其基本思想是通过迭代更新参数,使得损失函数逐步减小,最终找到最优解。常见的梯度下降法包括随机梯度下降(SGD)、动量法(Momentum)、自适应学习率方法(Adagrad、RMSprop、Adadelta)和Adam等。本文通过代码实现详细展示了梯度下降法在二维和三维空间中的应用,并对比了多种优化器的效果。通过这些实践,我们能够更直观地理解梯度下降法的工作原理及其在深度学习中的应用。

2024-07-10 16:50:08 595

原创 36. Adam 算法详解

Adam(Adaptive Moment Estimation)是一种结合动量法和自适应学习率的优化算法,自2014年提出以来,迅速成为深度学习中最流行和常用的优化算法之一。Adam算法的核心思想是利用梯度的一阶动量和二阶动量来动态调整学习率,既保持了动量法的优点,又结合了RMSProp的自适应学习率特性。

2024-07-10 16:47:58 993

原创 35.Adam算法

在深度学习中,RMSProp 和 Adadelta 是两种常见的优化算法。它们都是在 AdaGrad 的基础上做了改进,以适应深度学习中的大规模参数优化需求。

2024-07-10 16:44:03 931

原创 34. AdaGrad算法

本节我们介绍了一种新的梯度下降算法变体——AdaGrad。与动量法相比,它最大的改进在于使用二阶动量来动态调整学习率,能够记住历史上的梯度信息,以动态调整学习率。其主要优点是能够处理稀疏特征问题,但也有学习率逐渐减小和调整方式固定的缺点。到目前为止,我们一共讲了五种梯度下降算法。AdaGrad是2011年提出的,而动量法在1993年提出,SGD在1951年提出。

2024-07-10 16:33:30 658

原创 33. 动量法(Momentum)介绍

尽管深度学习中的动量与物理学中的动量并不完全相同,但它们都强调了一个概念:在运动方向上保持运动的趋势,从而加速收敛。1. **加速收敛**:动量法通过积累之前的梯度信息,使得优化过程更为顺畅,避免了曲折路径,提高了收敛速度。2. **跳过局部最小值**:由于动量的累积作用,可以帮助优化算法跳过一些局部最小值,找到更优的解。3. **减少振荡**:动量法可以有效减小学习过程中梯度震荡的现象,使得模型的训练更加稳定。2. **参数调节**:动量法引入了新的超参数(动量系数),需要在实际应用中进行调节。

2024-07-10 16:21:11 247

原创 32. 小批量梯度下降法(Mini-batch Gradient Descent)

小批量梯度下降法结合了批量梯度下降法和随机梯度下降法的优点,是深度学习中常用的优化算法。通过调整小批量大小和学习率,可以在训练速度和模型精度之间找到最佳平衡。在实际应用中,小批量梯度下降法由于其较高的效率和较好的收敛效果,被广泛应用于各类深度学习模型的训练中。

2024-07-10 16:19:49 519

原创 31. 随机梯度下降法:优化与实现

SGD通过每次迭代使用一个随机样本来计算梯度,从而加快了计算速度并避免陷入局部最小值。动态学习率的使用可以进一步提高SGD的收敛性。在实际应用中,SGD已成为深度学习领域最常用的优化算法之一。希望通过本文,大家能够深入理解SGD的基本思想和实现,并在实际项目中灵活应用。

2024-07-10 16:16:10 385

原创 30. 梯度下降法及其应用

假设损失函数 \( L \) 是参数 \( W \) 的函数:我们的目标是找到参数 \( W \) 使得 \( L(W) \) 最小化。梯度是损失函数的导数,表示函数在某一点处的最陡下降方向。梯度下降法是深度学习中最常用的优化算法之一。通过计算损失函数的梯度,确定参数的更新方向和步长,不断逼近损失函数的最小值。选择合适的学习率和初始点是梯度下降法成功的关键。理解梯度下降法的基本概念和应用,对于深入学习深度学习算法有重要意义。在后续的文章中,我们将详细探讨梯度下降法的各种变体及其在实际应用中的优化技巧。

2024-07-10 16:08:11 507

原创 29. 深度学习中的损失函数及其数学性质详解

在深度学习中,优化算法的研究对象是损失函数。损失函数的数学性质对最优化求解过程至关重要。本文将详细介绍深度学习中的损失函数应具备的特性,帮助大家在后续的学习中避免概念上的误解。

2024-06-27 12:00:00 322

原创 28. 深度学习中的损失函数:起源、分类及统一理解

通过从概率分布和参数估计的角度重新梳理损失函数的定义,我们可以更高效地理解和应用各种损失函数及其变体。最大似然估计、最大后验估计和贝叶斯估计提供了统一的框架,使我们能够更系统地看待损失函数及其在机器学习和深度学习中的应用。希望这篇文章能帮助大家在学习和应用损失函数时,从更高的角度和更深的层次理解其精髓。随着对这些概念的深入理解,我们可以更灵活地选择和设计适合具体问题的损失函数,从而提升模型的性能和泛化能力。加油!

2024-06-26 12:00:00 750

原创 27. 深度学习中的优化算法和最优化理论

优化算法是深度学习模型训练中的核心工具,两者有密切的联系但也有显著的区别。最优化理论关注的是训练误差,而深度学习关注的是泛化误差。深度学习通过最小化经验风险来尽量减少泛化误差。优化过程中面临的挑战包括病态问题、局部最小值、鞍点、悬崖和长期依赖问题,这些问题需要通过不同的优化算法和策略来解决。深度学习的优化过程复杂多变,需要在实际应用中不断积累经验,调整策略,才能达到理想的优化效果。希望这篇文章能帮助你更好地理解深度学习中的优化算法及其面临的挑战。如果有任何问题或需要进一步探讨,欢迎留言交流。

2024-06-25 23:30:00 411

原创 使用搜索引擎--下载压缩软件

下载压缩软件

2024-06-18 13:56:48 132

原创 26.模型文件的读写

您已经很好地概述了PyTorch中模型保存和加载的几种方法。下面我将用代码示例来详细解释这些方法,并给出一些建议。

2024-06-17 12:00:00 187

原创 25.梯度消失和梯度爆炸

梯度消失指的是在训练深层神经网络时,由于链式法则的连乘效应,当网络层数过深时,梯度在反向传播过程中会逐渐减小到接近于0,导致深层网络的权重无法得到有效的更新。

2024-06-16 12:00:00 1965

原创 24.Dropout代码实现

在深度学习中,过拟合是一个常见的问题。为了解决这个问题,研究者们提出了许多技术,其中Dropout是一种非常有效的方法。Dropout通过在训练过程中随机将网络中的神经元“关闭”或“丢弃”,来防止模型对训练数据的过度拟合。在这个例子中,我们使用了简单的线性数据来模拟回归问题,并且使用了MSE(均方误差)作为损失函数。在训练过程中,我们分别训练了两个模型,一个没有使用Dropout,另一个在每个隐藏层后使用了Dropout。最后,我们通过绘制训练数据和模型预测的结果来可视化两个模型的性能。

2024-06-14 12:00:00 122

原创 23.Dropout

在深度学习的训练过程中,过拟合是一个常见的问题。为了解决这个问题,研究者们提出了多种正则化技术,其中Dropout技术因其简单而有效的特点,得到了广泛的应用。本文将对Dropout技术的工作原理、主要优点、潜在缺点以及应用场景进行详细的解析。

2024-06-13 12:00:00 1730

原创 22.正则化

在机器学习和深度学习的领域中,正则化技术是一种至关重要的策略,用于防止模型过拟合并提高模型的泛化能力。本文将详细介绍L1正则化、L2正则化以及它们之间的区别,同时还会探讨与L2正则化密切相关的权重衰减(Weight Decay)技术。

2024-06-12 12:00:00 914

原创 21.过拟合和欠拟合示例

在机器学习和深度学习中,过拟合和欠拟合是两个非常重要的概念。过拟合指的是模型在训练数据上表现很好,但在新的测试数据上效果变差的情况。欠拟合则是指模型无法很好地拟合训练数据的情况。这两种情况都会导致模型无法很好地泛化,影响最终的预测和应用效果。为了帮助大家更好地理解过拟合和欠拟合的概念及其应对方法,我将通过一个基于PyTorch的代码示例来演示这两种情况的具体表现。我们将生成一个抛物线数据集,并定义三种不同复杂度的模型,分别对应欠拟合、正常拟合和过拟合的情况。

2024-06-04 18:00:00 708

原创 20.过拟合欠拟合应对策略

过拟合是指模型在训练集上表现良好,但在验证集或测试集上性能较差的现象。这通常是因为模型复杂度过高,导致对训练数据中的噪声或异常值也进行了学习,从而缺乏对新数据的泛化能力。过拟合的表现可能包括模型在训练集上的误差很低,但在验证集上的误差却很高。过拟合和欠拟合是深度学习和机器学习中常见的问题。为了获得良好的模型性能,我们需要从数据、模型和训练策略三个方面入手,采取合适的应对策略。

2024-05-31 12:00:00 639

原创 19.训练的常见问题

它们直接影响到模型的泛化能力,即模型在未见过的数据上的表现。过拟合和欠拟合是深度学习中常见的问题,它们直接影响到模型的泛化能力和实际应用效果。这通常是因为模型对训练数据进行了过度的拟合,学习了数据中的噪声和细节,而未能捕捉到数据的本质规律。因此,当面对新的、未见过的数据时,模型的表现就会大打折扣。过拟合的原因主要是模型复杂度过高。在神经网络中,这可以通过增加网络的层数、神经元的数量或使用更复杂的模型结构来实现。因此,在实际应用中,我们需要找到一个合适的模型复杂度平衡点,使得模型既不过于简单也不过于复杂。

2024-05-30 15:30:00 324

原创 18.多分类问题代码实现

对于多分类问题,我们通常使用交叉熵损失函数(CrossEntropyLoss)。在PyTorch中,结合了LogSoftmax和NLLLoss,所以我们不需要在模型输出时显式使用LogSoftmax。对于优化器,我们选择随机梯度下降(SGD)。# 定义损失函数和优化器本文介绍了如何使用PyTorch框架来构建和训练一个用于多分类问题的神经网络模型。我们以MNIST手写数字数据集为例,展示了从数据加载和预处理、模型定义、损失函数和优化器选择,到模型训练和评估的整个流程。

2024-05-27 12:00:00 337

原创 17.分类问题

多分类问题的关键在于将输入数据映射到正确的类别标签上,这通常通过训练一个能够输出类别概率的模型来实现。Softmax 函数在模型输出层使用,用于将模型的原始输出转换为概率分布。对数损失函数和交叉熵损失函数用于衡量模型预测与真实标签之间的差异,并指导模型参数的优化。在深度学习中,通过选择合适的模型结构、激活函数和损失函数,可以有效地解决多分类问题。同时,使用优化算法(如梯度下降)来最小化损失函数,从而得到最优的模型参数。

2024-05-26 12:00:00 1047

原创 16.线性回归代码实现

本文将介绍线性回归的基本概念,并通过Python和PyTorch库来实操线性回归模型,深入理解其训练和预测过程。

2024-05-25 13:30:00 275

原创 15.回归问题

回归问题是机器学习领域中的核心问题之一,它旨在通过拟合数据点来建立数学模型,以预测因变量的值。回归问题不仅广泛应用于金融、医疗、工程等领域,也是数据分析和机器学习算法研究的重要基础。本文将深入探讨回归问题的基本概念、数学原理、常用方法以及实践应用,并通过数学公式和代码示例进行说明。

2024-05-24 12:00:00 1344

原创 14.多层感知机代码实现

对于手写数字识别,一个简单的多层感知机(MLP)或卷积神经网络(CNN)都可以工作得很好。使用PyTorch的nn.Module来定义你的网络结构。选择一个合适的损失函数(如交叉熵损失)和优化器(如Adam优化器)来训练你的模型。

2024-05-23 12:00:00 254

原创 13.前向传播和反向传播

我们将探讨神经网络中信息的流动方式,即前向传播和反向传播。

2024-05-22 12:00:00 665

原创 12.多层感知机

不同的激活函数具有不同的特性和适用场景。Sigmoid和Tanh函数在早期神经网络中广泛使用,但由于梯度消失等问题,现在更多地被ReLU及其变体所取代。ReLU函数简单高效,但在某些情况下可能导致“神经元死亡”问题,而Leaky ReLU则通过允许小的负斜率来缓解这个问题。Softmax函数则是多分类问题中常用的输出层激活函数。在选择激活函数时,需要根据具体问题和需求进行权衡和选择。在输出值不是0或1的情况下,激活函数的选择取决于具体的应用场景和问题需求。

2024-05-21 12:00:00 550

原创 11.神经网络原理

神经网络是一种模拟人脑神经元工作方式的计算模型,它由多个神经元(或称为节点)组成,这些神经元通过连接(或称为权重)相互关联。神经网络可以分为输入层、隐藏层和输出层。输入层接收外部数据,隐藏层对数据进行处理,输出层则产生最终的预测结果。神经网络的复杂性取决于其深度(层数)和宽度(每层神经元的数量)。神经网络的学习过程是通过调整权重(w)和偏置项(b)来最小化预测值与实际值之间的误差。这通常通过反向传播(Backpropagation)算法来实现,该算法利用链式法则计算梯度,并更新网络中的权重和偏置项。

2024-05-20 19:00:00 805

原创 10.PyTorch安装

详细介绍了PyTorch在Windows操作系统上的安装过程。通过Anaconda创建Conda环境并使用PyTorch官网提供的安装命令,我们可以轻松地安装PyTorch及其相关依赖项。安装完成后,我们验证了PyTorch的版本、检查了CUDA的可用性,并创建了一个随机张量来测试PyTorch的功能。如果一切顺利,那么您现在已经成功安装了PyTorch,并可以使用它进行深度学习和其他计算任务了。

2024-05-20 09:00:00 530

原创 9.Jubyter Notebook

Jupyter Notebook 是一个开源的Web应用程序,它允许开发者方便地创建和共享包含实时代码、方程、可视化和解释性文本的文档。Jupyter Notebook 的界面是交互式的,用户可以在其中编写和运行代码块,即时查看结果,并轻松地对代码和文档进行迭代。

2024-05-19 12:00:00 486

原创 8.conda命令

Conda 是一个流行的包和环境管理工具,特别适用于 Python 数据的处理和科学计算。它允许用户轻松地安装、更新、删除和管理不同版本的包及其依赖项,同时还支持创建和管理多个隔离的 Python 环境。

2024-05-19 09:00:00 255

原创 7.CUDA和Anaconda

在弹出菜单中选择“环境变量”,在系统变量中找到“Path”,双击它,在弹出的对话框中选择“新建”,然后将Anaconda的安装路径以及Anaconda目录下的Scripts路径都添加到Path环境目录中。然后,不要随意下载版本安装,需要根据自己电脑显卡驱动的版本安装相应支持的CUDA版本,否则可能会出现不兼容的情况。在打开的面板里点击左下角的“系统信息”,在弹出的系统信息界面里,你可以看到驱动程序版本信息。比如,如果你的显卡驱动是472.12版本,那么最高能安装的CUDA版本可能是11.4.0。

2024-05-18 09:00:00 466

原创 5.微积分

极限极限是微积分的基础,用于描述函数在某一点的取值趋势。导数(Derivative)导数描述了函数在某一点附近的变化率,即函数值随自变量变化的快慢程度。对于一元函数 f(x),其导数 f′(x) 定义为 limΔx→0​Δxf(x+Δx)−f(x)​。微分(Differential)微分描述了函数值随自变量的微小变化而产生的变化量。在一元函数中,微分可以表示为 dy=f′(x)⋅dx,其中 dy 是函数值的变化量,dx 是自变量的变化量,f′(x) 是该点的导数。

2024-05-17 09:00:00 636

chatgpt Stable Diffusion 本地部署详细教程

虽然MJ和SD都可以生成图像,但是为什么我们要考虑使用本地SD部署呢?原因其实很简单:首先,本地部署的使用成本更低,且更加高效;其次,它的功能更强大,更具专业性。然而,本地部署也存在一些缺点。一方面,它对硬件有一定的要求,特别是显卡。另一方面,使用上手需要经过一定的学习,才能熟悉使用。如果你平时只使用在线平台进行AI绘图,那么你只能算是入门级;如果你想达到专业级别,能够熟练地完成绘图任务,甚至商业化应用,那么本地部署就是不可或缺的。接下来教你怎么一步一步部署Stable Diffusion WebUI,让你的电脑拥有专业级AI绘图功能。

2024-05-13

ChromeSetup.exe

google的安装程序

2021-07-04

数据库登入界面完整

ADO:使用ACCESS数据库连接VC++工程,可以添加用户名,密码,记住用户名和密码,添加账号,修改密码,注销账号

2018-09-17

空空如也

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

TA关注的人

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