描述性统计和推论性统计那个更有说服力?
清华大学计算机系唐杰教授最近有做一个主题报告《人工智能下一个十年》,先阐述了最近快速发展的算法,并思考人工智能的未来到底是什么?相信做AI的都会思考这样一个问题,这东西究竟靠谱吗?唐杰教授对未来的期望主要是说认知图谱:
认知图谱
对于解决复杂的逻辑推理问题,计算机可能只会找到局部的片段,仍然缺乏一个在知识层面上的推理能力,这是计算机所欠缺的。人在这方面具有先天的优势,而计算机缺乏类似的能力。
认知图谱的核心概念是知识图谱+认知推理+逻辑表达。希望用知识表示、推理和决策,包括人的认知来解决问题。
图灵奖获得者 Yoshua Bengio
和Yann Lecun
在最近的Neurips
和AAAI
会议上也提到过的一个方法System 1
到System 2
。基本的思想是结合认知科学中的双通道理论。在人脑的认知系统中存在两个系统:System 1 和 System 2。System 1 :是一个直觉系统,它可以通过人对相关信息的一个直觉匹配寻找答案,它是非常快速、简单的;而 System 2: 是一个分析系统,它通过一定的推理、逻辑找到答案。二者相辅相成。
在 System 1
中我们主要做知识的扩展,在 System 2
中我们做逻辑推理和决策。比如System 1
提供解决问题的方法,而System 2
则决策这个方法是否合理,并提供有效信息给System 1
,System 1
基于此再做知识扩展。
比如自然语言处理中,System 1
是一个直觉系统,我们用 BERT
来实现,实现了以后,我们就可以做相关的信息的匹配;System 2
就用一个图卷积网络来实现,在图卷积网络中可以做一定的推理和决策。
可以看到基于推理的算法似乎比单纯的基于统计的算法更让人兴奋。事实确实如此,那更具体一点的描述会是什么样子的呢?
举例说明
为什么说基于一定推理的统计会比单纯的统计会好一点呢?或者说更偏向通用人工智能呢?
举个例子:共有11 个罐子,标记为 μ ∈ { 0 , 1 , 2 , ⋯ , 10 } \mu \in \{0,1,2,\cdots,10\} μ∈{0,1,2,⋯,10}, 每个罐子里装着10 个球。罐子 u u u 中装着 u u u 个黑球和 10 − u 10 - u 10−u 个白球。小明随机地选定罐子 u u u, 并从这个罐子中有放回地取球 N N N 次,结果 n B n_{B} nB 次抽到黑球, N − n B N-n_{B} N−nB 次抽到白球。小明的朋友小红在一旁观看。
先求一个后验概率分布,看一下求解过程:
如果 N = 10 N=10 N=10 次后抽到 n B = 3 n_{B} = 3 nB=3 次黑球,那么从小红的角度来看,小明所选罐子是 u u u的概率是多少?(注意:小红并不知道 u u u 的数值。)
解答:其实就是要求 P ( u ∣ n B , N ) P(u|n_{B},N) P(u∣nB,N),利用贝叶斯定理将其展开可得:
P ( u ∣ n B , N ) = P ( u , n B ∣ N ) P ( n B ∣ N ) = P ( n B ∣ u , N ) P ( u ) P ( n B ∣ N ) \begin{aligned} P\left(u | n_{B}, N\right) &=\frac{P\left(u, n_{B} | N\right)}{P\left(n_{B} | N\right)} \\ &=\frac{P\left(n_{B} | u, N\right) P(u)}{P\left(n_{B} | N\right)} \end{aligned} P(u∣nB,N)=P(nB∣N)P(u,nB∣N)=P(nB∣N)P(nB∣u,N)P(u)
对于所有的 u u u,其边缘概率 P ( u ) = 1 11 P(u)=\frac{1}{11} P(u)=111(或者称作 u u u的先验概率)。
如果选定罐子 u u u,那么抽中黑球的概率 f u = u 10 f_{u}=\frac{u}{10} fu=10u,此时 P ( n B ∣ u , N ) P\left(n_{B} | u, N\right) P(nB∣u,N)(称作 u u u的似然)可表示为:
P ( n B ∣ u , N ) = ( N n B ) f u n B ( 1 − f u ) N − n B P\left(n_{B} | u, N\right)=\left(\begin{array}{l} N \\ n_{B} \end{array}\right) f_{u}^{n_{B}}\left(1-f_{u}\right)^{N-n_{B}} P(nB∣u,N)=(NnB)funB(1−fu)N−nB
而 P ( n B ∣ N ) P\left(n_{B} | N\right) P(nB∣N)是 n B n_{B} nB的边缘概率,利用加法律得到如下等式:
P ( n B ∣ N ) = ∑ u P ( u , n B ∣ N ) = ∑ u P ( u ) P ( n B ∣ u , N ) P\left(n_{B} | N\right)=\sum_{u} P\left(u, n_{B} | N\right)=\sum_{u} P(u) P\left(n_{B} | u, N\right) P(nB∣N)=u∑P(u,nB∣N)=u∑P(u)P(nB∣u,N)
其实就是来个某个罐子 u u u的情况除以所有的情况。在 n B = 3 n_{B}=3 nB=3 时, u = 0 u=0 u=0 的后验概率等于0, 因为如果小明是从罐子0 中取球,则不可能取到黑球。 u = 10 u=10 u=10 时的后验概率也等于0, 因为这个罐子中没有白球。
其计算结果如下图所示:
假定小红在 N = 10 N= 10 N=10次抽取中观察到黑球出现了 n B = 3 n_{B}=3 nB=3 次,让小明从同一罐子中再抽取一个球。下面抽得的球是黑球的概率是多少?
解答根据加法律,有:
P ( 球 N + 1 是黑球 ∣ n B , N ) = ∑ u P ( 球 N + 1 是黑球 ∣ u , n B , N ) P ( u ∣ n B , N ) P\left(\text { 球 } N+1 \text { 是黑球 } | n_{B}, N\right)=\sum_{u} P\left(\text { 球 } N+1 \text { 是黑球 } | u, n_{B}, N\right) P\left(u | n_{B}, N\right) P( 球 N+1 是黑球 ∣nB,N)=u∑P( 球 N+1 是黑球 ∣u,nB,N)P(u∣nB,N)
因为球是从给定的罐子中取出并放回的,所以无论 n B n_{B} nB和 N N N 的值是什么,概率 P ( 球 N + 1 是 黑 球 ∣ u , u B , N ) P( 球N+1 是黑球|u,u_{B} ,N) P(球N+1是黑球∣u,uB,N)等于 f u = u / 10 f_{u}=u/10 fu=u/10。于是有:
P ( 球 N + 1 是黑球 ∣ n B , N ) = ∑ u f u P ( u ∣ n B , N ) P\left(\text { 球 } N+1 \text { 是黑球 } | n_{B}, N\right)=\sum_{u} f_{u} P\left(u | n_{B}, N\right) P( 球 N+1 是黑球 ∣nB,N)=u∑fuP(u∣nB,N)
利用图(2.6) 中给出的概率 P ( u ∣ n B , N ) P(u|n_{B},N) P(u∣nB,N)的值,可得:
P ( 球 N + 1 是黑球 ∣ n B = 3 , N = 10 ) = 0.333 P\left(\text { 球 } N+1 \text { 是黑球 } | n_{B}=3, N=10\right)=0.333 P( 球 N+1 是黑球 ∣nB=3,N=10)=0.333
那上述过程如果用统计的思想来做,首先选取看上去最可能的假设(在这里,最可能的罐子是罐子 u = 3 u =3 u=3), 然后假设该假设为真,并做出预测(这会得出这样一个结果:下一个抽得的球是黑球的概率为0. 3) 。
而正确的预测会通过在假设 u u u 的所有可能值上进行边缘化(marginalize) , 把不确定性考虑进去。这里的边缘化会给出一个更合适的、不那么极端的预测。
可以看到,基于贝叶斯的学习算法比单纯的统计学习更好一点。
参考资料
- 清华大学唐杰教授-《人工智能下一个十年》
- 《信息论、推理与学习算法》
- From System 1 Deep Learning to System 2 Deep Learning:https://drive.google.com/file/d/1zbe_N8TmAEvPiKXmn6yZlRkFehsAUS8Z/view