机器学习和神经网络 - 页 48

 

CS480/680 第十五讲:深度神经网络



CS480/680 第十五讲:深度神经网络

该视频涵盖了深度学习的基础知识,包括深度神经网络的概念、梯度消失问题以及深度神经网络在图像识别任务中的演变。讲师解释了如何使用深度神经网络更简洁地表示函数,以及它们如何计算随着网络变得更深而变得越来越高级的特征。解决了梯度消失问题的解决方案,包括使用线性修正单元 (ReLU) 和批量归一化。本讲座还涵盖了最大输出单元及其作为允许多个线性部分的 ReLU 泛化的优势。

关于深度神经网络的讲座讨论了有效深度学习需要解决的两个问题:由于多层网络表现力导致的过度拟合问题以及训练复杂网络对高计算能力的要求。讲师在训练时提出了正则化和dropout等解决方案,在计算时提出了并行计算。该讲座还详细介绍了如何在测试期间通过缩放输入和隐藏单元的大小来使用丢失。最后,讲座以深度神经网络在语音识别、图像识别和机器翻译中的一些突破性应用作为总结。

  • 00:00:00 在本节中,我们将了解深度学习的基础知识,特别是深度神经网络是什么以及它与常规神经网络的区别。我们发现“深度学习”一词主要用于营销目的,因为具有许多隐藏层的神经网络概念最早是在 1980 年代提出的。然而,使用深度神经网络的优势在于它们往往具有很强的表达能力,可以很好地拟合数据。挑战在于有效地培训他们,这就是“巨大而正在消失的问题”的来源。

  • 00:05:00 在这一节中,讲师讨论了训练大型神经网络的问题以及由于大量的权重和参数而导致的过度拟合问题。研究人员过去常常偏向于单隐藏层神经网络,因为它们可以用足够多的隐藏单元来逼近任何函数。然而,多个隐藏层神经网络具有减小网络整体尺寸的优势,可以按指数方式减小,如奇偶校验函数的示例所示。讲师展示了一个编码奇偶函数的神经网络架构,其中隐藏层是一个编码逻辑“与”函数的阈值感知器,而输出单元是一个“或”逻辑函数。

  • 00:10:00 在本节中,讲师解释了如何设置神经网络来检测打开的输入数量是奇数还是偶数。全连接网络中的每个隐藏单元负责检查一种特定模式,其中输入为奇数,输出单元只是隐藏单元的或。有 8 个模式和 4 个奇数输入,每个隐藏单元负责其中一个模式。然而,讲师指出,一般来说,有 n 个输入会导致隐藏单元呈指数级增长,这使得这种方法不可扩展,并提出了一种替代方法。

  • 00:15:00 这节讲师讲了深度神经网络的概念,它涉及多个层次,可以更简洁地表示函数。该讲座提供了一个函数示例,即奇偶校验函数,它只能由仅具有一个隐藏层的指数级更大的网络或具有多个隐藏层的线性大小的网络来表示。然后,讲师讨论了深度神经网络如何在实践中用于计算机视觉任务,例如面部识别,其中将输入(例如像素强度)馈入网络并计算中间值以在输出中产生分类。

  • 00:20:00 在本节中,视频讨论了深度神经网络如何计算在网络开始时很简单并随着我们深入而逐渐变得更高级别的特征。在计算机视觉中,在深度学习之前,从业者会为他们的任务手动设计特征。然而,深度学习允许将特征作为网络的一部分进行学习,从而可以使用原始数据。这一突破由 Geoff Hinton 在 2006 年开创,他设计了第一个有效的深度神经网络。
     
  • 00:25:00 在本节中,将讨论深度神经网络的历史及其在语音识别和图像分类方面的突破。第一个突破出现在 2009 年,当时 Geoff Hinton 开发了一种使用受限玻尔兹曼机逐层训练深度神经网络的方法,从而显着改善了语音识别基准。循环神经网络随后在 2013 年左右取代了受限玻尔兹曼机,取得了更好的结果。第二个突破是图像分类,2010 年提出了 ImageNet 大规模视觉识别挑战赛。尽管经过多年研究,计算机仍无法在 1000 个类别中准确地对图像进行分类。然而,到 2012 年,深度学习算法将错误率从 26% 降低到 15%,到 2016 年,微软的错误率达到了 3.1%,超过了人类的表现。

  • 00:30:00 在本节中,演讲者讨论了深度神经网络的历史和演变,特别是在图像识别任务中。 2012 年,随着 Jeff Hinton 小组引入了名为 AlexNet 的卷积神经网络,图像分类任务的错误率显着降低。这导致人们认识到神经网络可以取得显著成果,并且设计了更复杂的架构以进一步降低错误率。随着时间的推移,网络的深度增加,并且有明显的网络更深的趋势。将深度神经网络应用于图像识别任务的能力是各种创新的结果,包括更好的训练技术和防止过度拟合。

  • 00:35:00 在本节中,解决了深度神经网络中梯度消失的问题,当与前几层中的边相关联的权重的偏导数幅度较小时,就会发生这种情况,从而导致随着网络加深而产生的值可以忽略不计。这使得研究人员很难训练多层神经网络,因为底层没有接受训练,因此无法提供有意义的输出来改进网络的预测。这部分是由于所使用的激活函数,例如梯度始终小于 1 的 S 形函数或双曲正切函数,使得优化权重和调整初始计算具有挑战性。

  • 00:40:00 在本节中,讲师解释了深度神经网络中梯度消失的问题。他创建了一个带有 sigmoid 激活单元的玩具神经网络,并展示了梯度如何由作为因子乘积的偏导数组成,每个因子要么是 sigmoid 的偏导数,要么是一个权重。由于 sigmoid 的偏导数总是小于 1,并且权重被初始化为小于 1 的量级,因此将这些因子相乘往往会使偏导数越来越小。当我们回到层中时,这会导致权重的影响越来越小,从而导致梯度消失问题。然后讲师介绍了预训练、不同激活函数、skip connections、batch normalization等常见的解决方案,并着重介绍了rectified linear units和max out units作为可能的解决方案。

  • 00:45:00 在本节中,讲师讨论了由于有问题的激活函数而出现的梯度消失问题的解决方案。一种可能的解决方案是使用导数大于零的激活函数,例如整流线性单元 (ReLU),它返回输入或零的线性组合。另一种解决方案是批量归一化,它可以确保数据有效地处于梯度趋于接近 1 的范围内。这些解决方案允许某些路径具有消失的梯度,只要足够多的路径具有梯度为 1 的梯度即可,这会通过神经网络传播梯度。

  • 00:50:00 在本节中,讲师讨论了整流线性单元 (ReLU) 及其优缺点。 ReLU 最初受到批评是因为它们在零处具有不连续性,这会导致使用梯度下降计算梯度时出现问题。然而,这个问题在实践中并不重要,因为数值很少完全为零。相比之下,近似 ReLUs 的软损失函数是平滑连续的,但它的梯度处处都小于 1。因此,使 ReLU 平滑无助于消除梯度消失问题。尽管 ReLU 有一部分可以忽略,但它们仍然有用,因为每个单元都会在线性部分产生一些输入。

  • 00:55:00 在本节中,演讲者讨论了整流线性单元 (ReLU) 的优势,并介绍了最大输出单元的概念。他解释说,ReLU 变得流行是因为在梯度不消失的情况下,它们可以更快地训练,需要更少的梯度下降。然后演讲者介绍了最大输出单元作为 ReLU 的泛化,它允许多个线性部分,而不仅仅是零部分和线性部分,并演示了它们是如何通过取不同线性组合的最大值来构造的。最大输出单元的形状显示为具有多个线性组合,每个线性组合对应一条线,并且成为身份单元隐藏层与最大单元的聚合。

  • 01:00:00 在讲座的这一部分,教授讨论了深度学习要有效需要解决的两个问题。第一个问题是过度拟合的问题,这是由于多层网络的高表达性而产生的。正则化是一种解决方案,它涉及最小化权重的大小以使其保持较小和受限。另一种解决方案是 dropout,在训练过程中随机丢弃一些网络单元,以强制网络具有鲁棒性并防止过度拟合。第二个问题是需要高计算能力来训练复杂的网络,这可以通过使用 GPU 的并行计算或分布式计算来实现。

  • 01:05:00 在本节中,演讲者讨论了在深度神经网络测试期间使用 dropout。在训练期间,dropout 是一种从网络中随机丢弃一些输入或隐藏单元以防止过度拟合的技术。然而,在测试期间,使用了整个网络,这会导致线性组合的量级更高。为了解决这个问题,通过将输入单元乘以 1 减去丢弃它们的概率来重新缩放输入单元,对隐藏单元也是如此。演讲者提供了一个具有三个输入、四个隐藏单元和一个输出的全连接网络示例,并解释了在训练期间使用随机数生成器丢弃一些输入和隐藏单元。

  • 01:10:00 在本节中,讲师讨论如果在神经网络中删除所有输入或隐藏单元会发生什么,以及 dropout 正则化如何解决此问题。虽然不太可能删除所有单位,但如果删除可能会影响准确性。 Dropout 正则化有助于防止过度拟合并迫使网络在丢弃的特征方面变得健壮。 dropout 正则化算法涉及对伯努利变量进行采样以创建一个残缺的网络,其中一些单元被丢弃,并将剩余单元的大小乘以 1 减去被丢弃的概率。在训练期间,梯度是根据残缺的网络计算的。

  • 01:15:00 在本节中,演示者讨论了深度神经网络中使用的 dropout 技术,以使网络稳健并防止过度拟合。 Dropout 是近似和样本学习的一种形式,其中每次迭代都通过丢弃特定节点来计算一个残缺的网络,从而产生一个假设或函数来编码正在学习的内容。整个网络可以被认为是所有残缺网络的平均值,并对正在计算的内容进行了调整。这种方法类似于贝叶斯学习,并已被证明可以近似于深度高斯过程的某些计算。这有助于证明为什么 dropout 在实践中可以很好地工作。演讲者最后介绍了深度神经网络取得突破的一些应用,包括语音识别、图像识别和机器翻译。

  • 01:20:00 在本节中,演讲者介绍了历史上最先进的语音识别方法,即使用混合高斯模型的隐马尔可夫模型。然而,在 2009 年,Geoff Hinton 和他的研究小组提出用使用堆叠受限玻尔兹曼机的深度神经网络代替高斯混合。这种概率模型和深度神经网络之间的混合模型导致错误率显着降低,这在多个基准测试中都得到了观察。由于这一突破,包括谷歌和微软在内的多家公司开始利用深度神经网络,最终导致深度学习领域的复兴。

  • 01:25:00 在本节中,讲师讨论了神经网络的突破,从 2012 年发生的图像识别突破开始。突破是由于卷积神经网络的发展,它以像素强度的二维数组作为输入,具有以不同粒度计算特征的卷积层和完全连接的密集层。数据增强还用于通过使其不受旋转和其他因素影响来提高识别率。结果是比赛中排名第一的错误率从 26.2% 显着降低到 16.4%。虽然 16% 仍然比较高,但很难在数千个类别中准确地对图像进行分类,而且预测准确率前五名而不是前五名。

  • 01:30:00 在本节中,讲师以一张大象的图像为例讨论深度神经网络算法的性能。该算法返回五个潜在类别,并为每个类别分配一个置信度分数,以确定它是正确类别的概率。该网络通常表现良好,能够以高置信度正确识别集装箱船和小型摩托车等物体,但在某些情况下它会错误分类物体。
 

