首页 > 产品 > 微控制器 (MCU) 和处理器 > 神经网络深度学习简介 >

处理器

最新课程

热门课程

神经网络深度学习简介

[音乐播放中] 嗨,我的名字是Manisha Agarwala。 我将在本视频中介绍 深度学习。 在本视频中,你将了解 深度学习技术的概述, 学习深入学习语言, 理解深度学习解决方案开发流程, 以及可以使用此技术的 各种应用程序空间。 随着行业越来越多地采用 先进的计算技术来寻找 隐藏在大量数据中的有用信息, 深度学习目前引起了很大的兴趣。 虽然人工智能领域已有数十年历史, 但人工神经网络领域的突破 正在推动深度学习的爆发。 人工智能(AI)是任何能够 做到智能的计算机程序的总称。 机器学习是人工智能的一个子领域, AI专注于计算机程序的开发, 这些程序可以传递数据,从中学习, 然后运用他们学到的知识 做出明智的决策。 传统的机器学习算法 需要拥有大量领域专业知识的人类程序员。 这些程序员必须在学习过程中 手动干预和编程哪些功能会对机器 很重要。 如果机器学习算法返回 不准确的预测,程序员 需要介入并进行调整。 对于AI设计师和世界其他地方来说, 这就是深度学习更有前景的地方。 深度学习是机器学习的一个子领域,其中 算法从它处理的数据中学习, 但程序员不需要 具有领域专业知识。 深度学习模型能够自己 选择正确的功能,从而消除了 对人类程序员的需求。 深度学习依靠自然学习,通过增加知识层次, 一层层叠加。 学习算法的这种革命性进步, 不仅节省了人力和时间, 而且最大限度地减少了决策错误的可能性。 由于深度学习算法具有大脑的 这种能力,它具有以下优点: 特征提取不再是时间和劳动密集型的, 因为它由算法自动化。 由于不需要人工干预来学习数据, 因此可进行超出人类能力的 高级分析。 可使用相同的网络方法 来解决许多不同类型的问题。 此外,与经典机器学习算法相比, 深度学习算法的准确性结果 可以更好地扩展数据。 那么为什么深度学习有用呢? 它很有用,因为深度学习算法 擅长学习模式。 它进行统计分析和预测分析, 以发现模式,并从以前的计算中 发现隐藏的见解,而无需编程。 可以在对象分类中 静态识别模式。 在对象分类和定位中, 该算法预测场景中 存在的对象的类别以及它所在的场景内的位置。 通过分类,深度学习 能够在例如图像中的像素 和对象的类之间建立相关性。 您可以将此称为静态预测。 静态预测可用于解决计算机视觉 问题。 对象检测可用于检测场景中的许多对象, 并在空间上定位它们在场景中的位置。 当通过将每个像素指定为类, 用它来创建场景中对象的精确轮廓时, 被称为像素级语义分割。 当深度学习暴露于足够的相关数据时, 便能够使用时变预测 建立当前事件与未来事件之间的 相关性。 深度学习并不一定 关心尚未发生事件的时间或事实。 给定时间序列,深度学习算法 可读取一串数据并预测 最可能的下一个事件。 时变预测非常适用于文本和语音分析、 从语音到文本的转换,或从一种语言 到另一种语言的转换、生成图像的标题 以及预测设备维护的需要。 深度学习模型可以打开任何类型的数据, 它可以是可视图,像雷达信号、 飞行时间、语音、音频、 电流信号、电压信号或只是数字。 为什么现在人们对深度学习如此感兴趣呢? 这是一项新技术吗? 深度学习是一项数十年前的技术, 历史悠久。 它在演变过程中 已被重新命名三次。 它在20世纪40年代被称为控制论, 直到20世纪60年代左右。 然后,它在20世纪80年代和90年代之间 被称为人工神经网络。 在2006年左右,它被命名为深度学习。 在80年代或90年代, 许多深度学习的核心概念就已经成熟。 那么,过去六到八年发生了 什么样的改变呢? 虽然有很多因素,但三个 最关键的组件似乎是大规模标签 数据集、GPU计算和改进的深度学习架构的 可用性。 深度学习算法需要大量数据 才能完美理解。 大型高质量标记数据集的出现, 将深度学习算法的培训结果提高到 与人类精确度相当的水平。 神经网络是一组可以 并行完成的浮点计算。 使用GPU并行执行此处理的 计算机体系结构的进步, 导致在大型数据集上培训这些模型的 急剧加速。 GPU计算的进步 导致网络越来越大,数据越来越多, 从而大大提高了 网络的复杂性。 如前所述,深度学习 由人脑结构激发。 它的思考能力部分是 通过使用神经网络实现的。 大多数现代深度学习模型 都基于人工神经网络,这些网络 是模仿人脑松散模式的 算法集,专门设计 用于识别模式。 正如大脑可以识别模式并帮助我们 对信息进行归类和分类一样,神经网络 也可以为计算机做同样的事情。 神经网络的核心是人造神经元, 也称为节点。 它以生物神经元为模型。 生物神经元由三个 主要功能元件组成:树突、细胞体和轴突。 它通过树突接收信号。 然后将该信息或信号 传递到体细胞或细胞体。 在细胞体内,所有信息 将被总结以生成输出。 当总结结果达到阈值时, 神经元发射和信息 将通过轴突向下传递, 然后通过其神经突触传递到其他连接的神经元。 神经元之间传输的信号量 取决于连接的强度。 人工神经元也具有 与生物神经元等同的成分。 它具有输入权重、处理单元和输出。 它采用了生物神经元的处理流程。 您可以将树突视为 基于人工神经网络中的 突触互连的加权输入。 然后,将加权输入与 在人工神经网络外的细胞体归结在一起。 如果生成的输出大于阈值单位, 则神经元将触发,并且该神经元的输出 将被转移到其他神经元。 人工神经元被称为神经网络的 基本计算单元。 一个节点可以连接到多个节点。 那些被布置以便其输入被同时作为输入 馈送到其他节点的节点,被称为层, 并且它们通常由垂线中堆叠节点来呈现, 如图所示,由绿色节点之列 形成网络层 该层是神经网络的下一个构建块。 简单的神经网络有三层。 第一层称为输入层, 是暴露于外部信号的唯一层。 输入层将信号传输到 下一层中的神经元, 即隐藏层。 隐藏层从接收的信号中提取相关的 特征或模式。 然后,将那些被认为重要的特征或模式 引导到输出层,即 网络的最后一层。 具有许多这些隐藏层 创建了堆叠神经网络。 随着更多层的添加,堆栈越深。 这些网络被称为深度网络, 使用这些深度网络的算法 已经被称为深度学习。 深度学习试图逐层学习 大数据的结构化显示,而学习在 连续层中进行,每层添加 前一层的知识。 一种可以帮助您想象 “正在发生什么”的方法,是考虑这个过于简单的例子, 其中深度神经网络被馈送了一张狗的图片, 并且试图在两个类别之间对它进行分类, 一只狗和一只狼。 网络的第一层可以看到简单的特征, 例如识别图像内的边缘和曲线。 后续层获取此信息 并尝试学习更高级别的功能,例如手 或爪子或耳朵。 后面的图层将采用形状 并将它们组合在一起以形成一个整体结构, 并为输入认为最可能的结构 指定一个值。 深度神经网络根据可能性 报告给输出。 在这个特例中,它报告了 馈送图像有90%的可能性 是狗,而有10%的可能性是狼。 网络模型如何自我培训 以便正确地对图像进行分类, 将在本视频的后面部分讨论。 到目前为止,我们在此视频中多次使用 术语网络模型。 那什么是网络模型? 网络模型,也称为网络体系结构, 是一组定义的网络层以及它们如何交互。 在设计神经网络模型时, 你必须决定使用类型, 每层使用多少个神经元, 如何排列层等等,以满足精度 和性能目标。 有许多流行的CNN模型,它们非常 适用于许多标准问题。 这些模型通常用作开发的起点和基准, 因为从头开始设计模型 稍微复杂一些。 一些流行的对象分类网络 是AlexNet、VGGNet、GoogleNet或InceptionNet,以及ResNet。 这些模型都是之前ILSVRC比赛的获奖者。 ILSVRC代表ImageNet大规模视觉识别 挑战。 这是由ImageNet举办的年度软件竞赛, 它挑战研究团队 在给定数据集上评估其算法, 以在多个视觉认知任务中实现 更高准确性。 AlexNet是首批推动 ImageNet分类准确性的深度网络之一。 这是2012年的成功模式。 从那时起,网络变得越来越复杂, 准确性越来越高,但也找到了 实现更高效性能的方法。 用于物体检测的流行模型 是更快的基于区域的卷积网络, 您只需看一次或YOLO,以及单次检测器或SSD。 SegNet是一种深度学习架构, 用于解决任何分段问题。 值得注意的是,这些不是 嵌入式友好网络。 当考虑用于嵌入式系统的网络模型时, 功率、尺寸和成本通常是设计中的限制因素, 所以,重点是设计一个 有效计算的网络,并且可以采用 一些技术来提高计算效率 作为交换 - 精度的小幅降低。 使用深度学习构建解决方案, 是数据科学家和工程师面临的一大挑战。 框架是轻松构建深度学习解决方案的 工具。 框架提供了一定程度的抽象 并简化了可能困难的编程任务。 有越来越多的开源框架可用, 并且通常是为特定目的而构建的, 以提供独特的功能。 目前,可用于开发CNN模型的 两个最流行的开源框架 是TensorFlow和Caffe。 TensorFlow由Google开发, 是目前最常用的深度学习框架, 基于GitHub星和分支以及Stack Overflow 活动。 Caffee由伯克利视觉和学习中心 开发。​​ 它的社区支持很受欢迎, 因为它主要用于建模卷积神经 网络,以及它选择名为Model Zoo的 预培训模型。 对于这些框架,还有基于C++或Python的 流行高级包装器,以使编程 更容易。 既然我们已经介绍了构建深度学习网络的 基本组件和工具, 现在我们就可以介绍如何培训网络。 培训网络的目的 是获得最佳的网络参数值, 从而可靠地解决问题。 使用称为反向传播的过程 找到这组最佳参数。 也就是说,您从一组随机参数开始, 并不断更改这些权重,以便对于每个培训 图像,我们都能得到正确的输出。 例如,当我试图在猫层间建立一个分类器时, 针对出口成本优化产品组合的构建块。 给定狗概率作为一个类别, 但所有狗图像的概率至少要高于猫图像, 而给定猫概率作为一个类别,但所有猫图像的可能性 至少要高于狗概率。 对于该步骤,大批量猫和狗的培训图像 已被收集。 每个输入都标有所需的输出值。 使用随机参数集初始化网络。 接下来,将每个输入图像馈送到网络。 网络处理图像并为 图像分配分类概率。 如果图像被解密错误,即 报告的概率与其他类别 相比较低,计算概率误差。 我回到车上,。 重复该过程,直到来自培训集的每个图像报告 得以正确输出。 这种使用标记图像 培训网络的方法称为监督培训, 这可能是一个漫长的步骤。 网络模型可能需要数周或数月 才能进行培训,具体取决于他们的培训数据库大小、网络 模型复杂性、准确性目标以及 接受培训的桌面或云的计算速度。 推理是培训模型的阶段, 用于推断或预测测试样本的阶段, 并且包括类似的前向传递作为培训 以预测值。 与培训不同,它不包括 计算错误和更新权重的反向传递。 它通常是一个生产阶段,您可以在此部署模型 以预测真实世界的数据。 在生产设置中,模型可以 在比培训更低的计算系统上运行, 模型通常被部署到 嵌入式环境中,并且运行 与用于培训的处理器 完全不同的处理器类。 用于运行推断的处理器的选择, 可取决于系统成本、功率、性能 和准确度目标。 运行推断时网络模型的准确性 取决于在培训侧培训网络的程度, 且不依赖于处理器的选择 来运行推理。 例如,TI AM574x嵌入式处理器 可以选择在系统边缘 运行深度学习推理,其功率、性能、精度 和成本目标均符合AM57x SoC功能在这些矢量上 提供的功能。 总而言之,深度学习开发流程 分为两个阶段,即培训和推理。 培训通常在桌面或云等 高性能计算机上完成。 推理可以在云端或低功耗 嵌入式处理器或高性能 加速器的边缘运行。 这是深度学习开发流程的整体 流程图。 首先,选择用于培训网络的数据集。 然后,选择一个框架来开发网络模型。 然后设计初始网络。 之后,迭代网络设计、 调整呼吸、深度等,直到性能 - 例如,每秒帧数 - 适合应用程序。 接下来,在PC上离线培训并确定准确性。 适当地定义网络设计。 重复步骤4,直到达到性能和准确度 目标。 一旦对网络性能和准确性感到满意, 请翻译模型并将其部署在推理上。 现在,让我们来看看流行的深度神经网络 架构。 在深度学习中,有许多不同的神经网络 架构。 这些不同的架构有助于 解决不同类型的问题。 在这个视频中,我将介绍两种架构: 卷积神经网络或CNN, 以及递归神经网络或RNN。 CNN是前馈深度神经网络。 在前馈神经网络中, 信息仅在一个方向上移动, 从输入节点向前移动到隐藏节点到输出 节点。 网络中没有循环或循环。 CNN采用固定大小的输入并生成固定大小的输出。 另一种类型的网络是递归神经网络 或RNN。 RNN被称为循环,因为它们接收输入, 根据先前的计算更新隐藏状态, 并对序列的每个元素进行预测。 RNN利用前馈连接 扩展到包括反馈连接以形成循环。 它是一个带内存的网络,并保存到目前为止 已处理的信息。 CNN架构在静态预测中很受欢迎, 并且是图像和视频处理、 物体检测、分类 和语义分割的理想解决方案。 前面讨论的在狗图像中使用的深度学习 网络的例子是CNN。 RNN对时间序列数据很有用, 在此代表着过去的特征, 被认为对未来有影响。 很多时候,这两种网络模型 堆叠在一起以解决更复杂的问题, 生成图像的字幕。 为了解决这样的问题,使用CNN模型 对图像中的对象进行分类。 然后使用RNN模型的变体 生成字幕。 让我们看一下卷积神经网络 以及CNN模型中涉及的图层类型。 此处显示的图像是用于 对象分类的CNN模型。 用于对象分类的CNN模型处理, 可以分为两部分,即特征提取和特征 分类。 卷积、整流线性单元或ReLU 和池图层是涉及提取功能的 图层类型。 完全连接和softmax层 是有助于对对象进行分类的图层类型。 卷积是卷积神经网络的 核心构建块。 这大部分计算繁重。 卷积层的主要目的 是从输入图像中提取特征。 它将卷积运算应用于输入, 从而将结果传递给下一层。 ReLU层是激活功能层, 它为卷积神经网络引入了非线性。 它确定卷积节点的输出 是否以及在何种程度上 将进一步通过网络。 汇集层是下采样层, 可减少网络中的 参数和计算量。 汇集中最常用的方法是最大限度的裁决。 它将输入图像划分为一组 非重叠矩形,并为每个子部分 输出最大值。 卷积和汇集层的输出 表示输入图像的 高级特征。 完全连接的层使用这些特征, 根据培训数据集 将输入图像分类为各种类。 它计算类别评分。 顾名思义,这一层中的每个神经元 均连接到前一层中的所有神经元。 Softmax函数采用任意实数值得分的向量, 并将其压缩为 0到1之间的值向量。 它相当于分类概率 分布,并告诉您 任何类都是真的概率。 让我们最后看一下深度学习算法示例 用例。 静态预测模型,如用于对象分类 和检测的CNN模型 可用于工业自动化 以识别物体并指导移动或放置。 在工厂自动化中,可以使用它 将产品分类为合格或有缺陷的。 在楼宇自动化中,它可用于跟踪、识别 和计算人员和对象。 在ATM和货币柜台应用中, 它可以用来区分真币和 假币。 对于智能家电,它可以用于智能烤箱 以确定食物类型并自动设定温度 和烹饪计划。 它可以由智能冰箱使用 以检测里面储存的食物。 像素级语义分割 可用于机器人导航。 对于一个非常不同的例子,大家 可以看看农业领域, 在此领域,深度学习可以帮助确定作物的健康状况 并开发优化的灌溉和收获。 零售业也在探究 深入学习,以提高自动结账的 速度和的准确性, 以及了解购物者的需求和偏好, 并提供吸引特定的购物者的 激励措施。 时变预测网络模型,如RNN 可用于处理自然语言翻译的 语音和文本, 从文本到语音的翻译,反之亦然。 它们可用于预测性维护, 通过处理声音、电流和电压信号 来识别设备的磨损和预期寿命。 我提到的应用程序 只是CNN和RNN模型的一些示例。 还有更多令人兴奋的用例, 可以使用深度学习算法来解决。 感谢您收看此视频。 请参阅此处显示的链接。 有关此培训的任何问题, 请访问e2e.ti.com上的TI E2E论坛。

