摘要:想要了解人工智能,不知道这十种深度学习方法怎么能行?在过去十年中,人们对机器学习的兴趣激增。几乎每天,我们都可以在各种各样的计算机科学课程、行业会议、华尔街日报等等看到有关机器学习的讨论。在所有关于机器学习的讨论中,许多人把机器学习能做的事情和他们希望机器学习做的事情混为一谈。从根本上讲,机器学习是使用算法从原始数据中提取信息,并在某种类型的模型中表示这些信息。
人工智能领域很广泛,并且已经存在了很长时间。深度学习是机器学习领域的一个子集,而机器学习只是人工智能的一个子领域。将深度学习网络与之前的前馈多层网络进行区分:·深度学习比以前的网络更多的神经元;·深度学习中有更复杂的连接层的方式;·“寒武纪爆炸”的提供的计算能力;·深度学习可以自动进行特征提取。当我说到“更多神经元”时,是指近年来神经元的数量不断增加,深度学习就可以表示更为复杂的模型。
对于神经网络,其目标函数具有组合的形式。你如何计算梯度?有两种常见的方法可以做到:(i)分析微分法。如果你知道函数的形式,你只需使用链式规则(基本微积分)计算导数。(ii)有限差分的近似微分。该方法在计算上是昂贵的,因为评估函数的数量是O(N),其中N是参数的数量。与解析微分相比,这种方法的计算成本是昂贵的。在调试时,通常使用有限差分验证反向传播的执行效果。
因此,梯度下降倾向于陷入局部最小值,这取决于地形的性质(或ML术语中的函数)。但是,当你有一种特殊的山地形状(形状像一个碗,用ML术语称为凸函数)时,算法始终能够找到最优值。你可以想象将这条河流可视化。在机器学习中,这些特殊的地形(也称为凸函数)总是需要优化的。另外,你从山顶开始(即函数的初始值)的位置不同,最终你到达山底的路径也完全不同。
调整随机梯度下降优化程序的学习速率可以提高性能并缩短训练时间。有时这也被称为学习率退火或自适应学习率。在训练期间最简单且最常用的学习率调整是随时间降低学习率的技术。在训练初期使用较大的学习速率值,可以对学习速率进行大幅调整;在训练后期,降低学习速率,使模型以一个较小的速率进行权重的更新。这种技术在早期可以快速学习获得一些较好的权重,并在后期对权重进行微调。
领取专属 10元无门槛券
私享最新 技术干货