欢迎来到 Free Mind ,这是由 pluskid 所维护的 blog ,主要记录一些机器学习、程序设计以及各种技术和非技术的相关内容。如非特别指明,本站的文章遵循 Attribution-ShareAlike Creative Commons 协议。更多文章索引请浏览 Archive, Categories, 和 Tags。 部分文章前后有一定的关联,也可在 Series 中找到索引。早期的博客文章请参见 Free Mind 2009~2012Free Mind 2007~2009。博客内容仅代表个人观点,与雇主无关。

Expressionism and Inceptionism

我们在前一篇文章中提到,artwork,特别是比较近现代的 artwork 中的一个重要元素就是 beholder‘s share,原因在于我们人在 perceive visual stimuli 的时候,实际上在做一个 interpretation 或者甚至是 hypothesis testing 的工作,其最终结果取决于观众自己脑补过程中添加的元素。

而 beholder’s share 重要的另一个原因则在于,artwork 本身以物理世界的一种实体的方式存在,在构造过程中受到很多 constraints,其媒体形式能承载的信息量也受到限制,因此即使艺术家希望把自己的想法原封不动地传达给观众而忽略所有 beholder’s share,在我们发明人对人的意识直接拷贝技术之前,应该都是非常困难的。

Contemporary Art, Brain Science and AI — Introduction

在哥本哈根的丹麦国家艺术画廊里有这么一个小楼梯,路标箭头写着“超现实主义”,仿佛在挑战你的胆量。我不禁在想,是否这个路标本身也是一件现代艺术作品?

对于现代艺术,大概跟我一样对其非常纠结的人不算少数。如果不小心去了一个现代艺术博物馆,也必须得小心翼翼地分辨哪些是真正的艺术品哪些是工作人员临时摆在那里的杂物。时不时会在社交网络上传播的“尝试区分抽象艺术作品和五岁小孩的涂鸦”的挑战游戏,据说连许多专业人员也碰到了困难(反正我是只能随机猜)。我有一阵子甚至认真在互联网上搜索了一下,整个现代艺术行业是不是基于明星效应进行吹捧和运作的一个社会大阴谋,或者甚至是某种洗钱的工具之类的……不过并没有找到什么类似的阴谋论。

那为什么要写这篇博客呢?莫非是某个特殊的宇宙射线击中了我的脑袋,让我某天突然茅塞顿开,理解了现代艺术?当然不是,实际上我现在依然对于现代艺术、当代艺术、抽象艺术、后现代艺术这些是傻傻分不清的。不过去年暑假的时候一位友人向我推荐了两本书。出自于同一个作者 Eric Kandel,他在 2000 年基于在神经元的记忆机制方面的研究成果获得诺贝尔生理学·医学奖。两本书分别是 2012 年出版的《The Age of Insight: The Quest to Understand the Unconscious in Art, Mind, and Brain, from Vienna 1900 to the Present》和 2016 年出版的《Reductionism in Art and Brain Science: Bridging the Two Cultures》。

对现代艺术比较有了解的同学可能能认出两本书的封面分别是 Gustav KlimtMark Rothko 的代表作。看完了这两本书之后我也具有了这样的技能(认出这两幅画),但是真正对于现代艺术的理解,却还是有点无力。不过我觉得这两本书提出了一个非常有趣的视角,就是艺术与认知科学之间的联系;虽然并没有一下子打通我的任督二脉,让我彻底理解了现代艺术,但是让我找到了一些着力点,帮助我去思考现代艺术乃至于更加 general 的艺术本身。所以在希望写这篇博客来介绍着两本书,同时借题展开,聊一些我自己的想法。现代艺术现在已经发展到包罗万象,比如这罐价值约三十万欧元的艺术家的屎,不过我们这里只限于讨论绘画艺术,或者说 visual arts。

2017 风衣

当时禁不起 你我情绪的暴雨 后来美如一场风景
是年纪的笔 不知不觉地改写自己
把晴空万里 搬进我的世界里 听歌 餐叙 旅行
快乐与伤心 一一沉淀安静成四季
像候鸟飞去 留下了一个北极 我把太阳大声叫醒
还一身率性 穿上风衣我推门出去 找寻星星

2017 是我漫长的学生旅途的终结,也是一段全新的旅程的开始。寒假回家从国内买了一大堆音乐相关的书的便宜影印版,难得一年续签证意外地顺利,也难得一年没有顺道再去一次杭州,二月回到波士顿迎接大雪,兴致勃勃地堆了雪人。三月找工作。四月去法国开会,很幸运地得了 best paper,也认识了一些新朋友。由于赶回来写毕业论文,会议结束之后立刻就回了美国。五月赶一篇论文未果。六月写 PhD Thesis 和玩塞尔达荒野之息,顺便还去了一趟和 MXNet 小伙伴门一起的夏令营。七月到九月跑去伦敦实习,满欧洲地跑。十月回波士顿答辩。十一月放空,时隔五年再去滑了一次雪,摔疼了屁股,画了很多画,也录了悲怆的第二乐章。十二月从东岸飞到西岸,在悠闲的节日气氛中入职,找房子装家具,赶在年末的尾巴上去了一趟死亡谷的 Road Trip,以及在年末的尾巴尖上去了一趟夏威夷看 Lava!