[音乐播放中]

嗨,我的名字是Manisha Agarwala。

我将在本视频中介绍

深度学习。

在本视频中,你将了解

深度学习技术的概述,

学习深入学习语言,

理解深度学习解决方案开发流程,

以及可以使用此技术的

各种应用程序空间。

随着行业越来越多地采用

先进的计算技术来寻找

隐藏在大量数据中的有用信息,

深度学习目前引起了很大的兴趣。

虽然人工智能领域已有数十年历史,

但人工神经网络领域的突破

正在推动深度学习的爆发。

人工智能(AI)是任何能够

做到智能的计算机程序的总称。

机器学习是人工智能的一个子领域,

AI专注于计算机程序的开发,

这些程序可以传递数据,从中学习,

然后运用他们学到的知识

做出明智的决策。

传统的机器学习算法

需要拥有大量领域专业知识的人类程序员。

这些程序员必须在学习过程中

手动干预和编程哪些功能会对机器

很重要。

如果机器学习算法返回

不准确的预测,程序员

需要介入并进行调整。

对于AI设计师和世界其他地方来说,

这就是深度学习更有前景的地方。

深度学习是机器学习的一个子领域,其中

算法从它处理的数据中学习,

但程序员不需要

具有领域专业知识。

深度学习模型能够自己

