【元方法】机器学习迷思:大势所趋和历史渣滓
大家不喜欢领导讲话,因此我每条不超过三点。
========================
零. 导言
判断趋势、预测未来很难,可能耗尽一生,所以
To question.
To trivialize.
To be dissident.
由此看来,我这个性格应该很招人讨厌,喜欢抬杠。呸,怎么能叫抬杠呢,思(si 1)辨(bi 1)!
我的日常:
0. A:To Question
『算法有效果吗,经过实际检验吗,超越了现有方案吗,超越了现有思想吗?』
『Benchmark是不是作弊,是不是自卖自夸,是不是过拟合?』
『搞个大新闻,是不是还不如以前的方案?是不是民科?』
0. B:To Trivialize
『你这个和跨领域的某某方法是不是就是换了一个名字啊?』
『你这个的几个步骤拆解下来是不是都已经有人做过你只是排列组合啊?』
0. C:To Be Dissident
『虽然你结果做出来了,可惜原理是错的』
『可惜只适用XX问题,并不是能解决所有问题的杀手算法』
『可惜很快就要被历史淹没/无意义化(Trivialize)了』
照脸怼人往往是太不礼貌了,我还是保留自己小小的喜悦吧(当然里面一部分是错误的喜悦)。顺便来参考一下照脸怒怼是怎么样的,为题主心疼1秒。
https://www.zhihu.com/question/55147335/answer/143266686
(高票答主是MXNet维护者李沐的室友,就是李沐说『我每周工作80小时,田比我努力多了』这位CMU大牛)
==========================
一:看透大势所趋的先修课有哪些?
A 吃透历史
B 看清演化路径
C 使用隐喻
A. 什么是吃透历史?以下就是吃了一半,有待吃透。
B. 什么是看清演化路径?
Fully Connected NN ->(权重共享) Skip-gram+CBOW
MA(1)—>(不同的根表征多衰减速度)MA(k)—>(摒弃定长假设)ARMA->(增加线性映射到隐标量)->HMM
Word2Vec—>(摒弃定长假设)LSTM
HMM—>(增加非线性映射到隐向量)LSTM—>(增加稳健性)BiLSTM
LSTM—->(不同层表征多衰减速度)DeepLSTM
DTW(确定性最优双射)—>Viterbi(最优概率路径)—>CTC(最优概率和路径)
C. 发现隐喻就是发现尚未编码的embedding,就是减少编码的机会。
为什么人类大量使用短编码来代替一种更本质的长编码?为什么我们往往用几个字、十几个字母的单词来表示某些含有丰富本质的事物、关系、动作?
那是因为人类交流效率极为低下,就拿刚才的 Section 1 Part B来说,如果为了照顾那些对领域知识一无所知的小白(比如2017年幼儿园小朋友的平均水平),那么几十页也写不完。但我们又需要专业分工,此时分领域的沟通速度一定会随着短编码的大量创造而提高,形成推进本领域的正反馈。在历史长河中,我们太过习惯于低效的人类间沟通了。
二历史遗留问题
历史遗留问题的存在代表着在任意时刻都有很多东西注定是历史的渣滓。比如人和人用声音传递信号的方式,在未来很可能就是一种渣滓。
人与人沟通低效/大量编码带来的问题有哪些?
问题1. 在电子领域从FIR出发推广到IIR的人,在计量经济领域从MA出发构造ARMA的人,在深度学习领域从word2vec方法出发联系到RNN的人(RNN/LSTM出现甚至比GloVe论文还早),有时他们解决不同问题时共享同一种思路(前两者),有时他们解决问题时绕开了同一种不好的假设(定长窗口比不定长窗口假设强的多),但不同领域的人并没有及时的merge知识,导致了在很多领域奉献了多年的聪明脑子陷入了局部最优。 对我而言,谦卑的查阅统计推断、信息论、随机模拟与优化方法、统计物理学共享了大量的数学、概率底层知识,而上层知识很明显缺乏整合。我们需要的是大力推广最大熵原理、贝叶斯理论、凝聚态物理来消除学科间的隔阂,寻找新的能够激发跨领域思考的知识点,而不是把学生当成机器一样放在学校的教育工厂里量产。
『君子不器』
如何解决?
跨领域沟通了很多年,领域内巨头的高傲态度是首先要解决的,要把自己的身段放低,相信长江后浪推前浪,而且机器本身正在加入后浪——我们需要虚怀若谷的态度践行谦卑二字,再来谈同时提高教育的质量和速度。
一步到位的用机器来解决、构建embedding,人类向机器供奉数据,并臣服于它们。
建立类比,发现隐喻。
(GloVe: Global vectors for word representation. )
深度学习可以帮我们建立一个类比关系(Analogy),长的就像平行四边形一样。
当你知道”Encrown” 和 “with opposite gender” 这两个词/词组的时候,对角线向量就是他俩没跑了。通常,只要像平行四边形的关系,你都可以凭借连接对角线发现进一步规律。如果刚才的对角线已经有命名了,那么在三元关系图上构建的『某种概率』,在概率高时被称为推理,在概率低时被称为比喻。如果刚才的对角线尚未被命名,这就是隐喻。如果随着技术的进步、观测能力的提高,概率高的关系竟然慢慢变的概率低了,那么这就说明发生了『科学框架的范式迁移』,我们需要重构那些『我们以为是真理/知识的意见』。由此看来,我这么讨厌罗振宇把贩卖意见包装成贩卖知识,却对量化地鉴别知识和意见暂时无能为力,也算是比较讽刺。
问题2:关于如何理解embedding的开放问题:
2.A 椅子的扶手脱离了椅子是什么?桌子的下挡板脱离了桌子是什么?组合桌子在失去它的第几条腿时,失去了『桌性』?寻找出一个数据符号的embedding之后,我们认为它等价于数据符号本身,还是符号以及它的上下文符号的加权组合?
我的意见:有些符号是更依赖上下文(尤其是带有歧义、引申义的那些),有的更独立。举例说明,客观描述,如北京市、上海市基本没有有歧义的可能,但武汉市长江大桥作为符号就有歧义了。
2.B 人类如何理解『结合上下文对符号进行embedding』?这种方法有什么问题?
我的意见:为了直观理解编码的感受野,恐怕也只能先用可视化的技术来实现了。问题在于,(对于人类的)可视化不一定是必要的,彻底的贯彻推行对于人类的可解释性,很可能仍然是因为我们人类太过傲慢,人类的脑神经也许离进化到最好还差得远。
2.C 如果人类放弃了embedding的可解释性,机器会不会突然演化成人类看不懂的超人工智能?
我的意见:从提防机器的角度上看,某天还是不要放弃可解释性比较好吧…人类确实对于未知有着好奇和恐惧,如果可解释性实在无法企及,不如让embedding计算过程变成我们身体的一部分?(New Type的既视感)
问题3: GAN:如何鉴别鹦鹉学舌
在大量短编码的使用中,混进来了不少奇怪的人(有时包括我)
把第谷的数据倒背如流,不叫理解。观察到开普勒三定律这个美妙的形式,也不叫理解。唯有牛顿定律,方可对这些天文数据宣称是『理解了』的。
可惜一家公司招聘的时候,往往是外行面试内行。为啥百度100个少帅走的差不多了?内行在外行手下无法获得愉悦,但认识其他了内行获得了更大的愉悦,就一起走了。这对很多公司都不例外。能够使用量产技术制造量产产品的公司,需要的是能够量产的人,或者直接对员工进行削足适履式的匹配。如果削足适履让员工感觉到自己被砍掉了更有价值的部分,另外谋求出路是再正常不过的。
我们回到公司招人问题的后果上:容易招聘到鹦鹉学舌的人。如果真踩雷了(太不幸了,我也踩过),还是奉劝诸位面试官先从自身找原因:你自己都没懂透的情况下,又如何确保招聘质量呢?
我联想到时下深度娱乐圈,啊不,深度学习圈的热门话题。GAN。
面试官在工作和招人的时候就需要构建有限个问题的Discriminator,每次来面试的人有时是真懂的X,有时是鹦鹉学舌的Generator(Z)。要么方案1无脑多招人来面试训练D,要么方案2还是要提高自己的知识水平:自己真懂前只有G(z),真懂后感到提高的喜悦和之前不懂的羞愧,G(Z)和X就都有了,那么训练D的水平自然是不一样的。对大部分人而言,可以考虑方案1和方案2的一个混合方案。
一个题外话:我和同事、同学的讨论涉及了如何评价对抗方法与其他算法的关系。GAN的原发性想法有点像bootstrapping(一个自助反复采样本,一个自助生成负样本)有时看上去像boosting,或者带着EM的Keans,或者带着多核RBF的SVM(更容易出错的点有更大权重,从而把噪声分布挤压到真实的目标分布)有时候看上去像manifold learning/embedding(Adversarial AutoEncoder把无监督学到的概率分布挤压到特定的目标分布)也许这并不是生成模型的终极玩法,但是无妨看看他人是怎么做的。
三 展望未来:机器学习什么会被遗忘,什么会被留下?
我的判断:
本质会被留下。表象将被遗忘。
贴近事实的弱假设模型会被留下。强假设的模型会被遗忘。
数学一路发展到最前沿技术的路径会被留下。优秀的旁支会在被吸取了精华后被遗忘。
思想会被留下,大多数项目会被遗忘。
留下的思想包括:
概率图模型结构/卷积层工具/池化与激发层工具/优化目标与损失函数设计/凸优化与非凸优化方法/在线更新技巧/序列学习方法/强化学习方法 等等。
看到这里说明缘分不浅,欢迎加入深度学习讨论的slack
DeepThinkInPy
(请在下方留下邮件,邀请制)
赶着去年年底看完了《未来简史》。我很认同这本书里对展望未来的一句话:
『你可以不同意我所描绘的那种未来。如果你真的不喜欢那种未来,那请你努力改造现在的世界吧!』(大意)