CS480/680第16讲:卷积神经网络



CS480/680第16讲:卷积神经网络

该视频介绍了卷积神经网络 (CNN),并解释了它们作为具有关键属性的特定类型神经网络在图像处理中的重要性。讲师讨论了如何将卷积用于图像处理,例如边缘检测,以及 CNN 如何以类似的方式检测特征。解释了卷积层的概念及其参数,以及使用具有共享权重的反向传播和梯度下降训练 CNN 的过程。讲师还提供了创建有效 CNN 架构的设计原则,例如在每次卷积后使用更小的滤波器和非线性激活。

在本次关于卷积神经网络 (CNN) 的讲座中,演讲者讨论了残差连接的概念,以解决深度神经网络面临的梯度消失问题。这些跳过连接允许缩短网络路径并忽略无用的层,同时在需要时仍然能够使用它们以避免产生接近于零的输出。还引入了批量归一化技术的使用,以减轻梯度消失的问题。此外,演讲者指出,CNN 可以应用于序列数据和二维以上的张量,例如视频序列,并且 3D CNN 也有可能用于某些应用。 TensorFlow 框架被强调为专为使用多维数组进行计算而设计。

  • 00:00:00 在本节中,演示者介绍了卷积神经网络 (CNN),并解释了它们作为具有关键属性的特定类型神经网络在图像处理中的重要性。讲座继续讨论 CNN 如何扩展以处理大型数据集和序列。主持人解释说,CNN 是以卷积的数学运算命名的,它修改两个函数以产生第三个函数,并以使用卷积进行平滑为例。讲义还使用高斯作为卷积运算的加权函数。

  • 00:05:00 在本节中,讨论了连续和离散情况下的卷积概念,其中输出 Y 是邻域中 X 的加权组合。当应用于图像时,这是一个二维函数,其中每个像素都是该函数在 x 和 y 方向上特定坐标处的测量值。应用于每个像素强度的权重可以产生新图像 Y。例如,可以使用简单的卷积来检测灰度图像中的垂直边缘。

  • 00:10:00 在本节中,演讲者讨论了如何使用卷积来检测神经网络中的特征。卷积本质上是基于特定权重模式的单元子集的线性组合,这有助于检测可能对给定任务很重要的特征,例如边缘或其他模式。演讲者还解释说,权重模式决定了用于检测邻域特征的滤波器,而非线性激活函数会放大输出。 gab 或过滤器是一类流行的过滤器,对应于受人类视觉皮层工作方式启发的常见特征图。

  • 00:15:00 在本节中,讲师解释了卷积神经网络的工作原理。这个想法是通过应用与特定特征相对应的权重块来检测图像中的小边缘,每个块的大小由其颜色决定。这些补丁通过在卷积层和池化层之间交替应用于图像。卷积层的工作原理是使用具有相同权重的特定大小的过滤器计算对应于另一个向量的卷积。卷积神经网络的关键元素是这些卷积层和池化层,它们交替检测图像中的不同特征。

  • 00:20:00 在本节中,解释了神经网络中卷积层的概念。卷积层使用固定大小的窗口或补丁,并对其应用一组权重或过滤器。该过滤器在层中的每个窗口中重复使用,与完全连接的层相比,在输入和输出之间生成更稀疏的连接表示。在一维示例中,采用大小为 3 x 1 的补丁,并对每个输入窗口应用过滤器。类似地,在一个 2D 示例中,采用大小为 3 x 3 的补丁,在滑动窗口中应用相同的一组权重来检测特定特征,例如边缘。通过跨窗口实例重复使用相同的过滤器,卷积层允许更紧凑和高效的网络设计。

  • 00:25:00 在本节中,讲师解释了卷积神经网络以及它们如何通过对图像或信号的每个补丁使用相同的一组权重来处理图像和音频信号。网络通过应用池化过滤器来检测特征,池化过滤器计算局部等方差,允许网络识别特征而不管它们的位置。此方法可用于数字识别,以位图图像作为输入,并生成从 0 到 9 的标签作为输出。讲师指出,反向传播和自动微分处理共享权重,更新具有相同权重的边的权重。

  • 00:30:00 在这部分视频中,讲师解释了卷积神经网络 (CNN) 的工作原理。第一步是使用过滤器对输入图像应用 5x5 卷积,与较小的过滤器相比,它允许检测更大的特征。这会生成一个大小为 28x28 的特征图,可用于检查不同位置是否存在特征。接下来,应用最大池化层通过取每个 2x2 块的最大值将特征图的大小减小到 14x14。然后使用 5x5 过滤器应用另一个卷积来检测更高级别的特征,这会产生 12 个再次经过最大池化的特征图。最大池化背后的直觉是某些特征的确切位置,例如人脸识别中的眼睛或鼻子,可能会略有不同。

  • 00:35:00 这部分,讲师讨论了为分类而设计的神经网络的第二部分。常见的方法是采用全连接层,展平特征,并构建节点向量来计算通过反向传播调整权重的类。卷积神经网络的美妙之处在于,卷积滤波器的权重不是由人类设计的,而是随机初始化并随着网络的训练而更新,从而使网络能够学习提取相关特征。该网络能够通过数据驱动的解决方案优化并提出在实践中更有效的功能。

  • 00:40:00 在这一节中,讲师讨论了卷积神经网络中稀疏连接的概念,它指的是节点只有少数连接,而不是完全连接。这允许更少数量的权重和更稀疏的计算。讲师还解释了如何在神经网络的卷积层中指定过滤器数量、内核大小、步幅和填充等参数。提供的示例有助于进一步阐明如何使用这些参数来定义卷积层。

  • 00:45:00 在本节中,讲师解释了卷积神经网络的工作原理。讲师演示了卷积层如何通过向输入图像应用内核来处理输入图像。内核的大小决定了输出的大小,步幅决定了内核在输入中移动了多少。填充也可用于保持输入的原始大小。讲师提供了不同内核大小和步幅如何影响卷积层输出大小的示例。

  • 00:50:00 在本节中,讲师讨论了使用反向传播和梯度下降训练卷积神经网络 (CNN) 的过程,其中权重在变量之间共享。如果一个变量在函数中多次出现,计算偏导数的过程没有什么不同,可以使用 Adam 和 RMSprop 等算法进行训练。在设计神经网络架构时,它取决于问题,是一门艺术而非科学。然而,一些经验法则显示出良好的结果,例如使用一堆小过滤器而不是单个大过滤器以获得更少的参数和更深的网络。

  • 00:55:00 在视频的这一部分,讲师解释了设计卷积神经网络 (CNN) 架构的经验法则。他建议,与较大的过滤器相比,使用较小的过滤器往往效果更好并且产生的参数更少。通过使用一堆较小的过滤器代替较大的过滤器,感受野保持不变,同时减少了所需的参数数量。此外,在每次卷积后添加非线性激活可以提高 CNN 的性能。这些设计原则可用于为各种应用程序创建有效的体系结构。

  • 01:00:00 在本节中,讨论了卷积神经网络中残差层的使用。残差层于 2015 年被提出,作为一种避免因添加过多层而导致网络质量下降的方法。这个想法是创建跳跃连接来缩短进入网络的路径,有效地减少深度并更有效地传播梯度。残差连接跳过一些层并将输入 X 添加到跳过层的输出中。这样,如果附加层没有用,可以忽略它们而不会损害网络性能。

  • 01:05:00 在本节中,演讲者介绍了卷积神经网络 (CNN) 中残差连接的概念,并解释了它们如何解决梯度消失问题。通过使用跳跃连接,本质上是将恒等函数添加到层的输出,网络可以选择忽略某些无用的层,同时仍然可以根据需要使用它们。这避免了层产生接近于零的输出的问题,这可能导致网络完全忽略这些层。演讲者还提到跳跃连接不会影响梯度大小,并建议使用批归一化作为另一种方法来缓解梯度消失问题。

  • 01:10:00 在视频的这一部分,演讲者讨论了处理卷积神经网络中梯度消失问题和归一化等问题的技术。批量归一化是一种常用的启发式方法,其中根据正在使用的任何一批数据对值进行归一化,方差为 1 并以 0 为中心,分别针对每个维度。此外,跳过连接有助于更快地传播梯度,因为它们为反向传播提供了更短的路径。最后,演讲者指出,卷积神经网络不仅可以用于计算机视觉,还可以用于序列数据和二维以上的张量,如视频序列等应用中所见。 TensorFlow 框架旨在针对多维数组执行计算,而不是仅限于向量或矩阵。

  • 01:15:00 在本节中,提到了 3D 卷积神经网络的存在,虽然它们并不常见,但在某些应用程序中可以使用它们。
 

CS480/680 第十七讲:隐马尔可夫模型


CS480/680 第十七讲:隐马尔可夫模型

本讲座介绍了隐马尔可夫模型 (HMM),这是一种概率图形模型,用于利用序列数据中的相关性来提高准确性。模型假设涉及平稳过程和马尔可夫过程,其中隐藏状态仅取决于先前状态。 HMM 中的三种分布是初始状态分布、过渡分布和排放分布,根据数据类型使用后一种分布。该算法可用于监控、预测、过滤、平滑和最可能的解释任务。 HMM 已被用于语音识别和机器学习,例如根据一系列输入和隐藏状态预测最可能的输出序列,供老年人使用步行器设备进行稳定性相关。进行了一项涉及在助行器上修改传感器和摄像头的实验,以根据收集的退休设施中老年人的活动数据自动识别老年人的活动。还讨论了活动识别背景下监督和无监督学习的演示。

