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

 

第 3.5 讲——使用反向传播的导数



第 3.5 讲——使用反向传播的导数[机器学习的神经网络]

为了在多层神经网络中有效地学习,获得所有权重的误差导数是至关重要的。但是,要完全指定学习过程,还需要考虑其他几个注意事项。

这些考虑因素之一是确定权重更新的频率并防止在使用大型网络时过度拟合。反向传播算法基于单个训练案例有效地计算每个权重的导数,但它不是一个完整的学习算法。要制定适当的学习程序,需要指定其他因素。

当利用权重导数来发现一组最佳权重时,优化问题就会发挥作用。一个问题是应该多久更新一次权重。一种方法是在每个训练案例后更新权重,由于不同的误差导数导致锯齿形。然而,平均而言,微小的体重变化可以引导正确的方向。或者,全批训练涉及遍历整个训练数据,总结个别案例的误差导数,并朝这个方向迈出一小步。然而,这种方法可能在计算上很昂贵,尤其是在初始权重很差的情况下。小批量学习通过随机选择一小部分训练案例来更新权重来提供折衷方案。这减少了曲折,同时仍然具有计算效率,使其常用于在大型数据集上训练大型神经网络。

确定权重更新的幅度是另一个优化问题。与其手动选择固定的学习率,不如调整学习率通常更明智。例如,如果误差振荡,则可以降低学习率,而如果取得稳定进展,则可以提高学习率。甚至可以为网络中的不同连接分配不同的学习率,以允许某些权重比其他权重学习得更快。此外,与其严格遵循最速下降的方向,探索导致更好收敛的替代方向可能是有益的。然而,找到这些替代方向可能具有挑战性。

第二组问题涉及学习到的权重如何很好地泛化到未见过的案例。训练数据既包含有关规律性的信息,也包含两种类型的噪声。第一类是不可靠的目标值,这通常是次要问题。第二种是抽样误差,由于选择了特定的训练案例,可能会出现偶然的规律性。模型无法区分偶然规律和泛化良好的真实规律。因此,模型往往适合两种类型的规律性,如果模型太复杂,则导致泛化能力差。

为了解决过度拟合问题,已经为神经网络和其他模型开发了各种技术。这些技术包括权重衰减,其中权重保持较小或为零以简化模型,以及权重共享,其中许多权重具有相同的值以降低复杂性。提前停止涉及在训练期间监控假测试集,并在假测试集上的性能开始恶化时停止。模型平均需要训练多个神经网络并对它们的预测进行平均以减少错误。神经网络的贝叶斯拟合是一种结合贝叶斯原理的模型平均形式。 Dropout 是一种通过在训练期间随机省略隐藏单元来增强模型鲁棒性的技术。生成式预训练是一种更高级的方法,将在课程后面讨论。

获得多层网络中所有权重的误差导数对于高效学习至关重要。然而,要开发一个完整的学习过程,必须考虑和解决其他因素,例如权重更新频率、防止过度拟合、优化技术和对未见案例的泛化。

 

第 4.1 讲——学习预测下一个单词



第 4.1 讲——学习预测下一个词 [机器学习的神经网络]

即将发布的视频将重点介绍利用反向传播算法通过特征表示来学习单词的含义。在本介绍中,我们将从 1980 年代的一个简单案例开始,说明如何使用反向传播将关系信息转换为特征向量。

该案例涉及两个家谱,一个是英语的,另一个是意大利语的,结构相似。通过使用特定关系(例如,儿子、女儿、父亲、母亲)将这些家谱中的信息表达为命题,我们可以将学习这些关系信息的任务视为在一组三元组中寻找规律性。

我们可以使用神经网络通过根据前两项预测三元组的第三项来捕获此信息,而不是搜索符号规则。该网络的架构由多个层组成,旨在学习有趣的表征。我们使用中立的表示法对信息进行编码,确保所有人都被视为不同的实体。

网络通过对一组命题进行训练来学习,并使用反向传播逐渐调整权重。我们可以检查负责对第一个人进行编码的隐藏层,以了解学习到的表征。这一层的不同单元揭示了人的国籍、世代和家谱分支等特征。

这些特征对于预测输出人很有用,因为它们捕获了域中的规律性。网络在没有任何明确指导的情况下自主发现这些特征。网络的中间层结合输入人的特征和关系特征来预测输出人的特征。

