想精想怪73——黑盒學習(上)
今天要講一個焊電視機的故事。
大一結束的暑假學校有一個小學期,內容電子工程課程的「實驗」,具體事情是——焊電視機,對就是字面意義上的焊電視機。
給一塊主板,一張電路圖,電路圖上畫了主板上各個位置需要焊什麼元器件,也就是各種電容電阻二極體還有處理晶元之類的。最後焊完了接上外殼就是一台10寸左右的電視機了,有圖像有聲音的那種。
聽著挺像樣的是吧,但這個實驗存在一個巨大的問題——當時我們還沒上任何一節電子工程、數電模電方面的課程。因此實際上我們當時所能做的就是完全按照電路圖,從上到下從左到右地一個元器件一個元器件地焊,好幾百個元器件啊!最後接上電源,無論結果如何,都只能到此為止了。因為不管最後有沒有圖像、有沒有聲音,我們都不具備處理問題的能力:電路圖看不懂,主板測試不會做,兩眼一抹黑。
這幾件事的本質等同於讓一個完全沒有學習過編程的人,照抄一個1萬行代碼的程序一樣,抄完—編譯—放棄,動作一氣呵成。抄得一字不差完美通過還好,如果錯了一個地方,連編譯結果的錯誤信息都看不懂,程序調試也不會,你能怎麼辦?
我們可以把生活中的各種事情都想像成一個盒子,我們對事情的操作等於盒子的輸入,而最後得到的結果是盒子的輸出。
有的盒子我們很清楚其中的構造,知道輸入A可以輸出B,知道想輸出C就得輸入D。有的盒子我們不清楚其中的構造,不知道輸入A會得到什麼,不知道想得到C又得輸入什麼。
可以說,我們對盒子從不知道構造,不清楚輸入輸出之間的關係,到知道其中的構造,能夠掌握輸入輸出關係的過程,就是我們學習這件事的過程。大到天氣預測,小到開門修鎖,實如開車架勢,虛如學習知識,都是學習、熟練、掌握盒子的過程。當我們弄清楚盒子輸入輸出的關係的時候,也就標誌著我們弄懂這個盒子,學會這件事了。
實際上,任何事情的學習都不可能做到一開始就「全面、細緻」,大家都是從模糊的狀態開始,逐漸摸索掌握盒子中的細節,通過不斷嘗試改變輸入內容,分析輸出結果,總結輸入輸出關係,從而猜測盒子中的具體結構。
人學習知識的過程就是這麼一個嘗試、猜測、驗證的過程,比如打雷要下雨,比如蘋果會落地,比如人被殺就會死。
這是一個從不懂到懂的過程,中間必定有許多過渡的「半懂不懂」的階段,比如我們物理知識的學習就有多個階段,從慣性系統到非慣性系統,從經典力學到量子力學,前一個階段雖不能說錯,但是一定「不全面」。
但是,「從不懂到懂」的學習過程並不代表著真的可以完完全全「從0開始」,否則整個學習過程會讓人感到無從下手,一臉懵逼,就像前面說的焊電視一樣。
比如首先,你得知道盒子的輸入到底有多少個。
做一件事之前你至少應該清楚到底哪些行為可能影響到事情的結果,如果存在一些會影響結果的因素,但你又不知道,那麼你的學習過程會一片混亂。
比如你電腦上不了網,你不停地嘗試各種方法,又是重啟又是換網線又是換路由器的,結果實際上是因為你住的那一棟樓網路在維護……
這種「不清楚到底哪些有影響」的情況下,你就無法保證每一次學習、嘗試的結果和你的理解是一致的,從而得不到正確的結論。比如你第一天吃食堂結果拉肚子了,第二天吃外賣沒拉肚子,於是你得出結論「吃食堂會拉肚子」,但實際上你第一天拉肚子是因為晚上睡覺著涼了。
畢竟我們不可能控制每次對盒子進行實驗時,外部條件完全一樣,因此我們必須確定這些變化哪些是可能影響到結果的,哪些是不會影響到結果的。
同樣的,你也得知道盒子的輸出到底有多少個。
你需要了解這件事情影響的範圍有哪些,從而對其進行觀察,否則就會損失相應的因果關係,極大地延誤你了解真相的效率。
比如還是你電腦上不了網,你不停地嘗試各種方法,又是重啟又是換網線又是換路由器的,都無法解決問題。但是實際上除了「能不能上網」之外,還有很多相關信息你可以獲得,比如獲取的IP地址是否正確,能否ping通網關能等。如果你知道這些並在每一次嘗試時不僅僅觀察能不能上網,同時也觀察一下IP、網關的相關信息,你也許就會發現當更換網線後能獲得IP地址了,當更換路由器後能ping通網關了,那麼至此即使你不懂計算機網路知識,你也知道網線和網關是肯定有問題的,不至於覺得整個維修、學習過程一無所獲。
只有了解輸出有幾個,才能進一步了解這些輸出之間的關係,從而構建出更加完整的知識網路,不僅豐富了知識體系,更提升了學習的效率。
比如有4個開關,只有一種獨特的組合才能點亮燈泡,那麼你可能需要嘗試2*2*2*2=16次才行,但如果你知道其中有2個開關同時連著另外2個小燈泡,只有這2個小燈泡亮了大燈泡才可能亮,那麼你最多只需要嘗試2+2+2*2=8次就行了。
另外,你還應該知道這一個盒子是否能分成好幾個小盒子。
很多事情是可以分解成很多小一號的事情來處理的,我們沒有必要也不可能一開始就弄懂整個事情的原理,分而治之或許更好。
比如還是你電腦上不了網,心疼電腦一秒鐘……
在「上不了網」這個大盒子中,還有很多小盒子,比如打不開網頁、上不了QQ、玩不了遊戲等等,這些小盒子有彼此共通的地方,也有彼此不通的地方,我們在摸索學習的過程中並不一定需要一下就把這些盒子都弄懂,都研究清楚,完全可以一個一個來。
而且這種分而治之的思想是有助於我們定位問題的根源的,比如這次解決了打不開網頁的問題,那麼下次遇到能打開網頁但上不了QQ的問題時,就知道問題肯定不在上次那些地方,問題原因肯定在別處。
最後,上述這些問題也並不是我們在一開始接觸這個未知的盒子時就能像看說明書一樣弄明白的,生活中很多問題別說剛上手的新手,就連老司機也不一定能完全說明白輸入輸出有多少個,內部能如何劃分小盒子等等,比如量子物理中的隱函數學派就認為有一些我們未知的輸入影響著量子觀測的結果。
但是,當我們面對一個未知的盒子時,先進行外部觀察和調研,對輸入輸出、劃分子模塊有了足夠的認識,再開始實際的學習,對我們學習的效率、結果都會有很大的幫助。所謂「磨刀不誤砍柴工」,如果像開頭所說的焊電視機一樣,從一開始就一頭扎到細節、實現上去,且不說最後能不能順利學會、做好,即使電視焊出來了,也學不到什麼電路知識,頂多是提高了錫焊技術罷了。
推薦閱讀:
TAG:学习方法 |