VR|亚马逊沐神 | 博士这五年( 三 )


Alex跟我说 , 你去读读Jure Leskovec的文章 , 学学人家怎么讲故事 。 我在Google也尝试用了些用户GPS数据来对用户行为建模 。 可是写文章的时候怎么也写不出Jure的那种故事感 , 发现自己不是那块料 。 这篇文章因为用了用户数据 , 恰逢Snowden让大家意识到隐私的重要性 , 历经艰辛删了一半结果Google才允许发出来 。 有些累觉不爱 。
不过在Google期间我主要时间花在研究内部代码和文档上 。 Google的基础架构很好 , 文档也很健全 。 虽然没有直接学到了什么 , 但至少是开了眼界 。
第二年:9/13-8/14
这学期上了Tuomas Sandholm的机制设计 , 此乃另一大神 , 例如最近德州扑克赢了专业选手 , 之前开公司也卖了上亿 。 不过这门课我是完完全全没学懂 , 连承诺的课程大作业都没怎么做出来 。 之后的两年里我一遇到Tuomas他都会问下有什么进展没 。 我只能远远看见他就绕开 。
NIPS被拒了 , 发现审稿人不懂线程和进程的区别 , 有点沮丧 。 隔壁实验室一篇想法类似但简单很多的论文倒是中了oral , 所以那阵子压力很大 。 Alex安慰说这种事情常有发生 , 看淡点 , 然后举了很多自己的例子 。
之后想了想 , 一篇好文章自然需要有足够多的“干货” , 或者说信息量 ,但一篇能被接受的文章需要满足下面这个公式:
文章的信息量 / 文章的易读性 < 审稿人水平 * 审稿人花的时间 对于机器学习会议 , 因为投稿量大 , 所以审稿人很多自然平均水平就会下降 。 而且很多审稿人就花半个小时到一个小时来读文章 , 所以公式右边数值通常是很小 , 而且不是我们能控制 。
如果文章的信息量不大 , 例如是改进前面工作或者一些简单的新想法 , 那么公式成立的概率很大 。 而对于信息量大的文章 , 就需要努力提升易读性 , 包括清晰的问题设定 , 足够的上下文解释等等 。 而前面投的那篇NIPS , 以及更早的那个被拒工作 , 就是因为我们假设了审稿人有足够多的相关专业知识 , 而我们塞进了太多干货使得大家都读糊涂了 。
即使对于已经发表的文章 , 上面那个公式同样可以用来衡量一篇论文的引用率 。 例如经常见到干货很多的文章没有什么人引用 , 而同时期的某些工作就是考虑了其中简单特殊情况结果被大引特引 。
接下来的半年我主要在做一个通用的分布式机器学习框架 , 是想以后做实验方便些 。 名字就叫parameter server , 沿用了Alex 10年论文提出的名字 。 花了很多时间在接口设计上 , 做了好几个版本实现 , 也跑了些工业界级别的大规模的实验 。
不过真正花了我大量时间的是在写论文上 。 目标是把这个工作投到OSDI上 , OSDI是系统界两大会之一 。 我们预计审稿人跟Dave两年前状态差不多 , 不会有太多机器学习和数学背景 , 所以需要尽量的少用公式 。 整整一个月就花在写论文上 , 14页的文章满满都是文字和示意图 。 不过努力没有白费 , 最终论文被接受了 。 随后又花了好几周准备大会报告上 。 相对于平时花一周写论文 , 两三天准备报告 , 这次在写作和报告水平上有了很大的提升 。 没有放进去的公式和定理投了接下来的NIPS , 这次运气很好的中了 。
有了文章后稍微心安了点可以更自由的做些事情 。
寒假回了趟国 , 跑去百度找了凯哥和潼哥 。 潼哥说他最近有个想法 , 于是快糙猛的把实验做了然后写了篇论文投了KDD 。 同时期Alex一个学生也把他一个一直想让我做但我觉得这个小trick不值得我花时间的想法投了KDD , 结果中了最佳论文 。 作报告那天我在的会场稀稀疏疏几个人 , 他们隔壁会场人山人海 。 这个使得好长一段时间我都在琢磨是不是还是要跟着导师走比较好 。