DNN 机器学习

17 Mar 2025 | 6 分钟阅读

在机器学习领域,深度神经网络(DNN)已成为一股革命性的力量,它使计算机能够执行以前被认为仅限于人类智能的复杂任务。这些复杂的算法从人脑的结构和运作中汲取灵感,是人工神经网络的一个子集。在本文中,我们将深入探讨 DNN 的设计、用途和挑战。

深度神经网络知识

本质上,深度神经网络——之所以如此命名是因为其深度——是多层神经网络。与仅有一两个隐藏层的经典神经网络相比,DNN 可以包含数百甚至数千个隐藏层,通常由连接的节点或神经元组成。由于其分层设计,DNN 在语音识别、图像识别和自然语言处理等任务方面表现出色。它们还可以学习和表示数据中的复杂模式和层次结构。

DNN Machine Learning

DNN 的架构

  • 输入层: DNN 的输入层是其第一层,原始数据在此被输入网络。这一层编码了神经网络将要分析的第一批数据。
  • 隐藏层: CNN 由多个隐藏层组成,每个隐藏层以不同的方式修改输入数据。这些层的神经元通过在训练过程中权重会发生变化的连接与相邻层的神经元相连。
  • 激活函数: 通过在网络中引入非线性,激活函数使网络能够发现数据中的复杂关联。标准的激活函数是整流线性单元(ReLU)、双曲正切(tanh)和 Sigmoid。
  • 输出层: 输出层是最后一层,它生成网络进行的分类或预测。输出类的数量或任务的类型(例如回归、二元分类或多类分类)决定了该层中神经元的数量。

训练 DNN

当训练 DNN 时,会将标记的输入-输出对输入其中,并通过神经元连接调整其权重,以减小预期输出和实际输出之间的差异。反向传播过程使用随机梯度下降和其他优化方法来不断修改权重并提高模型的性能。

自编码器或受限玻尔兹曼机(RBN)

自编码器是一种用于无监督学习的神经网络,而受限玻尔兹曼机(RBM)是一种神经网络,特别是生成式随机人工神经网络。RBM 和自编码器的一个共同点是它们在训练过程中能够学习准确的数据表示,而无需标记的目标。然而,它们在训练技术和设计上有所不同。

DNN Machine Learning

受限玻尔兹曼机(RBM)

1. 架构

  • 可见层和隐藏层: RBM 由两层组成:一个可见层和一个隐藏层。每层都包含节点(神经元),并且层内的节点不相连。而隐藏层内的节点记录特征和相互作用,可见层中的节点则反映输入数据。

2. 对比散度训练机制: RBM 使用对比散度进行训练。模型在训练过程中调整其权重和偏差,以最大化训练数据的似然性并重现输入数据。

3. 应用案例

  • 特征学习: RBM 可以从数据中提取抽象特征和分层表示。它们在特征学习、降维和协同过滤中很有用。

4. 局限性

  • 计算复杂度: 由于对比散度是迭代的,学习 RBM 可能非常耗费计算资源,特别是对于大型数据集。

在自编码器和 RBM 之间进行选择

  • 数据特性: 对于需要捕捉数据中复杂关系和相互作用的情况,RBM 可能更合适。当目标是去噪、压缩或数据重构时,自编码器效果很好。
  • 计算能力: 由于其潜在的处理需求,自编码器(尤其是结构简单的)在训练时可能比 RBM 更具计算效率。
  • 任务规格: RBM 可能更适合协同过滤和特征学习等任务。自编码器因其多功能性和可针对多种任务进行定制的能力,成为无监督学习项目的热门选择。

DBN,或深度信念网络

深度信念网络(DBN)结合了概率图模型和受限玻尔兹曼机(RBM)的概念,是深度学习模型的一个子集。DBN 是生成模型,它们可以学习分层数据表示,这使得它们在特征学习、生成和分类等任务中非常有用。让我们来研究一下深度信念网络的主要特性。

深度信念网络(DBN)的独特之处