网络的性能可以通过在不完整的三元组上测试它并观察它的泛化程度来评估。在有限的训练数据下,它在 24 路选择中取得了不错的准确率。如果在较大的数据集上进行训练,它可以从较小的数据部分进行概括。

虽然这里给出的示例是一个玩具箱,但在实践中,我们可以将类似的技术应用于包含数百万个关系事实的数据库。通过训练网络来发现实体和关系的特征向量表示,我们可以有效地清理和验证数据库。

除了根据前两项预测第三项,我们还可以使用多项来估计事实正确性的概率。这种方法需要正确和错误事实的示例来进行训练。

通过使用反向传播和神经网络,我们可以从关系信息中学习有意义的表示,并做出预测或评估数据库中事实的合理性。

训练神经网络来估计事实正确性的概率需要一个包含各种正确事实和不正确事实的可靠来源的数据集。通过向网络提供正确的示例并鼓励高输出,并将其暴露于不正确的示例并鼓励低输出,它可以学会区分似是而非的事实。

这种方法为清理数据库提供了一个强大的工具。该网络可以标记可能不正确或可疑的事实,以便进一步调查和验证。例如,如果数据库表明巴赫出生于 1902 年,则网络可以根据它所了解的关系和其他相关事实将其识别为高度不可信。

随着计算机能力的进步和包含数百万关系事实的庞大数据库的可用性,神经网络在发现特征向量表示方面的应用变得更加实用。通过利用神经网络学习复杂模式和关系的能力,我们可以获得有价值的见解并根据学习到的表示进行预测。

值得注意的是,此处讨论的示例是在 1980 年代进行的,作为反向传播和神经网络功能的演示。从那时起,该领域取得了重大进展,研究人员将类似的技术应用于各个领域,包括自然语言处理、计算机视觉和推荐系统。

总之,利用反向传播算法和神经网络从关系信息中学习特征表示,为理解和基于复杂数据集进行预测提供了一种强大的方法。通过在正确和错误事实的例子上训练网络,我们可以利用它的能力来验证和提高数据库的质量,使它们对各种应用程序更加可靠和有用。

 

第 4.2 讲——认知科学的简要介绍



第 4.2 讲——认知科学[机器学习神经网络]的简要介绍

在认知科学中,关于概念的特征向量表示和关系表示之间的关系一直存在争论。工程师对这场辩论没有太大兴趣,因此他们可以跳过这场讨论。

特征理论认为概念是由一组语义特征定义的,这对于解释概念之间的相似性和机器学习很有用。另一方面,结构主义理论认为,一个概念的意义在于它与其他概念的关系,有利于关系图表示。

在 1970 年代,马文·明斯基 (Marvin Minsky) 利用感知器的局限性来支持关系图表示。然而,争论的双方都被认为是不正确的,因为他们认为理论实际上可以整合时是竞争对手。

神经网络可以使用语义特征向量来实现关系图。在学习家谱的情况下,神经网络在没有明确推理规则的情况下向前传递信息。由于概率微观特征及其相互作用的影响,答案对于网络来说是显而易见的。

虽然明确的规则用于有意识的推理,但我们的许多常识和类比推理涉及“只是看到”答案而没有有意识的干预步骤。即使在有意识的推理中,也需要一种方法来快速识别适用的规则以避免无限倒退。

在神经网络中实现关系图并不像将神经元分配给图节点并将连接分配给二元关系那样简单。不同类型的关系和三元关系构成挑战。在神经网络中实现关系知识的精确方法仍然不确定,但很可能多个神经元参与表示每个概念,形成概念和神经元之间存在多对多映射的分布式表示。

在分布式表示中,可能使用多个神经元来表示每个概念,并且每个神经元可能参与表示多个概念。这种称为分布式表示的方法允许对神经网络中的概念知识进行更灵活和有效的编码。

然而,如何在神经网络中表示关系知识的具体实现细节仍在研究中。一个神经元对应于关系图中的一个节点并且连接代表二元关系的假设是不够的。关系有不同的类型和风格,神经连接只有强度,缺乏捕捉不同关系类型的能力。

此外,还需要考虑三元关系,例如“A 在 B 和 C 之间”。将关系知识集成到神经网络中的最佳方法仍然不确定,正在进行的研究旨在应对这一挑战。

尽管如此,有证据表明神经网络的概念表示涉及分布式表示。这种方法具有处理各种概念及其关系的灵活性和能力,为认知科学领域中更复杂的认知建模和理解铺平了道路。

 