本讲座重点介绍高斯发射分布在隐马尔可夫模型 (HMM) 中的使用,该模型通常用于收集的数据是连续的实际应用中。讲师解释说,这种方法涉及计算与数据的经验均值和方差相对应的均值和方差参数,并使用它们计算初始分布和过渡分布的解。过渡分布对应于相对频率计数,并使用最大似然来获得解决方案。这种方法类似于高斯混合的解决方案,其中还使用了初始分布和发射分布。

  • 00:00:00 在本节中,讲师介绍了隐马尔可夫模型 (HMM) 的概念,它不同于目前讨论的神经网络。讲师解释说,当数据来自序列而不是独立数据点时,可以使用 HMM,并且一个数据点的预测与下一个数据点的预测相关。讲师提供了语音识别的示例,其中音素或单词的预测与下一个音素或单词相关。利用这些相关性可以提高预测的准确性。讲师还解释说,HMM 可以概括为循环神经网络 (RNN),可以处理序列数据并在序列中的不同点之间传播信息,这将在后面讨论。

  • 00:05:00 在讲座的这一部分,演讲者介绍了隐马尔可夫模型作为高斯混合模型的推广。他解释说,隐马尔可夫模型利用顺序数据中的相关性来提高准确性,并用于表达 y 上的分布,该分布遵循给定 y 的条件概率分布 x。这与高斯混合不同,其中输入 x 的类条件分布是在 y 从多项分布中采样后表示的。演讲者还对该模型与条件随机场和递归神经网络进行了比较。

  • 00:10:00 在本节中,讲师解释了在设计隐马尔可夫模型时所做的假设。第一个假设是该过程是平稳的,这意味着过渡和发射分布与时间无关。第二个假设是该过程是马尔可夫过程,这意味着给定的隐藏状态仅取决于先前的隐藏状态。这些假设创建了一个具有初始分布、过渡分布和发射分布的概率图模型,它们一起形成联合分布。初始分布描述了第一个隐藏状态的分布,通常是多项式。

  • 00:15:00 在本节中,我们了解隐马尔可夫模型中的三种分布:初始状态分布、转移分布和发射分布。高斯发射分布用于连续数据,而多项式发射分布适用于离散数据,例如用于自然语言处理的单词序列。通过将这些分布相乘,我们可以导出联合分布,它可以用于机器人定位等各种应用。

  • 00:20:00 在本节中,我们了解了由于里程表读数漂移和不准确而导致机器人迷路的问题。这个问题的一个解决方案是使用隐马尔可夫模型,其中 Y,即隐藏状态,对应于机器人的位置坐标,输入对应于传感器的一些测量值。过渡分布捕获机器人可能由于运动的不确定性而最终到达不同位置的概率,而发射分布在传感器获得的测量值上有一个分布,以解决测量不准确的问题。隐马尔可夫模型可用于定位,这涉及计算机器人在任何给定时间步的位置概率。

  • 00:25:00 在本节中,演讲者解释了与隐马尔可夫模型 (HMM) 相关的任务可以分为四大类。这些类别包括监控、预测、消除歧义和最有可能的解释。对于监控任务,使用的算法称为前向算法。它涉及根据给定所有先前测量值的先前隐藏状态的概率对查询进行递归分解,这允许计算给定 X 的 Y 概率。该算法通过计算给定第一个隐藏状态的第一个隐藏状态来工作测量,然后计算下一个隐藏状态,给定测量到该时间步长,并通过及时向前继续增加序列。

  • 00:30:00 在本节中,讲师讨论了使用隐马尔可夫模型 (HMM) 的预测任务,其中涉及在给定当前状态的情况下预测系统的未来状态。此任务的示例包括天气和股市预测。计算类似于监控,使用具有两个阶段的前向算法:监控和预测。在提供的示例中,讲师展示了如何仅在给定 X1 和 X2 的情况下计算 Y4 的概率。讲师还提到,具有预测功能的 HMM 可用于文本生成,其中模型预测给定当前文本的下一个可观察文本。

  • 00:35:00 在本节中,讲师讨论了隐马尔可夫模型 (HMM) 的任务,其中包括过滤、平滑和事后推理。过滤是指根据过去的观察来预测系统的当前状态,而平滑是指使用该状态之前和之后的观察来预测早期状态。后见之明推理涉及在给定状态之前和之后的观察中计算过去状态的属性。讲师强调,HMM 不再是这些任务的最新技术,但它们是循环神经网络的先驱,往往更有效。这些任务的计算以递归方式完成,从而创建了前向-后向算法。

  • 00:40:00 在本节中,演讲者讨论了隐马尔可夫模型 (HMM) 在语音识别和机器翻译中的应用。 HMM 用于根据输入序列和隐藏状态计算最可能的输出序列。维特比算法被应用到这个动态规划过程中来进行最大化。还讨论了使用传感器测量和老年人用来行走的 Walker 设备进行活动识别的应用。推断佩戴助行器的人的活动有助于确定最有可能导致跌倒或引发跌倒的动作,尽管使用助行器来保持稳定,但在某些情况下仍观察到这种情况会发生。

  • 00:45:00 在本节中,演讲者讨论了一项研究,其中使用带有传感器和摄像头的改良助行器来收集有关退休设施中老年人活动的数据。助行器有传感器,例如 3D 加速度计和负载传感器,可以测量助行器每条腿的重量,还有一个摄像头可以向后看腿。实验涉及让参与者通过模拟日常活动的障碍课程。收集到的数据被用来开发一个隐马尔可夫模型,该模型可以自动识别参与者执行的活动。该模型有八个传感器通道,并使用机器学习来估计初始过渡和排放分布的参数。

  • 00:50:00 在本节中,演讲者讨论了一种算法的演示,该算法可根据传感器测量结果预测一个人的活动。该算法使用隐马尔可夫模型或条件随机场来跟踪人的活动和输出预测,然后将其与手动标记的正确行为进行比较。人的活动在视觉上表示为波动曲线,视频的右侧面板显示了 13 个独立的活动,红色方块表示正确的行为,蓝色方块表示算法的预测。演讲者解释说,虽然理论上可行,但让佩戴传感器的人表明他们的活动是不切实际的,因为这个人可能并不总是对自己的动作做出可靠的判断,而且让某人不断地宣布他们的动作可能会很尴尬。此外,如果使用无监督学习,算法会推断出一项活动,但无法准确命名。

  • 00:55:00 在本节中,演讲者讨论了在活动识别的背景下对监督学习和非监督学习所采用的方法。对于监督学习,Y 是已知的,目标是最大化数据的可能性。讨论的一种方法是计算导数,将其设置为零,隔离参数,并获得 pi theta 和 phi 的值和估计值。在两个活动和二元测量的情况下,可以扩展模型的联合分布并将导数设置为零。得到的答案是自然的,涉及数据中类数的比率。

  • 01:00:00 在本节中,讲师讨论了高斯发射分布的使用,这是实际应用中的常见做法,因为收集的数据通常是连续的。该方法涉及使用与所收集数据的经验均值和方差相对应的均值和方差参数。初始分布和过渡分布的解与之前相同,而过渡分布对应于相对频率计数。然后使用最大似然来获得这些解决方案。这种技术类似于高斯混合的解决方案,其中我们也有初始分布和发射分布。
 

CS480/680第18讲:递归和递归神经网络



CS480/680第18讲:递归和递归神经网络

在本讲座中,演讲者介绍了循环和递归神经网络作为适用于没有固定长度的顺序数据的模型。由于某些节点将输出反馈为输入,循环神经网络可以处理任何长度的序列,并且每个时间步的 H 的计算方式是通过使用相同的函数 f,这涉及权重共享。然而,它们可能会受到一些限制,例如不记得早期输入的信息和预测漂移。讲师还解释了双向循环神经网络 (BRNN) 架构和编码器-解码器模型,该模型利用两个 RNN(一个编码器和一个解码器),适用于输入和输出序列不自然匹配的应用。此外,讲师描述了长短期记忆 (LSTM) 单元的好处,它可以缓解梯度消失问题,促进长程依赖性,并有选择地允许或阻止信息流。