选择正确的功能,从而消除了

对人类程序员的需求。

深度学习依靠自然学习,通过增加知识层次,

一层层叠加。

学习算法的这种革命性进步,

不仅节省了人力和时间,

而且最大限度地减少了决策错误的可能性。

由于深度学习算法具有大脑的

这种能力,它具有以下优点:

特征提取不再是时间和劳动密集型的,

因为它由算法自动化。

由于不需要人工干预来学习数据,

因此可进行超出人类能力的

高级分析。

可使用相同的网络方法

来解决许多不同类型的问题。

此外,与经典机器学习算法相比,

深度学习算法的准确性结果

可以更好地扩展数据。

那么为什么深度学习有用呢?

它很有用,因为深度学习算法

擅长学习模式。

它进行统计分析和预测分析,

以发现模式,并从以前的计算中

发现隐藏的见解,而无需编程。

可以在对象分类中

静态识别模式。

在对象分类和定位中,

该算法预测场景中

存在的对象的类别以及它所在的场景内的位置。

通过分类,深度学习

能够在例如图像中的像素

和对象的类之间建立相关性。

您可以将此称为静态预测。

静态预测可用于解决计算机视觉

问题。

对象检测可用于检测场景中的许多对象,

并在空间上定位它们在场景中的位置。

当通过将每个像素指定为类,

