
动手学深度学习
文章平均质量分 73
哈哈拉拉hxl
这个作者很懒,什么都没留下…
展开
-
44.卷积神经网络代码实现
LeNet是由Yann LeCun等人在1998年提出的卷积神经网络,也是最早出现的卷积神经网络之一,主要用于解决手写数字识别问题。LeNet在手写数字识别上的成功,使得卷积神经网络的应用受到了极大的关注,并为后来的卷积网络发展奠定了良好的基础。LeNet的结构如图所示:- 包含两个卷积层(Conv Layer)- 两个下采样层(Pooling Layer)- 三个全连接层(Fully Connected Layer)原创 2024-07-19 12:00:00 · 399 阅读 · 0 评论 -
43.池化层Pooling
池化层作为卷积神经网络中的重要组成部分,通过降采样来压缩信息,使网络结构更加紧凑。本文详细介绍了池化层的基本概念、操作方法、特点以及在实际应用中的重要性。希望通过本文的介绍,读者能够更好地理解池化层在卷积神经网络中的作用和意义。如有任何问题或建议,欢迎在评论区留言讨论。祝大家学习愉快!---希望这篇文章对您有所帮助,如果有任何问题或需要进一步的解释,请随时联系我。原创 2024-07-18 12:00:00 · 1875 阅读 · 0 评论 -
41.卷积层
卷积层是应用了图像卷积操作的神经网络隐藏层。为了更好地理解它,我们先用一个例子说明它的组成。假定输入的图像是一个6×6×3的矩阵,其中3代表RGB三个颜色通道。卷积层中的滤波器(Filter,也叫卷积核)是两个4×4×3的矩阵。需要注意的是,滤波器的深度必须与输入图像的深度保持一致。通过卷积操作后,我们可以得到两个3×3的特征图(feature map)。本节课我们介绍了卷积层的基本知识,详细说明了卷积层的构成、图像卷积核的效果以及感受野的概念。原创 2024-07-16 12:00:00 · 428 阅读 · 0 评论 -
40.图像卷积
卷积(Convolution)是一种数学运算,广泛应用于信号处理和图像处理领域。基本思想是两个函数的积,通过滑动窗口的方式计算它们的叠加值。对于一维情况下,假设 \( f \) 和 \( g \) 分别表示输入的两个函数,其中 \( f \) 是输入函数, \( g \) 是卷积核函数,卷积运算的符号表示为:对于二维情况,卷积运算略微复杂,有两个变量 \( x \) 和 \( y \)。原创 2024-07-15 12:00:00 · 920 阅读 · 0 评论 -
39.全连接层问题
在现代深度学习领域,研究的核心问题是数据与模型的匹配问题。如何提升模型的泛化能力是关键,其中,训练过程、数据、模型设计是三个重要的方面。上一章,我们深入探讨了梯度下降法,这一方法专注于训练过程。而本章开始及后续几章将聚焦于模型设计,首先从传统的多层感知机(MLP)入手,并进一步探讨卷积神经网络(CNN)的演变。原创 2024-07-14 09:08:23 · 597 阅读 · 0 评论 -
29. 深度学习中的损失函数及其数学性质详解
在深度学习中,优化算法的研究对象是损失函数。损失函数的数学性质对最优化求解过程至关重要。本文将详细介绍深度学习中的损失函数应具备的特性,帮助大家在后续的学习中避免概念上的误解。原创 2024-06-27 12:00:00 · 612 阅读 · 0 评论 -
26.模型文件的读写
您已经很好地概述了PyTorch中模型保存和加载的几种方法。下面我将用代码示例来详细解释这些方法,并给出一些建议。原创 2024-06-17 12:00:00 · 229 阅读 · 0 评论 -
25.梯度消失和梯度爆炸
梯度消失指的是在训练深层神经网络时,由于链式法则的连乘效应,当网络层数过深时,梯度在反向传播过程中会逐渐减小到接近于0,导致深层网络的权重无法得到有效的更新。原创 2024-06-16 12:00:00 · 2398 阅读 · 0 评论 -
24.Dropout代码实现
在深度学习中,过拟合是一个常见的问题。为了解决这个问题,研究者们提出了许多技术,其中Dropout是一种非常有效的方法。Dropout通过在训练过程中随机将网络中的神经元“关闭”或“丢弃”,来防止模型对训练数据的过度拟合。在这个例子中,我们使用了简单的线性数据来模拟回归问题,并且使用了MSE(均方误差)作为损失函数。在训练过程中,我们分别训练了两个模型,一个没有使用Dropout,另一个在每个隐藏层后使用了Dropout。最后,我们通过绘制训练数据和模型预测的结果来可视化两个模型的性能。原创 2024-06-14 12:00:00 · 256 阅读 · 0 评论 -
23.Dropout
在深度学习的训练过程中,过拟合是一个常见的问题。为了解决这个问题,研究者们提出了多种正则化技术,其中Dropout技术因其简单而有效的特点,得到了广泛的应用。本文将对Dropout技术的工作原理、主要优点、潜在缺点以及应用场景进行详细的解析。原创 2024-06-13 12:00:00 · 1829 阅读 · 0 评论 -
21.过拟合和欠拟合示例
在机器学习和深度学习中,过拟合和欠拟合是两个非常重要的概念。过拟合指的是模型在训练数据上表现很好,但在新的测试数据上效果变差的情况。欠拟合则是指模型无法很好地拟合训练数据的情况。这两种情况都会导致模型无法很好地泛化,影响最终的预测和应用效果。为了帮助大家更好地理解过拟合和欠拟合的概念及其应对方法,我将通过一个基于PyTorch的代码示例来演示这两种情况的具体表现。我们将生成一个抛物线数据集,并定义三种不同复杂度的模型,分别对应欠拟合、正常拟合和过拟合的情况。原创 2024-06-04 18:00:00 · 817 阅读 · 0 评论 -
20.过拟合欠拟合应对策略
过拟合是指模型在训练集上表现良好,但在验证集或测试集上性能较差的现象。这通常是因为模型复杂度过高,导致对训练数据中的噪声或异常值也进行了学习,从而缺乏对新数据的泛化能力。过拟合的表现可能包括模型在训练集上的误差很低,但在验证集上的误差却很高。过拟合和欠拟合是深度学习和机器学习中常见的问题。为了获得良好的模型性能,我们需要从数据、模型和训练策略三个方面入手,采取合适的应对策略。原创 2024-05-31 12:00:00 · 743 阅读 · 0 评论 -
19.训练的常见问题
它们直接影响到模型的泛化能力,即模型在未见过的数据上的表现。过拟合和欠拟合是深度学习中常见的问题,它们直接影响到模型的泛化能力和实际应用效果。这通常是因为模型对训练数据进行了过度的拟合,学习了数据中的噪声和细节,而未能捕捉到数据的本质规律。因此,当面对新的、未见过的数据时,模型的表现就会大打折扣。过拟合的原因主要是模型复杂度过高。在神经网络中,这可以通过增加网络的层数、神经元的数量或使用更复杂的模型结构来实现。因此,在实际应用中,我们需要找到一个合适的模型复杂度平衡点,使得模型既不过于简单也不过于复杂。原创 2024-05-30 15:30:00 · 417 阅读 · 0 评论 -
10.PyTorch安装
详细介绍了PyTorch在Windows操作系统上的安装过程。通过Anaconda创建Conda环境并使用PyTorch官网提供的安装命令,我们可以轻松地安装PyTorch及其相关依赖项。安装完成后,我们验证了PyTorch的版本、检查了CUDA的可用性,并创建了一个随机张量来测试PyTorch的功能。如果一切顺利,那么您现在已经成功安装了PyTorch,并可以使用它进行深度学习和其他计算任务了。原创 2024-05-20 09:00:00 · 580 阅读 · 0 评论 -
9.Jubyter Notebook
Jupyter Notebook 是一个开源的Web应用程序,它允许开发者方便地创建和共享包含实时代码、方程、可视化和解释性文本的文档。Jupyter Notebook 的界面是交互式的,用户可以在其中编写和运行代码块,即时查看结果,并轻松地对代码和文档进行迭代。原创 2024-05-19 12:00:00 · 577 阅读 · 0 评论 -
8.conda命令
Conda 是一个流行的包和环境管理工具,特别适用于 Python 数据的处理和科学计算。它允许用户轻松地安装、更新、删除和管理不同版本的包及其依赖项,同时还支持创建和管理多个隔离的 Python 环境。原创 2024-05-19 09:00:00 · 636 阅读 · 0 评论 -
7.CUDA和Anaconda
在弹出菜单中选择“环境变量”,在系统变量中找到“Path”,双击它,在弹出的对话框中选择“新建”,然后将Anaconda的安装路径以及Anaconda目录下的Scripts路径都添加到Path环境目录中。然后,不要随意下载版本安装,需要根据自己电脑显卡驱动的版本安装相应支持的CUDA版本,否则可能会出现不兼容的情况。在打开的面板里点击左下角的“系统信息”,在弹出的系统信息界面里,你可以看到驱动程序版本信息。比如,如果你的显卡驱动是472.12版本,那么最高能安装的CUDA版本可能是11.4.0。原创 2024-05-18 09:00:00 · 669 阅读 · 0 评论 -
6.概率论
贝叶斯定理和极大似然估计是统计学和机器学习中非常重要的概念。贝叶斯定理用于根据已知信息更新事件的概率,而极大似然估计则用于估计模型参数,使得观测到的数据出现的概率最大。在深度学习中,许多模型都是基于极大似然估计的思想来训练的。同时,概率密度函数在描述连续随机变量的概率分布时起着关键作用。原创 2024-05-16 14:30:28 · 882 阅读 · 0 评论 -
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 · 721 阅读 · 0 评论 -
2.深度学习介绍
深度学习是机器学习的一个子集,它基于人工神经网络(ANN),特别是深度神经网络(DNN),通过模拟人脑神经元之间的连接和信息处理方式,来自动地学习数据中的特征表示。深度学习的“深度”主要体现在网络结构的复杂性上,即它包含多个隐藏层,这些层可以学习到从低级到高级的不同层次的特征表示。通过将不同模态的数据进行融合,可以获得更丰富的信息,从而提高任务的性能。深度学习在自动驾驶、生物信息学、医学诊断、金融预测、推荐系统以及农业等领域的应用,都充分展示了深度学习的广泛性和实用性。原创 2024-05-15 14:05:22 · 635 阅读 · 0 评论 -
3.深度学习课程--技术栈
在代码编辑器方面,我们推荐使用Jupyter Notebook,它是一款基于网页的交互式编辑器,支持Markdown语法和LaTeX数学公式编写,方便边学习边做笔记,并且易于与他人共享。在数据集方面,我们将使用一系列主流和具有代表性的数据集,如MNIST、Flower102、20 News Group等,以及在特定章节中使用的金融数据和NLP竞赛数据集。在后续章节中,我们将详细介绍CUDA、Anaconda等深度学习环境的配置,并提供Jupyter Notebook和PyTorch的安装教程。原创 2024-05-15 16:00:00 · 372 阅读 · 1 评论 -
深度学习课程
在过去的十年里,深度学习在自然语言处理、计算机视觉和语音识别等领域取得了巨大成功,成为人工智能的热门领域。为了帮助学习者快速掌握深度学习,我们开发了系统的专业课程。选择正确的课程和学习伙伴是成功的关键。我们希望通过这门课程,帮助你快速突破学习瓶颈,走向人工智能的发展之路。无论你是在校学生、职场人士还是专业人士,只要对深度学习感兴趣,这门课程都适合你。原创 2024-05-15 10:38:46 · 256 阅读 · 0 评论 -
音频预训练模型 Audio and Speech Pre-trained Models
1. 什么是预训练的模型?预训练模型是其他人为解决类似问题而创建的模型。我们可以以其他问题训练的模型为起点,而不是从零开始构建模型来解决类似的问题。预训练模型在应用程序中可能不 是100% 准确。2. 框架2.1 tensorflow模型:Wavenet2.2 keras2.3 pytorch2.4 MXNet2.5 Caffe...原创 2021-09-25 00:49:32 · 5150 阅读 · 0 评论 -
动手学深度学习05:卷积神经网络基础参数计算问题
问题1:给题目假如你用全连接层处理一张256 x256的彩色(RGB)图像,输出包含1000个神经元,在使用偏置的情况下,参数数量是?怎么算?全连接层:全连接层的每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。一张彩色图片:256x256x3参数:256x256x3x1000+1000(偏置)=196609000二维卷积层将输入和卷积核做互相关运算,并加上一个标量偏置来...原创 2020-02-18 19:40:21 · 1520 阅读 · 0 评论 -
动手学深度学习03:过拟合与欠拟合区别和解决方案
问题:拿到一个图,不怎么怎么区分是过拟合还是欠拟合图1:图2:图3:1.观察图:图1:train loss>>test loss 训练误差(10^3)较大图2:test loss >> train loss 训练误差(10^1)较小图3: test loss = train loss2.得出:图1 模型训练还没得到较好结果,因此欠拟合图2...原创 2020-02-18 16:52:51 · 2076 阅读 · 0 评论 -
动手学深度学习04:Encoder-Decoder
task02-文本预处理、语言模型、循环神经网络基础原创 2020-02-18 16:28:04 · 385 阅读 · 0 评论 -
动手学深度学习:task01
task01-线性模型、softmax与分类模型、多层感知机原创 2020-02-13 21:50:52 · 184 阅读 · 0 评论