本次关于递归和递归神经网络的讲座涵盖了一系列主题,包括使用长短期记忆 (LSTM) 和门控递归单元 (GRU) 单元来防止梯度问题,以及注意机制在机器翻译中的重要性用于保留句子含义和单词对齐。讲师还讨论了如何将递归神经网络泛化为序列、图形和树的递归神经网络,以及如何使用解析树解析句子和生成句子嵌入。

  • 00:00:00 在视频的这一部分中,演讲者介绍了循环和递归神经网络作为适用于没有固定长度的顺序数据的模型。前面讨论的前馈神经网络假定输入是固定长度的,这在处理可变长度数据(例如时间序列数据或机器翻译)时会带来问题。循环神经网络具有某些节点,输出作为输入反馈,可以处理任何长度的序列。演讲者使用模板和网络的展开版本对此进行了解释。还讨论了推广到树或图的递归神经网络。

  • 00:05:00 在本节中,演讲者讨论了递归神经网络如何连接不同的时间步长以及如何训练它们。为了训练 RNN,演讲者解释说梯度下降与一种称为随时间反向传播的技术一起使用,该技术涉及随时间展开网络并创建前馈神经网络。演讲者还指出,在每个时间步计算 H 的方式是通过使用相同的函数 f,这涉及权重共享。函数 f 从先前的 H 和当前的 X 中获取输入,并且用于它的权重在每个时间步都是相同的。

  • 00:10:00 在本节中,讲师解释了递归神经网络 (RNN) 和权重共享。 RNN 是在每个时间步重复使用相同函数、共享相同权重的网络。这意味着发生了一些权重共享,这可以使反向传播期间梯度的推导不同。讲师还提到H通常是一个向量,F是一个输出向量的函数。这种效应给训练带来了挑战,包括梯度消失和爆炸问题,其中乘以小于或大于 1 的因子可能导致梯度消失或爆炸。

  • 00:15:00 在讲座的这一部分,演讲者讨论了递归神经网络 (RNN) 的局限性以及它们如何不记得早期输入的信息。这对于机器翻译等应用程序来说可能会有问题,因为第一个词和最后一个词一样重要。然而,对于像活动识别这样的活动,如果 RNN 忘记前一段时间发生的传感器测量可能没问题,因为最近的测量更重要。 RNN 的另一个问题是预测漂移,预测中的错误会随着时间的推移而累积,从而导致预测漂移。演讲者还将 RNN 与隐马尔可夫模型 (HMM) 进行了比较,并解释了如何使用 RNN 来泛化 HMM。

  • 00:20:00 在本节中,演讲者解释了隐马尔可夫模型和递归神经网络之间的区别。在隐马尔可夫模型中,箭头表示概率依赖,而在循环神经网络中,箭头表示函数依赖。演讲者介绍了循环神经网络中的隐藏状态和输出,并解释了图形对应于计算
    正在做。隐藏状态是使用一个函数计算的,该函数采用先前的隐藏状态和输入,而输出是使用另一个将隐藏状态作为输入的函数获得的。最终,目标是使用此计算来计算概率或识别活动。

  • 00:25:00 在本节中,讨论了在分类(特别是活动识别)的背景下使用递归神经网络模拟隐马尔可夫模型的概念。 RNN 用于将隐藏状态与输出解耦,这意味着输出仅取决于通过某个函数转换的隐藏状态。一个示例显示了使用应用于 HT 的非线性激活函数和不同的权重集来转换输出。 RNN 的前向算法可以根据 X1 计算 y1,根据 X1 和 X2 计算 y2,依此类推,类似于隐马尔可夫模型,但是 RNN 在计算 y2 时会出现问题,这将在后面的讲座中解决。

  • 00:30:00 在本节中,讲师讨论了单向递归神经网络架构仅允许正向计算的局限性,并介绍了双向递归神经网络 (BRNN) 架构作为该问题的解决方案。讲师绘制了 BRNN 架构图,其中包括前向和后向隐藏状态、输入和输出。通过聚合前向和后向隐藏状态之前和之后的信息,BRNN 架构允许双向计算,并可以根据两个方向的输入计算预测。

  • 00:35:00 在视频的这一部分中,讲师讨论了如何将循环神经网络用于输入和输出序列不自然匹配的应用程序,例如机器翻译、问答和会话代理。为了解决这些问题,通常使用一种称为编码器解码器模型或序列到序列模型的不同架构。该架构使用两个 RNN——一个编码器和一个解码器。编码器将输入序列编码成上下文向量,这是输入的嵌入,解码器使用上下文向量产生相应的输出序列。这种方法允许不同长度的输入和输出序列,并且输入和输出中的单词之间没有同步。

  • 00:40:00 在这节课中,讲师描述了机器翻译中序列到序列模型的架构,它使用递归神经网络将输入句子概括为上下文向量 (C),作为模型的记忆。上下文向量用于解码和生成一系列翻译的单词,每个单词对应不同的输出。该模型还使用隐藏状态来跟踪翻译的进度,并确保上下文向量中的信息不会随着时间的推移而被遗忘。讲师解释说,将上下文向量和先前的隐藏状态都输入解码过程的每个步骤以确保翻译句子的连贯性是很有用的。

  • 00:45:00 在视频的这一部分,教授讨论了神经网络中信息流中冗余的使用。用于编码信息的向量通常是高维的,可以有 500-1000 个值,非常适合编码整个句子。该视频还展示了使用循环神经网络模型实现的翻译示例。该模型是在大量数据集上训练的,能够与机器翻译的最新技术相匹配,而无需大量语言学知识或机器翻译的复杂性,这是一个重大进步。此外,在 1990 年代提出了长短期记忆 (LSTM) 单元,以改善神经网络中的长程依赖性。

  • 00:50:00 在本节中,讲师讨论了长短期记忆 (LSTM) 单元的好处,它可以缓解梯度消失问题,并有助于学习长程依赖性,因为它们能够记住信息以进行扩展时间段。 LSTM 单元的关键是门的引入,包括输入门、遗忘门和输出门。这些门通过取 0 到 1 之间的值并将其与输入、隐藏状态或输出相乘来调节信息流。讲师还展开了 LSTM 单元架构,并向每个链接引入了门以调节它们之间的连接。这些修改允许 LSTM 单元有选择地允许或阻止信息流,并促进机器翻译等任务中的长期记忆。

  • 00:55:00 在本节中,讲师解释了长短期记忆 (LSTM) 单元(一种递归神经网络)的结构和变化。 LSTM 单元是使用多个调节信息流的门的组合构建的,例如输入门、输出门、遗忘门和记忆门。这些门将当前 X 和之前的隐藏状态作为输入,并输出一个介于 0 和 1 之间的值,该值决定是让新信息进入还是忘记旧信息。讲师还提到,较新的 LSTM 单元使用单元状态而不是隐藏状态进行内存存储,并且将 H 作为输出而不是 Y。讲座最后描述了控制 LSTM 单元不同门的特定方程。

  • 01:00:00 在本节中,讲师解释了长短期记忆 (LSTM) 单元的工作原理以及它们如何有助于防止梯度消失和爆炸等梯度问题。据解释,门用于确定什么可以影响细胞状态,细胞状态承载着网络的记忆。讲师还指出,2014 年提出了称为门控循环单元 (GRU) 的门控单元,作为 LSTM 单元的简化版本。 GRU 删除了 LSTM 单元中使用的门之一。

  • 01:05:00 在本节中,演讲者介绍了门控循环单元 (GRU),它通过只有两个门来简化长短期记忆 (LSTM) 单元:重置门和更新门。更新门确定新输入是进入隐藏状态还是保留其中已有的内容。这降低了单元的复杂性并使其更高效,从而获得更好的性能。然而,即使使用 GRU,仍然有一些记忆在每一步都会受到干扰,因此开发了注意力机制,在机器翻译中特别有用,将每个输出词与输入序列中的某些词对齐,允许模型保留原始句子的含义并检查单词到单词的对齐方式。

  • 01:10:00 在本节中,介绍了用于解码单词序列的上下文向量的概念。上下文向量基于与编码过程中每个时间步相关联的所有隐藏状态的加权组合。权重是通过 softmax 获得的,当预期输出和输入词之间存在对齐时,它会产生更高的概率。对齐是使用点积计算的,并通过 softmax 转换为概率,允许计算可能输入的加权组合。通过这样做,我们创建了一个上下文向量,它总结了对我们接下来要生成的几个单词很重要的上下文,而不是总结了整个句子。

  • 01:15:00 在本节中,讲师讨论了注意机制在机器翻译中的使用。注意机制涉及采用在每个时间步计算的隐藏状态的凸组合,而不是仅使用最后一个隐藏状态作为上下文向量。用于组合的权重是从 softmax 获得的概率,它们用于计算先前隐藏状态与所有先前输入之间的对齐。这允许机器翻译模型将它要翻译的概念与输入的正确部分对齐。 attention 的使用改进了机器翻译,讲师介绍了 2015 年使用它的作者获得的一些结果。

  • 01:20:00 在讲座的这一部分,演讲者讨论了机器翻译中的长句问题以及在翻译过程中拥有允许回头看的机制的重要性。研究人员比较了有注意力和没有注意力的循环神经网络的准确性,并使用研究中的双语评估 (BLEU) 分数衡量准确性的差异。使用注意力的顶部曲线显示出一致的准确度,即使句子长度增加也是如此。这可以归因于注意力机制,允许输入序列中的所有单词影响解码下一步的上下文向量,而不管它们的位置如何。

  • 01:25:00 在本节中,讲师讨论了循环神经网络在处理长句子时的局限性以及注意机制对于解决此问题的重要性。递归神经网络倾向于用后续词覆盖前面的词,导致在处理长序列时翻译质量下降。注意力机制通过关注特定的词来解决这个问题,允许神经网络处理任意长度的更长序列。注意机制还有助于处理不同的语言,其中单词对齐不一定是一对一的。讲师举例说明了注意力机制如何在生成翻译地图时发挥作用,这些翻译地图显示了不同语言中单词的对齐方式。

  • 01:30:00 在本节中,演讲者解释了如何将递归神经网络推广到递归神经网络,递归神经网络可用于序列、图形和树。关键是转换输入并以产生输出或嵌入的方式递归组合它们,以捕获输入的含义。为了处理不同长度的输入,演讲者强调了在组合图中不同节点的不同规则应用之间共享权重的重要性。演讲者还建议使用解析树或依赖图来构建反映语法的图,并可用于计算和嵌入。

  • 01:35:00 在本节中,讲师讨论了如何使用选区分析树来分析句子以及如何为整个句子生成嵌入。这个想法是提出词性标签并将它们组合成短语和解析树以理解句子结构。通过将规则与每个转换相关联并在同一规则的所有应用程序中共享权重,我们可以生成更有前途且与人类理解句子的方式一致的嵌入。一些研究人员表明,通过以这种方式构建嵌入,我们可以获得非常好的结果。

  • 01:40:00 在视频的这一部分,演讲者讨论了通过使用正确的解析树获得更好的句子嵌入的可能性。他们结束了上一组幻灯片,然后转到下一组。
 

CS480/680第19讲:注意力和变压器网络



CS480/680第19讲:注意力和变压器网络

在本讲座中,介绍了神经网络中注意力的概念,并讨论了它在 Transformer 网络发展中的作用。注意力最初是在计算机视觉中研究的,它允许识别关键区域,类似于人类自然地关注特定区域的方式。将注意力应用于机器翻译导致了变压器网络的创建,它仅使用注意力机制并产生与传统神经网络一样好的结果。 Transformer 网络比递归神经网络具有优势,可以解决与远程依赖、梯度消失和爆炸以及并行计算相关的问题。本讲座探讨了变压器网络中的多头注意力,确保每个输出位置都关注输入。讨论了 transformer 网络中掩码、归一化层和 Donora 层的使用,并探讨了使用注意力作为构建块的概念。

