CompilerTech

导航

培训中,好奇很重要,为什么多问几个有助于理解

培训中,为什么好奇很重要,为什么多问几个有助于理解

         好奇,有一种表现形式,就是你对它感兴趣,觉得它好玩,觉得这个东西和别的东西不一样,同时也想知道它是怎么做到的,为什么会和别的不一样。

小时候,父亲常督促我“多问几个为什么能帮助你理解”。那个时候还小,完全不能理解“问为什么”和“理解”之间的关系。威严之下就哼哈答应,久而久之就当耳旁风了。不过即使现在他老人家也不能就这个问题给出一个很好的答案。

斯金纳箱实验

         下面有个非常有意思的科学试验,可以很好的回答这个问题:

 

 

 

 

 

 

 

 

 

 

 

 

图1 斯金纳箱实验

准备实验

斯金纳箱没有出口,老鼠对拉杆到底发生什么作用一无所知。

 

第一阶段

蜂鸣器突然响了,老鼠偶然碰了一下拉杆,美味的食品从里面出来了。

第一次纯属偶然,但是接二连三发生之后,老鼠开始注意到“按压拉杆”和“得到美食”之间的因果关系:拉拉杆->得到美食

第二阶段

经过第一个阶段的学习后,老鼠为了得到食物就会一个劲儿的按压拉杆。但是,即使按压拉杆也未必能获得美食。因为蜂鸣器不响时,即使去按压拉杆,食物也不会出来。反复多次后,老鼠最终意识到了蜂鸣器和拉杆+美食之间的关系:蜂鸣器响->(拉拉杆->得到美食)

这个阶段经历了数十次乃至数百次的失败尝试。

这个过程中,成功是需要多次失败来做铺垫的(失败是成功之母?),没有这种多次失败的体验,是无法正确记忆的。

所谓记忆就是通过失败和反复形成并进行强化的。

这 里还请注意,老鼠先注意到的是拉杆,然后才开始注意蜂鸣器。因为拉杆对美食出现的影响更加“直接”,当老鼠记住了拉杆和美食之后,它才开始学习蜂鸣器与 “拉杆+美食”之间的关系,这个阶段的“拉杆+美食”已经是“元操作”,就像我们筷子送食物到嘴边,无须思考就会张嘴吃食物一样。

第三阶段

假设前两个阶段蜂鸣器出现的声音都是do,现在开始蜂鸣器发出的声音是sol。将会出现什么情况呢?实验结果表明,老鼠同样会对蜂鸣器发出的sol音感兴趣,紧接着去拉拉杆。老鼠的记忆依然是:蜂鸣器响->(拉拉杆->得到美食)

大 脑认识事物是从模糊开始的,或者说大脑的记忆比较粗,不够精确,它无法区分do和sol等不同的音。或者说在当前阶段do和sol的“意义”是相同的:响 一声。但,这种模糊记忆对生命具有极其重要的意义。比如说,你第一次见到某人时,对方在飘逸的长发上扎着一条串珠丝带,穿着蓝色的连衣裙。而再见面时,她 烫了头发,戴着帽子,穿着牛仔+T恤。如果大脑将这些特征都进行了精确、严密的记忆,那么第二次见面你就把她当作别人了,这样带来的麻烦就大了。生物要想 在不断变化的环境中生存,就必须依靠过去的记忆,从而在遇到“类似”的情况时作出正确的判断。否则,在早期自然环境不断变化的情况下,记忆将会对新情况的 出现毫无帮助,那么记忆也就毫无意义的。

所以,(笔者注:在生物进化早期)对记忆而言,模糊和灵活性比起严密精确来说,更加必要。

再比如不同人写的同一个字,如果不是模糊和灵活性的存在,同一个字因为不同的人写将会当作不同的字来对待,文字还有意义吗?

大脑没有缜密的记忆吗?有,没有它生物的进化速度也将会非常慢,并且可以把它们归类为本能。雏雁或者雏鸭会跟在第一次进入眼帘的,活动的生物后面行走(冰河世纪里,小恐龙跟着树懒,也是同样情形吗?)。它们会认为第一眼看到的对象就是母亲。

从 进化论的角度来看,越是低等的动物,缜密记忆的比例就会越高。低等动物即使经历过失败,下次情形稍微不同,同样会失败,结果可能就是丢掉性命。反过来,人 类的大脑被赋予了非常大的灵活性:失败,总结经验教训,灵活处理,下次可能就成功了。这是大脑的模糊+灵活性在帮助我们。

第四阶段

这个阶段,只有当蜂鸣器发出sol音时,再拉拉杆,才会出来美食。

老鼠在一开始并不会认识到这一点,老鼠“听懂”sol当然也是经历了无数的失败后。老鼠开始形成新的记忆:蜂鸣器发出sol音->(拉拉杆->得到美食)