用它来创建场景中对象的精确轮廓时,

被称为像素级语义分割。

当深度学习暴露于足够的相关数据时,

便能够使用时变预测

建立当前事件与未来事件之间的

相关性。

深度学习并不一定

关心尚未发生事件的时间或事实。

给定时间序列,深度学习算法

可读取一串数据并预测

最可能的下一个事件。

时变预测非常适用于文本和语音分析、

从语音到文本的转换,或从一种语言

到另一种语言的转换、生成图像的标题

以及预测设备维护的需要。

深度学习模型可以打开任何类型的数据,

它可以是可视图,像雷达信号、

飞行时间、语音、音频、

电流信号、电压信号或只是数字。

为什么现在人们对深度学习如此感兴趣呢?

这是一项新技术吗?

深度学习是一项数十年前的技术,

历史悠久。

它在演变过程中

已被重新命名三次。

它在20世纪40年代被称为控制论,

直到20世纪60年代左右。

然后,它在20世纪80年代和90年代之间

被称为人工神经网络。

在2006年左右,它被命名为深度学习。

在80年代或90年代,

许多深度学习的核心概念就已经成熟。

那么,过去六到八年发生了

什么样的改变呢?

虽然有很多因素,但三个

最关键的组件似乎是大规模标签

数据集、GPU计算和改进的深度学习架构的