第 4.3 讲 — softmax 输出函数 [机器学习神经网络]



第 4.3 讲 — softmax 输出函数 [机器学习神经网络]

现在,让我们深入探讨 softmax 输出函数的主题。 softmax 函数是一种用于确保神经网络的输出加起来为 1 的技术,允许它们表示相互排斥的备选方案之间的概率分布。

在我们继续讨论如何学习特征向量来表示单词之前,让我们先来个技术转移。到目前为止,我们已经使用平方误差度量作为神经网络的训练标准,它适用于线性神经元。但是,平方误差度量有其局限性。

例如,如果期望输出为 1,但神经元的实际输出非常接近于零,则可用于促进权重更新的梯度非常小。这是因为神经元输出的斜率几乎是水平的,导致权重调整缓慢,尽管有很大的误差。

此外,在将概率分配给互斥类标签时,输出总和为 1 至关重要。将四分之三的概率分配给 A 类和 B 类的答案是荒谬的。因此,我们需要向网络提供这些备选方案相互排斥的知识。

为了解决这些问题,我们需要一个不同的成本函数来适当地处理互斥类。 softmax 函数使我们能够实现这个目标。它是最大函数的连续版本,确保 softmax 组的输出代表概率分布。

在 softmax 组中,每个单元从下面的层接收累积输入,称为 logit。每个单元的输出,表示为 yi,不仅取决于它自己的 logit,还取决于 softmax 组中其他单元累积的 logit。在数学上,第 i 个神经元的输出是使用方程 e^zi 除以 softmax 组中所有神经元的相同数量的总和来计算的。

这个softmax方程保证所有yi的和等于1,代表一个概率分布。此外,yi 的值介于 0 和 1 之间,强制将相互排斥的备选方案表示为概率分布。

softmax函数的导数形式简单,类似于logistic单元,便于计算。输出相对于 softmax 组中单个神经元输入的导数由 yi 次 (1 - yi) 给出。

在对输出使用 softmax 组时确定适当的成本函数至关重要。通常使用正确答案的负对数概率,也称为交叉熵成本函数。该成本函数旨在最大化提供正确答案的对数概率。

为了计算交叉熵成本函数,我们对所有可能的答案求和,将零值分配给错误答案,将值一分配给正确答案。通过计算负对数概率,我们获得了与正确答案相关的成本。

交叉熵成本函数的一个关键优势是当目标值为 1 时梯度大,输出接近于零。即使输出的微小变化也会显着提高成本函数的价值。例如,百万分之一的值比十亿分之一的值要好得多,即使差异很小。

为了进一步说明这一点,想象一下根据答案是百万分之一或十亿分之一的信念来下注。以百万分之一的赔率下注,一旦失误,将损失一百万美元。相反,如果答案是十亿分之一,同样的赌注将导致损失十亿美元。

交叉熵成本函数的这一特性确保了当答案明显不正确时的陡峭导数,这平衡了输出随输入变化而变化的平坦度。当将这些因素相乘时,我们得到交叉熵成本函数关于进入输出单元 i 的 logit 的导数。该计算采用链式法则。

成本函数相对于单元输出的导数乘以输出相对于 logit zi 的导数,得到实际输出减去目标输出。当输出和目标明显不同时,这种差异的斜率是一或负一,只有当它们几乎相同时,斜率才接近于零,表明正在产生正确的答案。

softmax 输出函数用于确保神经网络的输出表示跨互斥备选方案的概率分布。通过使用 softmax 方程,输出被限制为总和为 1,表示不同类别的概率。

然而,使用平方误差度量作为训练神经网络的成本函数有缺点,例如当期望输出与实际输出相差很远时权重调整缓慢。为了解决这个问题,引入了交叉熵成本函数。它计算正确答案的负对数概率,并在目标值为 1 且输出接近于零时产生较大的梯度。此属性允许更有效的学习,并避免将相等的概率分配给相互排斥的备选方案。

softmax 函数与交叉熵成本函数一起,为训练神经网络生成概率输出提供了强大的组合。通过反向传播和随机梯度下降调整权重和偏差,网络可以学习做出准确的预测并表示数据之间的复杂关系。

值得注意的是,这些概念和技术构成了神经网络训练的基础,适用于各种领域,包括自然语言处理、计算机视觉和模式识别。这些领域的持续研究和进步有助于提高神经网络在解决现实世界问题时的性能和能力。

 

第 4.4 讲——神经概率语言模型



