深度学习基础:速成课程

2025-06-07

深度学习基础:速成课程

机器学习(ML) 和深度学习(DL) 技术正在应用于各个领域,数据科学家受到许多不同行业的追捧。

通过机器学习,我们可以识别从数据中获取不易察觉的知识的过程,从而做出决策。机器学习技术的应用范围广泛,涵盖医学、金融和广告等众多领域。

深度学习所使用的神经网络比 20 世纪 80 年代的神经网络更为先进。这不仅是近年来理论发展的结果,也是计算机硬件进步的成果。

在本速成课程中,我们将学习深度学习和深度神经网络(DNN),即具有多个隐藏层的神经网络。我们将涵盖以下主题:

  • 深度学习简介
  • 深度学习算法
  • 深度学习的应用

让我们开始吧!

本速成课程改编自 Next Tech 的“Python 深度学习项目(第一部分:基础知识)”课程,该课程探讨了深度学习的基础知识、如何设置深度学习环境以及如何构建多层感知器 (MLP)。课程包含一个浏览器内置的沙盒环境,并预装了所有必要的软件和库。您可以点击此处开始学习!


深度学习简介

鉴于通用近似定理,你可能会想,使用多个隐藏层的意义何在。这绝不是一个幼稚的问题,长期以来,神经网络都是以这种方式使用的。

采用多层隐藏层的原因之一是,逼近复杂函数可能需要隐藏层中大量的神经元,这使其不切实际。使用深度网络的一个更重要的原因(这与隐藏层的数量没有直接关系,而是与学习的层级有关)是,深度网络不仅仅是学习根据输入 X 预测输出 Y,它还能理解输入的基本特征。

我们来看一个例子。

在H. Lee、R. Grosse、R. Ranganath 和 A. Ng 合著的《国际机器学习会议( ICML )》(2009 年)论文集中,作者们使用不同类别的物体或动物图片训练了一个神经网络。在下图中,我们可以看到神经网络的不同层如何学习输入数据的不同特征。在第一层,神经网络学习检测一些基本特征,例如线条和边缘,这些特征在所有类别的图像中都很常见:

训练后的第一层权重(上)和第二层权重(下)

在下面的图片所示的下一层中,它结合了这些线和边来组成特定于每个类别的更复杂的特征。

第 1-4 列表示针对特定对象类别(类)学习到的第二层(顶部)和第三层(底部)权重。第 5 列表示针对四种对象类别(人脸、汽车、飞机和摩托车)混合学习到的权重。

在第一行中,我们可以看到网络如何检测每个类别的不同特征。例如,人脸的特征是眼睛、鼻子和嘴巴,汽车的特征是车门和车轮等等。这些特征是抽象的。也就是说,网络已经学习了某个特征(例如嘴巴或鼻子)的通用形状,并且能够在输入数据中检测到该特征,无论其形状可能存在差异。

在上图的第二行,我们可以看到更深层的网络如何将这些特征组合成更复杂的特征,例如人脸和整辆车。深度神经网络的优势在于,它们可以通过从训练数据中推断出这些高级抽象表征,从而自行学习。

深度学习算法

我们可以将深度学习定义为一类机器学习技术,它通过层层递进的方式处理信息,从而理解复杂程度不断提升的数据中的表征和特征。实际上,所有深度学习算法都是神经网络,它们拥有一些共同的基本属性。它们都由层层组织的互连神经元构成。它们的不同之处在于网络架构(即神经元在网络中的组织方式),有时也在于训练方式。

考虑到这一点,让我们来看看神经网络的主要类别。下面的列表并不详尽,但它代表了目前使用的绝大多数算法。

多层感知器(MLP)

具有前馈传播、全连接层和至少一个隐藏层的神经网络。

图片

上图展示了一个包含两个隐藏层的三层全连接神经网络。输入层有k 个输入神经元第一个隐藏层有n 个隐藏神经元,第二个隐藏层有m 个隐藏神经元。在本例中,输出是两个类y1y2 最顶层是始终开启的偏置神经元。某一层的一个单元与前一层和后一层的所有单元相连(因此称为全连接)。

卷积神经网络(CNN)

CNN 是一种前馈神经网络,包含多种特殊层。例如,卷积层通过在输入信号上滑动滤波器来对输入图像(或声音)应用滤波器,从而生成一个n维激活图。有证据表明,CNN 中的神经元组织方式与大脑视觉皮层中的生物细胞组织方式类似。如今,它们在大量计算机视觉和自然语言处理任务中的表现优于所有其他机器学习算法。

循环神经网络(RNN)

这种类型的网络具有内部状态(或记忆),它基于已输入网络的全部或部分输入数据。循环网络的输出是其内部状态(先前输入的记忆)和最新输入样本的组合。同时,内部状态会发生变化,以纳入新的输入数据。由于这些特性,循环网络非常适合处理序列数据(例如文本或时间序列数据)的任务。

