Changkun's Blog欧长坤的博客

Science and art, life in between.科学与艺术,生活在其间。

  • Home首页
  • Ideas想法
  • Posts文章
  • Tags标签
  • Bio关于
Changkun Ou

Changkun Ou

Human-AI interaction researcher, engineer, and writer.人机交互研究者、工程师、写作者。

Bridging HCI, AI, and systems programming. Building intelligent human-in-the-loop optimization systems. Informed by psychology, sociology, cognitive science, and philosophy.连接人机交互、AI 与系统编程。构建智能的人在环优化系统。融合心理学、社会学、认知科学与哲学。

Science and art, life in between.科学与艺术,生活在其间。

276 Blogs博客
165 Tags标签
Changkun's Blog欧长坤的博客

Go source study: sync.Pool

Published at发布于:: 2018-09-26   |   Reading阅读:: 7 min

Go 源码研究:sync.Pool

sync.Pool 是一个临时对象池。一句话来概括,sync.Pool 管理了一组临时对象,当需要时从池中获取,使用完毕后从再放回池中,以供他人使用。

Read More阅读更多 »

Go runtime programming

Published at发布于:: 2018-09-23   |   Reading阅读:: 3 min

Go 运行时编程

本文可能会过时。 它旨在阐明不同于常规 Go 编程的 Go 运行时编程,并侧重于一般概念而非特定接口的详细信息。

Read More阅读更多 »

A Million WebSocket and Go

Published at发布于:: 2018-07-28   |   Reading阅读:: 7 min

本文介绍了如何使用 Go 语言开发高负载的 WebSocket 服务。如果你对 WebSocket 非常熟悉,但并不了解 Go 语言,我希望你仍然能对此文所介绍的一些优化技术感兴趣。

Read More阅读更多 »

Designing Asynchronous RESTful APIs

Published at发布于:: 2018-07-01   |   Reading阅读:: 1 min

RESTful API 已经不是什么新奇玩意儿了。HTTP 的无状态性让我们在处理交互式 CS 应用中不得不使用诸如 Session、Cookie 等技术。那么我们的问题产生于:如果客户端发出的请求的在服务端需要较长的时间处理,我们应该如何设计我们的 RESTful API?这次就来聊一聊异步 RESTful API 的设计。

Read More阅读更多 »

分布式杂谈01:CAP 理论的误解

Published at发布于:: 2018-06-24   |   Reading阅读:: 1 min

最近在实践分布式和微服务系统,总算是能够把课本上学到的知识学以致用了。于是打算开一个系列来随机聊一聊分布式系统的一些知识。

Read More阅读更多 »

Issues of Human-Bot Interaction

Published at发布于:: 2018-03-31   |   Reading阅读:: 1 min

Here lists some issues when I was exploring Human-bot interaction.

Read More阅读更多 »

压缩法与深度网络的泛化性

Published at发布于:: 2018-03-26   |   Reading阅读:: 2 min

本文译自: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 都忽略了干扰因素,可训练参数的数量仅用于表示比例):

Read More阅读更多 »

Go in 1 Hour

Published at发布于:: 2018-03-21   |   Reading阅读:: 21 min

几个初步的 Go 语言特点:

  • 类型安全
  • 简洁的面向对象
  • 语言级并发
  • 垃圾回收

一共 25 个关键字:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package         包引入
import          包引入

const           常量

var             变量

type            类型

goto            流程控制
if              流程控制
else            流程控制
break           流程控制
continue        流程控制
default         流程控制
switch          流程控制
case            流程控制
fallthrough     流程控制
for    	        流程控制

func            函数相关
return          函数相关
defer           函数相关

struct          面向对象
interface       面向对象

map             数据结构
range           数据结构

go              并发相关
chan            并发相关
select          并发相关
Read More阅读更多 »

UMSLT04: The Past and Present of SGD

Published at发布于:: 2018-03-08   |   Reading阅读:: 1 min
我们终于在上一篇文章中形式化的定义了学习问题,并给出了能够统一描述回归问题、最小二乘法、最大似然估计等方法的一般形式:ERM 原则。实践过 SGD 的我们可能非常熟悉,在 SGD 族的优化下,我们并非一次性使用全部的观测样本,而是使用一个小批量的数据样本甚至一个单一的数据样本来计算网络的损失函数,再利用反向传播和梯度下降来进行非凸优化,实际上这是一种随机逼近的方法,并早在上个世纪五十年代就已经被 Robbins 和 Monroe 提出了。 随机逼近原则 随机逼近原则并不是一种经验风险最小化的归纳原则。这一原则在独立同分布数据 $z_1, …, z_m$ 对参数 $\alpha$ 最小化泛函 $R(\alpha) = \int{Q(z, \alpha)dF(z)}$。其中参数 $\alpha$ 采用这样的迭代过程 $\alpha_{k+1} = \alpha_{k} - \gamma_k \text{grad}{\alpha}{Q(z_k, \alpha_k)}, k=1,2,…,m$。迭代的步数等于观测样本的数目。并且可以证明,**梯度 $\text{grad}{\alpha}{Q(z_k, \alpha_k)}$ 和 $\gamma_k$ 的取值在很一般的条件下,这种方法至少对于线性模型是一致的**[Robbins et al 1951]。 根据 Novikoff 关于感知器的收敛定理 [Novikoff, 1962],Tsypkin 和 Aizerman 在讨论了学习过程一致性的问题,研究了能够保证学习过程一致性的两种一般性归纳原则,分别是随机逼近原则和经验风险最小化原则。这两种原则都被应用到经验数据并使风险泛函最小的一般问题上,最终发展处了两种不同的一般性学习理论: 对随机逼近归纳推理的一般性渐进学习理论 [Aizerman et al 1965], [Tsypkin, 1971], [Tsypkin, 1973]; 对 ERM 归纳推理的一般性非渐进模式识别理论,并且推广到任意基于经验数据的风险最小化问题 [Vapnik et al 1968], [Vapnik et al 1971], [Vapnik et al 1974], [Vapnik et al 1979]。 我们很容易看到,上面的的迭代步数等于观测样本步数似乎显得对数据的过度浪费,一个很自然的推广也就是现在我们非常常见的分多个时间段、多次使用训练数据。但进而产生的问题就是:什么时候必须停止训练过程?两个可能的条件:
Read More阅读更多 »

UMSLT03: A Gentle Start of Learning Theory

Published at发布于:: 2018-03-04   |   Reading阅读:: 2 min

在前面两篇文章中,我们快速的聊完了深度学习的相关历史知识,从第一个学习机器感知器的诞生、到反向传播的首次再发明、理论派和实践派对 ERM 原则的不同看法以及为学习理论能够真正学到智能从而解决 ill-posed 问题的正则化手段。在理论学派看来,自然语言性质的描述永远是不够的,我们需要发展一套理论来严密的从最一般性的原理出发,彻彻底底的解决机器学习的基础,我们常说的学习到底是什么?我们提过很多次的 ERM 到底有什么特殊之处能在起基础之上产生两个方向完全不同的学派?这篇文章就正儿八经的从符号定义出发,对「学习理论」进行形式化。

Read More阅读更多 »
6 7 8 9 10 11 12 13 14
© 2008 - 2026 Changkun Ou. All rights reserved.保留所有权利。 | PV/UV: /
0%