
PyTorch深度学习
文章平均质量分 97
深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。本专栏讲解基于PyTorch的深度学习算法,参考《动手学深度学习PyTorch版》。
Francek Chen
征途漫漫,惟有奋斗!优快云大数据领域优质创作者,2024博客之星TOP47,阿里云社区专家博主,华为云云享专家。热爱学习大数据与人工智能的相关知识,专注Hadoop、Spark实战,打造了《大数据技术基础》《Python机器学习》等热门专栏,助力行业技术落地。多篇热文登榜TOP,开源项目解析广受好评。以代码为笔,记录成长;以博客为媒,传递价值。关注我,一起畅游于数据变化的世界中,发现更多精彩~~
展开
-
【现代深度学习技术】现代卷积神经网络06:残差网络(ResNet)
ResNet通过残差块设计解决深层网络训练难题,允许跨层恒等映射,缓解梯度消失。其核心为残差学习,每个块拟合目标与输入的差值,使优化更易。ResNet-18等模型通过堆叠残差块实现,在ImageNet等任务中表现优异,推动深度学习发展。原创 2025-03-31 10:09:05 · 1705 阅读 · 66 评论 -
【现代深度学习技术】现代卷积神经网络05:批量规范化
本文讲解现代卷积神经网络中的批量规范化。批量规范化通过标准化每层输入并引入可学习参数γ和β,加速深层网络收敛。应用于全连接或卷积层后、激活函数前,分训练和预测模式,有效控制中间层变量分布,提升训练稳定性。原创 2025-03-30 09:58:00 · 1228 阅读 · 39 评论 -
【现代深度学习技术】现代卷积神经网络04:含并行连接的网络(GoogLeNet)
本文讲解现代卷积神经网络中的GoogLeNet模型及其核心组件——Inception块。GoogLeNet通过在同一层中使用不同大小的卷积核来提取多尺度信息,并通过并行路径减少模型复杂度。文章详细描述了GoogLeNet的结构,包括多个Inception块、最大汇聚层和全局平均汇聚层的堆叠。最后,通过实现一个简化版的GoogLeNet模型并在Fashion-MNIST数据集上进行训练,展示了其高效性和性能。原创 2025-03-26 09:49:11 · 1173 阅读 · 60 评论 -
【现代深度学习技术】现代卷积神经网络03:网络中的网络(NiN)
本文讲解现代卷积神经网络中的NiN网络。NiN网络创新性地使用由卷积层和多个1×1卷积层组成的块结构,增强每像素非线性。通过用通道数等于类别数的全局平均池化层替代全连接层,有效减少过拟合和参数量。原创 2025-03-24 09:41:43 · 1202 阅读 · 55 评论 -
【现代深度学习技术】现代卷积神经网络02:使用块的网络(VGG)
本文讲解现代卷积神经网络中使用块的网络(VGG)。VGG网络通过堆叠多个相同结构的卷积块(含3x3卷积、ReLU和最大池化)构建深层架构。块设计提升模块化,训练时缩减通道数以适应数据集,使用高学习率优化,实现高效特征提取。原创 2025-03-14 09:36:44 · 991 阅读 · 56 评论 -
【现代深度学习技术】现代卷积神经网络01:深度卷积神经网络(AlexNet)
本文讲解深度卷积神经网络(AlexNet)。AlexNet在2012年ImageNet竞赛中突破,标志深度学习崛起。相比LeNet,其采用更大卷积核、ReLU激活函数和Dropout正则化,利用GPU加速和大规模数据训练,首次证明端到端学习特征优于传统手工设计,解决了深层网络训练难题,开启了CV领域新纪元。原创 2025-03-12 10:01:40 · 1001 阅读 · 56 评论 -
【现代深度学习技术】卷积神经网络06:卷积神经网络(LeNet)
本文讲解深度学习中的卷积神经网络(LeNet)。在卷积神经网络中,我们组合使用卷积层、非线性激活函数和汇聚层。为了构造高性能的卷积神经网络,我们通常对卷积层进行排列,逐渐降低其表示的空间分辨率,同时增加通道数。原创 2025-03-11 10:23:10 · 1548 阅读 · 23 评论 -
【现代深度学习技术】卷积神经网络05:汇聚层
本文讲解了卷积神经网络的汇聚层在图像处理中的作用,主要包括最大汇聚层和平均汇聚层,它们能够降低卷积层对位置的敏感性并减少空间降采样表示的敏感性。还讨论了填充、步幅以及多个通道的处理方法,并通过代码示例展示了这些操作的效果。原创 2025-03-10 09:34:20 · 1190 阅读 · 56 评论 -
【现代深度学习技术】卷积神经网络04:多输入多输出通道
本文讲解卷积神经网络中的多输入多输出通道。多输入多输出通道可以用来扩展卷积层的模型。当以每像素为基础应用时,1×1卷积层相当于全连接层。1×1卷积层通常用于调整网络层的通道数量和控制模型复杂性。原创 2025-03-04 09:00:00 · 1650 阅读 · 63 评论 -
【现代深度学习技术】卷积神经网络03:填充和步幅
本文讲解卷积神经网络中的填充和步幅。填充可以增加输出的高度和宽度。这常用来使输出与输入具有相同的高和宽,步幅可以减小输出的高和宽。填充和步幅可用于有效地调整数据的维度。原创 2025-03-03 09:14:02 · 1216 阅读 · 21 评论 -
【现代深度学习技术】卷积神经网络02:图像卷积
本文介绍了卷积神经网络中的图像卷积,阐述了其与卷积层的关联、在二维图像数据和隐藏表示中的处理过程、与严格卷积的区别、在图像数据中的应用、卷积层的参数、输出张量的形状以及互相关运算的优势。原创 2025-02-24 10:57:09 · 1922 阅读 · 57 评论 -
【现代深度学习技术】卷积神经网络01:从全连接层到卷积
本文介绍深度学习中的卷积神经网络。卷积神经网络利用平移不变性和局部性减少参数,通过卷积层学习图像特征,适合处理图像数据。多个输入和输出通道使模型在每个空间位置可以获取图像的多方面特征。原创 2025-02-17 12:47:33 · 1507 阅读 · 53 评论 -
【现代深度学习技术】深度学习计算05:GPU
本文介绍了深度学习计算中如何利用GPU性能增长进行研究,包括单个及多个GPU的使用,以及张量与神经网络在GPU上的存储与计算。原创 2025-02-14 14:21:01 · 1478 阅读 · 0 评论 -
【现代深度学习技术】深度学习计算04:读写文件
本文介绍了深度学习中如何使用PyTorch的save和load函数保存和加载张量及模型参数。保存模型时,需通过state_dict保存参数,恢复时重新定义模型架构并加载参数。原创 2025-02-07 10:00:00 · 1546 阅读 · 0 评论 -
【现代深度学习技术】深度学习计算03:延后初始化&自定义层
本文介绍了深度学习中延后初始化和自定义层的概念。延后初始化允许框架动态推断参数形状,简化模型构建;自定义层通过继承基础层类,实现具有特定功能的灵活层。原创 2025-02-04 11:10:25 · 1473 阅读 · 45 评论 -
【现代深度学习技术】深度学习计算02:参数管理
本文讲解了在深度学习中如何访问、初始化和共享模型参数。重点讲解了如何通过PyTorch访问层的权重和偏置、进行参数初始化(包括内置和自定义初始化方法)以及在多个层之间共享参数。原创 2025-01-28 19:51:21 · 2191 阅读 · 0 评论 -
【现代深度学习技术】深度学习计算01:层和块
本文讲解了深度学习神经网络中“块”的概念,展示了如何通过自定义块构建复杂的网络架构,强调了灵活性和可重用性,并探讨了性能优化和在前向传播中执行自定义操作的方式。原创 2025-01-27 10:00:00 · 2053 阅读 · 0 评论 -
【深度学习基础】多层感知机09:实战Kaggle比赛:预测房价
本文讲解了深度学习中使用PyTorch进行Kaggle房价预测比赛的深度学习实践,包括数据下载、预处理、模型设计、超参数选择以及K折交叉验证等技术。类别特征转化为指标特征,可以使我们把这个特征当作一个独热向量来对待。我们可以使用K折交叉验证来选择模型并调整超参数。原创 2025-01-27 09:00:00 · 1436 阅读 · 0 评论 -
【深度学习基础】多层感知机08:环境和分布偏移
本文讲解了深度学习中分布偏移的问题,包括协变量偏移、标签偏移和概念偏移。探讨了这些偏移如何影响模型的性能,并提出了相应的解决方法,如加权经验风险最小化。还提到模型部署中的伦理问题和实时监控的重要性。原创 2025-01-25 09:00:00 · 1356 阅读 · 0 评论 -
【深度学习基础】多层感知机07:数值稳定性和模型初始化
本文讲解深度学习中的数值稳定性和模型初始化。首先介绍了梯度消失和梯度爆炸,ReLU激活函数缓解了梯度消失问题,这样可以加速收敛。然后介绍了参数初始化的两种方法,包括默认初始化和Xavier初始化。原创 2025-01-24 09:00:00 · 1193 阅读 · 0 评论 -
【深度学习基础】多层感知机06:前向传播、反向传播和计算图
本文讲解深度学习中的前向传播、反向传播和计算图。前向传播在神经网络定义的计算图中按顺序计算和存储中间变量,它的顺序是从输入层到输出层。反向传播按相反的顺序计算和存储神经网络的中间变量和参数的梯度。在训练深度学习模型时,前向传播和反向传播是相互依赖的。训练比预测需要更多的内存。原创 2025-01-23 09:00:00 · 1150 阅读 · 0 评论 -
【深度学习基础】多层感知机05:暂退法(Dropout)
本文讲解深度学习中的暂退法,并完成了暂退法的从零开始实现和简洁实现。暂退法在前向传播过程中,计算每一内部层的同时丢弃一些神经元。暂退法可以避免过拟合,它通常与控制权重向量的维数和大小结合使用的。原创 2025-01-22 11:31:22 · 1355 阅读 · 0 评论 -
【深度学习基础】多层感知机04:权重衰减
本文讲解深度学习中的正则化技术——权重衰减。利用一个高维线性回归的例子来演示权重衰减。并完成了权重衰减的从零开始实现和简洁实现。原创 2025-01-22 10:23:27 · 1569 阅读 · 0 评论 -
【深度学习基础】多层感知机03:模型选择、欠拟合和过拟合
本文讲解深度学习中的模型选择、欠拟合和过拟合。机器学习模型需要注意防止过拟合,即防止泛化误差过大。验证集可以用于模型选择,但不能过于随意地使用它。我们应该选择一个复杂度适当的模型,避免使用数量不足的训练样本。原创 2025-01-22 09:00:00 · 1205 阅读 · 0 评论 -
【深度学习基础】多层感知机02:多层感知机的实现
本文讲解深度学习中多层感知机的实现。实现简单的多层感知机很容易,然而如果有大量的层就会变得很麻烦。我们可以使用高级API更简洁地实现多层感知机。对于相同的分类问题,多层感知机的实现与softmax回归的实现相同,只是增加了带有激活函数的隐藏层。原创 2025-01-21 09:30:00 · 1311 阅读 · 0 评论 -
【深度学习基础】多层感知机01:多层感知机概述
本文讲解深度学习中的多层感知机。多层感知机在输出层和输入层之间增加一个或多个全连接隐藏层,并通过激活函数转换隐藏层的输出。常用的激活函数包括ReLU函数、sigmoid函数和tanh函数。原创 2025-01-21 09:00:00 · 1616 阅读 · 0 评论 -
【深度学习基础】线性神经网络07:softmax回归的简洁实现
本文讲解深度学习中softmax回归的简洁实现。从计算的角度来看,实现softmax回归比较复杂。在许多情况下,深度学习框架在这些著名的技巧之外采取了额外的预防措施,来确保数值的稳定性。这使我们避免了在实践中从零开始编写模型时可能遇到的陷阱。原创 2025-01-17 12:00:00 · 1368 阅读 · 0 评论 -
【深度学习基础】线性神经网络06:softmax回归的从零开始实现
本文讲解了深度学习中softmax回归的从零开始实现。借助softmax回归,我们可以训练多分类的模型。先读取数据,再定义模型和损失函数,然后使用优化算法训练模型。大多数常见的深度学习模型都有类似的训练过程。原创 2025-01-16 15:00:01 · 1968 阅读 · 0 评论 -
【深度学习基础】线性神经网络05:图像分类数据集
本文讲解深度学习中的图像分类数据集。Fashion-MNIST是一个服装分类数据集,由10个类别的图像组成。数据迭代器是获得更高性能的关键组件。依靠实现良好的数据迭代器,利用高性能计算来避免减慢训练过程。原创 2025-01-16 14:30:00 · 1285 阅读 · 0 评论 -
【深度学习基础】线性神经网络04:softmax回归
本文讲解深度学习中softmax回归的实现。softmax运算获取一个向量并将其映射为概率。适用于分类问题,使用了softmax运算中输出类别的概率分布。交叉熵是一个衡量两个概率分布之间差异的很好的度量,它测量给定模型编码数据所需的比特数。原创 2025-01-10 09:00:00 · 1429 阅读 · 0 评论 -
【深度学习基础】线性神经网络03:线性回归的简洁实现
本文讲解深度学习中线性回归的简介实现。我们可以使用PyTorch的高级API更简洁地实现模型。在PyTorch中,data模块提供了数据处理工具,nn模块定义了大量的神经网络层和常见损失函数。我们可以通过_结尾的方法将参数替换,从而初始化参数。原创 2025-01-08 09:00:00 · 963 阅读 · 0 评论 -
【深度学习基础】线性神经网络02:线性回归的从零开始实现
本文讲解了深度网络是如何实现和优化的。在这一过程中只使用张量和自动微分,不需要定义层或复杂的优化器。包括定义损失函数、定义优化算法。原创 2025-01-04 09:00:00 · 1937 阅读 · 43 评论 -
【深度学习基础】线性神经网络01:线性回归
本文讲解深度学习中的线性回归。机器学习模型中的关键要素是训练数据、损失函数、优化算法,还有模型本身。向量化使数学表达上更简洁,同时运行的更快。最小化目标函数和执行极大似然估计等价。线性回归模型也是一个简单的神经网络。原创 2024-12-24 09:00:00 · 1429 阅读 · 0 评论 -
【深度学习基础】预备知识06:概率
本文讲解深度学习框架中的概率知识。可以从概率分布中采样。使用联合分布、条件分布、Bayes定理、边缘化和独立性假设来分析多个随机变量。期望和方差为概率分布的关键特征的概括提供了实用的度量形式。原创 2024-12-14 09:00:00 · 1737 阅读 · 0 评论 -
【深度学习基础】预备知识05:自动微分
本文讲解深度学习框架的自动计算导数。首先将梯度附加到想要对其计算偏导数的变量上,然后记录目标值的计算,执行它的反向传播函数,并访问得到的梯度。原创 2024-12-07 09:00:00 · 1301 阅读 · 0 评论 -
【深度学习基础】预备知识04:微积分
本文讲解深度学习相关的微积分的基础知识,包括微分和积分、偏导数、梯度和链式法则。原创 2024-11-30 15:00:00 · 985 阅读 · 0 评论 -
【深度学习基础】预备知识03:线性代数
本文讲解现代深度学习相关的线性代数知识,对于机器学习非常有用。包括标量、向量、矩阵、张量、降维、点积、矩阵-向量积、矩阵-矩阵乘法和范数。原创 2024-11-21 12:06:07 · 1631 阅读 · 11 评论 -
【深度学习基础】预备知识02:数据预处理
本文讲解了PyTorch深度学习中基础的数据预处理操作。pandas包是Python中常用的数据分析工具中,可以与张量兼容。用pandas处理缺失的数据时,我们可根据情况选择用插值法和删除法。原创 2024-11-16 12:33:55 · 1079 阅读 · 0 评论 -
【深度学习基础】预备知识01:数据操作
本文讲解了PyTorch深度学习中基础的数据操作,主要接口是张量(n维数组)。它提供了各种功能,包括基本数学运算、广播、索引、切片、内存节省和转换其他Python对象。原创 2024-11-04 09:00:00 · 1466 阅读 · 0 评论 -
【深度学习基础】深度学习导论
本文介绍深度学习的相关概述,包括机器学习的关键组件和各种问题,深度学习的起源、发展、成功案例和特点。原创 2024-10-10 17:02:21 · 2082 阅读 · 39 评论