Distributed Learning in Julia

我之前在这里介绍过 Julia 这个语言,提到了它的许多好的(和不好的)特性,不过有一点没有提到的是它方便的并行和分布式计算的能力,结合优质的数值计算能力,其实让它非常方便用于做分布式数据处理——比如 distributed optimization、learning 之类的任务。虽然 Julia 这些年一直在稳步发展并且每个版本都会 break 一些东西,让人需要不断地维护和修改代码有点心累,同时 community 里的第三方库也还不够强大,不过最近在做一点点 distributed optimization 相关的东西中体会到它在这方面的好处,在这里简单分享一下。一方面因为 Julia 的文档虽然比较全,但是似乎还是比较难找到一个完整的例子。本文相关的完整代码会放在这里

Plotting 3D Surfaces in Python

最近需要 visualize 一些三维的曲面数据,于是简单调查了一下 Python 绘制三维曲面的一些常用的办法,贴在这里以免自己将来再需要用到的时候又想不起来了。比如我们想要画这个样子的 3D 曲面图。

2016 无限大

那一年留在膝盖粉红的伤疤 还刻着
那些在学会奔跑疼痛的过程 都过了
好几年终于碰到肩膀的长发 刺刺的
我要的 爱情在距离永恒最靠近那次 毁灭了
像一篇还没懂得分辨谎言的 笨心得

朋友们开始问起我今年准备用哪一首歌的时候,我发现 2016 年又到了尾巴上。现在发在博客上的文章数量越来越少,以至于都快要只剩下年度总结了,不过至少年度总结是要认真写的。我想以一张今年的照片开头,但是好像虽然一年只在一转眼,要用单单一张照片来总结也还是不容易,于是就随便找一次喜欢的经历吧:深秋踩着冰凉的浪在沙滩上疯跑,裤子湿透了,爬满沙子。

Could a neuroscientist understand a microprocessor?

最近看到一篇有趣的文章叫做 Could a neuroscientist understand a microprocessor? (DOI: 10.1101/055624)。讲的是用神经科学的分析方法来把计算机微处理器当做一个黑盒子来研究。这让我想起之前听过的一个 talk,里面有提到这篇叫做 A search for life on Earth from the Galileo spacecraft 的文章。

Disable OS X System Integrity Protection

大学时代曾经一度在 Linux 和 Windows 之间挣扎徘徊,直到后来开始用 Mac,几乎是瞬间就觉得各种满意。好用的命令行加上好用的 UI,基本上不能奢求更多了。不过近年来感觉 Mac OS X 好像在某些奇怪的路上越走越远,特别是在命令行的兼容性方面经常出各种各样的事情。比如之前某次由于一个奇怪的原因需要手工恢复一部分 dotfile 配置文件,于是直接用 cp 命令从 Time Machine 的备份里把一堆文件复制过来,结果系统各种 run 不起来,后来发现好像是奇怪的权限问题,总而言之似乎是 OS X 在 shell 的基础权限之外又做了其他的权限,而 cp 不知道这些东西,所以拷贝过来的东西也用不了。由于我也不是 sys admin,对这些东西也不感兴趣,最后就用 Finder 比较麻烦地重新拷贝了一遍才好了。

不过今天要 fix 的是这个叫做 System Integrity Protection (SIP) 的东西,又叫 rootless,总之就是保护系统了。听上去感觉很有用的样子,似乎确实也很有用,不过刚出来的时候好像导致 homebrew 出了很多问题,然后最近由于 DYLD_LIBRARY_PATH 的问题终于忍无可忍决定要把它 disable 掉。

Optimization and Assumptions

因为想要熬夜看 Alpha Go 和 Lee Sedol 的围棋比赛,自己的围棋知识又没有达到能全盘 follow 看懂的地步,所以决定一边看一边写点东西。跟 AI 没有什么关系,当然非要扯上一点关系的话,可以这样来 motivate 一个话题。我们都知道人和电脑各自有一些各自擅长的东西,比如电脑擅长计算,而人脑擅长……呃,这里先留白,等我想到了再补上。总之我在最初接触 optimization 这个问题的时候其实也是这样的概念:计算机算法在这里似乎相当笨拙,比如我们经常看到类似图中的例子被用来说明当计算机面临 non-convex 问题的时候会如何陷入 local minimum 出不来。

相反对于这个例子,人“一眼”就能找到 global minimum 的位置。但是其实仔细想一想大概只是自我感觉良好而已。

The Volume of High-dimensional Unit Ball

高维度数据是现代机器学习的一个重要特点,而人脑无法直观地对超过三维的东西进行 visualize (至少我自己做不到)一直是我觉得作为一个人类最痛苦的事情之一,如果什么时候有机会做一回超人或者宇宙人什么的,能够选择技能树的话,我大概会优先选择这一项吧。正因为如此在高维空间中的许多现象看起来非常“反直觉”。比如今天我们要讲的结论是:高维空间的单位球(半径为 1 的球)的体积随着维度的增大趋向于 0。我跟一个朋友提起这件事情的时候她说这是她在听说了“奇数和整数一样多”这件事以来让她最为震惊的事情。