在本次关于注意力和转换器网络的讲座中,演讲者解释了归一化对于不同层中梯度解耦的重要性,以及位置嵌入对于保留句子中词序的重要性。演讲者将 transformer 网络的复杂性估计与递归和卷积神经网络进行了比较,强调了 transformer 网络捕获远程依赖和同时处理单词的能力。还讨论了 transformer 网络在提高可扩展性和减少竞争方面的优势,以及 GPT、BERT 和 XLNet 等 transformer 网络的引入,这些网络在准确性和速度方面表现出令人印象深刻的性能,引发了对递归神经网络未来的质疑。

  • 00:00:00 在本节中,讲师介绍了神经网络中注意力的概念及其在变压器网络开发中的作用。注意力最初是在计算机视觉中研究的,其思想是注意力机制可以识别图像中感兴趣的区域,类似于人类自然地关注特定区域的方式。这个概念随后被应用于机器翻译,并最终导致了 transformer 网络的创建,它仅由注意力机制组成,并且已经证明产生的结果至少与传统神经网络的结果一样好。 Attention 还可用于突出显示图像中有助于所需输出的重要特征,例如对象检测中对象的位置。

  • 00:05:00 在本节中,讲师讨论了如何将注意力用作识别过程的构建块,正如 2015 年突破性的机器翻译工作所见,解码器能够回顾输入的句子。 2017 年,研究人员展示了使用注意力来开发通用语言建模技术,从而可以预测和恢复序列中缺失的单词。完全使用注意力块的 transformer 网络成为自然语言处理的最先进技术,并因其处理远程依赖和优化 GPU 并行计算的能力而超越循环神经网络。因此,转换网络是自然语言处理任务的有效选择。

  • 00:10:00 在本节中,演讲者解释了注意力和变换器网络相对于传统循环神经网络的优势。注意块有助于在序列的任何部分之间绘制连接,避免远程依赖问题。此外,transformer 网络同时对整个序列进行计算,允许更多的并行化和更少的训练步骤,并解决梯度消失和爆炸的问题。演讲者还回顾了注意力作为数据库检索的一种近似形式,并介绍了神经网络注意力机制中使用的方程式。

  • 00:15:00 在本节中,演讲者解释了相似性函数如何计算分布以及如何将注意力机制推广到神经架构。演讲者提出了可用于衡量相似性的各种函数,包括点积和缩放点积,并解释了如何应用它们来计算键和查询之间的相似性。演讲者还介绍了在检索过程中对相似度高的值进行加权组合的思想,对应attention机制。

  • 00:20:00 这节课教授详细讲解了attention机制的第一层。该层计算查询与内存中每个键之间的相似度。计算相似度的最常见方法是通过点积或通过除以维度的平方根来缩放点积。另一种方法是使用权重矩阵将查询投影到新空间,然后进行点积。这一步将允许神经网络学习映射 W 以更直接地比较查询和密钥之间的相似性。

  • 00:25:00 在本节中,我们将讨论如何在使用 softmax 函数的全连接网络中计算注意力值。权重是使用表达式来计算的,该表达式将查询与各种键进行比较以获得相似性度量,并且这用于为每个键分配权重。然后使用与每个键关联的值的线性组合来计算注意力值。由矩阵 W 表示的权重由神经网络通过反向传播学习,优化 Q 到 W 跨越的空间的投影。得到的权重用于产生输出,每个输出词和隐藏向量一个权重与用作 VI 的每个输入词相关联。

  • 00:30:00 在本节中,讲座讨论了注意力机制和转换器网络。注意机制是一种将输出词的隐藏向量与输入词的隐藏向量相结合的方法,从而可以生成上下文向量。 Transformer 网络于 2017 年推出,消除了顺序数据中的重复,从而加快了优化和并行化操作。机器翻译中的transformer网络有两部分:编码器和解码器。编码器通过多头注意力和前馈神经网络并行处理整个单词序列,并添加位置编码来考虑单词定位。

  • 00:35:00 在本节中,讲座描述了多头注意力机制,它计算每个位置和其他每个位置之间的注意力。多头注意力通过注意力机制获取每个单词并将其与句子中的其他一些单词组合,从而产生更好的嵌入,将来自单词对的信息合并在一起。本讲座还讨论了添加残差连接的 Donora 层,它将原始输入与多头注意力的结果相结合,然后对其进行归一化。该块重复多次,以便模型可以组合词对、词对等。这个过程的输出是一系列嵌入,句子中的每个位置都有一个嵌入。然后讲座探讨了解码器,它使用 softmax 生成一些输出,softmax 生成在每个位置输出标签的概率。解码器还包括两层注意力,第一层是输出词之间的自注意力,第二层是将输出词与输入词结合起来。

  • 00:40:00 在本节中,演讲者讨论了 Transformer Networks 中的多头注意力机制,该机制用于确保输出中的每个位置都在关注输入中的位置。多头注意力的工作原理是通过查询分解键值对,将它们与键进行比较以找到最高权重,然后采用相应值的加权组合来产生输出。这个过程用不同的线性组合重复多次以计算不同的投影并改进嵌入,直到产生字典中单词的分布。

  • 00:45:00 在讲座的这一部分,教授讨论了多头注意力的概念以及如何将其与卷积神经网络中的特征映射进行比较。多头注意力中的不同线性组合可以被认为是不同的过滤器,投射或改变值所在的空间。这导致多尺度点积注意力,对应于 CNN 中的多个特征图。接触层连接这些不同的注意力,最后,它们的线性组合导致多头注意力。此外,教授还解释了 mask multi-head attention,它可以消除或删除对未来单词产生依赖性的链接,使其适用于机器翻译任务。

  • 00:50:00 视频的这一部分讨论了掩码在 Transformer 网络环境中的使用。演示者解释了如何使用掩码来消除 softmax 函数中的某些连接,以及如何使用具有负无穷大值的掩码来确保保持适当的分布。演示者还讨论了掩码的使用如何允许在训练期间进行并行计算,以及教师强制技术如何在训练期间解耦输入和输出。

  • 00:55:00 在视频的这一部分中,讨论了规范化层在 Transformer Networks 中的重要性。归一化层有助于减少梯度下降优化网络所需的步骤数,因为它确保无论权重如何设置,每一层的输出均值为 0,方差为 1。通过这样做,输出的尺度相同,减少了层间的梯度竞争,收敛更快。需要注意的是,层归一化不同于批量归一化,因为它在层的级别而不是单个隐藏单元进行归一化,这使其适用于较小的批次,甚至适用于在线或流式设置中一次一个数据点。

  • 01:00:00 在视频的这一部分,演讲者讨论了归一化对于解耦梯度在不同层中的演化方式的重要性。他们还深入研究了位置嵌入的主题,该主题是在 Transformer 网络中的输入嵌入之后添加的。位置嵌入确保注意力机制可以捕获位置信息,这对于保留句子中单词的顺序很重要。演讲者解释说位置嵌入是一种工程 hack,并讨论了用于计算它的公式,尽管他们指出可能有不同的方法来处理网络的这一方面。

  • 01:05:00 在讲座的这一部分,演讲者将 transformer 网络的复杂性估计与循环神经网络或卷积神经网络的复杂性估计进行了比较。 Transformer 网络,也称为自注意力网络,具有 n 平方阶的复杂性,因为注意力机制关注一层中每个位置的每个其他位置,同时还计算它们的嵌入。然而,transformer 网络不会丢失第一个词的信息,并允许信息立即在词对之间流动,从而有效地捕获长程依赖关系。此外,transformer 网络中没有顺序操作,这意味着所有单词都可以同时并行处理。相比之下,递归神经网络具有顺序操作和最多 n 的路径长度。

  • 01:10:00 在讲座的这一部分,演讲者讨论了变压器网络的优势,特别是它们减少竞争和提高可扩展性的能力。然后演讲者继续比较不同的机器翻译模型,特别是英语到德语和英语到法语,并表明虽然 transformer 模型不一定产生出色的结果,但它们大大减少了计算时间,使其成为更有效的培训选择.演讲者还讨论了其他类型的转换器网络,例如 GPT 和 GPT-2,它们于 2018 年被提出用于无监督语言建模。

  • 01:15:00 在本节中,视频介绍了两种类型的变压器网络,称为 GPT 和 BERT。 GPT 是一种语言模型,可用于多种任务,包括阅读理解、翻译、摘要和问答。该模型关注先前的输出以生成一系列单词而不关注未来的输出。研究人员将其应用于不同的任务,而无需针对特定任务定制网络,并发现以完全无人监督的方式,他们设法接近了最先进的技术水平。 BERT 代表 transformers 的双向编码表示,它的主要进步是它根据前一个词和未来的词预测一个词,使其优于 GPT。

  • 01:20:00 在本节中,讲师讨论了变压器网络的进步,特别是 BERT 和 XLNet。 BERT 拥有使用特定于任务的数据微调模型的能力,从而在 11 个任务的最新技术水平上有了重大改进。然而,XLNet 的表现更令人印象深刻,在大多数任务中都击败了 BERT,因为它允许丢失输入,因此在泛化时表现更好。这些变压器网络已被证明在准确性和速度方面表现良好,引发了对循环神经网络未来的质疑。
 

CS480/680 第 20 讲:自动编码器



CS480/680 第 20 讲:自动编码器

自动编码器是指与编码器-解码器密切相关的一系列网络,不同之处在于自动编码器采用输入并产生相同的输出。它们对于压缩、去噪、获得稀疏表示和数据生成很重要。线性自动编码器通过将高维向量映射到较小的表示来实现压缩,同时确保没有信息丢失,并使用权重矩阵来计算从输入到压缩表示并返回的线性变换。此外,深度自动编码器允许进行复杂的映射,而概率自动编码器在中间表示和输入上生成条件分布,可用于数据生成。自动编码器对非线性函数的使用利用了非线性流形,即在低维空间上的投影,捕获数据的内在维度,从而实现输入的无损压缩。

  • 00:00:00 在关于自动编码器的讲座的这一部分,演示者解释说它们是与编码器-解码器密切相关的网络家族,不同之处在于自动编码器接受输入并产生相同的输出。自动编码器对于压缩、去噪、获得稀疏表示和数据生成等任务很重要。压缩涉及将高维向量映射到更小的表示,同时确保没有信息丢失。为了实现这一点,输入被馈送到产生较小表示的编码器,然后将其解码回输入以确保压缩表示具有输入的所有信息。线性自动编码器使用权重矩阵来计算从输入到压缩表示再返回到输入的线性变换。

  • 00:05:00 在本节中,讲师解释了自动编码器与主成分分析 (PCA) 之间的联系。他指出,PCA 的典型用途是将数据投影到较低维的超平面,同时保留数据的变化。但是,他还解释说,当使用自动编码器(具有线性映射)来最小化欧氏距离时,它会产生与 PCA 相同的解决方案,从而使其成为降维的有用工具。讲师强调,自动编码器中的矩阵 WF 和 WG 本质上是彼此的逆矩阵(或伪逆矩阵),因为 WG x WF 产生 X。

  • 00:10:00 在本节中,讲师解释了自动编码器的优点,即它们不像 PCA 那样将自己局限于线性映射。相反,自动编码器可以使用非线性函数来找到数据的隐藏表示,可以通过非线性流形将其投影到较低维空间。这种流形可以捕获数据的内在维度,这可以导致输入的无损压缩。然而,确定 H 的最佳维数需要特定的结构学习技术。

  • 00:15:00 在本节中,视频介绍了深度自动编码器和稀疏表示。深度自动编码器在到达隐藏层之前有多个层,允许进行复杂的映射,而稀疏表示通过最小化 F 生成的向量中非零条目的数量,将结构强加到中间表示上。这可以通过非凸优化或通过使用 l1 正则化来最小化输出的 l1 范数。此外,该视频还提供了一个使用自动编码器通过输入损坏版本并尝试恢复原始 X 来进行降噪的示例。

  • 00:20:00 在本节中,讲师描述了概率或随机自动编码器,它们与确定性自动编码器不同,因为它们侧重于条件分布。在确定性自动编码器中,编码器产生一个中间表示,解码器可以直接使用它来重建输入,而概率自动编码器在中间表示和输入上产生条件分布。通过设计具有适当的最后激活函数的神经网络,最后一层可用于生成可解释为分布的模式。输出层中的线性单元可用于编码真实数据的条件分布,而 sigmoid 单元可用于二进制数据。讲师强调,这些概率自动编码器允许生成数据,这与确定性自动编码器有很大区别。

  • 00:25:00 在讲座的这一部分,演讲者解释了自动编码器的概率图形模型。输入 X 被视为随机变量,输出 X 代字号是输入的近似版本。 H 是表示隐藏层的另一个随机变量,箭头表示条件依赖性。权重由条件分布表示,解码器是条件分布。不同的激活函数用于产生不同类型的输出。演讲者还讨论了如何根据二进制和高斯向量在 H 上的分布来计算 X 上的分布。

  • 00:30:00 在本节中,讲师解释了如何使用概率自动编码器等架构来生成数据。使用确定性自动编码器,解码器进行一些嵌入并生成数据点。但是,通过分布,我们可以从中间表示的某些分布中采样并使用它来生成数据点。例如,如果我们用人脸训练概率自动编码器,我们可以很容易地从隐藏表示中采样,然后生成一张与数据集中的人脸不同但相似的新人脸。通过从图像的分布中采样,我们获得了图像。

  • 00:35:00 在本节中,演讲者讨论了使用概率自动编码器生成新图像。演讲者解释了自动编码器如何通过将输入数据点映射到可以将附近的点解码为新图像的空间中的嵌入来生成新图像。然而,演讲者指出,为了生成真正的新图像,需要有一个允许对适当嵌入进行采样的分布。自动编码器中使用的分布以输入数据点 X 为条件,这会导致生成相似的图像。为了克服这个限制,下一组幻灯片将讨论直接使用 H 采样并生成新图像的机制。
 

