夜晚00 2018-09-04
摘要: 想要了解人工智能,不知道这十种深度学习方法怎么能行?
6-批量归一化
当然,包括深度网络在内的神经网络需要仔细调整权重初始化和学习参数。批量归一化有助于让中国过程更简单一点。
权重问题:
· 无论那种权重的初始化,随机还是凭经验选择,它们都和学习权重差别很大。考虑一个小批量数据集,在最初的时期,在特征激活时都会有许多异常值。
· 深度神经网络本身脆弱的,即初始层的微小扰动都会导致后面层很大的变化。
在反向传播期间,这些现象会导致梯度偏移,这意味着在学习权重以产生所需输出之前,梯度必须补偿异常值。这也将导致需要额外的时间来收敛。
批量归一化将这些梯度从离散规则化为正常值,并在小批量的范围内朝向共同目标(通过归一化它们)流动。
学习率问题:通常,学习率保持较小,使得只有一小部分的梯度用来校正权重,原因是异常激活的梯度不应该影响已经学习好的权重。通过批量归一化,这些异常值被激活的可能性就会减少,因此可以使用更高的学习率来加速学习过程。
LSTM网络具有以下三个方面,使其与递归神经网络中的常规神经元区分开来:
1、它可以控制何时让输入进入神经元。
2、它可以控制何时记住上一个时间步骤中计算的内容。
3、它可以控制何时将输出传递给下一个时间戳。
LSTM的优点在于它根据当前输入本身决定所有这些,如下图所示:
当前时间戳处的输入信号x(t)决定所有上述3个点。输入门决定点1.遗忘门在点2上做出决定,输出门在点3上做出决定。输入门能单独能够做出这三个决定。这受到了我们的大脑是如何工作的启发,并且可以处理突然的上下文切换。
词嵌入模型的目标是为了每个词汇学习一个高维密集表征,其中嵌入向量之间的相似性显示了相应单词之间的语义或句法相似性。Skip-gram是学习词嵌入算法的模型。
skip-gram模型(以及许多其他词嵌入模型)背后的主要思想如下:如果两个词汇有相似的上下文,则它们是相似的。
换句话说,假设你有一句话,比如“猫是哺乳动物”。如果你使用术语“狗”而不是“猫”,句子仍然是一个有意义的句子。因此在该示例中,“狗”和“猫”可以共享相同的背景(即“是哺乳动物”)。
基于上述假设,你可以考虑一个上下文窗口(一个包含k个连续术语的窗口)。然后你应该跳过其中一个单词,并尝试学习除了跳过的一个术语之外的所有术语并预测跳过的术语的神经网络。因此如果两个单词在大型语料库中重复地共享相似的上下文,那些这些术语的嵌入向量将具有相似的向量。
在自然语言处理问题中,我们希望学习将文档中的每个单词表示为数字向量,使得出现在相似上下文中的单词具有彼此接近的向量。在连续词袋模型中,目标是能够使用围绕特定单词的上下文并预测特定单词。
我们通过在一个大型语料库中抽取大量句子来做到这一点,每次看到一个单词时,我们都会使用其上下文单词。然后我们将上下文单词输入到一个神经网络中,并预测该上下文中心的单词。
当我们有数千个这样的上下文单词和中心单词时,我们就有一个神经网络数据集的实例。我们训练神经网络,在经过编码的隐藏层的输出表示特定单词的嵌入。碰巧的是,当我们在大量句子上训练时,类似上下文中的单词会得到类似的向量。
考虑下图像是如何通过卷积神经网络的。假设你有一个图像,你应用卷积,你得到像素组合作为输出。如果碰到了边缘,则再次应用卷积,所以现在输出是边或线的组合。然后再次应用卷积,此时的输出将是线的组合,依此类推。你可以将其视为每个层寻找特定模式。神经网络的最后一层往往变得非常专业。如果你正在使用ImageNet,那么你的网络最后一层将寻找儿童或狗或飞机或其他什么。再后退几层你可能会看到网络正在寻找眼睛或耳朵或嘴或轮子。
深度CNN中的每个层逐渐建立了更高和更高级别的特征表征。最后几层往往专注于你输入模型的任何数据。另一方面,早期的图层更通用,是在更大类的图片中找到很多简单的模式。
迁移学习是指你在一个数据集上训练CNN,切断最后一层,在其他不同的数据集上重新训练模型的最后一层。直观地说,你正在重新训练模型以识别不同的更高级别的功能。因此,模型训练的时间会大大减少,因此当你没有足够的数据或者训练所需的太多资源时,迁移学习是一种有用的工具。
本文仅显示这些方法的一般概述。我建议阅读以下文章以获得更详细的解释:
· Andrew Beam的“深度学习101”;
· 安德烈库林科夫的“神经网络与深度学习简史”;
· Adit Deshpande的“理解卷积神经网络的初学者指南”;
· 克里斯奥拉的“理解LSTM网络”;
· Algobean的“人工神经网络”;
· Andrej Karpathy的“回归神经网络的不合理有效性”;
深度学习是非常注重技术实践的。本文中的每个新想法都没有太多具体的解释。对于大多数新想法都附带了实验结果来证明它们能够运作。深度学习就像玩乐高,掌握乐高与任何其他艺术一样具有挑战性,但相比之下入门乐高是容易的。
以上为译文。
本文由阿里云云栖社区组织翻译。
文章原标题《the-10-deep-learning-methods-ai-practitioners-need-to-apply》,
作者: James Le 译者:虎说八道,审校:。