第 4.4 讲——神经概率语言模型 [机器学习的神经网络]

在本视频中,我们探索了表示单词的特征向量的实际应用,特别是在语音识别系统中。很好地理解某人接下来可能说的话对于准确识别他们发出的声音至关重要。

语音识别在准确识别音素方面面临挑战,尤其是在嘈杂的语音中,声学输入通常是模棱两可的,并且多个词可以同样很好地适应信号。然而,我们通常不会注意到这种歧义,因为我们依靠话语的含义来听到正确的单词。这种识别语音的无意识过程突出了语音识别器预测可能的下一个单词的需要。

幸运的是,无需完全理解口语内容就可以有效地预测单词。 trigram 方法是一种标准方法,用于预测后面可能出现的不同单词的概率。它涉及计算大型文本语料库中单词三元组的频率,并使用这些频率来估计给定前两个单词的下一个单词的相对概率。

直到最近,三元组方法一直是最先进的方法,因为它提供了基于两个前面单词的概率。使用更大的上下文会导致可能性的爆炸式增长,并且大多数情况下计数为零。在上下文不可见的情况下,例如“恐龙披萨”,该模型会求助于单个词的预测。重要的是不要仅仅因为以前没有遇到过一个例子就指定零概率。

然而,三元组模型忽略了有助于预测下一个单词的有价值信息。例如,了解“cat”和“dog”或“squashed”和“flattened”等词之间的相似性可以提高预测准确性。为了克服这个限制,需要将单词转换为捕获其语义和句法特征的特征向量。通过使用先前单词的特征,可以利用更大的上下文(例如,10 个先前单词)进行预测。

Joshua Bengio 使用神经网络开创了这种方法,他的初始模型类似于家谱网络,但应用于更复杂的语言建模。通过输入单词的索引并通过隐藏层传播活动,网络可以学习单词的分布式表示作为特征向量。然后使用 softmax 输出层使用这些向量来预测各种单词的概率。

另一个改进是使用跳过层连接,将输入词直接连接到输出词。单个输入词包含有关潜在输出词的有价值信息。 Bengio 的模型最初的表现略逊于 trigrams,但在与 trigrams 结合时显示出了希望。

自 Bengio 的工作以来,使用单词特征向量的语言模型已经显着改进并超越了三元模型。然而,在处理大量输出词时会出现挑战,因为 softmax 输出层可能需要相当多的权重(例如,数十万)。如果最后一个隐藏层太大,可能会发生过度拟合,但减小其大小会导致对大量概率的准确预测。

在下一个视频中,考虑到大概率和小概率都与语音识别系统相关,我们将探索处理大量输出词的替代方法。

 

第 4.5 讲——处理许多可能的输出



第 4.5 讲——处理许多可能的输出 [机器学习的神经网络]

在本视频中,我们将探索不同的方法来避免在处理大量词汇时 softmax 中需要过多的输出单元。我们可以使用替代架构,而不是使用数十万个输出单元来获取单词概率。

一种方法是串行架构,我们在其中输入上下文词和候选词。通过遍历网络,我们生成一个分数,指示候选词在该上下文中的适用性。这种方法需要多次运行网络,但大多数计算只需要完成一次。我们可以为不同的候选词重用来自上下文的相同输入,唯一需要重新计算的部分是候选词的特定输入和最终得分输出。

为了在这种串行架构中学习,我们计算每个候选词的分数并应用 softmax 函数来获得词概率。通过比较单词概率与其目标概率(通常正确单词为 1,其他单词为 0),我们可以推导出交叉熵面积导数。这些导数指导权重调整以增加正确候选词的分数并降低高排名竞争对手的分数。为了优化效率,我们可以考虑由另一个预测器建议的一组较小的候选词,而不是评估所有可能的候选词。

另一种避免大 softmax 的方法是以二叉树结构组织单词。这涉及将所有单词排列为树中的叶子,并使用先前单词的上下文来生成预测向量。通过将此向量与树中每个节点的学习向量进行比较,我们可以确定选择右分支或左分支的概率。通过递归遍历树,我们可以到达目标词。在学习过程中,我们只需要考虑沿着正确路径的节点,大大减少了计算量。

词特征向量学习的另一种方法是利用过去和未来的上下文。使用单词窗口,我们将正确的单词或随机单词放在窗口的中间。通过训练神经网络为正确的词输出高分,为随机词输出低分,我们可以学习捕捉语义差异的特征向量。然后,这些特征向量可用于各种自然语言处理任务。