CS480/680 第 21 讲:生成网络(变分自动编码器和 GAN)



CS480/680 第 21 讲:生成网络(变分自动编码器和 GAN)

本讲座重点介绍生成网络,它允许通过变分自动编码器 (VAE) 和生成对抗网络 (GAN) 等网络生成数据作为输出。 VAE 使用编码器将数据从原始空间映射到新空间,然后使用解码器恢复原始空间。讲师解释了 VAE 背后的概念以及计算训练所需分布积分的挑战。 GAN 由两个网络组成 - 一个生成器和一个鉴别器 - 其中生成器网络创建新的数据点,而鉴别器网络试图区分生成的和真实的数据点。讨论了 GAN 实施中的挑战,包括确保网络优势与实现全球融合之间的平衡。讲座以生成的图像示例和下一课的预览结束。

  • 00:00:00 在讲座的这一部分,重点是生成网络以及它们如何用于数据生成。虽然到目前为止,分类和回归一直是课程中涵盖的主要技术,但生成网络允许生成数据作为输出。这对于自然语言生成、语音合成以及图像和视频生成特别有用。变分自动编码器和生成对抗网络是目前用于数据生成的最流行的网络之一。这些网络用于生成类似于数据集中的真实数据。

  • 00:05:00 在本节中,讲师讨论了概率自动编码器的概念,其中我们有一个对条件分布进行编码的概率编码器,而不是确定性编码器。类似地,解码器也是一个条件分布,可以被认为是一个在数据上创建分布的生成器,从而可以生成新的数据点。变分自动编码器用于从固定分布(均值为 0 方差为 1 的高斯分布)中采样隐藏向量 H,然后构造一个目标,试图使编码器在以 X 为条件的 H 上的分布尽可能接近这个固定分布,确保良好的样本结果。

  • 00:10:00 在本节中,讲师解释了变分自动编码器 (VAE) 背后的概念。 VAE 使用编码器将数据从原始空间映射到新空间,然后使用解码器恢复原始空间。编码器产生一个分布,可用于对新点进行采样,解码器可以将其映射回原始空间。然而,编码器的分布需要尽可能接近固定分布,以确保生成的数据点与原始数据属于同一类型。该讲座涵盖了 VAE 的目标函数以及如何优化网络以实现该目标。

  • 00:15:00 在本节中,讲师讨论了计算编码器在 H 上的分布积分以及每个 H 在 X 上的分布的挑战。由于编码器和解码器很复杂,因此无法以封闭形式计算该积分神经网络。为了解决这个问题,讲师建议使用单个样本来近似积分并通过从编码器采样产生 H,然后通过解码器的分布来近似生成的分布。近似是在训练中进行的,讲师强调这与常规自动编码器不同,因为有一个采样步骤需要仔细考虑才能计算梯度。

  • 00:20:00 在视频的这一部分,演讲者解释了在训练生成网络(如变分自动编码器)时使用的重新排序技巧。编码器和解码器网络架构涉及采样步骤,这使得优化期间的梯度计算变得困难。为了解决这个问题,引入了一个固定的高斯分布来启用新变量 H 代字号的采样,它与编码器的输出 H 相乘,以获得潜在变量的最佳均值和方差的分布。然后在解码器网络中使用转换后的 H 来生成重构的输出 X tilde。

  • 00:25:00 在本节中,演讲者解释了一种称为“重新参数化”的技巧,它允许神经网络从数据分布中生成样本,而不会阻碍梯度的反向传播。该技巧涉及从不同但可固定的分布(例如高斯分布)中采样,然后使用一些数学运算将样本转换为所需分布的样本。这样,样本是网络的输入,它允许梯度在反向传播期间通过它。然后,演讲者解释了如何使用此技巧来训练生成网络并从经过训练的网络中生成新的数据点。

  • 00:30:00 在本节中,演讲者讨论了 comeback library divergence 的使用,这是一种距离度量,用于最小化生成网络中固定分布和编码器分布之间的差异。说话者使用平均零单位方差的高斯作为固定分布,并训练编码器产生接近它的分布。通过使用正则化项,解码器可以生成与训练集中的数据点相似的数据点,在本例中是人脸图像。显示了由变分自动编码器生成的图像示例,由于自动编码器的概率性质,这些图像有些模糊。演讲者随后介绍了生成对抗网络 (GAN),它使用两个网络——一个生成器和一个鉴别器——来生成更清晰、更逼真的图像,这些图像不是概率构建的。

  • 00:35:00 在本节中,讲师解释了生成对抗网络 (GAN) 的工作原理。 GAN 由两个网络组成:生成器网络和鉴别器网络。生成器网络创建新的数据点,而鉴别器网络试图区分生成的数据点和真实数据点。鉴别器通过向生成器提供反馈来充当导师,帮助它生成更真实的数据点。训练是通过优化目标函数来完成的,其中鉴别器网络试图最大化识别真实数据点和虚假数据点的概率,而生成器网络试图最小化这些概率并欺骗鉴别器。目标函数可以改写为数据点为假的概率。

  • 00:40:00 在本节中,讲师解释了由生成器和鉴别器组成的生成对抗网络 (GAN) 的架构。生成器接受一个样本向量并生成模拟数据,而鉴别器是一个分类器,它接受真实数据和生成的数据,以便将它们分类为真实或虚假。 GAN 的目标是使用反向传播对生成器 (WG) 和鉴别器 (WD) 设置不同的权重来优化这两个网络。讲师继续解释说,权重是通过在梯度方向上采取步骤来更新的,以最小化 GAN 目标。

  • 00:45:00 在本节中,演讲者讨论了一种用于训练生成对抗网络的算法。该算法涉及一个外循环,其中为鉴别器优化权重,然后采取 K 步来优化目标。之后,采取一个步骤来优化生成器。目标是让生成器学习用于生成训练集的分布,以便它可以生成与真实环境无法区分的真实数据。如果成功,鉴别器将有 50% 的错误率,并且无法判断数据点是真实的还是假的。

  • 00:50:00 在视频的这一部分中,讲师讨论了生成对抗网络 (GAN) 实施过程中出现的挑战,这是一种生成建模方法,它利用在对抗环境中工作的两个称为生成器和鉴别器的网络来生成新数据。一个关键问题是确保两个网络的优势之间的平衡,因为一个可以支配另一个。另一个困难是在优化过程中实现全局收敛,因为非凸优化可能导致局部最优而不是最优。尽管存在这些挑战,但 GAN 的某些方面在实践中表现良好,因为生成的数字和面部图像类似于训练集中的真实数据点,尽管可能仍需要进行一些微调。

  • 00:55:00 在视频的这一部分,演讲者讨论了生成对抗网络 (GAN) 以及它们如何生成相似但不同的面孔。他提供了生成图像的示例,包括马、狗和模糊图像。演讲者还提到下一节课将涵盖机器学习中的不同主题。
 

CS480/680 第22讲:集成学习(bagging和boosting)



CS480/680 第22讲:集成学习(bagging和boosting)

该讲座讨论了集成学习,其中多种算法相结合以提高学习效果。审查的两种主要技术是 bagging 和 boosting,演讲者强调了结合假设以获得更丰富的假设的重要性。该讲座详细介绍了加权多数投票的过程及其出错概率,以及提升如何提高分类准确性。演讲者还介绍了提升学习和集成学习的优势,并指出了集成学习对许多类型问题的适用性。最后,该视频以 Netflix 挑战赛为例,展示了集成学习在数据科学竞赛中的应用。