可用性。

深度学习算法需要大量数据

才能完美理解。

大型高质量标记数据集的出现,

将深度学习算法的培训结果提高到

与人类精确度相当的水平。

神经网络是一组可以

并行完成的浮点计算。

使用GPU并行执行此处理的

计算机体系结构的进步,

导致在大型数据集上培训这些模型的

急剧加速。

GPU计算的进步

导致网络越来越大,数据越来越多,

从而大大提高了

网络的复杂性。

如前所述,深度学习

由人脑结构激发。

它的思考能力部分是

通过使用神经网络实现的。

大多数现代深度学习模型

都基于人工神经网络,这些网络

是模仿人脑松散模式的

算法集,专门设计

用于识别模式。

正如大脑可以识别模式并帮助我们

对信息进行归类和分类一样,神经网络

也可以为计算机做同样的事情。

神经网络的核心是人造神经元,

也称为节点。

它以生物神经元为模型。

生物神经元由三个

主要功能元件组成:树突、细胞体和轴突。

它通过树突接收信号。

然后将该信息或信号

传递到体细胞或细胞体。

在细胞体内,所有信息

将被总结以生成输出。

当总结结果达到阈值时,

神经元发射和信息

将通过轴突向下传递,

然后通过其神经突触传递到其他连接的神经元。

