概述
此学习路径专为有兴趣熟悉和探索深度学习主题的任何人而设计。目前,该学习路径涵盖了深度学习的基础知识,但将来将得到增强,以涵盖有监督和无监督的深度学习概念。
深度学习基础知识
了解深度学习与机器学习的关系,探索其基础知识,并了解在某些应用中使用深度学习算法的优势。
技能水平
初学者
估计完成时间
约2小时。
学习目标
通过此学习路径,你将获得:
-
对深度学习概念的理解
-
对深度学习架构的理解
-
深度学习框架的比较
-
如何在 TensorFlow 中启用 Eager Execution
-
如何创建包含用于定义逻辑回归的 Python 代码的 Jupyter Notebook,然后使用 TensorFlow 实现它
-
了解如何在没有框架帮助的情况下构建神经网络
深度学习简介
探索机器学习的这一分支,该分支在大量数据上进行训练,并处理协同工作以执行预测的计算单元
在萌芽时期,人工智能 (AI) 主要关注基于规则的系统,这些系统将使用必须由主题专家提供的预定义规则集进行预测。然而,这些系统很脆弱,依赖于这些“专家意见”,最终导致它们过时。随着数据规模和数量的增加,这些方法被一种更加数据驱动的方法所取代,即机器学习。
机器学习与深度学习
机器学习是算法和工具的集合,可帮助机器理解数据中的模式,并使用这种底层结构对给定任务进行推理。机器可以通过多种方式来理解这些基本模式。但是机器学习与深度学习有什么关系呢?在本文中,我们概述了深度学习如何适应这一领域,并讨论了它的一些应用和挑战。
人们越来越误解深度学习是机器学习领域的竞争技术。在本文中,我们将讨论其中的一些误区,并解释深度学习与机器学习的关系,以及在某些应用中使用深度学习算法的优势。
从长远来看,深度学习是机器学习的一个子领域。凭借加速的计算能力和大型数据集,深度学习算法能够自我学习数据中的隐藏模式以进行预测。
从本质上讲,您可以将深度学习视为机器学习的一个分支,它基于大量数据进行训练,并处理许多协同工作以执行预测的计算单元。
深度学习与人脑
为了创建学习方式类似于人类学习方式的系统,深度学习的底层架构受到人脑结构的启发。出于这个原因,深度学习中的许多基本术语可以映射到神经学。与神经元如何形成大脑的基本构建块类似,深度学习架构包含一个计算单元,允许对称为感知器的非线性函数进行建模。
深度学习的魔力始于不起眼的感知器。类似于人脑中的“神经元”如何在整个神经系统中传递电脉冲,感知器接收一系列输入信号并将其转换为输出信号。
感知器旨在通过将许多层堆叠在一起来理解数据表示,其中每一层负责理解输入的某些部分。可以将层视为计算单元的集合,这些计算单元学习检测值的重复出现。
每一层感知器都负责解释数据中的特定模式。这些感知器的网络模仿大脑中的神经元如何形成网络,因此该架构称为神经网络(或人工神经网络)。
人工神经网络
本节概述了深度学习、人工神经网络 (ANN) 背后的架构,并讨论了一些关键术语。
如下图所示,每个感知器由以下几部分组成:
第 1 步 - 计算加权总和
-
输入 x1 到 xn,也可以用向量 X 表示。 X i 表示数据集中的第i 个条目。数据集中的每个条目都包含 n 个因变量。
-
权重 w1 到 wn,可以表示为矩阵 W
-
偏置项 b,它是一个常数
第 2 步 - 激活功能
步骤 1 的输出现在通过激活函数传递。激活函数 g 是一个数学函数,可用于在将输出发送到下一层之前将输出转换为所需的非线性格式。它将求和结果映射到所需的范围。这有助于确定神经元是否需要被激活。
例如,sigmoid 函数将值映射到范围 [0,1],如果您希望系统预测概率,这将非常有用。这样可以对复杂的非线性决策边界进行建模。
浅层神经网络
在上一节中,您看到了每个感知器中发生的计算。现在,您将看到这些感知器如何适应网络以及如何完成流程。
在最基本的形式中,神经网络包含三层:输入层、隐藏层和输出层。如下图所示,只有一个隐藏层的网络称为浅层神经网络。
前几节中讨论的计算发生在神经网络中的所有神经元上,包括输出层,其中一次称为前向传播。完成一次前向传递后,输出图层必须将其结果与实际真值标签进行比较,并根据真值与预测值之间的差异调整权重。这个过程是通过神经网络的向后传递,称为反向传播。虽然反向传播背后的数学原理不在本文的讨论范围之内,但该过程的基础知识可以概述如下:
-
该网络致力于最小化目标函数,例如,数据样本中所有点之间产生的误差。
-
在输出层,网络必须计算所有数据点的总误差(实际值和预测值之间的差值),并取其相对于该层权重的导数。误差函数相对于权重的导数称为该层的梯度。
-
然后,该图层的权重将根据梯度进行更新。此更新可以是梯度本身,也可以是梯度的一个因素。这个因素被称为学习率,它控制着你改变权重所采取的步数。
-
然后对它之前的一层重复该过程,并一直持续到到达第一层。
-
在此过程中,可以重用先前层的梯度值,从而提高梯度计算效率。
前向传播和反向传播的一次传递结果是网络层权重的变化,并使系统更接近于对提供给它的数据集进行建模。由于此过程使用梯度来最小化整体误差,因此将神经网络的参数收敛到最佳值的过程称为梯度下降。
深度神经网络
深度神经网络只是一个具有多个隐藏层的浅层神经网络。隐藏层中的每个神经元都连接到许多其他神经元。每个箭头都有一个附加的权重属性,该属性控制该神经元的激活对附加到它的其他神经元的影响程度。
深度学习中的“深度”一词归因于这些深层隐藏层,并从中得出其有效性。选择隐藏层的数量取决于问题的性质和数据集的大小。下图显示了具有两个隐藏层的深度神经网络。
在本节中,我们简要概述了人工神经网络的工作原理。要了解更多信息,请参阅有关神经网络如何开始工作的文章。您还可以在此神经网络深入探讨中更深入地了解神经网络。
在线教程
- 麻省理工学院人工智能视频教程 – 麻省理工人工智能课程
- 人工智能入门 – 人工智能基础学习。Peter Norvig举办的课程
- EdX 人工智能 – 此课程讲授人工智能计算机系统设计的基本概念和技术。
- 人工智能中的计划 – 计划是人工智能系统的基础部分之一。在这个课程中,你将会学习到让机器人执行一系列动作所需要的基本算法。
- 机器人人工智能 – 这个课程将会教授你实现人工智能的基本方法,包括:概率推算,计划和搜索,本地化,跟踪和控制,全部都是围绕有关机器人设计。
- 机器学习 – 有指导和无指导情况下的基本机器学习算法
- 机器学习中的神经网络 – 智能神经网络上的算法和实践经验
- 斯坦福统计学习
有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
人工智能书籍
- OpenCV(中文版).(布拉德斯基等)
- OpenCV+3计算机视觉++Python语言实现+第二版
- OpenCV3编程入门 毛星云编著
- 数字图像处理_第三版
- 人工智能:一种现代的方法
- 深度学习面试宝典
- 深度学习之PyTorch物体检测实战
- 吴恩达DeepLearning.ai中文版笔记
- 计算机视觉中的多视图几何
- PyTorch-官方推荐教程-英文版
- 《神经网络与深度学习》(邱锡鹏-20191121)
- …
第一阶段:零基础入门(3-6个月)
新手应首先通过少而精的学习,看到全景图,建立大局观。 通过完成小实验,建立信心,才能避免“从入门到放弃”的尴尬。因此,第一阶段只推荐4本最必要的书(而且这些书到了第二、三阶段也能继续用),入门以后,在后续学习中再“哪里不会补哪里”即可。
第二阶段:基础进阶(3-6个月)
熟读《机器学习算法的数学解析与Python实现》并动手实践后,你已经对机器学习有了基本的了解,不再是小白了。这时可以开始触类旁通,学习热门技术,加强实践水平。在深入学习的同时,也可以探索自己感兴趣的方向,为求职面试打好基础。
第三阶段:工作应用
这一阶段你已经不再需要引导,只需要一些推荐书目。如果你从入门时就确认了未来的工作方向,可以在第二阶段就提前阅读相关入门书籍(对应“商业落地五大方向”中的前两本),然后再“哪里不会补哪里”。
有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