社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

数学推导详解DL理论!普林斯顿最新127页pdf《深度学习理论》简明书,带你理解深度学习优化、泛化等

专知人工智能 • 3 年前 • 244 次点击  


深度学习已经成为机器学习的核心范式。然而,对数学的理解仍然缺乏。需要多少样本?训练多快能成功?为什么卷积神经网络适合图像数据?本课程将涵盖回答这些问题的最新进展。本专著讨论了新兴的深度学习理论。它以普林斯顿大学2019年秋季的研究生研讨会为基础,同时与高等研究所的优化、统计和机器学习特别年相结合
优化基础
本章建立了基于梯度的优化算法的基本分析框架,并讨论了如何将其应用于深度学习。

反向传播以及变体

在整本书中,我们依靠计算梯度的损失与模型参数。对于深网,这个计算是用反向传播,一个简单的算法,使用链式法则的微积分。为了方便,我们更一般地描述为一种计算神经网络输出对其所有参数灵敏度的方法,即∂f /∂wi,其中f是输出,wi是第i个参数。这里的参数可以是与网络的节点或边相关的边权或偏差。从20世纪60年代到80年代,这一基本算法的不同版本在多个领域被明显地独立地重新发现了几次。本章介绍了这些算法以及一些高级的变体,不仅涉及梯度,还涉及Hessian。在这本书的大部分内容中,感兴趣的量是训练损失的梯度。但是上面的表述——计算输出相对于输入的梯度——是完全通用的,因为我们可以简单地在网络中添加一个新的输出节点,来计算旧输出造成的训练损失。那么感兴趣的量确实是这个新输出相对于网络参数的梯度。反向传播的重要性源于它的效率。假设节点的操作时间为单位时间,则运行时间为线性,具体为O(Network Size) = O(V + E),其中V为网络中节点的数量,E为边的数量。在计算机科学的许多其他设置中——例如,排序数字——这种朴素的算法将花费二次元的时间,而这将是非常低效的,甚至在今天的大型网络中是不可行的。

泛化理论基础

泛化理论给出了训练样本数量的估计,足以保证训练网络的测试损失几乎与训练损失一样好。本章描述的经典观点给出了非常松散的估计。本书后面的一章描述了最近对样本复杂性进行更严格估计的尝试。泛化界在数学理解中很有意义,为什么学习算法要泛化?泛化理论的灵感来自一个古老的哲学原理,叫做奥卡姆剃刀:如果要在一个更简单的理论和一个更复杂的理论之间做出选择,这两个理论都能解释一些经验观察,我们应该相信更简单的理论。例如,哥白尼的日心说在科学界获得了青睐,因为它比古代亚里士多德的理论更简单地解释了已知的事实。虽然这很直观,但奥卡姆的剃刀有点模糊,而且是手摇的。是什么让一个理论“更简单”或“更好”?

先进的优化概念

本章将介绍基本的二阶方法(牛顿法),然后简要讨论动量,AdaGrad(以及AdaDelta/RMSProp)和Adam。一些关于利用Hessian-vector积的尝试以及它们为什么没有帮助的讨论。

非凸的可处理景观

深度学习依赖于优化复杂的非凸损失函数。寻找非凸目标的全局最小值在最坏情况下是NP困难的。然而,在深度学习中,随机梯度下降等简单算法往往会将目标值最后趋近于零或接近零。本章重点讨论由非凸目标定义的优化景观,并确定这些景观的属性,这些属性允许简单的优化算法找到全局最小值(或接近最小值)。迄今为止,这些性质适用于比深度学习更简单的非非凸问题,如何用这种横向分析来分析深度学习是开放的。

超宽神经网络与神经切线核

训练神经网络是一个非凸优化问题,在最坏情况下,它是NP-hard [BR89]。另一方面,从经验来看,随机梯度下降这样的简单梯度算法往往可以达到零训练损失,即简单算法可以找到一个适合所有训练数据的神经网络。而且,即使将原始标签替换为随机标签[ZBH+16b],仍然可以观察到这种现象。对于这一令人惊讶的现象,一个被广泛相信的解释是神经网络被过度参数化。例如,Wide ResNet使用的参数是训练数据数量的100倍。因此,必须存在一种这种结构的神经网络,可以适合所有的训练数据。但是,从理论上讲,这种存在性并不意味着用随机初始化梯度法得到的网络就能拟合所有数据。过度参数化也给泛化带来了新的理论挑战。传统的泛化边界通常要求参数的数量远远小于数据点的数量,而在过度参数化的范围内,这些边界变得空洞。本章涉及一种通过随机初始化梯度下降训练的神经网络,该神经网络使用具有特定核函数的核方法:由Jacot, Gabriel和Hongler [JGH18]首先提出的神经切线核(NTK)。在下面,我们将描述NTK是如何产生的,并使用NTK来解释过度参数化神经网络的优化和泛化行为。最后,我们还将讨论NTK的一些实际应用。

基于算法正则化的归纳偏差

许多成功的基于深度神经网络的现代机器学习系统都是过度参数化的,即参数的数量通常比样本大小大得多。换句话说,经验风险存在(无限)个(近似的)最小化者,其中许多不能很好地在未见的数据上推广。要想学习成功,关键是要让学习算法倾向于“更简单”的假设,方法是用一定的复杂性项来权衡经验损失,以确保经验风险和总体风险接近。一些明确的正则化策略在实践中被用于帮助这些系统的泛化,包括参数的l1和l2正则化[NH92]。

无监督学习:概述

到目前为止,这本书的大部分内容都是关于监督学习的。学习将输入分类到类中,其中训练数据由抽样输入和它们的正确标签组成。这一章是无监督学习的介绍,其中一个随机抽样的数据点,但没有标签或类。

生成对抗网络

第10章描述了生成模型的一些经典方法,这些方法通常使用对数似然方法进行训练。我们还看到,对于复杂分布(比如真实图像的分布)的高保真学习,它们通常是不够的。生成式对抗网(GANs)是一种生成更真实样本的方法。在本章中,为了方便起见,我们假设模型试图生成图像。下面是对模型生成的分布是否真实的一种标准解释。

专知便捷查看

便捷下载,请关注专知人工智能公众号(点击上方蓝色专知关注)

  • 后台回复“DLT127” 就可以获取数学推导详解DL理论!普林斯顿最新127页pdf《深度学习理论》简明书,带你理解深度学习优化、泛化等》专知下载链接

                       
专知,专业可信的人工智能知识分发,让认知协作更快更好!欢迎注册登录专知www.zhuanzhi.ai,获取100000+AI(AI与军事、医药、公安等)主题干货知识资料!

点击“阅读原文”,了解使用专知,查看获取100000+AI主题知识资料
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/147380