神经元之间传输的信号量

取决于连接的强度。

人工神经元也具有

与生物神经元等同的成分。

它具有输入权重、处理单元和输出。

它采用了生物神经元的处理流程。

您可以将树突视为

基于人工神经网络中的

突触互连的加权输入。

然后,将加权输入与

在人工神经网络外的细胞体归结在一起。

如果生成的输出大于阈值单位,

则神经元将触发,并且该神经元的输出

将被转移到其他神经元。

人工神经元被称为神经网络的

基本计算单元。

一个节点可以连接到多个节点。

那些被布置以便其输入被同时作为输入

馈送到其他节点的节点,被称为层,

并且它们通常由垂线中堆叠节点来呈现,

如图所示,由绿色节点之列

形成网络层

该层是神经网络的下一个构建块。

简单的神经网络有三层。

第一层称为输入层,

是暴露于外部信号的唯一层。

输入层将信号传输到

下一层中的神经元,

即隐藏层。

隐藏层从接收的信号中提取相关的

特征或模式。

然后,将那些被认为重要的特征或模式

引导到输出层,即

网络的最后一层。

具有许多这些隐藏层

创建了堆叠神经网络。

随着更多层的添加,堆栈越深。

这些网络被称为深度网络,

使用这些深度网络的算法

已经被称为深度学习。

深度学习试图逐层学习

大数据的结构化显示,而学习在

连续层中进行,每层添加

前一层的知识。

一种可以帮助您想象

“正在发生什么”的方法,是考虑这个过于简单的例子,

其中深度神经网络被馈送了一张狗的图片,

并且试图在两个类别之间对它进行分类,

一只狗和一只狼。

网络的第一层可以看到简单的特征,

例如识别图像内的边缘和曲线。

后续层获取此信息

并尝试学习更高级别的功能,例如手

或爪子或耳朵。

后面的图层将采用形状

并将它们组合在一起以形成一个整体结构,

并为输入认为最可能的结构

指定一个值。

深度神经网络根据可能性

报告给输出。

在这个特例中,它报告了

馈送图像有90%的可能性

是狗,而有10%的可能性是狼。

网络模型如何自我培训

以便正确地对图像进行分类,

将在本视频的后面部分讨论。

到目前为止,我们在此视频中多次使用

术语网络模型。

那什么是网络模型?

网络模型,也称为网络体系结构,

是一组定义的网络层以及它们如何交互。

在设计神经网络模型时,

你必须决定使用类型,

每层使用多少个神经元,

如何排列层等等,以满足精度

和性能目标。

有许多流行的CNN模型,它们非常

适用于许多标准问题。

这些模型通常用作开发的起点和基准,

因为从头开始设计模型

稍微复杂一些。

一些流行的对象分类网络

是AlexNet、VGGNet、GoogleNet或InceptionNet,以及ResNet。

这些模型都是之前ILSVRC比赛的获奖者。

ILSVRC代表ImageNet大规模视觉识别

挑战。

这是由ImageNet举办的年度软件竞赛,

它挑战研究团队

在给定数据集上评估其算法,

以在多个视觉认知任务中实现

更高准确性。

AlexNet是首批推动

ImageNet分类准确性的深度网络之一。

这是2012年的成功模式。

从那时起,网络变得越来越复杂,

准确性越来越高,但也找到了

实现更高效性能的方法。

用于物体检测的流行模型

是更快的基于区域的卷积网络,

您只需看一次或YOLO,以及单次检测器或SSD。

SegNet是一种深度学习架构,

用于解决任何分段问题。

值得注意的是,这些不是

嵌入式友好网络。

当考虑用于嵌入式系统的网络模型时,

功率、尺寸和成本通常是设计中的限制因素,

所以,重点是设计一个

有效计算的网络,并且可以采用

