机器学习与范畴论 I

上班第一周,老板说组里终于来了个懂数学的,我们有个东西一直搞不明白,论文里用到好多数学,谁都看不下去。论文在arXiv上可以找到:

https://arxiv.org/abs/1711.10455

https://arxiv.org/abs/1804.00746

本文简单介绍一下基本的范畴论(category theory),后续准备在下一篇文章中聊一聊17年11月的论文:自动微分(automatic differentiation,AD)可以实现为范畴论中的函子(functor)。再下一篇聊18年4月的那篇:梯度递降(gradient descent,GD)和反向传播(back propagation,BP)也可以实现为函子。

对深度学习稍有了解的朋友会知道,GD和BP是训练神经网络的最核心的算法,因此可以说深度学习的整个方法论(或者更广泛地说机器学习的整套理论)可以用范畴论给出描述,而且这些描述也有一些比较好的结构和性质,可以期待范畴论中的一些结论会给机器学习提供新的方法和观点。

书归正传,简单说一下范畴论。所谓范畴,包括范畴的对象(objects)、对象之间的态射(morphisms)和态射与态射的复合运算(composition)。一个容易理解的例子是:把每个集合看作一个对象,两个集合之间的映射看作态射,态射的复合就是通常意义下映射的复合,这个范畴我们记作Sets。

范畴的公理化定义除了上述数据之外,还有这些数据所需满足的公理:其一称为恒等公理,即每个对象都有个自己到自己的恒等态射(identity morphism),而且恒等态射与任何态射的复合依旧得到原态射;其二是态射之间的复合满足结合律(associativity)。

对上面的例子Sets,恒等态射就是每个集合里的恒等映射,即f(x)=x。对其他一些范畴,态射可以不是映射,对象可能也不是集合,对象里面没有元素,那恒等也就无从说起。之所以用恒等态射这个名字,是因为范畴论从最开始就是朴素集合论的一个推广,可以说数学家们第一个考虑的范畴就是Sets,很多术语也由此继承而来。Sets中的结合律即普通映射的结合律,这个结果不平凡,但是在集合论中是经典结果,有兴趣的读者可以自行证明或查阅。

其他一些常见的范畴包括:Groups—对象是所有群、态射是群同态,Vect—对象是所有线性空间、态射是线性变换(即矩阵),以上两个例子中的复合依旧是映射的复合。

到这里可能会让读者觉得范畴论只是把集合论里的东西打包而已,事实上虽然最常见的范畴是Sets的各种子范畴,但是也有很多跟大家的直觉不大一样的范畴,下面举个例子(以后打算写篇文章介绍UMAP,是最新出现的用来对数据进行降维的算法,其中的数学原理用到拓扑上的单形simplex,会用到下面这个范畴)。

任何一个偏序集可以看作一个范畴。所谓偏序集(poset,或者partially ordered set),就是集合里的元素之间可能存在序关系。序关系可以看作是广义的大小关系,满足自反性(即任何x都满足x<=x)反对称性(即如果x<=y且y<=x则x=y)和传递性(即如果x<=y且y<=z则x<=z)。所谓偏序就是说并不是集合中任意两个元素都可以比大小,一个例子是集合都包含关系,两个集合可能一个包含另一个,也可能互不包含。与偏序相对应的是良序,即任何两个元素都可以比大小,比如实数集。偏序集看作范畴,其中都对象即集合里的元素,态射就是偏序关系,态射的复合对应传递性,恒等态射对应自反性,结合律是容易验证的。

至此我们介绍里范畴的定义,某种意义上说,范畴可以看作集合的升级版(把元素升级为对象,而且对象和对象之间要有联系),那么集合论中的映射(map,数集之间的映射称为函数——function,大家可能对这个名词更熟悉一些)在范畴论中的对应是什么呢?答案是函子(functor)。两个范畴之间的函子在两个范畴中的对象之间建立联系,同时在态射之间也建立联系,并且这种联系保持范畴中的态射复合、恒等态射等结构,一个简单的示意图如下:

图中两个方框及其中的花体字母表示两个范畴,范畴中大写字母表示对象,小写字母是态射,两个范畴之间的粗箭头表示函子,细箭头表示函子在不同层次上定义的映射。进一步解释一下上面说的函子对范畴结构的保持:函子把恒等态射映到恒等态射,另外我们先对两个态射进行复合运算再进行函子作用,和先分别进行函子作用再到另一个范畴中做复合运算,得到的结果是一样的。

最简单的函子的例子,就是将Sets的子范畴映到Sets,例如将Groups映到Sets,忽略对象上的群结构,只将其看作集合,因此这一类函子叫做遗忘函子(forgetful functors)。一个稍微复杂点的例子如下图所示。

花体S即上述Sets范畴,函子P把一个集合映A到它的幂集P(A)即A的所有子集组成的集合。对图中对态射(即A到B的一个映射)f 而言,P(f)是P(A)到P(B)之间对一个态射,将A的一个子集映到该子集中所有元素在 f 下的像组成的集合,注意该集合一定是B的一个子集,所以是P(B)中的元素。可以证明P把恒等映射映到恒等映射,也保持映射间的复合运算,具体证明感兴趣的读者可自行完成,也是关于集合论的一个不错的练习。

以上介绍了范畴论中的入门知识,有这些知识,我们可以介绍1711.10455这篇论文,其中将微分构造成了函子。这些我们下一篇文章将会细说。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,064评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,606评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,011评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,550评论 1 269
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,465评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,919评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,428评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,075评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,208评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,185评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,191评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,914评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,482评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,585评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,825评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,194评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,703评论 2 339

推荐阅读更多精彩内容

  • 最近开发中用到选择国家信息的功能,用于添加电话号码的国家代号前缀,所以,在网上趴了一下,找到的是这样的一个字典。 ...
    MO了不起阅读 10,723评论 1 6
  • 好久不见,听说你又胖了? 你自信的样子真美 ▽ 哼,我可以做到的! ▽ 这身肉白长可没百长,关键时刻出击 ▽ 拍死...
    胖墩超人鋁神阅读 251评论 0 0
  • 写在前面 Java NIO(New IO) 是从JDK1.4版本开始引入的一个新的IO API,可以替代标准的Ja...
    z七夜阅读 508评论 0 0
  • 夜深了,夜里风寒,吹拂着树梢。 窗外的紫荆花,亦如雨下。 这是残花的味道,或是泥土腐败的味道。 风吹过窗台,咽咽的...
    隔壁家的斌少阅读 173评论 0 0