1. 架构

  • 分层 RBM: 堆叠在一起的 RBM 是 DBN 的基本组成部分。
  • 链中的每个 RBM 包含两层:一个可见层和一个隐藏层。网络逐层训练。

2. 训练机制: 贪婪层式训练 通常,DBN 是逐层训练的。为了收集该层内的特征和相互作用,每个 RBM 层都会单独训练。在引入每个层之后,会使用反向传播来调整整个网络。

  • 无监督预训练: 每个 RBM 层的无监督预训练有助于为后续层设置初始权重。使用此技术可以更容易地学习分层表示。

3. 激活函数

  • 高斯激活和 Sigmoid: 在 RBM 中,通常对隐藏单元使用 Sigmoid 激活函数,而对顶层可以使用高斯激活。

4. 用例

  • 分类: DBN 可以针对监督任务(如分类)进行优化,在经过预训练后,它们在该任务上表现出有竞争力的性能。
  • 特征学习: DBN 在自动提取分布化和分层数据表示方面非常有效,这使其成为特征学习任务的理想选择。
  • 生成模型: DBN 可用于文本和图像合成等生成任务,因为它们可以根据所学习的分布生成新样本。

5. 挑战: 深度网络的训练(包括 DBN)可能带来重大的计算挑战,尤其是在处理大型数据集时。

  • 超参数选择: DBN 的性能对超参数的选择很敏感,确定理想的超参数集可能很困难。
  • 计算强度: 深度网络的训练(包括 DBN 的训练)可能在计算上要求很高,尤其是在处理大型数据集时。

6. 应用

  • 医疗保健: DBN 在医疗保健领域用于诊断和预测疾病。
  • 图像识别: DBN 已用于从图像中提取分层特征,在图像识别任务中表现出色。
  • 自然语言处理(NLP): DBN 已应用于语言建模和情感分析等 NLP 任务。

生成对抗网络 - GAN

GAN(生成对抗网络)是一类具有变革意义的人工智能模型,在生成模型方面取得了显著进展。GAN 由 Ian Goodfellow 及其同事于 2014 年推出,因其生成逼真且高质量合成数据的能力而备受关注。让我们探讨一下生成对抗网络的核心概念、架构、训练过程和应用。

GAN 核心概念

  1. 生成模型: GAN 是旨在生成模仿特定训练集的新数据实例的模型。与分类输入数据的判别模型不同,生成模型会生成反映原始数据统计特征的新样本。
  2. 对抗训练: GAN 由两个神经网络组成——一个生成器和一个判别器——它们在对抗关系中竞争。生成器生成伪造数据,判别器则用于判断其真实性。通过迭代训练来训练网络,生成器试图提供更具说服力的数据,而判别器则试图提高其判别能力。

GAN 应用

  1. 异常检测: GAN 可以通过学习典型模式并发现与这些模式的偏差来检测数据集中的异常。
  2. 图像合成: GAN 常用于图像合成任务,例如创建逼真的图像,这些图像模仿人脸、动物或其他物体的照片。
  3. 风格迁移: GAN 可用于风格迁移,即将图像的外观修改为模仿特定艺术作品或照片的艺术风格。
  4. 超分辨率: GAN 可以从低分辨率输入生成高分辨率图像,这一过程称为超分辨率。
  5. 数据增强: GAN 用于数据增强,以人工方式增加机器学习模型的训练数据集大小,从而提高其泛化性能。

挑战与未来方向

  1. 道德问题: 深度伪造内容的创建以及合成数据的潜在滥用是 GAN 带来的一些问题。
  2. 训练稳定性: 维持生成器和判别器之间的稳定平衡是持续研究的目标,因为 GAN 的训练可能具有挑战性。
  3. 模式崩溃: 当 GAN 生成器未能探索整个数据分布时,可能会导致生成的样本种类有限。

在多个学科的发现的推动下,深度神经网络已成为机器学习发展的基础。随着我们不断解锁其潜力,研究与实际应用的结合有可能开启智能系统的下一个阶段,增强人类能力并改变技术格局。