10 2024 档案
摘要:在训练神经网络过程中,需要用到很多工具,其中最重要的三部分是:数据、可视化和GPU加速。本章主要介绍Pytorch在这几方面的工具模块,合理使用这些工具能够极大地提高编码效率。 1.1 数据处理 在解决深度学习问题的过程中,往往需要花费大量的精力去处理数据,包括图像、文本、语音或其它二进制数据等。数
阅读全文
摘要:使用autograd可实现深度学习模型,但其抽象程度较低,如果用其来实现深度学习模型,则需要编写的代码量极大。在这种情况下,torch.nn应运而生,其是专门为深度学习而设计的模块。torch.nn的核心数据结构是Module,它是一个抽象概念,既可以表示神经网络中的某个层(layer),也可以表示
阅读全文
摘要:1、Tensor Tensor,又名张量,是Theano、TensorFlow、 Torch和MxNet中重要的数据结构。从工程角度来讲,可简单地认为它就是一个数组,且支持高效的科学计算。它可以是一个数(标量)、一维数组(向量)、二维数组(矩阵)和更高维的数组(高阶数据)。Tensor和Numpy的
阅读全文
摘要:1、快捷命令 2、Tensor Tensor是PyTorch中重要的数据结构,可认为是一个高维数组。它可以是一个数(标量)、一维数组(向量)、二维数组(矩阵)以及更高维的数组。Tensor和Numpy的ndarrays类似,但Tensor可以使用GPU进行加速。 Tensor的基本使用: from
阅读全文
摘要:1、One-Shot学习(One-shot learning) 人脸识别所面临的一个挑战就是需要解决一次学习问题(one-shot learning problem),这意味着在大多数人脸识别应用中,你需要通过单单一张图片或者单单一个人脸样例就能去识别这个人。而历史上,当深度学习只有一个训练样例时,
阅读全文
摘要:1、目标定位(Object localization) 目标定位旨在识别图像或视频中的特定目标,并确定其在图像中的具体位置。目标定位的输出通常包括目标所属的类别(如果是分类任务)和一个边界框(Bounding Box),该边界框用于精确地描述目标在图像中的位置。因此先从分类和定位(classific
阅读全文
摘要:1、残差网络—Residual Networks (ResNets) 非常非常深的神经网络是很难训练的,因为存在梯度消失和梯度爆炸问题。这节课我们学习跳跃连接(Skip connection),它可以从某一层网络层获取激活,然后迅速反馈给另外一层,甚至是神经网络的更深层。利用跳跃连接构建能够训练深度
阅读全文
摘要:1、边缘检测示例(Edge Detection Example) 卷积运算(convolutional operation)是卷积神经网络最基本的组成部分,使用边缘检测(edge detection)作为入门样例。接下来,你会看到卷积是如何进行运算的。 在之前的人脸例子中,我们知道神经网络的前几层是
阅读全文
摘要:1、调整过程 在训练神经网络时,超参数的调试十分重要,下面分享一些指导原则。 通常来说,①学习因子α是最重要的超参数,也是需要重点调试的超参数。②动量梯度下降因子beta、各隐藏层神经元个数hidden units和mini-batch size的重要性仅次于alpha。③然后就是神经网络层数lay
阅读全文
摘要:1、Mini—batch梯度下降法(Mini-batch gradient descent) Mini-batch梯度下降是梯度下降的一种变体,广泛应用于机器学习中,特别是在神经网络的训练中。它在批量梯度下降(Batch Gradient Descent)和随机梯度下降(Stochastic Gra
阅读全文