为了可视化学习到的特征向量,我们可以使用 t-SNE 等技术将它们显示在二维图中。这种可视化有助于识别相似的词和词组,从而深入了解神经网络对词义的理解。学习到的向量可以揭示语义关系和区别,展示上下文信息在确定词义方面的力量。

这是学习特征向量的二维映射表示的另一个示例。在地图的这一部分,我们可以观察到一组与游戏相关的词。 matches, games, races, players, teams, clubs 等词被组合在一起,表明它们在含义上的相似性。此外,它还标识了游戏的相关元素,包括奖品、杯子、碗、奖牌和其他奖励。神经网络捕捉这些语义关系的能力使其能够推断,如果一个词适用于特定上下文,则同一集群中的其他词也可能适用。

转到地图的另一部分,我们遇到了一个专门用于地点的集群。在顶部,我们发现美国各州,其次是城市,主要是位于北美的城市。此外,该地图还展示了其他城市和国家,展示了神经网络对地理关系的理解。例如,它将剑桥与多伦多、底特律和安大略连接起来,它们都属于讲英语的加拿大,而将魁北克与柏林和巴黎组合在一起,将其与讲法语的加拿大联系在一起。同样,它暗示了伊拉克和越南之间的相似之处。

让我们探索地图上的另一个例子。本节重点介绍副词,展示可能、可能、可能和也许等具有相似含义的词。同样,它识别完全、完全、完全和极大之间的语义相似性。此外,它还能识别其他相似模式,例如哪个和那个、谁和什么、如何、是否以及为什么。

这些学习到的特征向量的迷人之处在于,它们仅通过分析来自维基百科的单词序列来捕获细微的语义细微差别,而无需任何明确的指导。这种上下文信息在理解词义方面起着至关重要的作用。事实上,一些理论表明它是我们获得单词语义的主要机制之一。

总之,这些处理大型词汇表和学习单词表示的不同方法为传统的 softmax 架构提供了有效的替代方案。通过利用串行架构、树结构或上下文信息,神经网络可以生成有意义且相似的词表示。这些表示在各种自然语言处理任务中被证明是有价值的,展示了网络捕获语义关系和单词之间区别的能力。

 

第 5.1 讲——为什么物体识别很困难



第 5.1 讲——为什么物体识别很困难[机器学习的神经网络]

识别真实场景中的物体会带来一些挑战,由于我们天生擅长这项任务,这些挑战往往被忽视。将像素强度转换为对象标签是一个涉及各种困难的复杂过程。一个主要障碍是将物体从周围环境中分割出来,因为我们缺乏现实世界中可用的运动和立体线索。这种缺失使得确定哪些部分属于同一对象具有挑战性。此外,对象可能会被其他对象部分隐藏,从而使识别过程进一步复杂化。有趣的是,我们非凡的视觉能力往往掩盖了这些问题。

物体识别的另一个重大挑战源于光照对像素强度的影响。像素的强度不仅取决于物体本身,还取决于光照条件。例如,与昏暗光线下的白色表面相比,明亮光线下的黑色表面会产生更强烈的像素。要识别一个物体,我们必须将这些变化的像素强度转换为类别标签,但这些变化可能是由与物体的性质或身份无关的因素引起的。

物体也可能发生变形,这增加了识别的复杂性。即使对于像手写数字这样相对简单的物体,也有各种各样的形状与同一个名字相关联。例如,数字“2”可以显示为带尖端的斜体,或者具有更大的环和更圆的形式。此外,一个对象的类别通常是由它的功能而不是它的视觉外观来定义的。考虑一下存在无数变化的椅子,从扶手椅到带木背的现代钢架设计。仅凭视觉特征可能不足以确定类别。

视点变化进一步加剧了物体识别的困难。从多个角度识别三维物体的能力会产生传统机器学习方法难以处理的图像变化。当物体移动而我们的视线保持不动时,关于物体的信息可能会在不同的像素之间移动。这种输入维度之间的信息传递,通常对应于视觉任务中的像素,在机器学习中并不常见。解决这个问题(通常称为“维度跳跃”)对于提高识别准确性至关重要。解决这个问题的系统方法是非常可取的。

总之,在真实场景中识别物体需要面临许多挑战。克服这些困难需要解决与分割、光照变化、遮挡、变形、视点变化和对象的语义定义相关的问题。开发考虑这些因素的稳健且系统的方法将提高对象识别系统的准确性和可靠性。

 