一些技术来提高计算效率

作为交换 - 精度的小幅降低。

使用深度学习构建解决方案,

是数据科学家和工程师面临的一大挑战。

框架是轻松构建深度学习解决方案的

工具。

框架提供了一定程度的抽象

并简化了可能困难的编程任务。

有越来越多的开源框架可用,

并且通常是为特定目的而构建的,

以提供独特的功能。

目前,可用于开发CNN模型的

两个最流行的开源框架

是TensorFlow和Caffe。

TensorFlow由Google开发,

是目前最常用的深度学习框架,

基于GitHub星和分支以及Stack Overflow

活动。

Caffee由伯克利视觉和学习中心

开发。​​

它的社区支持很受欢迎,

因为它主要用于建模卷积神经

网络,以及它选择名为Model Zoo的

预培训模型。

对于这些框架,还有基于C++或Python的

流行高级包装器,以使编程

更容易。

既然我们已经介绍了构建深度学习网络的

基本组件和工具,

现在我们就可以介绍如何培训网络。

培训网络的目的

是获得最佳的网络参数值,

从而可靠地解决问题。

使用称为反向传播的过程

找到这组最佳参数。

也就是说,您从一组随机参数开始,

并不断更改这些权重,以便对于每个培训

图像,我们都能得到正确的输出。

例如,当我试图在猫层间建立一个分类器时,

针对出口成本优化产品组合的构建块。

给定狗概率作为一个类别,

但所有狗图像的概率至少要高于猫图像,

而给定猫概率作为一个类别,但所有猫图像的可能性

至少要高于狗概率。

对于该步骤,大批量猫和狗的培训图像

已被收集。

每个输入都标有所需的输出值。

使用随机参数集初始化网络。

接下来,将每个输入图像馈送到网络。

网络处理图像并为

图像分配分类概率。

如果图像被解密错误,即

报告的概率与其他类别

相比较低,计算概率误差。

我回到车上,。

重复该过程,直到来自培训集的每个图像报告

得以正确输出。

这种使用标记图像

培训网络的方法称为监督培训,

这可能是一个漫长的步骤。

网络模型可能需要数周或数月

才能进行培训,具体取决于他们的培训数据库大小、网络

模型复杂性、准确性目标以及

接受培训的桌面或云的计算速度。

推理是培训模型的阶段,

用于推断或预测测试样本的阶段,

并且包括类似的前向传递作为培训

以预测值。

与培训不同,它不包括

计算错误和更新权重的反向传递。

它通常是一个生产阶段,您可以在此部署模型

以预测真实世界的数据。

在生产设置中,模型可以

在比培训更低的计算系统上运行,

模型通常被部署到

嵌入式环境中,并且运行

与用于培训的处理器

完全不同的处理器类。

用于运行推断的处理器的选择,

可取决于系统成本、功率、性能

和准确度目标。

运行推断时网络模型的准确性

取决于在培训侧培训网络的程度,

且不依赖于处理器的选择

来运行推理。

例如,TI AM574x嵌入式处理器

可以选择在系统边缘

运行深度学习推理,其功率、性能、精度

和成本目标均符合AM57x SoC功能在这些矢量上

提供的功能。

总而言之,深度学习开发流程

分为两个阶段,即培训和推理。

培训通常在桌面或云等

高性能计算机上完成。

推理可以在云端或低功耗

嵌入式处理器或高性能

加速器的边缘运行。

这是深度学习开发流程的整体

流程图。

首先,选择用于培训网络的数据集。

然后,选择一个框架来开发网络模型。

然后设计初始网络。

之后,迭代网络设计、

调整呼吸、深度等,直到性能 -

例如,每秒帧数 -

适合应用程序。

接下来,在PC上离线培训并确定准确性。

适当地定义网络设计。

重复步骤4,直到达到性能和准确度

目标。

一旦对网络性能和准确性感到满意,

请翻译模型并将其部署在推理上。

现在,让我们来看看流行的深度神经网络

架构。

在深度学习中,有许多不同的神经网络

架构。

这些不同的架构有助于

解决不同类型的问题。

在这个视频中,我将介绍两种架构:

卷积神经网络或CNN,

以及递归神经网络或RNN。

CNN是前馈深度神经网络。

在前馈神经网络中,

信息仅在一个方向上移动,

从输入节点向前移动到隐藏节点到输出

节点。

网络中没有循环或循环。