在这个关于集成学习的讲座中,演讲者强调了结合来自不同模型的假设以获得准确性提升的价值,这种方法在从已经相当好的解决方案开始时特别有用。他讨论了对预测进行加权组合的重要性,并指出必须小心,因为两个假设的平均值有时可能比单独的假设更糟糕。演讲者还解释说,可能需要对权重进行归一化,具体取决于任务是分类还是回归。

  • 00:00:00 介绍了集成学习的重要性,集成学习是将多种算法和假设结合起来提高学习效果的过程。该讲座讨论了 bagging 和 boosting 技术,并强调了确定哪种算法最适合特定问题的难度。这通常是反复试验的问题,但结合不完美的假设可以带来更好的整体结果,类似于选举结合选民的选择或委员会结合专家意见的方式。通过组合多种算法,目标是获得更稳健和准确的预测或分类。

  • 00:05:00 讲师讨论了集成学习以及如何使用它来提高机器学习模型的准确性。集成学习涉及组合多个不完美的假设以获得可能更好的更丰富的假设。讲座中提到了集成学习的两种方法:bagging 和 boosting。 bagging 技术涉及将不同算法产生的假设打包,并通过投票将它们组合起来,而 boosting 技术涉及调整假设的权重,为表现良好的假设赋予更多权重。讲师解释了如何使用这些技术来概括线性分隔符以获得非线性边界,并提供了一个多面体示例。

  • 00:10:00 引入了分类多数投票的概念,即多个假设进行预测,并选择获得最多票数的类别。假设的数量越多,大多数人就越不可能不正确。当假设是独立的时,多数表决变得更加稳健。引入了一个数学方程式,根据假设的数量和错误概率来计算多数人犯错误的概率。提供了一个示例,其中出现 10% 错误的五个假设提供了不到 1% 的多数投票不正确的概率,证明了多数投票方法的稳健性。

  • 00:15:00 该视频讨论了基本集成学习技术的局限性,例如独立假设的假设。为了解决这些限制,可以使用加权多数表决来调整相关性,并为更好的假设赋予更高的权重。这种技术被称为提升,通过使用产生分类器的基础学习器来完成,然后将分类器合并以获得更高的准确性。 boosting 框架已经能够克服这样一种信念,即应该放弃不良算法以支持设计更好的算法,方法是结合它们的假设来提高整体准确性。

  • 00:20:00 讲师讨论了集成学习中提升的概念,它涉及使用基础学习器产生假设,然后扰动训练集权重以获得不同的假设。通过增加错误分类实例的权重,就有更好的机会获得更准确的假设。讲师解释说,可以调整监督学习技术以使用加权训练集,这可以通过更改目标并为每个数据点引入权重来简单地完成。此方法允许创建每个数据点的损失函数的加权组合。

  • 00:25:00 讲师解释了集成学习中提升的概念。提升涉及使用加权训练集进行学习,其中具有高权重的实例偏向于正确的分类。提升框架包括一个循环,在该循环中,从具有相应权重的数据集中重复学习假设,检查实例是否存在错误分类并增加它们的权重,最后,样本内假设是使用权重生成的假设的加权多数与它们的准确性成正比。有两种类型的权重,一种用于数据点,一种用于假设。讲师强调,这个想法是为了提高分类准确性,任何使用加权数据集的算法都可以用作增强的基础学习器。

  • 00:30:00 演讲者讨论了在提升算法中增加错误分类数据点的权重的概念。他们解释说,这会隐含地降低正确分类数据点的权重,但重要的是权重的相对大小。该算法然后最小化损失并尝试正确分类以避免为错误分类付出更高的代价。演讲者还指出,如果训练集不遵循与测试集相同的分布,则可以使用权重来扰乱分布。然而,boosting 通常不用于此目的,因为增加不完美假设的权重可以防止过度拟合并提高泛化能力。

  • 00:35:00 讲师通过一个使用简单数据集生成多个假设的可视化示例来解释自适应增强算法的工作原理。该算法使用加权多数票分配与每个假设的准确性成正比的权重,这些权重用于计算最佳表现假设的加权组合。由这种组合形成的集合然后用于进行预测。

  • 00:40:00 讲师解释组合多个假设以防止过度拟合的概念。他们争辩说,即使我们有一个完美的假设,最好还是结合多个假设来防止过度拟合。讲师指出,深度神经网络可能会导致训练集的完美准确性,但它并不简单快速,而这正是我们希望与集成学习结合使用的基础学习器。讲师还介绍了 Adaboost 算法及其如何为假设和数据实例分配权重。

  • 00:45:00 演讲者解释了提升背后的理论及其优势。 Boosting 适用于弱学习器,弱学习器是产生至少与随机分类器一样好的假设的算法。目标是提高准确性和性能。演讲者解释了如何计算数据实例和假设的权重,以及如何对其进行归一化。 Boosting 往往对过度拟合具有鲁棒性并且易于实现,使其适用于许多问题。此外,boosting 会生成多个假设,而不仅仅是一个假设,从而提高准确性。

  • 00:50:00 我们学习了提升和集成学习,这是一种用于组合多个模型预测的技术。 Boosting 是一种生成多个具有不同权重的假设,将它们全部组合并选择最佳假设的方法。作为贝叶斯学习的近似,它是一种易于处理的方法,一次生成一个假设,同时选择性地组合多个假设进行泛化。 Boosting 有几个工业应用,包括 Microsoft 生产的 Kinect 和 Netflix challenge,它被用来将他们的推荐系统提高 10%。与其他启发式方法不同,提升通常非常适合结合专家预测,其他启发式方法可能并不总是有效并且没有任何理论。

  • 00:55:00 演讲者讨论了 Kaggle 的起源以及他们如何开始组织数据科学竞赛。他追溯到 2006 年,当时 Netflix 发起了一项将准确率提高 10% 的竞赛。第一个团队 Bellcore 实现了 8.43% 的改进,但没有达到阈值。然后,演讲者描述了多年来团队如何使用集成学习开始协作,以及大奖团队是如何形成的。团队联手瓜分一百万美元的大奖,奖金与每个算法贡献的团队分数的提高成正比。大奖组以众多研究人员组成大榜样,成功拿到9.46%,最后一天,Bellcore、pragmatic、chaos submitted,中奖。

  • 01:00:00 演讲者讨论了集成学习的重要性和价值,尤其是在赢得比赛的背景下。他以 BellKor 的 Pragmatic Chaos 团队为例,他们利用集成学习技术将准确性提高了几个百分点,从而赢得了 Netflix 奖。他指出,当从已经相当不错的解决方案而不是较弱的学习者开始时,集成学习特别有用,并且通过结合来自不同模型的假设,可以获得准确性的提升。此外,他还提到集成学习非常适合分布式计算,可以通过多台机器或多核来实现。

  • 01:05:00 讲师解释了采用预测而非假设的加权组合以避免产生更高成本的概念。这个想法是每个假设都会做出预测,并且这些预测将根据权重进行组合。然而,在组合假设时必须小心,因为有时两个假设的平均值实际上可能比单独的假设更糟糕。讲师还提到,根据任务是分类还是回归,可能需要对权重进行归一化。
 

CS480/680 第 23 讲:标准化流程(Priyank Jaini)



CS480/680 第 23 讲:标准化流程(Priyank Jaini)

在本次讲座中,Priyank Jaini 讨论了规范化流作为密度估计的一种方法,并介绍了它们与其他生成模型(例如 GAN 和 VAE)的区别。 Jaini 解释了概率质量守恒的概念,以及如何使用它来推导标准化流中变量公式的变化。他进一步解释了通过使用变换族和置换矩阵的概念在规范化流中构建三角形结构的过程。 Jaini 还引入了平方和 (SOS) 流的概念,它使用高阶多项式并且可以捕获任何目标密度,使其具有通用性。最后,Jaini 讨论了潜在空间及其在基于流的图像生成方法中的优势,并要求听众反思基于流的模型的潜在缺点。

在 Priyank Jaini 的规范化流讲座中,他讨论了捕获具有大量参数的高维转换的挑战。规范化流需要两个维度相同才能实现精确表示,这与 GAN 使用瓶颈来克服此类问题不同。 Jaini 强调,在规范化流实验中使用高维数据集学习相关参数可能很困难。他还解决了有关规范化流如何捕获多峰分布的问题,并提供了用于实现线性仿射变换的代码。

  • 00:00:00 博士生 Priyank Jaini 讨论了将规范化流作为解决密度估计问题的深度生成模型系列,这是无监督学习中的核心问题。 Jaini 解释说,密度估计在机器学习中有广泛的应用,例如重要采样、贝叶斯推理和图像合成。 Jaini 还简要介绍了归一化流与变分自动编码器 (VAE) 和生成对抗网络 (GAN) 的区别,这些在前面的讲座中已经讨论过。他提出归一化流对条件生成模型很有用,可用于密度估计。

  • 00:05:00 演讲者讨论了生成模型的框架,包括生成对抗网络 (GAN) 和变分自动编码器 (VAE),并介绍了规范化流作为替代方法。 GAN 和 VAE 都使用源分布和转换来生成合成示例或重建数据,但它们隐式而不是显式地表示密度函数。相反,归一化流给出了密度函数的明确表示,并根据概率质量守恒的原则工作。目标是学习将简单的源分布(例如高斯分布)转换为更复杂的目标分布以近似真实数据分布的转换。

  • 00:10:00 Priyank Jaini 介绍了概率质量守恒的概念以及如何使用它来推导变量变化公式。他给出了区间 0-1 上随机变量的示例,并应用 Z 的函数 T,这导致概率密度为 1/3 的均匀随机变量。他解释说,变量变化公式用于根据源随机变量 Z 和函数 T 找到目标随机变量 X 的密度。他将公式扩展到多元情况,其中函数 T 是从 Rd 中学习的到 Rd,公式变为 QX = PZ 乘以 T 的梯度的行列式乘以倒数。

  • 00:15:00 演讲者解释了规范化流的概念,它涉及学习将给定输入向量 X 映射到另一个向量 Z 的函数。该函数表示为 D,由单变量函数 T1 到 TD 组成,它接受 X 的分量并输出 Z 的分量。目标是使用简单的源密度 PZ 来近似输入数据集的密度 QX,并使用变量的变化最大化数据点的可能性公式。然而,某些问题出现了,包括函数 D 需要是可逆的和双射的。

  • 00:20:00 讲师讨论如何仅在给定观测数据的情况下计算潜在空间。为此,需要映射函数的反函数。然而,实际计算行列式的成本很高,所以讲师介绍了三角映射的概念,其中行列式的计算很容易。然后讲座解释了归一化流研究主要集中在构建这些三角形的变换,以便可以进行密度估计,以及如何将这些变换用于不同的归一化流。

  • 00:25:00 讲师解释了构建三角形结构以规范化流程的过程。该结构涉及选择一个简单的密度 P(Z) 来近似给定的密度 Q(X)。密度P(Z)可以是任何概率分布,例如正态分布或均匀分布。最初,一个转换 t1 用于从集合 1 中获取 X1。然后,随着迭代的继续,转换 t2 将 1 和 Z2 处的棋盘作为输入,给出 X2。该过程一直持续到 TD 将 Z1,Z2,...,直到 ZD 作为输入并提供 XT 作为输出。目标是通过优化负对数似然来最大化似然,这涉及找到矩阵对角线元素的对数之和。讲师提供了可用于构建三角形结构的变换族的示例,并解释了如何将联合密度写为边际分布和条件分布的乘积。

  • 00:30:00 讲师讨论规范化流程的概念。正态分布以数据为条件并且是数据的函数。学习从标准高斯分布到此正态分布的变换。变换是迭代完成的,生成的函数是三角形的。通过堆叠这些转换,形成掩码自回归流,允许使用多个随机变量进行更复杂的转换。每个变换的行列式和最终变换可以通过雅可比矩阵和逆矩阵轻松计算。定义转换的参数通过最小化对数似然来训练。

  • 00:35:00 演示者解释了如何使用置换矩阵来切换随机变量的顺序并打破相关性以在密度估计中创建更复杂的转换。通过堆叠多个变换,增加了变换的复杂性,允许捕捉现实生活中的任何密度,即使它不遵循良好的形式。然而,一旦应用了排列,变换就不再是三角形的,使得雅可比行列式的计算成本很高。使用置换矩阵的方法可以节省时间并近似于完整变换。

  • 00:40:00 演讲者讨论了规范化流程中使用的各种转换方法。他解释说,Real NVP 是一种线性变换方法,它将输入分成两部分,对一部分应用线性变换,而另一部分保持不变。然后他们堆叠多层以构建更复杂的转换。演讲者还提到神经自回归流使用深度神经网络而不是线性变换并且是通用的。此外,他谈到了他的论文,该论文提出使用多项式的平方和代替线性变换或神经网络。该方法使用具有来自另一个神经网络的系数的高次多项式,并且也是通用的。

  • 00:45:00 讲师讨论了平方和 (SOS) 流的属性,它们是先前在计算机科学和优化中探索的多项式平方和的概括。与其他方法不同,SOS 流使用高阶多项式,可以控制目标分布的高阶矩,例如峰度和偏度,而对系数没有任何限制。 SOS 流更容易训练,可以捕获任何目标密度,使其具有通用性,并在随机模拟中得到应用。讲师还介绍了一种名为“Glow”的架构,它使用可逆单交叉卷积和仿射耦合层来生成可以将人脸插入旧版本的图像。

  • 00:50:00 Priyank Jaini 解释了规范化流的架构以及它们如何用于图像生成。该算法通过使用具有多个表达式和随机旋转矩阵 W 的仿射耦合层来工作。它们通过使用 LU 分解固定矩阵的行列式。利用这一点,他们可以通过将输入图像转换为潜在表示,然后在潜在空间内向特定方向移动以获得预期结果,从而在老年人和年轻人的图像之间进行插值。结果表明生成的图像清晰,与先前假设使用对数似然生成的图像会模糊的假设相矛盾。

  • 00:55:00 讲师讨论了潜在空间的概念,它捕获输入的某些属性,是基于流的图像生成方法中使用的隐藏分布。讲师提供了一个使用潜在空间进行线性插值的示例,以创建一个人变老的图像。讲师还强调了归一化流模型的好处,例如它们对密度的显式表示以及使用有效的三角变换来捕获雅可比行列式。然而,讲师还向听众提出了一个关于基于流的方法的潜在缺点的问题,其中之一就是计算复杂性。

  • 01:00:00 讲师讨论了在规范化流中捕获具有大量参数的高维转换的挑战。虽然 GAN 使用瓶颈来克服这个问题,但规范化流需要两个维度相同才能实现精确表示。讲师强调,归一化流实验中使用的数据集维度很高,这使得学习相关参数变得困难。讲师还回答了有关规范化流如何捕获多峰分布以及神经网络权重训练如何隐式训练网络参数的问题。

  • 01:05:00 Priyank Jaini 解释说,他提供了大约一百行代码来实现线性仿射变换,这是他从 Eric Jack 的教程中学到的。他提到训练这些网络是一个简单的过程,并为感兴趣的人提供了代码。
 

