原創 Lachel
L先生說
以前寫過不少跟學習相關的文章,但大都是集中于某個點,欠缺系統性,
今天,我想通過這篇詳細的文章,把「學習」這個問題,簡單梳理一下,
當然,這是一個巨大的話題,難免掛一漏萬,以后有機會,再慢慢補充,形成一整個關于學習的系列,
希望能夠幫到你,
1. 框架
不少讀者朋友問過我「剛剛入門一個領域,什么都不懂,怎么學?」我的回答永遠都是一樣的:
一定要先從搭框架開始,
什么叫搭框架呢?簡而言之,就是給你的大腦一個鋪墊,讓它準備好,告訴它:在未來的日子里,我們將會大量吸收這個領域的知識,請做好理解和儲存它們的準備,
舉個例子:當你撰寫一份策劃方案、報告時,你第一步是不是先有一個整體構思,列一個大綱:我先寫什么,然后寫什么,最后寫什么 —— 接下去才開始動手?
學習也是一樣的,如果缺少了框架,你所有獲取的知識,就只是碎片資訊而已,它們會孤零零地漂浮在記憶里,難以穩固存在,也難以被你所呼叫、組織、整合,
那么,如何搭建框架,令我們的學習更加體系化呢?
我建議的方法,是去搜尋這個領域相關的經典教材,大約3-5本,然后讀一遍 —— 無需一字不漏地精讀,這太花時間了,大致翻一遍、通讀一遍,就可以,
在這個程序中,你需要思考和回答這三個問題:
- What:這個領域研究的物件是什么?有哪些主要流派和分支?有哪些常用的術語?
- Why:這個領域存在的意義是什么?為了解決什么問題?現在進展到哪里?
- How:這個領域的主要方法是什么?有哪些被廣泛承認和應用的基本成果?
舉個例子,很多讀者問「如何入門心理學」,我總會推薦幾本大部頭,像《心理學與生活》《社會心理學》《認知心理學》,很多人看到就會開始打退堂鼓:
「好幾百頁,什么時候才能看完,至少得看一年吧……」
其實你需要一頁頁把它們讀完嗎?當然不需要,也沒有必要,你先讀一下前兩章,對它們的起源有一個初步了解,再大致翻一下其他章節,了解心理學有哪些分支、分別研究什么、目前有了哪些主要成果;再著重看里面加粗的、或是章末拎出來的術語,大致理解它們的意思,就可以了,
再比如,學習哲學,你沒有必要一頁頁去翻完《大問題》《西方哲學導論》,你要做的是:整體通讀一遍,了解哲學的起源是人對自然的懷疑,主要關注的問題是本體論、認識論和倫理學,大體上可以劃分為古希臘哲學、經院哲學、近代哲學、現代哲學,每個階段都有什么特點 —— 比如近代哲學受文藝復興和啟蒙運動影響,思辨的核心從宗教轉變為人文,開始引入成熟的邏輯學、科學,開始變得多元化,等等 —— 就可以了,
這個階段,你要做的是什么呢?是博觀約取,在心里建立起一幅圖景,不要把自己局限在「作者的脈絡」里面,而是要以你心里的圖景為主,缺什么就補什么,
這在心理學上面,就叫做「圖式」(Schema),它是我們認知和理解事物的基礎,
比如:你翻完了一本書,知道哲學研究的一個問題是認識論,但你不清楚什么叫認識論,那就再翻到相關的部分多看幾遍,或是把書里所有提到認識論的內容整合起來,不必細究每個概念是什么意思、每個結論是怎么推出來的,知道它大概指什么即可,
這階段的首要任務,是把這幅圖景補全,一旦成功建立圖景,它在你未來的學習里,會起到舉足輕重的作用,
2. 概念
搭建完框架之后,你要做的,就是去把它精細化、補充完善,
在搭框架的程序里,你一定會碰到許多術語和概念,停留在「似懂非懂」的程度,很有可能存在偏差,那么,是時候把它們攻克掉了,
這個階段,你要采取的方法,就不僅僅局限在經典教材里面了,而是廣泛地搜索,
比如,學習哲學,你看到一個術語,叫「質料」,翻了一下,發現來自亞里士多德,但書里因為篇幅原因沒有詳述,那么,你就要自己去搜索這個術語,想辦法把它弄通、弄透,
比如,你可以去找亞里士多德的哲學導論、解讀,翻到相關的部分,去嘗試著理解它準確的內涵,可以找書,可以在網上搜索,可以看公開課……不拘泥于一切形式,
你要做的是:快速定位到你存在疑惑的概念,用盡可能多的資訊去攻克它,
在這個程序中,你多半又會碰到新的概念,那么,不妨繼續順藤摸瓜,循著「質料」出發,把相關的概念都納入進來,一起理解清楚,
很多朋友常見的困惑是:我怎么控制這個「度」呢?怎么避免自己不斷延伸、跳轉,陷入新的「概念海洋」里面?
我的建議就是:時時刻刻在心里自問一遍:「我是否能夠用自己的話把這個概念解釋清楚?」如果可以,并且不涉及新的概念,那就說明是時候停下來了,
比如:循著「質料」,你可能會看到「質料-形式」,跳到「四因說」……到這里就可以了,再繼續深入,就已經跟「質料」沒有太大關系了,
要時刻記住,自己出發的目的是什么,以目的為導向,給自己劃定「邊界」,
一旦你認為自己足夠理解了一個概念,就將它放回到框架里,試著用自己的話去解釋它,看是否通順、合理,如果是,那很好,繼續尋找下一個概念,以此類推,
慢慢的,當這些概念都弄通透了,你的整個框架,也就更加準確了,
3. 網路
到了這一步,你就算是正式開始入門了,
經過框架搭建和概念澄清,你會發現,之前看不懂的東西,似乎能夠大致理解了;之前想當然的地方,原來是自己的理解不夠準確;之前覺得模糊的問題,也似乎有了一些思路了,
那么,這個階段,就可以帶著下面這個問題,去閱讀、聽課、學習了,
什么問題呢?始終帶著「聯系」的思想,時時刻刻思考:我學到了一個什么知識點?它可以跟別的什么知識點聯系起來?如何構建這種聯系?
這才是學習的核心:知識的本質永遠不是資訊本身,而是資訊之間的聯系,
正是這種聯系,涌現出了超越單個資訊點總和的「系統性」,
如何思考「聯系」呢?我自己常用的方式,是把每個知識點看作一個「知識元」,它有三個突觸,分別是 what、why 和 how,
- What:話題,結構,類別
- Why:原理,原因,起源
- How:應用,解釋,結果
舉個例子,你讀到笛卡爾的「我思故我在」,你發現,他是在解釋「自我」—— 那么,就可以把它跟「自我」聯系起來,
過了一段時間,你也許會讀到丹尼爾·丹內特的「多重草稿模型」,你會發現,他從腦科學的角度,提出了一種全新的「自我」觀念,那么,同樣把它跟「自我」聯系起來,
這時,你會發現,圍繞著「自我」,「我思故我在」和「多重草稿模型」產生了某種聯系,什么聯系呢?顯然,后者是在反駁前者,提出了一種非物體的、分布式的「自我」,那么,你就可以把這兩者,建立起一種新的聯系,
進一步,你還可以去思考:為什么他們的觀點會有這樣的差異呢?如果你把笛卡爾放回之前建立的「框架」里,不難從宗教和本體論去找到他思想的根基:他的身心二元論,本質上是一種對宗教和科學的調和 —— 那么,你又可以從 why 出發,去延伸下去,
同樣,關于丹尼爾·丹內特的理論,從 why 出發,又可以延伸到腦科學、認知科學……
像這樣,把浩瀚、繁多的概念節點組合起來,就能夠組成一張網路,一張覆寫了種種學科、領域,從底層和表層,巨細靡遺的龐大網路,
這就是你的知識體系,
4. 主題
在上面的例子中,如果我們把目光,聚焦到「自我」這個概念上,會怎么樣呢?
你也許會想到「我思故我在」,想到「多重草稿」,想到休謨的「自我不過是一連串印象的集合」……這些被你嵌入知識網路中的節點,會全部顯現出來,映入你的視野,
那么,你不妨去思考一下:圍繞著這個主題,這些不同的人、不同的觀點,能夠如何整合起來?
他們的發展脈絡是什么樣的?彼此之間是什么樣的關系?為何會產生這些差異點和共同點?
這就是「主題」—— 聚焦到我們龐大知識網路中的某個細節,去拎出一個「區域網路」,
像我在 大腦的漏洞:你是如何走向狹隘和頑固的? 中所寫的內容,「事實 → 結論 → 觀念 → 信念」這么一個程序,就是我知識網路中,圍繞著「偏見」這個主題,所構成的區域網路,
有哪本書直接提到這個程序嗎?有哪本書提出過「過度簡化」「孤立記憶」這兩個詞匯嗎?其實沒有,
它們并不是心理學中的固有知識,而是我圍繞著「偏見」這個核心,把所有會導致偏見的程序,進行提煉、總結、歸納,再賦予它一個名字,所得出的成果,
同樣,「證實偏差」和「資訊繭房」,是同一個領域的知識嗎?其實不是,前者屬于心理學,后者屬于傳播學,但沒有關系,在「偏見」這個主題下面,它們就是互相補充的,
這就是「主題」的力量,圍繞一個主題,你可以把一個復雜的、抽象的程序提煉出來,變成一個新的節點;你同樣可以把不同領域的知識點放到一起,按照它們內在的相似點和共性,去總結出一個新的、更高層次的結論,
打一個比方,如果說知識網路就像一棟房子,那么「主題」,就是你在這棟房子里面,可以進行的種種活動:聚會,作業,吃飯,看電影,等等,
這些種種主題,就構成了我們對世界的認知,
5. 遷移
終于說到了遷移,
如果說前四點,都屬于「知識的積累」;那么到這里,就正式進入了「知識的應用」,
什么叫遷移?它的意思其實就是:把舊的、已知的規律、模式,遷移到新的問題、情境上面,
這個階段,最重要的是什么呢?是理解和拆解外部情境的能力,
比如這個問題:博物館著火了,你應該救一幅名畫還是救一只貓?—— 當你看到這個問題時,就應該透過表象去思考它的實質:
這個問題的實質是什么呢?是一個兩難選擇,
兩難之處在哪里?一端是價值(名畫),一端是道德(生命),
那么,你或許就會發現:它的本質是什么呢?其實就是被說濫的「電車難題」的變體而已,
再進一步,當我們面臨道德和價值的兩難抉擇時,應該如何思考呢?我們不妨求助于倫理學,
倫理學有兩個觀點,分別是目的論和義務論,前者著眼于事物的「效用」和「價值」,后者著眼于行為的動機和行為本身,只要出發點是善的,行為就是善的,
那么很顯然,把倫理學的知識遷移過來,我們就會知道:這類兩難問題并不存在答案,但透過這類問題,我們可以做的是,反思自己的立場和觀念,
比如,你是一位功利主義者,那么不妨想一想:你真的能接受一條生命在你面前消失嗎?你是一位義務論者,那么不妨想一想,你的行為真的是發自內心的嗎?是否會受到外界的影響和干預?
當然,如果你用別的知識去遷移,那得出的可能又會是別的結論,
這就是一種遷移,具體來說,就是三步:
1)在前四步積累知識時,為知識預留出「介面」(參考第四點的 how 突觸)
2)遇到新情境、新問題時,通過對問題進行拆解,找出它背后的核心,
3)把問題核心跟「介面」做對比,利用已有的知識,去應用到新問題上面,
同樣,假如你在學習編程,那么,最重要的一步是什么?就是對你想實作的效果去「拆解」,把它們用計算機能夠理解的流程、模式,描述出來,再對應到自己積累的編程知識,去「呼叫」已有的知識來解決問題,
舉個例子,假如我想在一群人里做一個「一對一匹配」的小活動,可以如何來拆解這個問題呢?
不妨思考,它最終的目的是什么?是使到相似的人盡可能地匹配上,那如何讓電腦理解「相似」呢?我們知道,計算機是不理解語言的,它只能理解數字,所以,我們只能通過數字,來實作「相似」,
那么, 一個簡單的思路就是:我們事先定義出若干個分類,再讓參與活動的人做一個問卷,依據問卷結果,把他們分配到不同的分類里面(給每個人貼上一個1、2、3……的標簽),再在同一個分類里隨機選取,
進一步,你會發現,這其實跟推薦系統的演算法也是相似的,只不過推薦演算法的輸入,換成了各種各樣的用戶行為資料,以及演算法復雜了很多,
簡而言之,結合這幾個例子,我們有哪些進行「遷移」的方法呢?
1)類比,可以去思考,這個問題跟哪些舊的問題、我們已知的問題相似,可以進行模仿和類推,
2)黑箱,不妨把這個問題視為一個黑箱,去思考:它的輸入是什么,輸出是什么,
3)抽象,不妨去掉具體情境,試著把它泛化、抽象化,提煉出它的結構和骨架,思考,它本質上是一個什么樣的問題?
6. 模型
當你進入「遷移」的階段之后,下一步,就是不斷去練習,不斷去尋找和發現新的情境,練習拆解和遷移,
在這個程序中,你也許會慢慢發現:
許多新問題之間,其實是存在一些共性的,它們雖然不同,但都可以用同一套知識模式去遷移解決,
這時,你就創造出了一個「模型」,
這也是很多人缺乏的能力,他們或許知道怎么遷移,也不缺乏練習量,但缺的是,從解決問題的經驗中,進行高層次的總結歸納、抽象出「模型」的能力,
許多我們所說的「專家」和「聰明的人」,其實比我們厲害的,也正是這一點:他們的優勢并不在于知識量的儲備 —— 那些都是靜態的,他們的長處,是擁有大量的「模型」積累,
你會發現,面對一個新問題,他們總是能夠很快把它進行拆解,并呼叫相關的知識來解決 —— 這就是模型起到的作用,
比如,我在第5點舉的例子「救畫還是救貓」中,用到的措辭是「這類問題」 —— 這其實就是一種「模型」,
再比如,我在以前的文章里,提到過很多次「動力-阻力」模型,這個模型有哪一本書提到過嗎?其實沒有,它完全是我原創的,
但是,通過這個模型,我就可以把許多相關的知識濃縮起來,去處理一系列跟決策、行為、習慣、政策……等等相關的問題,更好地思考它們和解決它們,
我常常說,要努力去創造自己的方法論,模型就是自己的方法論,你所有的知識,都是這個世界上已有的、已知的,唯有這些通過你的經驗和實踐,所得來的濃縮的「模型」,才是真正專屬于你自己的財富,
你會發現,模型跟主題非常像,它們的區別是什么呢?主題是對內的,是你圍繞知識網路中某個節點所展開的一系列「解釋」;而模型是對外的,它是將主題遷移到一系列情境上面的結果,
簡而言之,模型的本質,就是主題+情境;主題聚焦于「為什么」,而模型聚焦于「怎么做」,
當你能夠打通前五層,并且從模型的角度看待新問題、解決新問題的時候,你就已經進入「專業」的領域了,
7. 更新
最后一層,是更新,
學無止境,一個框架搭建起來,一個知識網路構建起來,它始終是「過去」,但人類的知識是在不斷發展的,你必須時刻去更新它,去更新舊的節點,更新節點間的聯系,才能讓你的知識網路保持生命力,
如何更新呢?這里,就是碎片資訊的作用了,我會在生活中,去看各種各樣的網站、博客、雜志,看一些不長的、專注于某個點的文章,并用最新的結論和觀點,去覆寫和修正我的舊觀點,
同樣,在生活中,如果我的舊觀點受到挑戰和質疑,我也會去想辦法「尋找共識」,找到自己觀點的不足和殘缺點(正),把對方的觀點整合起來(反),以達到一個更高層次的「合」,
這就是一個不斷更新知識庫、不斷升級大腦作業系統的程序,
但很多人在這一層,也特別容易產生一個問題:封閉心態,
許多人會把不同的觀點,當成是對自己的攻擊,從而下意識地啟動防衛機制,來維護自己的正確、穩定,
(具體的機制,我在 大腦的漏洞:你是如何走向狹隘和頑固的? 寫得很清楚了)
記住:只有開放的心態,能夠讓我們保持生命力,
當你的內心變得封閉,當你關上了接納和共識的大門時,你才是真正地變「老」了,
最后,簡單提幾個大家常見的問題,
1)有些人可能會覺得「我好像沒有框架」,實際上,框架是一定存在的,你之所以覺得「沒有框架」,只不過是因為它沒有被你意識到而已,
但這樣一來,就很容易造成什么結果呢?框架不完整,不準確,支離破碎,從而導致,你對新知識的接收和儲存,也是破碎的,
所以,把自己的框架「顯式化」,也是一種非常重要的能力,
2)這套理論適用于絕大多數的學習,只不過對不同領域的學習而言,每一層次的比重會有所不同,
比如,偏理論型的知識領域(比如哲學、歷史、藝術),框架-概念-網路-主題的占比可能會重一些;而偏實踐、技能型的知識領域(比如編程),框架-概念、遷移-模型的比重就會大一些,
3)大多數人的問題是什么呢?被動學習,
什么意思呢?打開一本書,從頭看到尾,忙著去思考「作者講了什么」「書的結構是什么」,全盤照收;聽一門課,忙著把課程結構、脈絡梳理出來,然后去記憶和背誦……
這樣有用嗎?也許有,但不大,你只是在復制別人的思想而已,學再多,你也只是在復述,很難真正能夠「運用」,
不要覺得跟著別人走就是捷徑,學習沒有捷徑,
4)很多人在前幾層的時候會有困惑:可是,我怎么知道我搭的框架、理解的概念是否正確?萬一錯了呢?
其實不必過分擔心,一方面,框架的搭建、概念的理解并非源于臆測 —— 你是要查閱資料來攻克它們的,這一點可以保證不會出現方向性的偏差,
另一方面,這是一個穩健的系統,框架和概念共同組合,彼此作用,如果偏差過大,那么這個框架一定是有內在矛盾的,也很容易被我們所發現,
最后,無需追求100%的正確,這既不必要也不可能,關鍵是,要保持開放的心態,在后面的學習中,時刻去檢查和更新自己的知識,這就可以了,
我們要追求的,永遠不是「絕對正確」,而是「比過去的自己更好」,
最后,再回顧一下這張圖,
馬上就 2021年了,希望能為你新的一年,注入一些動力,
新的一年,一起加油,: )
如作者所說,學習編程需要先建立自己的知識體系,在學習的程序中也要結合書籍、課程來學習,而編程尤為注重實戰,但學校的教育少了工程師培養的部分,它只負責授課,并不負責工程師的培養,
那么,新手如何在學習編程語言的同時,也擁有一些實戰經驗,或是看到專案開發實踐題時有底氣呢?
如果你對C/C++感興趣,想學編程,小編推薦一個C/C++技術交流群【點擊進入】!
涉及到了:編程入門、游戲編程、網路編程、Windows編程、Linux編程、Qt界面開發、黑客等等......
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/242213.html
標籤:其他
上一篇:C/C++編程日記:C語言遞回
下一篇:Python 中文編碼問題