自动编码器

一类无监督学习算法,其输出形状与输入相同,使网络能够更好地学习基本表示。它由输入层、隐藏层(或瓶颈层)和输出层组成。虽然它是一个单一的网络,但我们可以将其视为两个组件的虚拟组合:

  • 编码器:将输入数据映射到网络的内部表示。
  • 解码器:尝试从网络的内部数据表示重建输入。

强化学习(RL)

强化算法通过在错误决策时使用惩罚,在正确决策时使用奖励,学习如何通过多个步骤实现复杂目标。这种方法通常用于教导机器如何与环境互动,类似于人类行为受到负面和正面反馈的影响。强化学习常用于构建电脑游戏和自动驾驶汽车。

深度学习的应用

机器学习,尤其是深度学习,在预测质量、特征检测和分类方面取得了越来越惊人的成果。许多最新成果甚至登上了新闻!以下是这些技术在当今或不久的将来可以应用的一些方式:

自动驾驶汽车

如今,新车配备了一系列安全和便捷功能,旨在提升驾驶体验,减少驾驶压力。其中一项功能是车辆在遇到障碍物时自动紧急制动。另一项功能是车道保持辅助系统,该系统允许车辆保持在当前车道内行驶,而无需驾驶员通过方向盘进行调整。为了识别车道标记、其他车辆、行人和骑行者,这些系统使用了前置摄像头。我们可以推测,未来的自动驾驶汽车也将使用深度网络进行计算机视觉。

图像和文本识别

谷歌的 Vision API亚马逊的 Rekognition服务都使用深度学习模型来提供各种计算机视觉功能,包括识别和检测图像中的物体和场景、文本识别、人脸识别等等。

医学成像

医学成像是一个涵盖性术语,涵盖各种非侵入性方法,用于创建人体内部的视觉图像。这些方法包括磁共振成像( MRI )、超声波、计算机轴向断层扫描( CAT )、X 射线和组织学图像。通常,医疗专业人员会分析此类图像以确定患者的病情。机器学习,尤其是计算机视觉,正在实现计算机辅助诊断,通过检测和突出显示图像中的重要特征来帮助专家。

例如,为了确定结肠癌的恶性程度,病理学家必须使用组织学成像分析腺体的形态。这是一项具有挑战性的任务,因为形态差异很大。深度神经网络可以自动从图像中分割出腺体,让病理学家自行验证结果。这将减少分析所需的时间,使其更便宜、更易于获取。

病史分析

另一个可以从深度学习中受益的医疗领域是病史分析。医生在诊断病情并开具治疗方案之前,会查阅患者的病史以获取更多信息。深度学习算法可以从这些海量记录中提取最相关、最重要的信息,即使是手写的记录。这样一来,医生的工作就可以更加轻松,同时降低出错的风险。

语言翻译

谷歌的神经机器翻译 API使用——你猜对了——深度神经网络进行机器翻译。

语音识别和生成

Google Duplex 是深度学习在现实世界中又一个令人印象深刻的演示。这是一个全新的系统,可以通过电话进行自然对话。例如,它可以代表用户预订餐厅。它利用深度神经网络来理解对话,并生成逼真的、类似人类的回复。

Siri、Google Assistant 和Amazon Alexa也依赖深度网络进行语音识别。

赌博

最后,AlphaGo 是一款基于深度学习的人工智能( AI ) 机器,它在 2016 年 3 月因击败世界围棋冠军李世石而成为新闻焦点。早在 2016 年 1 月,AlphaGo 就因击败欧洲冠军樊麾而成为新闻焦点。尽管当时,它似乎不太可能继续击败世界冠军。几个月后,AlphaGo 以 4-1 的比分横扫对手,创造了这一非凡成就。

这是一个重要的里程碑,因为围棋比国际象棋等其他游戏拥有更多可能的变数,而且不可能提前考虑所有可能的走法。此外,与国际象棋不同,围棋甚至很难判断棋盘上单颗棋子的当前位置或价值。2017年,DeepMind 发布了 AlphaGo 的升级版,名为AlphaZero


在本速成课程中,我们讲解了什么是深度学习以及它与深度神经网络的关系。我们讨论了不同类型的网络以及深度学习的一些实际应用。

这仅仅是个开始——如果你想了解更多关于深度学习的知识,Next Tech 有一个 Python 深度学习项目系列,探讨了计算机视觉、自然语言处理 (NLP) 和图像处理等领域的真实深度学习项目。该系列的第一部分介绍了如何设置深度学习环境和构建多层感知器 (MLP)。你可以从这里开始。

文章来源:https://dev.to/nexttech/deep-learning-basics-a-crash-course-1hc2
PREV
使用 create-t3-app 构建全栈应用程序
NEXT
一份很棒的 WordPress-Gatsby 资源清单。WordPress 源代码 V4 和主题 Epic #19292