但是,它依然不能“听懂”fa,mi等音节,因为这些音节依然可以先“模糊”着,大脑不需要区分它们,或者区分出来没有任何意义。

脑开始从模糊的任何“声音”,开始认识到“sol”这个音节。

这点就像认识一个人,读一本书,参加一次培训,如果没有老师点“重点内容”,如果没有考试题,所有知识的细节都会被大脑的“模糊”性给“糊弄”过去。

否则的话脑将不堪重负,比如精确记忆了培训中,老师的眉毛什么样子,什么语调,什么姿势,PPT中使用了什么字体,有多少行,PPT右下角有个什么图标,有红橙黄绿蓝五种颜色,哪个同学提了个问题,他穿了什么衣服,等。

想办法“突出”某些细节,让它们有“意义”也就是脑记忆的过程。上课回答问题,考试,讲述已知知识给别人,都处于这个行列。

第五阶段

假设前面几个阶段里,sol音都是高调的,从这个阶段开始,只有当发出低调的sol音,拉拉杆,美食才会出来。老鼠大概经过30次左右的失败就能形成新的记忆:蜂鸣器发出低调sol音->(拉拉杆->得到美食)

但是,如果从第一阶段开始,一直使用高调sol音,跳过区分do音的过程,老鼠很难听懂“低调的sol”。

如果不能区分差异大的事物,那么也就不能区分这个事物中差异小的那部分。因为这个事物的差异完全被“模糊”糊弄过去了。

当老鼠学会区分do和sol之后,很容易学会区分高调的sol和低调的sol。

结论是学习要循序渐进,先从差别大的事物开始学习,再深入细节。

想起最早来公司时,一些痛苦的经历,开始阅读ExchangeInfo的代码,每行都能看懂,就是不能把它们像现在这样能按照几条线捋清楚。当然也就是遇到SMR时,几乎全部都要重新阅读一遍,在这个过程中,不断“哦,原来是这个意思!”。

几轮,十几轮之后,工作集,流程集,实时的, 非实时的, 这个大的差异可以区分了, 这其中的一些细节也就慢慢的可以区分了。

带着问题(BUG),去阅读代码,会让你抽取出更多细节,否则你就是读一千遍,你也不知道为什么,或者你也记不住,这些你曾经读过的代码也不会帮助你解决问题(记不住,就别提帮助解决问题了,就象你的工具箱里没有这个工具,你是无法使用它的)。

书籍只是人类文明进步的阶梯,记忆才是物种进化的根本基石。

                                                   ---笔者注

 

  从上述实验过程,从   拉拉杆->得到美食 到 蜂鸣器响->(拉拉杆->得到美食),到逐步理解 蜂鸣器发出低调sol音->(拉拉杆->得到美食)。都是通过增加细节训练让老鼠逐步学会的。这种训练对我们来说就可能是“考试”,“提问”,或者其它任何形式的“突出细节”的手段。

  当我们学习新东西时如果没有“突出细节”的参与,就像是实验中第一阶段的老鼠对于蜂鸣器的认识一样,因为毫无意义而完全没有认识到它的存在,被“模糊性”糊弄过去了。大脑只是得到了一个非常模糊的认识,只有当某个细节对我们有“意义”时我们才会记忆。

而好奇,从而多问几个为什么,就是“突出细节”一种方法,让大脑觉得某些“细节”有“意义”其实就是记忆过程。

 

给程序员的提示

  作为开发人员,圈内应该是有一个共识的:就是精通了一门语言,学另外一门语言也就比较快了。其背后的原因,推测应该是这样的:

     精通一门语言后,对这门语言的一些基本认知会帮助你在学习下一门语言时,多问几个为什么。并且这些问题是非常具体的,非天马行空地。比如,精通了C语言后,再学C#,意识(潜)本身会带着各种问题去认识C#:变量是如何声明的,字符串如何赋值,为什么C#没有指针,内存申请也是New吗?带着这些问题第一次读完C#语言入门应该是和第一次读完C语言入门学到的知识量是不一样的。

 

总结

  好奇是表现形式,重点是随之而来问得那几个有助于“突出细节”的问题。多问几个为什么:

  1.   一方面突出细节,至于如何提问,怎么样多问几个为什么?我会有一篇文章专门讲述,不过大致如此:
    •   与你过去经历过的事物去对比,大小,体积,颜色,
    •   又或者,设计方式,性能,等各种你认为能够提出critical 问题的。
  2.   另外一方面是在帮助大脑与已有的知识建立联系,而联系是有利于大脑记忆又一“神器”,我会在后续的文章中讲到它。
  3.   最后,如果只是“门外汉看热闹”的话,可能有助于记住你当前所在的场景(因为“好奇”,“高兴”与LTP相关),但无助于我们在这里主要讨论的问题细节。

 

 

 

posted on 2014-08-19 07:04  compilerTech  阅读(1393)  评论(5编辑  收藏  举报