RESTful API 已经不是什么新奇玩意儿了。HTTP 的无状态性让我们在处理交互式 CS 应用中不得不使用诸如 Session、Cookie 等技术。那么我们的问题产生于:如果客户端发出的请求的在服务端需要较长的时间处理,我们应该如何设计我们的 RESTful API?这次就来聊一聊异步 RESTful API 的设计。
分布式杂谈01:CAP 理论的误解
最近在实践分布式和微服务系统,总算是能够把课本上学到的知识学以致用了。于是打算开一个系列来随机聊一聊分布式系统的一些知识。
Issues of Human-Bot Interaction
Here lists some issues when I was exploring Human-bot interaction.
压缩法与深度网络的泛化性
本文译自:http://www.offconvex.org/2018/02/17/generalization2/ 译者:欧长坤
本文是关于我最新的论文并提供了一些之于我之前一篇文章新的关于「泛化谜题」的观点。
这篇新论文引入了一个基于压缩的基本框架来证明泛化界。并表明深度网络的是高度噪音稳定并可进行压缩。这个框架同时还未去年的一些论文提供了简单的证据(下面会讨论)。
回忆关于泛化理论的基本定理:具有 $m$ 个样本的训练集则泛化误差(定义为训练数据和测试数据之差)是 $\sqrt{\frac{N}{m}}$ 的高阶项,其中 $N$ 是网络的有效参数(或复杂度度量);它最多可能是实际参数数,但实际上可能会少得多(为了便于说明,这篇文章将忽略 $\log N$等这些在计算中产生的干扰因素)。泛化之谜在于:当网络参数量高达百万级时即便当 $m=50K$,网络同样具有相当低的泛化误差(比如 CIFAR10)。反过来想,从某种意义上来说这似乎在告诉我们,网络的实际的参数量是远低于 $50K$ 的。
这里N是网络的有效参数(或复杂性度量)的数量; 它至多是可训练参数的实际数量,但可能会少得多。 (为了便于说明,这篇文章将忽略\ logN等这些也出现在这些计算中的讨厌因素)。神秘的是,即使当m = 50K时,具有数百万参数的网络也具有低泛化误差(如在CIFAR10数据集中) ,这表明真实参数的数量实际上远低于50K。
Bartlett et al. NIPS'17 与 Neyshabur et al. ICLR'18 尝试类似于 PAC-Bayes 和 Margin 的有趣想法对复杂度度量进行量化(同时也影响了我们的论文)。但终究这种量化是不切实际的——量级比实际参数量还要多。相比之下,我们的新估计值要好几个数量级,并且更加有意义。下面的条形统计图进行了说明(所有的 bound 都忽略了干扰因素,可训练参数的数量仅用于表示比例):
Go in 1 Hour
几个初步的 Go 语言特点:
- 类型安全
- 简洁的面向对象
- 语言级并发
- 垃圾回收
一共 25 个关键字:
|
|
UMSLT04: The Past and Present of SGD
UMSLT03: A Gentle Start of Learning Theory
在前面两篇文章中,我们快速的聊完了深度学习的相关历史知识,从第一个学习机器感知器的诞生、到反向传播的首次再发明、理论派和实践派对 ERM 原则的不同看法以及为学习理论能够真正学到智能从而解决 ill-posed 问题的正则化手段。在理论学派看来,自然语言性质的描述永远是不够的,我们需要发展一套理论来严密的从最一般性的原理出发,彻彻底底的解决机器学习的基础,我们常说的学习到底是什么?我们提过很多次的 ERM 到底有什么特殊之处能在起基础之上产生两个方向完全不同的学派?这篇文章就正儿八经的从符号定义出发,对「学习理论」进行形式化。
UMSLT02: A Breif History of Neural Networks
上一篇文章中我们从第一个学习模型感知器的提出聊到了人们在研究学习机器的过程中发现因果问题的反演是一个 ill-posed 的问题,正则化方法在解决 ill-posed 问题的过程中扮演了重要的角色。ERM 作为应用学派归纳推理原理的一种不证自明的方法,这篇文章我们就这个话题继续聊下去。
值得一提的是,从一个范围很宽的密度集合中估计密度函数就是一个 ill-posed 的问题。早期的统计学发展了一种叫做参数统计的方法,其最大似然估计,作为一种不证自明的方法来对有限个参数决定的密度集合进行估计。但如果我们连数据的分布假设都不敢假设,换句话说——对一种未知(参数未知)的分布进行估计,最大似然估计就无能为力了。这时候人们发展了很多非参数方法,从而建立了现代庞大且意义非凡的非参数统计学。值得一提的是,这些方法的基本假设是使用大量样本来估计密度,他们可以克服 ill-posed 的问题。
UMSLT01: A Breif History of Regularization
前言
ICLR 2017 的 Best Paper [Zhang et al. 2017] 的作者张驰远做出了相当强的批判,指出机器学习中泛化理论并不能一致的迁移到深度学习中。论文首先通过 Randomization Test 过强的 empirical claim 认为深度学习的模型之所以能够起作用是因为其粗暴的记住了全部的样本,并非真正达到了泛化。但这一结论事实上犯了推理的逻辑错误 [Kawaguchi et al. 2017]。
然而,论文中关于正则化理论的评注「explicit regularization is unneccesary」和「SGD has implicit regularization property」却似乎显得很有分量。确实,我们在实际的调参过程中应该有注意到我们常说的「overfitting」现象并不总会在深度学习模型中表现,我们经常观察到 generalization gap 随着训练时间的增加,会短暂的上升并进而继续降低或者保持不变,并不符合我们理论上对 overfitting 的理解。就这一点问题,我围绕着 overfitting 的定义以及 regularization 提出的始末进行了相关研究,发现机器学习理论基础并没有想象中的那么简单。
于是,我准备新开一个系列,来整理我阅读相关论文的心得以及个人思考。从统计学的基本原理出发,理解统计学习理论的本质。这个系列的名字叫做《理解现代统计学习理论(Understanding Modern Statistical Learning Theory)》,为了方便起见,我们缩写为 UMSLT。
阅读本系列要求读者具有较高水平的机器学习实践经验,同时对形式化数学理论有较强功底,例如对 Banach 空间观点下的概率理论有相当了解,对参数统计学相关知识非常熟悉,对其他通用领域的数学知识也有一定程度的了解。
若读者在阅读本系列的过程中发现有原则性的错误,请务必指出,谢谢。