UMBRELLA

未雨绸缪,举重若轻

残缺块

残缺块是深度学习中一个重要的概念,尤其在卷积神经网络中。它的主要目的是帮助网络更好地学习输入和输出之间的差异,从而提高模型的性能。残差块通过引入跳跃连接,是网络能直接学习输入和输出之间的差异,从而避免了梯度消失或梯度爆炸的问题。这种设计有助于网络更好地学习输入和输出之间的差异,从而提高模型的性能和泛化能力。

阅读全文 »

变分自编码器

变分自编码器(VAE)在许多场景中都有应用,以下是一些常见的场景:

  • 数据生成:VAE可以用于生成与原始数据类似的但不完全相同的新数据,比如图像、音频、文本等。这可以是图像合成、自然语言生成等领域中应用。
  • 数据压缩与降维:VAE也可以用于对原始数据进行压缩和降维。在这种情况下,VAE的编码器将正常数据映射到潜在空间的低维表示,可以用于减少数据的存储空间和计算复杂度。
  • 异常监测和数据清洗:VAE可以用于检测异常数据点和清洗异常数据。在这种情况下,VAE的编码器将正常数据映射到潜在空间中的一个紧凑聚类,异常数据则不太可能映射到这些聚类中。因此,可以利用VAE的潜在空间表示来识别和过滤异常数据点。
    阅读全文 »

循环神经网络(RNN)

循环神经网络,不同于传统的神经网络,RNN在在处理序列数据时展现出惊人的记忆能力。它像一个经验丰富的讲述者,能够捕捉到数据中的长期依赖关系。这种能力使得它在自然语言处理和时间序列预测等领域大放异彩。双向循环神经网络(Bi-RNN)和长度记忆网络(LSTM)作为RNN的两种主要变体,更是将RNN的强大功能推向了新的高度。它们像是在时间序列中自由穿梭的舞者,既能回顾过去,又能展望未来。参数共享和图例完备性是RNN的两大特点,它们使得RNN在处理复杂问题时具有强大的表示能力。参数共享让RNN在处理不同任务时能够快速适应,而图灵完备性则意味着RNN几乎可以模拟任何计算过程。结合卷积神经网络结构构筑的循环神经网络不仅可以处理时间序列数据,还可以应对包含序列输入的计算机视觉问题。在深度学习的舞台上,循环神经网络无疑是最耀眼的明星之一。它不仅改变了我们对神经网络的认识,也引领这人工智能向前发展。

阅读全文 »

Sequential容器

Sequential容器也被称为顺序容器,在标准库中,有三种常见的Sequential容器:vector、listdeque。虽然它们都存储元素,但访问方式和添加/删除元素的成本却大不相同。vector就像一个不断增长的数组,而list则像一个个串联的珠子。至于deque,它则兼具了vectorlist的特点,既可以快速访问中间元素,又可以在两端高效地添加和删除元素。标准库还为我们提供了Sequential容器的适配器:stack、queuepriority_queue则允许我们快速访问或删除最大或最小的元素。

阅读全文 »

神经网络模块

神经网络模块,深度学习框架的核心力量。在深度学习领域,神经网络模块(Neural Network Module)扮演着至关重要的角色。它为构建和组织复杂的神经网络结构提供了抽象化的接口。以PyTorch为例,nn.Module作为基础类,允许用户通过继承来自定义自己的神经网络模型。

层的封装,将单个或多个神经网络层(如线性层、卷积层、激活函数等)组合在一起,形成具有层次结构的模块。参数管理:自动管理模型内部的所有可学习参数,包括权重和偏置等。这些参数在训练过程中被优化算法更新。前向传播:通过重写forward()方法来实现模型从输入到输出的计算逻辑。子模块嵌套:允许一个模块内部包含其他的nn.Module实例,构建深层次,多分支的复杂网络结构。状态保存与恢复:整个模块的状态(包括所有子模块的参数)可以方便的保存到磁盘并在需要时加载回来。损失函数集成:PyTorch中的nn库还包含了各种常用的损失函数,它们同样是nn.Module的实例,可以轻松应用在训练过程中。

阅读全文 »

自动求导

在神经网络的训练过程中,我们经常需要更新模型参数,而这个过程往往依赖于损失函数关于模型参数的梯度。自动求导技术能够自动计算这些梯度,极大地简化了开发过程。在PyTorch中,通过torch.Tensor类实现了自动求导。当我们创建一个Tensor时,通过设置requires_grad=True标记该Tensor需要进行梯度计算,即可开启自动求导功能。

阅读全文 »

张量

在深度学习和机器学习中,张量(Tensor)是一个充满魔法的多维数组。它能够包容各种数据类型,包括整数、浮点数、布尔值等,展现出强大的包容性和灵活性。在Python的深度学习库PyTorch中,我们能够轻松创建一维、二维和三维张量。值得注意的是,张量的维度也被称为秩(rank),一维张量就是我们口中常说的向量,二维张量即是矩阵高,而更高维度的张量对应于高阶数组。通过张量,我们能够开启深度学习的无限可能,探索机器智慧的奥秘。

阅读全文 »

如何使用PyTorch识别一张图片,并输出这张图的描述

思路如下:

  • 模型选择:首先,我们需要一个已经训练好的模型来识别图片。这可以是预训练的模型,例如用于图像分类的模型。
  • 加载模型:使用PyTorch加载预训练模型。
  • 图像预处理:将输入图像调整为模型所需的格式和大小。
  • 模型推理:将预处理后的图像输入到模型中已获得输出。
  • 后处理:理解模型的输出以获得描述。
    阅读全文 »

如何使用GAN去除CT中伪影

使用GAN去除CT图像中的伪影是一种潜在的方法,该方法利用生成器网络学习如何从有伪影的图像中恢复出无伪影的高质量图像。对于CT图像中的金属伪影,尤其是高密度物体如植入物或骨折内固定物导致的伪影,GAN可以通过训练来理解正常组织结构的特征,并尝试在保留真实解剖结构的同时填充或重建受伪影影响的区域。

阅读全文 »

基于PyTorch实现的ResNet-18神经网络

ResNet(Residual Network),它是一种深度神经网络架构,有何凯明等人2015年提出。ResNet通过引入残差块(Residual Block)解决了深度神经网络时的梯度消失和爆炸问题,从而使得网络可以构建的更深。

这段代码首先定义了ResNet的基础组件——基础残差块(BasicBlock),然后在ResNet类中根据给定的块类型和层数构建整个ResNet模型。其中,每个残差块有多个基础残差块堆叠而成,而整个网络则由四个这样的残差块组成。最后创建了一个ResNet-18实例并打印其模型结构摘要信息。

阅读全文 »
0%