第 5.2 讲——实现视点不变性



第 5.2 讲——实现视点不变性[机器学习神经网络]

在本视频中,我将深入研究视点不变性的概念,并探索各种方法来应对对象识别中的这一挑战。视点变化构成了一个重大障碍,因为每次我们查看一个对象时,它都会出现在不同的像素上,这使得对象识别与大多数机器学习任务截然不同。尽管我们对这项任务有天赋,但我们尚未在工程学或心理学中找到被广泛接受的解决方案。

第一种方法建议使用冗余不变特征。这些特征应该能够承受平移、旋转和缩放等变换。例如,一对近似平行的线之间有一个红点被认为是小银鸥用来确定在哪里啄食的不变特征。通过使用大量的不变特征,我们可以将它们唯一地组合成一个对象或图像,而无需明确表示特征之间的关系。

然而,当处理识别任务时,挑战就出现了。从多个对象中提取特征可能会导致特征由来自不同对象的部分组成,从而导致识别信息的误导。因此,避免从不同对象的部分形成特征变得至关重要。

另一种方法称为“明智的规范化”,涉及在对象周围放置一个框。通过在这个框内定义一个参考系,我们可以描述对象相对于它的特征,实现不变性。假设物体是刚性形状,这种方法有效地消除了视点变化的影响,减轻了维度跳跃问题。盒子不一定是矩形的;它可以解释平移、旋转、缩放、剪切和拉伸。然而,由于潜在的分割错误、遮挡和不寻常的方向,选择合适的框会带来挑战。确定正确的盒子依赖于我们对物体形状的了解,这就产生了一个先有鸡还是先有蛋的问题:我们需要识别形状才能得到正确的盒子,但我们需要正确的盒子来识别形状。

蛮力归一化方法涉及在训练期间使用分割良好的直立图像来明智地定义对象周围的框。在测试期间,当处理杂乱的图像时,会探索各种位置和比例的所有可能框。这种方法通常用于计算机视觉中,用于检测未分割图像中的人脸或门牌号等任务。然而,当识别器可以处理位置和比例的一些变化时,它会更有效,允许使用粗网格来尝试不同的框。

视点不变性是对象识别中的一个重大挑战。使用不变特征、使用边界框进行明智的归一化和强力归一化等方法有助于减轻视点变化的影响。然而,选择合适的特征、确定正确的框以及处理不同的位置和比例仍然是计算机视觉领域正在进行的研究工作。

 

第 5.3 讲——用于数字识别的卷积网络



第 5.3 讲——用于数字识别的卷积网络 [用于机器学习的神经网络]

在本视频中,我们讨论了卷积神经网络 (CNN) 及其在手写数字识别中的应用。 CNN 在 1980 年代取得了重大成功,尤其是 Yan LeCun 的深度卷积网络,它擅长识别手写并在实践中得到应用。这些网络是那个时代为数不多的可以在可用计算机上训练并表现出色的深度神经网络之一。

CNN 建立在复制特征的概念之上。由于对象可以出现在图像中的不同位置,因此在一个位置有用的特征检测器可能在其他地方也有用。为了利用这个想法,在图像中的不同位置创建相同特征检测器的多个副本。这些复制的特征检测器共享权重,显着减少了需要学习的参数数量。例如,三个具有 27 个像素的复制检测器只需要九个不同的权重。

在 CNN 中,使用了多个特征图,每个特征图都包含复制的特征。这些复制的特征在不同位置被限制为相同,而不同的地图学习检测不同的特征。这种方法允许不同类型的特征来表示每个图像块,从而增强识别能力。复制的特征与反向传播很好地对齐,因为使用这种算法很容易训练它们。可以修改反向传播以合并权重之间的线性约束,确保有效地学习复制的特征检测器。

人们常常对复制特征检测器的成就感到困惑。虽然有些人声称他们实现了平移不变性,但这并不完全准确。复制的特征在神经元的活动中实现等价性,而不是不变性。例如,当图像被翻译时,激活的神经元也会相应地移动。然而,复制特征捕获的知识是不变的。如果已知在一个位置检测到某个特征,则可以在另一个位置检测到该特征。为了引入一些平移不变性,可以通过平均或取相邻检测器的最大值来汇集复制特征检测器的输出。然而,精确的空间信息可能会在这个汇集过程中丢失,影响依赖于精确空间关系的任务。