CS480/680 第 24 讲:梯度提升、装袋、决策森林



CS480/680 第 24 讲:梯度提升、装袋、决策森林

本讲座涵盖机器学习中的梯度提升、装袋和决策森林。梯度提升涉及将基于损失函数负梯度的新预测变量添加到先前的预测变量中,从而提高回归任务的准确性。本讲座还探讨了如何使用正则化和提前停止训练过程来防止过度拟合和优化性能。此外,该讲座还介绍了 bagging,它涉及子采样和组合不同的基础学习器以获得最终预测。还讨论了使用决策树作为基础学习器和随机森林的创建,并给出了使用随机森林进行动作识别的 Microsoft Kinect 的真实示例。讨论了并行计算的集成方法的好处,并强调了理解机器学习系统中权重更新的重要性。本讲座涵盖了在神经网络或隐马尔可夫模型中组合预测变量时平均权重的潜在问题,建议通过多数表决或平均方法来组合预测。这位教授还推荐了滑铁卢大学提供的各种相关课程,优化和线性代数的几门研究生课程,以及专注于人工智能、机器学习、数据系统、统计和优化主题的本科数据科学课程。该讲座强调了算法方法与统计学重叠的重要性,以及与一般计算机科学学位相比数据科学主题的专业化。

  • 00:00:00 讲师讨论梯度提升。他提到 adaboost 算法非常适合分类,但不适合回归。他引入了梯度提升,计算损失函数的负梯度,然后将下一个预测器拟合到这个梯度上。这有点违反直觉,因为它不是将预测器拟合到所需的输出,而是拟合到负梯度。这将模拟梯度下降的一个步骤,并通过重复应用它,最终预测变量将是所有预测变量的总和。这种方法对于回归特别有用。讲师解释说,该算法可以与各种损失函数一起使用,并且它是回归中提升的解决方案。

  • 00:05:00 解释了梯度提升的概念,其中在算法的每个步骤中,带有一些损失函数的预测器伴随着目标和预测值之间的差异。然后采用负梯度来近似残差,并针对残差数据集训练下一个预测器。目标是通过将这个新的预测器添加到前一个预测器来减少错误。然后给出该算法的伪代码,其中最初通过最小化每个数据点的损失将第一个预测变量设置为常数。

  • 00:10:00 教授解释了梯度提升,这是机器学习中的一个强大概念,它将几个弱学习器组合成一个强大的学习器。这个想法是从一个只是常数的简单预测器开始,然后通过计算每个数据点的伪残差在每次迭代中计算一个新的预测器,形成一个新的残差数据集,根据该数据训练一个新的基础学习器集,并将新假设乘以某个步长添加到预测变量中。通过最小化优化表达式来选择步长以在负梯度方向上迈出一步以减少误差。权重更新发生在计算负梯度时,但它本身并不是权重更新。

  • 00:15:00 演讲者解释了基础学习器训练阶段的权重更新过程,它可以是神经网络、决策树或任何其他类型的回归器。他们澄清说,在优化预测器时,不会更新权重,因为所有函数,即 FK-1、HK 和 Ethak,都已经优化并设置为固定权重。来自这些函数的预测的组合导致预测器在每一步逐渐改进,从而导致较低的损失函数。但是,从长远来看,该过程可能不会导致零损失。

  • 00:20:00 讲师讨论了通过梯度提升逐渐减少误差的可能性,但指出这可能会导致过度拟合,具体取决于预测变量的空间和数据中存在的噪声量。该算法涉及在不改变权重的情况下将更多假设添加在一起以创建更大的样本。讲师向全班同学提出了一个关于梯度提升的过度拟合风险的问题,并得出结论认为存在过度拟合的风险,但可以通过使用正则化或提前停止等技术来防止这种情况的发生。

  • 00:25:00 讲师讨论减少过度拟合的方法,包括引入随机化和通过使用验证集提前停止训练过程。然后讲座介绍了梯度提升技术,并提到了流行的包 XG boost,它已经针对性能和准确性进行了优化。讲师还概述了 bagging 和 boosting 之间的主要区别,包括在 bagging 中使用独立假设和多数票,与连续创建假设及其组合在 boosting 中进行比较。

  • 00:30:00 演讲者讨论了机器学习中的提升和装袋技术。 Boosting涉及加权预测,它允许一些相关的假设和具有不平衡准确性的假设。提升是灵活的,可以确定不同假设的权重以解决相关性问题。相比之下,装袋涉及自举抽样,它涉及在数据子集上训练基础学习器以减少假设之间的相关性。演讲者表示,这些技术提供了一种实用的方法来设计一些设置,其中关于假设独立性的假设可以保持或近似保持,减少任意限制并使模型更可靠。

  • 00:35:00 演讲者讨论了通过对特征进行子采样以减少相关性,从而在样本内学习范式中获得优于随机预测器的想法。通过对数据点和特征进行子采样,获得较小的数据集,将其馈送到基础学习器,并对每个预测器重复该过程。由此产生的假设相关性较低,这使得 bagging 成为更好的选择。 bagging 算法由一个循环组成,其中创建了 K 个预测变量,对于每个预测变量,数据被二次采样,基础学习器根据重叠产生不同的假设。

  • 00:40:00 我们学习了 bagging,这是一种通过从训练数据中提取多个随机样本来构建多个模型的技术。这个想法是从每个基础学习者中生成一个假设,然后将它们组合起来做出最终预测。如果目标是分类,则通过取多数票进行预测,而对于回归,则通过取预测的平均值来进行决策。文献中流行的做法是使用决策树作为基础学习器,一旦多个决策树在各种数据子集上进行训练,我们就称它们为随机森林。随机森林也可以用于分布式计算。提供了使用随机森林进行姿势和动作识别的 Microsoft Kinect 的真实示例。

  • 00:45:00 该视频讨论了 Kinect 以及它如何通过在红外光谱中投射点云并使用红外摄像机感知这些点来生成深度图。微软内置了一些硬件,可以根据点的分布实时推断深度信息。 Kinect 能够标记像素以使用随机森林方法识别身体部位和运动,其中相邻像素与当前像素的深度值进行比较。子采样技术用于简化相邻像素,并根据身体部位的大小比较距离,为对当前像素进行分类提供线索,尽管这种方法被认为是弱的。

  • 00:50:00 演讲者讨论了 bagging、boosting 和其他集成方法的好处,这些方法允许并行分布和使用多个轻量级分类器,从而可以很好地扩展大数据。 GPU 已成为并行计算的关键,并且存在多个框架来操纵向量、矩阵和张量,而无需担心并行化。然而,演讲者警告不要采用直观但不可靠的方法来取分类器或预测器的平均功率,因为隐藏层和变量可能会导致这种方法出现问题。

  • 00:55:00 演示者解释了在架构中取单个系统的平均值可能会出现问题。演示者在黑板上画了一个例子,他们使用布尔变量,取值 0 和 1 来编码异或。演示者为布尔变量设置权重,这些变量旨在计算传入内容的或。权重设置用于找到两种模式中的每一种,并且只要其中一个被触发,演示者就会计算和/或通过另一个垃圾收集单元将它们组合起来。演示者继续解释改变权重如何影响系统的输出。

  • 01:00:00 演讲者讨论了在神经网络或隐马尔可夫模型中组合预测变量时平均权重的危险。危险在于,可能存在不计算相同事物的对称解决方案,并且取权重的平均值可能导致预测器计算不正确的事物。相反,安全的做法是结合预测,这可以通过多数投票进行分类或取平均值进行回归来完成。演讲者还推荐了滑铁卢大学开设的其他与机器学习相关的课程,供有兴趣了解更多的人学习。

  • 01:05:00 教授讨论了可以补充当前机器学习课程的其他课程。首先,他建议在学习当前课程之前学习计算线性代数课程,因为线性代数是机器学习的重要基础。此外,他还提到了名为机器学习理论基础的课程,该课程侧重于机器学习中的一个重要因素,即数据复杂性。他解释了如何用一定数量的数据确定可达到的准确度水平是一件复杂的事情,因此,该课程旨在推导出确定达到所需准确度水平所需的数据量的原则。最后,教授提到了研究生阶段的其他课程,例如数据科学优化和优化基础知识,这些课程有助于理解机器学习算法。

  • 01:10:00 讲师讨论学生可以参加的与数据科学相关的可用课程和计划。这些课程包括不定期提供的 800 门级别课程,以及本科和研究生级别的数据科学课程。讲师指出,虽然这门课程和统计学课程之间可能有一些重叠,但这里的方法更多的是算法。数据科学课程涵盖人工智能、机器学习、数据系统、统计和优化的交叉主题。学生在这些项目中学习的课程强调数据科学主题的专业化,而普通计算机科学硕士学位则需要跨不同主题的广度。