在学习中,人们常常会遇到类似下面的困境:
看《如何写小说》的教程时,里面的案例分析全都看懂了,可一旦让自己下笔,还是写不出来。
学习数学中的矩阵、向量等概念时,都能理解,可从来没有在生活中应用过,感觉这些知识没用。
引入「方向视角」后,这些困境就能被更清晰地理解和描述。「方向视角」是最常用、最基础的学习分类方式,没有之一。
课程原本计划将「学习类型」「学习材料」和「学习方式」分为三章逐个讲解,但这样有可能使大家难以联系到一起,所以现在决定在介绍每一个视角时,同时讲解「类型」「材料」和「方式」。
接下来,我们就从「如何判别方向视角下的学习类型」开始讲起。
此前讲过,任何知识都由「下层」和「上层」两部分构成:
下层:包含着「实践对象」
上层:包含着「抽象规律」
应用知识时,我们是利用「上层的规律」来指导「下层的实践」。只有将下上两层连接起来,形成一个「整体结构」,才算真正学会了一个知识。
那么,我们就可以基于“连接的方向”,将「学习(渐构)方式」划分为两种:
一种是「从下层出发,向上层连接的渐构方式」。我们称其为“自下学习”或“自下渐构”。
一种是「从上层出发,向下层连接的渐构方式」。我们称其为“自上学习”或“自上渐构”。
例如,在先前“拽枯草”的故事中。你经历的「3根枯草拧在一起,拽起来费力」「5根拧在一起,更难拽断」等事件是「下层的具体现象」。随后你抽象出「干植物」「根数」「拽断所需力」,并由这些概念渐构出「干植物拧在一起的根数越多,拽断所需力越大」,便是「上层抽象规律」。这种从「下层具体现象」出发,向「上层抽象规律」连接的渐构方式便是「自下学习」。
而故事中你的小伙伴,是先从「干植物拧在一起的根数越多,拽断所需力越大」,也就是你对「上层抽象规律」的表述开始出发,向「下层的具体现象」进行连接,成功渐构出知识,还应用知识做了一个草绳秋千。这种学习方式便是「自上学习」。
下面我们同样要补充一些学习材料,来帮助大家校准「自下学习」和「自上学习」所指概念的外延。
首先,要避免把「自下学习」误解成「基于直接经验的学习」。
「自下学习」可以基于「亲身经历的直接经验」,也可以基于「他人告知的间接经验」。
假如在“枯草故事”中,你不告诉小伙伴「你总结的抽象规律」,只告诉他「3根枯草拧在一起,拽起来费力」「5根拧在一起,更难拽断」等「你经历的具体事件」,让其自己向上抽象和归纳。那么,小伙伴的学习便会是「自下学习」,而且是基于「间接经验」的「自下学习」。
我曾在《断墨寻径》的科普视频中,用“归纳学习”来命名「自下学习」,用“指令学习”来命名「自上学习」。但后来发现这两个名字起得不是很好。原因有两点:
“归纳学习”是以「学习方式(即归纳)」来命名,而“指令学习”则是以「学习材料(即指令)」来命名。名称上不如“自下”和“自上”工整。
其次,「自下学习」虽然包含「对下层对象的归纳」,但“归纳学习”的名称,容易让人误解成“仅用归纳思维来进行的学习”。可实际上,「自下学习」的过程中,也可以运用「其它知识的演绎和类推」,并无思维方式的限制,只不过这些方式最终会服务于「目标知识的归纳」。
例如,一个学生在学习「等差数列求和公式」时,可以从下面的几个「具体实例」出发:
1+2+3+...+100 = (1+100)×100/2 = 5050
2+4+6+...+50 = (2+50)×25/2 = 650
5+10+15+...+200 = (5+200)×40/2 = 4100
过程中,不仅会涉及「对三个例子的归纳」,同时还涉及「加法交换律的演绎」,还可以涉及「梯形面积公式的类推」,最终从「下层的具体实例」,连接到「上层的抽象规律」,即「首项加末项乘以项数除以2」。
相同的原因,也不应将「自上学习」误解成"仅用演绎思维来进行的学习"。
“自下”和“自上”仅表示「连接下层和上层时的方向」,并不是以「思维方式」为视角所划分的类别。
我们再来说说「创验学习」和这两类学习之间的关系。
第一个问题便是:只有「自下学习」才能创造「新知识」吗?
这个问题的答案,并没有那么直接,还取决于我们如何定义"新知识"。
试着考虑下面的情况。
「任意一个偶数与任意一个奇数的和」属于「奇数」。这是一个知识,而且这个知识的创造,并不需要「具体实例的归纳」,仅用「既有知识」就能推理而出:
1. 写出偶数和奇数的表达式:
偶数为2k,奇数为2m+1(k和m都为整数)
2. 相加并简化:
2k+(2m+1)=2k+2m+1=2(k+m)+1
3. 根据(k+m)为整数,得到2(k+m)+1为奇数
创造该知识的过程中,运用到了下面几个「既有知识」:
「偶数的定义」
「奇数的定义」
「加法结合律(2k+(2m+1)=(2k+2m)+1)」
「乘法对加法的分配律的逆操作(2k+2m=2(k+m))」
「整数加法的封闭性(整数+整数=整数)」
由此可见,我们确实能仅通过运用「若干个既有知识」推出「另一个知识」。那么,“是否只有自下学习才能创造新知识”的答案,就取决于我们如何定义“新知识”了。
「观点 A」认为:上面这种情况,得出了「新的概念间关系」,因此属于「"新知识"的创造」。
「观点 B」认为:上面这种情况,只是运用「逻辑」,将「既有知识」中「原本就蕴含的结论」显性化,并没有扩展「既有知识的边界」,因此不属于「“新知识”的创造」。这也是为什么,一些《逻辑学》教材中,有“逻辑不创造新知识”的说法。
可以发现,两种观点对“新知识”采用了不同的定义。此前讲过,定义问题没有对错之分,两种观点都可以。
本课程也认可“演绎是将既有知识中本就蕴含的结论显性化”的观点,但对「新知识」的定义,将采用「观点 A」中的,因为它更便于「描述学习现象」。如果采用「观点 B」中的“新知识”定义,只有当学习者掌握了「既有知识所蕴含的全部结论」时,才算“真正学会了”。这种定义难以操作,不利于评估学习成果。
更重要的是:课程关注的是「人的学习」,而人是有局限性的,没有上帝视角。人脑是依靠「概念间关系」来认识世界的,当「概念间关系」发生变化时,就会被大脑视为不同的事物。
因此,最后的回答是「自上学习也可以创造新知识」。
注意:当听到有人说“逻辑不产生新知识”时,切莫单纯认为对方错了。因为现实活动不是学校考试,没有统一的定义,不同人所说的“新知识”一词,未必指代同一个概念。在某些目的下,观点B中的定义反而更适合。所以,面对这些结论,一定要结合词语的定义去理解,避免继续沿用校园阶段的“标准答案思维”。
课程也会在后续章节对「新知识」给出更详尽的定义。
还要注意:自上学习创造知识时,仍需要数据。尽管严密地演绎推理可以确保结论的正确性,但我们并不知道自己的推理过程「是否真的没有疏忽」,也不知道自己是不是产生了判联错配,套错了数学公式,所以,还是需要数据来检验。
可能有人觉得“自上学习所学的知识,仅有上层,没有下层”。
这是一个常见的误解。实际上,自上学习所学的知识也有下层,没有下层意味着「没学会」。
例如,「龙」是前人虚构出来的概念,后人可以将「龙」作为「认识对象」,以「自上学习」的方式来学习。当一个人凭借“龙是具备蛇身、鹿角、鹰爪、鱼鳞的神兽”的抽象描述,成功学会「龙」的概念后,就能够在看到任何一个「具体的龙」,哪怕是「未见过的具体的龙」时,也能判别到「龙」的概念下,如下面的两张图。这便是形成了「下层」。
如果没有「下层」,就意味着无法判别一个具体现象是不是「龙」,当然也就是没有学会「龙」这个概念。
其实,「自上学习」和「自下学习」都一样,都需要渐构模型。「自下学习」是先从「具体对象」渐构出「判别模型」,然后指导下层。「自上学习」是直接根据「抽象描述」渐构出「判别模型」,指导下层。
很多人学习数学概念时,其实就处于「仅有上层,没有下层」的“半会不会”的状态,导致学习者见到具体问题,也无法将其判别到对应的数学概念下,更别提应用数学公式了。
额外一提:
「新的数学知识」主要是通过「自上学习」来创造的。
「新的科学知识」主要是通过「自下学习」来创造的。
不少人在质疑「某个知识是否可信」时,习惯问一句“怎么证明?”这种提问并不适用于所有知识。
对于「自上学习所创造的知识」,如「数学定理」,可以被「证明」(如勾股定理的证明)。
对于「自下学习所创造的知识」,如「科学定律」,无法被「证明」。人们接受一个「科学模型」,只是因为它「尚未被证伪」或「普遍性超过可接受的概率」。
所以,对于「数学知识」,可问“如何证明?”,而对于「科学知识」,该问“实验结果如何?”或“如何验证?”(这里的验证指的是怎么设计实验来验证,但永远无法证明为真,只能一定概率上为真)。
还有一点值得注意:不少人因为“归纳无法保证正确,演绎只要前提对结论就对”,便觉得“归纳不如演绎可靠”。
这是一个常见的误解。甚至不少网络科普文章也这样介绍归纳和演绎,形成了“推崇演绎、贬低归纳”的倾向。
其实,“归纳不必然正确,演绎前提对结论就对”这句话本身没错,但它没说清全貌,容易让人草率地得出“演绎比归纳更可靠”。
「归纳」和「演绎」分别对应着「一个知识」的「建构阶段」和「使用阶段」,若要比较二者,也要围绕「同一个知识」的「归纳」和「演绎」来比较。
「归纳」相当于「造一个锤子」的阶段,「演绎」相当于「用这个锤子」的阶段。我们不可能总结说“「造锤子」不保证成功,「用锤子」只要锤子好,就一定成功,所以「造锤子」不如「用锤子」可靠”。因为我们都知道,“用得稳”本就建立在“造得好”的基础上。
那么为什么对「归纳」和「演绎」,人们却把“造”和“用”分离和对立,还得出类似“造不如用”的结论呢?
原因在于:人们把「对不同知识」的「归纳」和「演绎」混在一起比较了,把「本该比较的归纳」忽略了,导致人们误以为「演绎的正确性」是由「演绎」本身提供的。但实际上,「演绎」只是「知识的应用」,本身不提供任何正误,「演绎所得结论是否正确」,取决于「所用知识(大前提)是否正确」,而所用知识(大前提)追根溯源,还是「归纳」而来的。
举个例子,“女人非永生”这个知识,可以来自两种方式:
归纳A:由“李清照非永生”“武则天非永生”等个例归纳而来。这种方式,不保证正确。
演绎B:由“人非永生”这个大前提演绎而来。这种方式,只要“人非永生”正确,就一定正确。
看上去似乎「B演绎」比「A归纳」更可靠,但这里其实涉及四个环节:
归纳A:对「女人非永生」的归纳
演绎A:对「女人非永生」的演绎
归纳B:对「人非永生」的归纳
演绎B:对「人非永生」的演绎
「演绎B的正确性」取决于「人非永生」,而「人非永生」又是「归纳B」得到的。我们需要把「演绎B」和「归纳B」进行比较,才能意识到这一点。
然而,如果把围绕不同知识的「演绎B」和「归纳A」进行比较,就会忽略「归纳B」的存在,进而得出“归纳不如演绎可靠”的错觉。
所以,为了避免这种误解,建议大家以后不要单说“归纳”和“演绎”,而是要把「知识」带上,说“对知识A的归纳”或“对知识B的演绎”。
最后我们再借机讲讲「公理和定理的区别」。
你可能也好奇过,为什么都是数学知识,有的叫“定理”,有的却叫“公理”?
数学以演绎(证明)闻名,所谓“定理”就是依靠「某个知识A(大前提)」演绎(证明)出来的知识。若按照“逻辑不创造新知识”的说法,这个定理是「知识A」中已蕴含的结论。
但「知识A」也需要证明,就需要依赖另一群「知识B」,「知识B」的证明又依赖「知识C」。当我们不断溯源,就会追溯到「没有其它知识可以证明的知识」。这种知识就是「公理」,即「不可被证明」,但为了演绎,就需要将它认作为真。而用于进行演绎的「公理」,其实就来源于对生活现象的「归纳」。
不过,也有不是归纳而来的「公理」。因为数学不是科学,不必非要反映现实,可以根据「凭空构思的公理」,推演出一个另类的“数学宇宙”。这个“数学宇宙”就跟此前提到的“魔法规则”没什么区别了。而这种「凭空构思的公理」就不算「归纳」而来的了。
接下来我们说说「自下学习」和「自上学习」各自的优势和不足。