Jan LeCun 和他的合作者展示了 CNN 在手写数字识别方面的强大功能,并通过他们的 LeNet-5 架构取得了令人瞩目的成果。 LeNet-5 包含多个隐藏层和特征映射,以及层与层之间的池化。它可以处理重叠的字符,并且不需要在输入前进行分割。训练方法采用完整的系统方法,生成邮政编码作为输入像素的输出。培训是使用类似于最大保证金的方法进行的,甚至在正式引入之前也是如此。事实证明,LeNet-5 在读取整个北美的支票方面非常有价值。

将先验知识注入机器学习,特别是神经网络,可以通过网络设计、局部连接、权重约束或适当的神经活动来完成。这种方法使网络偏向于特定的问题解决方法。另一种方法是根据先验知识生成合成训练数据,为网络提供更多可供学习的示例。随着计算机变得越来越快,后一种方法变得越来越可行。它允许优化发现利用多层网络的有效方法,从而有可能在不完全了解底层机制的情况下实现卓越的解决方案。

使用合成数据,手写数字识别取得了多项进展。通过结合生成合成数据、在图形处理单元 (GPU) 上训练大型网络以及创建共识模型等技巧,已经取得了重大改进。例如,瑞士 Jurgen Schmidhuber 领导的一个小组将错误率降低到大约 25 个错误,可能接近人为错误率。评估不同模型的性能需要考虑它们犯了哪些错误,而不是仅仅依赖数值指标。像 McNemar 测试这样的统计测试通过分析特定错误提供更高的灵敏度,从而更好地评估模型的优越性。

因此,在根据错误率比较模型时,重要的是要考虑它们所犯的具体错误并进行统计测试(如 McNemar 测试)以确定差异是否具有统计显着性。仅查看总体错误率可能无法提供足够的信息来做出自信的判断。

Jurgen Schmidhuber 的团队在瑞士所做的工作展示了通过合成数据注入知识的有效性。他们通过转换真实的训练案例来创建额外的训练样本,从而在生成有指导意义的合成数据方面付出了巨大的努力。通过在图形处理单元 (GPU) 上训练每层有许多单元和许多层的大型网络,他们能够利用计算能力并避免过度拟合。

他们的方法结合了三种关键技术:生成合成数据、在 GPU 上训练大型网络以及使用具有多个模型的共识方法来确定最终预测。通过这种方法,他们取得了令人印象深刻的结果,将错误率降低到大约 25 个错误,这与人为错误率相当。

比较具有不同错误率的模型时会出现一个有趣的问题:我们如何确定具有 30 个错误的模型是否明显优于具有 40 个错误的模型?令人惊讶的是,这取决于每个模型所犯的具体错误。仅仅看数字是不够的。 McNemar 检验是一种侧重于特定错误的统计检验,在比较模型时提供更高的灵敏度。

例如,考虑一个 2x2 的表格,我们可以检查一个模型正确而另一个模型错误的情况。通过分析这些案例的比率,我们可以确定模型之间差异的重要性。在某些情况下,一个模型可能具有较低的错误率,但在另一个模型成功的特定实例中表现更差,从而使比较不那么重要。

因此,在评估和比较模型时,同时考虑错误率和具体错误是至关重要的。像 McNemar 测试这样的统计测试可以更准确地了解模型之间的性能差异。这有助于我们做出有关模型选择和改进的明智决策。

除了考虑错误率和特定错误外,在评估和比较模型时还需要考虑其他因素。

  1. 数据质量和数量:训练数据的质量和数量会对模型性能产生重大影响。在大型、多样化和有代表性的数据集上训练的模型往往具有更好的泛化能力。确保用于训练和评估的数据准确反映模型将遇到的真实场景非常重要。

  2. 计算资源:训练和部署模型所需的计算资源是重要的考虑因素。一些模型可能需要大量的计算能力,例如高性能 GPU 或专用硬件,这会影响它们的实用性和可扩展性。

  3. 可解释性:根据应用,模型预测的可解释性可能至关重要。一些模型,如深度神经网络,通常被认为是黑匣子,因此很难理解其决策背后的原因。相比之下,其他模型(例如决策树或线性模型)提供更多的可解释性。模型的选择应符合问题和利益相关者的要求。

  4. 鲁棒性和泛化能力:模型的性能不仅要在训练数据上进行评估,还要在未见数据上进行评估,以评估其泛化能力。一个健壮的模型应该在不同的数据样本上表现良好,并且能够抵抗噪声、异常值和对抗性攻击。

  5. 可扩展性和效率:根据应用程序的要求,模型可扩展性和效率是重要的考虑因素。能够高效处理大量数据或进行实时预测的模型在某些场景中可能更受欢迎。

  6. 伦理方面的考虑:在选择和部署模型时必须考虑伦理方面的影响。应考虑数据或模型预测的偏差、公平性、隐私和安全问题,以确保负责任和公平地使用人工智能系统。

  7. 用户反馈和领域专业知识:从最终用户和领域专家那里收集反馈可以为模型的性能和适用性提供有价值的见解。他们的意见可以帮助确定需要改进的特定领域或发现自动评估指标可能无法捕捉到的局限性。