CNN采用固定大小的输入并生成固定大小的输出。

另一种类型的网络是递归神经网络

或RNN。

RNN被称为循环,因为它们接收输入,

根据先前的计算更新隐藏状态,

并对序列的每个元素进行预测。

RNN利用前馈连接

扩展到包括反馈连接以形成循环。

它是一个带内存的网络,并保存到目前为止

已处理的信息。

CNN架构在静态预测中很受欢迎,

并且是图像和视频处理、

物体检测、分类

和语义分割的理想解决方案。

前面讨论的在狗图像中使用的深度学习

网络的例子是CNN。

RNN对时间序列数据很有用,

在此代表着过去的特征,

被认为对未来有影响。

很多时候,这两种网络模型

堆叠在一起以解决更复杂的问题,

生成图像的字幕。

为了解决这样的问题,使用CNN模型

对图像中的对象进行分类。

然后使用RNN模型的变体

生成字幕。

让我们看一下卷积神经网络

以及CNN模型中涉及的图层类型。

此处显示的图像是用于

对象分类的CNN模型。

用于对象分类的CNN模型处理,

可以分为两部分,即特征提取和特征

分类。

卷积、整流线性单元或ReLU

和池图层是涉及提取功能的

图层类型。

完全连接和softmax层

是有助于对对象进行分类的图层类型。

卷积是卷积神经网络的

核心构建块。

这大部分计算繁重。

卷积层的主要目的

是从输入图像中提取特征。

它将卷积运算应用于输入,

从而将结果传递给下一层。

ReLU层是激活功能层,

它为卷积神经网络引入了非线性。

它确定卷积节点的输出

是否以及在何种程度上

将进一步通过网络。

汇集层是下采样层,

可减少网络中的

参数和计算量。

汇集中最常用的方法是最大限度的裁决。

它将输入图像划分为一组

非重叠矩形,并为每个子部分

输出最大值。

卷积和汇集层的输出

表示输入图像的

高级特征。

完全连接的层使用这些特征,

根据培训数据集

将输入图像分类为各种类。

它计算类别评分。

顾名思义,这一层中的每个神经元

均连接到前一层中的所有神经元。

Softmax函数采用任意实数值得分的向量,

并将其压缩为

0到1之间的值向量。

它相当于分类概率

分布,并告诉您

任何类都是真的概率。

让我们最后看一下深度学习算法示例

用例。

静态预测模型,如用于对象分类

和检测的CNN模型

可用于工业自动化

以识别物体并指导移动或放置。

在工厂自动化中,可以使用它

将产品分类为合格或有缺陷的。

在楼宇自动化中,它可用于跟踪、识别

和计算人员和对象。

在ATM和货币柜台应用中,

它可以用来区分真币和

假币。

对于智能家电,它可以用于智能烤箱

以确定食物类型并自动设定温度

和烹饪计划。

它可以由智能冰箱使用

以检测里面储存的食物。

像素级语义分割

可用于机器人导航。

对于一个非常不同的例子,大家

可以看看农业领域,

在此领域,深度学习可以帮助确定作物的健康状况

并开发优化的灌溉和收获。

零售业也在探究

深入学习,以提高自动结账的

速度和的准确性,

以及了解购物者的需求和偏好,

并提供吸引特定的购物者的

激励措施。

时变预测网络模型,如RNN

可用于处理自然语言翻译的

语音和文本,

从文本到语音的翻译,反之亦然。

它们可用于预测性维护,

通过处理声音、电流和电压信号

来识别设备的磨损和预期寿命。

我提到的应用程序

只是CNN和RNN模型的一些示例。

还有更多令人兴奋的用例,

可以使用深度学习算法来解决。

感谢您收看此视频。

请参阅此处显示的链接。

有关此培训的任何问题,

请访问e2e.ti.com上的TI E2E论坛。

视频报错
手机看
扫码用手机观看
收藏本课程
  • 神经网络深度学习简介 未学习 神经网络深度学习简介

视频简介

神经网络深度学习简介

所属课程:神经网络深度学习简介 发布时间:2019.08.07 视频集数:1 本节视频时长:00:29:45

该培训提供了深度学习的介绍,深入学习源于神经网络,并在人脑之后松散地建模。 在本视频中,您将了解深度学习技术的概述,学习深入学习语言,了解深度学习解决方案开发流程,并了解可以使用此技术的各种应用程序空间。

TI培训小程序