除了错误率和特定错误之外,通过考虑这些因素,我们可以在评估和比较模型时做出更全面、更明智的决策。

 

第 5.4 讲——用于对象识别的卷积网络



第 5.4 讲——用于对象识别的卷积网络 [机器学习的神经网络]

为识别手写数字而开发的网络是否可以扩大到识别高分辨率彩色图像中的物体的问题一直是一个猜测的话题。由于处理杂乱的场景、分割、3D 视点、多个对象和光照变化等各种因素,它被认为是一项具有挑战性的任务。过去,研究人员专注于提高网络识别手写数字的能力,这导致一些人怀疑他们的发现对真实彩色图像的普遍性。

为了解决这个问题,最近举办了一场名为 ImageNet 的比赛,在比赛中,计算机视觉系统在 120 万张高分辨率彩色图像的子集上进行了测试。任务是用一千个不同的类别正确标记图像。这些系统被允许做出五个预测,如果其中一个预测与一个人分配的标签相匹配,则它们被认为是正确的。此外,还有一项定位任务,系统必须在识别的对象周围放置一个框。

来自不同机构的领先计算机视觉团队参加了比赛,他们采用复杂的多阶段系统,将手动调整的早期阶段与顶级阶段的学习算法相结合。然而,事实证明这项任务非常具有挑战性,最佳系统的错误率在 26% 到 27% 之间。相比之下,Alex Krizhevsky 的深度神经网络实现了 16% 的明显更低的错误率。

Alex Krizhevsky 的网络基于深度卷积神经网络,利用七个隐藏层和整流线性单元作为激活函数。该网络在一层内采用竞争标准化来处理强度变化。使用了多种技术来提高泛化能力,包括通过变换进行数据增强,例如下采样和反射,以及在顶层使用 dropout 正则化。该网络在强大的硬件上进行了训练,特别是 Nvidia GTX 580 图形处理器。

比赛结果表明,Alex Krizhevsky 的网络大大优于其他计算机视觉系统。它的成功展示了深度神经网络在真实彩色图像中进行对象识别的潜力。这些网络可以利用先验知识并处理大规模数据集和计算。高效硬件的使用以及在多个核心上分布网络的可能性进一步增强了它们的能力。因此,预计深度神经网络将继续发展并成为静态图像中对象识别的标准方法。

同样,深度神经网络在其他各个领域都表现出了令人印象深刻的表现。例如,他们在语言翻译、情感分析和问答等自然语言处理任务上取得了成功。在这些任务中,网络学习理解文本的语义和上下文,使它们能够生成准确且有意义的响应。

此外,深度神经网络也被应用于语音识别,其性能优于传统方法。通过从大量带标签的语音数据中学习,这些网络可以有效地高精度地识别和转录口语单词。

在医疗保健领域,深度神经网络在医学图像分析方面表现出了卓越的能力。它们可以通过 X 射线、MRI 和 CT 扫描等医学图像协助诊断疾病。通过从大量标记的医学图像中学习,这些网络可以检测异常、肿瘤和其他医学状况,其准确度与人类专家相当。

深度神经网络的成功可以归因于它们自动学习数据的层次表示的能力。通过在多个抽象级别逐步提取特征,这些网络可以捕获数据中的复杂模式和关系。这种特征学习过程,结合大型数据集和强大计算资源的可用性,为各个领域的重大进步铺平了道路。

总之,深度神经网络已被证明在广泛的任务中非常有效,包括对象识别、自然语言处理、语音识别和医学图像分析。他们从大型数据集中学习并自动提取有意义的表示的能力已经彻底改变了许多领域。随着计算资源的不断改进,我们可以期待更令人印象深刻的成就和深度神经网络功能的进一步发展。