天天看點

新手如何自學一個領域?這裡有一份全指南1. 架構2. 概念3. 網絡4. 主題5. 遷移6. 模型7. 更新

原創 Lachel

L先生說

以前寫過不少跟學習相關的文章,但大都是集中于某個點,欠缺系統性。

今天,我想通過這篇詳細的文章,把「學習」這個問題,簡單梳理一下。

當然,這是一個巨大的話題,難免挂一漏萬。以後有機會,再慢慢補充,形成一整個關于學習的系列。

希望能夠幫到你。

新手如何自學一個領域?這裡有一份全指南1. 架構2. 概念3. 網絡4. 主題5. 遷移6. 模型7. 更新

1. 架構

不少讀者朋友問過我「剛剛入門一個領域,什麼都不懂,怎麼學?」我的回答永遠都是一樣的:

一定要先從搭架構開始。

新手如何自學一個領域?這裡有一份全指南1. 架構2. 概念3. 網絡4. 主題5. 遷移6. 模型7. 更新

什麼叫搭架構呢?簡而言之,就是給你的大腦一個鋪墊,讓它準備好,告訴它:在未來的日子裡,我們将會大量吸收這個領域的知識,請做好了解和儲存它們的準備。

舉個例子:當你撰寫一份策劃方案、報告時,你第一步是不是先有一個整體構思,列一個大綱:我先寫什麼,然後寫什麼,最後寫什麼 —— 接下去才開始動手?

學習也是一樣的。如果缺少了架構,你所有擷取的知識,就隻是碎片資訊而已。它們會孤零零地漂浮在記憶裡,難以穩固存在,也難以被你所調用、組織、整合。

那麼,如何搭建架構,令我們的學習更加體系化呢?

我建議的方法,是去搜尋這個領域相關的經典教材,大約3-5本。然後讀一遍 —— 無需一字不漏地精讀,這太花時間了。大緻翻一遍、通讀一遍,就可以。

在這個過程中,你需要思考和回答這三個問題:

  • What:這個領域研究的對象是什麼?有哪些主要流派和分支?有哪些常用的術語?
  • Why:這個領域存在的意義是什麼?為了解決什麼問題?現在進展到哪裡?
  • How:這個領域的主要方法是什麼?有哪些被廣泛承認和應用的基本成果?

舉個例子。很多讀者問「如何入門心理學」,我總會推薦幾本大部頭,像《心理學與生活》《社會心理學》《認知心理學》。很多人看到就會開始打退堂鼓:

「好幾百頁,什麼時候才能看完,至少得看一年吧……」

其實你需要一頁頁把它們讀完嗎?當然不需要,也沒有必要。你先讀一下前兩章,對它們的起源有一個初步了解,再大緻翻一下其他章節,了解心理學有哪些分支、分别研究什麼、目前有了哪些主要成果;再着重看裡面加粗的、或是章末拎出來的術語,大緻了解它們的意思。就可以了。

再比如,學習哲學,你沒有必要一頁頁去翻完《大問題》《西方哲學導論》,你要做的是:整體通讀一遍,了解哲學的起源是人對自然的懷疑,主要關注的問題是本體論、認識論和倫理學,大體上可以劃分為古希臘哲學、經院哲學、近代哲學、現代哲學,每個階段都有什麼特點 —— 比如近代哲學受文藝複興和啟蒙運動影響,思辨的核心從宗教轉變為人文,開始引入成熟的邏輯學、科學,開始變得多元化,等等 —— 就可以了。

這個階段,你要做的是什麼呢?是博觀約取,在心裡建立起一幅圖景。不要把自己局限在「作者的脈絡」裡面,而是要以你心裡的圖景為主,缺什麼就補什麼。

這在心理學上面,就叫做「圖式」(Schema)。它是我們認知和了解事物的基礎。

比如:你翻完了一本書,知道哲學研究的一個問題是認識論。但你不清楚什麼叫認識論。那就再翻到相關的部分多看幾遍,或是把書裡所有提到認識論的内容整合起來。不必細究每個概念是什麼意思、每個結論是怎麼推出來的,知道它大概指什麼即可。

這階段的首要任務,是把這幅圖景補全。一旦成功建立圖景,它在你未來的學習裡,會起到舉足輕重的作用。

2. 概念

搭建完架構之後,你要做的,就是去把它精細化、補充完善。

在搭架構的過程裡,你一定會碰到許多術語和概念,停留在「似懂非懂」的程度,很有可能存在偏差。那麼,是時候把它們攻克掉了。

這個階段,你要采取的方法,就不僅僅局限在經典教材裡面了,而是廣泛地搜尋。

比如,學習哲學,你看到一個術語,叫「質料」,翻了一下,發現來自亞裡士多德,但書裡因為篇幅原因沒有詳述。那麼,你就要自己去搜尋這個術語,想辦法把它弄通、弄透。

比如,你可以去找亞裡士多德的哲學導論、解讀,翻到相關的部分,去嘗試着了解它準确的内涵。可以找書,可以在網上搜尋,可以看公開課……不拘泥于一切形式。

你要做的是:快速定位到你存在疑惑的概念,用盡可能多的資訊去攻克它。

在這個過程中,你多半又會碰到新的概念,那麼,不妨繼續順藤摸瓜,循着「質料」出發,把相關的概念都納入進來,一起了解清楚。

很多朋友常見的困惑是:我怎麼控制這個「度」呢?怎麼避免自己不斷延伸、跳轉,陷入新的「概念海洋」裡面?

我的建議就是:時時刻刻在心裡自問一遍:「我是否能夠用自己的話把這個概念解釋清楚?」如果可以,并且不涉及新的概念,那就說明是時候停下來了。

比如:循着「質料」,你可能會看到「質料-形式」,跳到「四因說」……到這裡就可以了。再繼續深入,就已經跟「質料」沒有太大關系了。

要時刻記住,自己出發的目的是什麼。以目的為導向,給自己劃定「邊界」。

一旦你認為自己足夠了解了一個概念,就将它放回到架構裡,試着用自己的話去解釋它,看是否通順、合理。如果是,那很好,繼續尋找下一個概念,以此類推。

慢慢的,當這些概念都弄通透了,你的整個架構,也就更加準确了。

3. 網絡

到了這一步,你就算是正式開始入門了。

經過架構搭建和概念澄清,你會發現,之前看不懂的東西,似乎能夠大緻了解了;之前想當然的地方,原來是自己的了解不夠準确;之前覺得模糊的問題,也似乎有了一些思路了。

那麼,這個階段,就可以帶着下面這個問題,去閱讀、聽課、學習了。

新手如何自學一個領域?這裡有一份全指南1. 架構2. 概念3. 網絡4. 主題5. 遷移6. 模型7. 更新

什麼問題呢?始終帶着「聯系」的思想,時時刻刻思考:我學到了一個什麼知識點?它可以跟别的什麼知識點聯系起來?如何建構這種聯系?

這才是學習的核心:知識的本質永遠不是資訊本身,而是資訊之間的聯系。

正是這種聯系,湧現出了超越單個資訊點總和的「系統性」。

如何思考「聯系」呢?我自己常用的方式,是把每個知識點看作一個「知識元」,它有三個突觸,分别是 what、why 和 how。

  • What:話題,結構,類别
  • Why:原理,原因,起源
  • How:應用,解釋,結果

舉個例子。你讀到笛卡爾的「我思故我在」,你發現,他是在解釋「自我」—— 那麼,就可以把它跟「自我」聯系起來。

過了一段時間,你也許會讀到丹尼爾·丹内特的「多重草稿模型」,你會發現,他從腦科學的角度,提出了一種全新的「自我」觀念。那麼,同樣把它跟「自我」聯系起來。

這時,你會發現,圍繞着「自我」,「我思故我在」和「多重草稿模型」産生了某種聯系。什麼聯系呢?顯然,後者是在反駁前者,提出了一種非實體的、分布式的「自我」。那麼,你就可以把這兩者,建立起一種新的聯系。

進一步,你還可以去思考:為什麼他們的觀點會有這樣的差異呢?如果你把笛卡爾放回之前建立的「架構」裡,不難從宗教和本體論去找到他思想的根基:他的身心二進制論,本質上是一種對宗教和科學的調和 —— 那麼,你又可以從 why 出發,去延伸下去。

同樣,關于丹尼爾·丹内特的理論,從 why 出發,又可以延伸到腦科學、認知科學……

像這樣,把浩瀚、繁多的概念節點組合起來,就能夠組成一張網絡。一張覆寫了種種學科、領域,從底層和表層,巨細靡遺的龐大網絡。

這就是你的知識體系。

4. 主題

在上面的例子中,如果我們把目光,聚焦到「自我」這個概念上,會怎麼樣呢?

你也許會想到「我思故我在」,想到「多重草稿」,想到休谟的「自我不過是一連串印象的集合」……這些被你嵌入知識網絡中的節點,會全部顯現出來,映入你的視野。

那麼,你不妨去思考一下:圍繞着這個主題,這些不同的人、不同的觀點,能夠如何整合起來?

他們的發展脈絡是什麼樣的?彼此之間是什麼樣的關系?為何會産生這些差異點和共同點?

這就是「主題」—— 聚焦到我們龐大知識網絡中的某個細節,去拎出一個「局部網絡」。

像我在 大腦的漏洞:你是如何走向狹隘和頑固的? 中所寫的内容,「事實 → 結論 → 觀念 → 信念」這麼一個過程,就是我知識網絡中,圍繞着「偏見」這個主題,所構成的局部網絡。

有哪本書直接提到這個過程嗎?有哪本書提出過「過度簡化」「孤立記憶」這兩個詞彙嗎?其實沒有。

它們并不是心理學中的固有知識。而是我圍繞着「偏見」這個核心,把所有會導緻偏見的過程,進行提煉、總結、歸納,再賦予它一個名字,所得出的成果。

同樣,「證明偏差」和「資訊繭房」,是同一個領域的知識嗎?其實不是。前者屬于心理學,後者屬于傳播學。但沒有關系。在「偏見」這個主題下面,它們就是互相補充的。

這就是「主題」的力量。圍繞一個主題,你可以把一個複雜的、抽象的過程提煉出來,變成一個新的節點;你同樣可以把不同領域的知識點放到一起,按照它們内在的相似點和共性,去總結出一個新的、更高層次的結論。

打一個比方。如果說知識網絡就像一棟房子,那麼「主題」,就是你在這棟房子裡面,可以進行的種種活動:聚會,工作,吃飯,看電影,等等。

這些種種主題,就構成了我們對世界的認知。

5. 遷移

終于說到了遷移。

如果說前四點,都屬于「知識的積累」;那麼到這裡,就正式進入了「知識的應用」。

什麼叫遷移?它的意思其實就是:把舊的、已知的規律、模式,遷移到新的問題、情境上面。

這個階段,最重要的是什麼呢?是了解和拆解外部情境的能力。

比如這個問題:博物館着火了,你應該救一幅名畫還是救一隻貓?—— 當你看到這個問題時,就應該透過表象去思考它的實質:

這個問題的實質是什麼呢?是一個兩難選擇。

兩難之處在哪裡?一端是價值(名畫),一端是道德(生命)。

那麼,你或許就會發現:它的本質是什麼呢?其實就是被說濫的「電車難題」的變體而已。

再進一步,當我們面臨道德和價值的兩難抉擇時,應該如何思考呢?我們不妨求助于倫理學。

倫理學有兩個觀點,分别是目的論和義務論。前者着眼于事物的「效用」和「價值」,後者着眼于行為的動機和行為本身,隻要出發點是善的,行為就是善的。

那麼很顯然,把倫理學的知識遷移過來,我們就會知道:這類兩難問題并不存在答案。但透過這類問題,我們可以做的是,反思自己的立場和觀念。

比如,你是一位功利主義者,那麼不妨想一想:你真的能接受一條生命在你面前消失嗎?你是一位義務論者,那麼不妨想一想,你的行為真的是發自内心的嗎?是否會受到外界的影響和幹預?

當然,如果你用别的知識去遷移,那得出的可能又會是别的結論。

這就是一種遷移。具體來說,就是三步:

1)在前四步積累知識時,為知識預留出「接口」(參考第四點的 how 突觸)

2)遇到新情境、新問題時,通過對問題進行拆解,找出它背後的核心。

3)把問題核心跟「接口」做對比,利用已有的知識,去應用到新問題上面。

新手如何自學一個領域?這裡有一份全指南1. 架構2. 概念3. 網絡4. 主題5. 遷移6. 模型7. 更新

同樣,假如你在學習程式設計,那麼,最重要的一步是什麼?就是對你想實作的效果去「拆解」,把它們用計算機能夠了解的流程、模式,描述出來,再對應到自己積累的程式設計知識,去「調用」已有的知識來解決問題。

舉個例子。假如我想在一群人裡做一個「一對一比對」的小活動,可以如何來拆解這個問題呢?

不妨思考,它最終的目的是什麼?是使到相似的人盡可能地比對上。那如何讓電腦了解「相似」呢?我們知道,計算機是不了解語言的,它隻能了解數字。是以,我們隻能通過數字,來實作「相似」。

那麼, 一個簡單的思路就是:我們事先定義出若幹個分類,再讓參與活動的人做一個問卷,依據問卷結果,把他們配置設定到不同的分類裡面(給每個人貼上一個1、2、3……的标簽),再在同一個分類裡随機選取。

進一步,你會發現,這其實跟推薦系統的算法也是相似的。隻不過推薦算法的輸入,換成了各種各樣的使用者行為資料,以及算法複雜了很多。

簡而言之,結合這幾個例子,我們有哪些進行「遷移」的方法呢?

1)類比。可以去思考,這個問題跟哪些舊的問題、我們已知的問題相似,可以進行模仿和類推。

2)黑箱。不妨把這個問題視為一個黑箱,去思考:它的輸入是什麼,輸出是什麼。

3)抽象。不妨去掉具體情境,試着把它泛化、抽象化,提煉出它的結構和骨架,思考,它本質上是一個什麼樣的問題?

6. 模型

當你進入「遷移」的階段之後,下一步,就是不斷去練習。不斷去尋找和發現新的情境,練習拆解和遷移。

在這個過程中,你也許會慢慢發現:

許多新問題之間,其實是存在一些共性的。它們雖然不同,但都可以用同一套知識模式去遷移解決。

這時,你就創造出了一個「模型」。

這也是很多人缺乏的能力。他們或許知道怎麼遷移,也不缺乏練習量,但缺的是,從解決問題的經驗中,進行高層次的總結歸納、抽象出「模型」的能力。

許多我們所說的「專家」和「聰明的人」,其實比我們厲害的,也正是這一點:他們的優勢并不在于知識量的儲備 —— 那些都是靜态的。他們的長處,是擁有大量的「模型」積累。

你會發現,面對一個新問題,他們總是能夠很快把它進行拆解,并調用相關的知識來解決 —— 這就是模型起到的作用。

比如,我在第5點舉的例子「救畫還是救貓」中,用到的措辭是「這類問題」 —— 這其實就是一種「模型」。

再比如,我在以前的文章裡,提到過很多次「動力-阻力」模型。這個模型有哪一本書提到過嗎?其實沒有。它完全是我原創的。

但是,通過這個模型,我就可以把許多相關的知識濃縮起來,去處理一系列跟決策、行為、習慣、政策……等等相關的問題,更好地思考它們和解決它們。

我常常說,要努力去創造自己的方法論。模型就是自己的方法論。你所有的知識,都是這個世界上已有的、已知的,唯有這些通過你的經驗和實踐,所得來的濃縮的「模型」,才是真正專屬于你自己的财富。

你會發現,模型跟主題非常像。它們的差別是什麼呢?主題是對内的,是你圍繞知識網絡中某個節點所展開的一系列「解釋」;而模型是對外的,它是将主題遷移到一系列情境上面的結果。

簡而言之,模型的本質,就是主題+情境;主題聚焦于「為什麼」,而模型聚焦于「怎麼做」。

當你能夠打通前五層,并且從模型的角度看待新問題、解決新問題的時候,你就已經進入「專業」的領域了。

7. 更新

最後一層,是更新。

學無止境。一個架構搭建起來,一個知識網絡建構起來,它始終是「過去」。但人類的知識是在不斷發展的。你必須時刻去更新它,去更新舊的節點,更新節點間的聯系,才能讓你的知識網絡保持生命力。

如何更新呢?這裡,就是碎片資訊的作用了。我會在生活中,去看各種各樣的網站、部落格、雜志,看一些不長的、專注于某個點的文章,并用最新的結論和觀點,去覆寫和修正我的舊觀點。

同樣,在生活中,如果我的舊觀點受到挑戰和質疑,我也會去想辦法「尋找共識」,找到自己觀點的不足和殘缺點(正),把對方的觀點整合起來(反),以達到一個更高層次的「合」。

這就是一個不斷更新知識庫、不斷更新大腦作業系統的過程。

但很多人在這一層,也特别容易産生一個問題:封閉心态。

許多人會把不同的觀點,當成是對自己的攻擊,進而下意識地啟動防衛機制,來維護自己的正确、穩定。

(具體的機制,我在 大腦的漏洞:你是如何走向狹隘和頑固的? 寫得很清楚了)

記住:隻有開放的心态,能夠讓我們保持生命力。

當你的内心變得封閉,當你關上了接納和共識的大門時,你才是真正地變「老」了。

最後,簡單提幾個大家常見的問題。

1)有些人可能會覺得「我好像沒有架構」。實際上,架構是一定存在的。你之是以覺得「沒有架構」,隻不過是因為它沒有被你意識到而已。

但這樣一來,就很容易造成什麼結果呢?架構不完整,不準确,支離破碎。進而導緻,你對新知識的接收和儲存,也是破碎的。

是以,把自己的架構「顯式化」,也是一種非常重要的能力。

2)這套理論适用于絕大多數的學習。隻不過對不同領域的學習而言,每一層次的比重會有所不同。

比如,偏理論型的知識領域(比如哲學、曆史、藝術),架構-概念-網絡-主題的占比可能會重一些;而偏實踐、技能型的知識領域(比如程式設計),架構-概念、遷移-模型的比重就會大一些。

3)大多數人的問題是什麼呢?被動學習。

什麼意思呢?打開一本書,從頭看到尾,忙着去思考「作者講了什麼」「書的結構是什麼」,全盤照收;聽一門課,忙着把課程結構、脈絡梳理出來,然後去記憶和背誦……

這樣有用嗎?也許有,但不大。你隻是在複制别人的思想而已。學再多,你也隻是在複述,很難真正能夠「運用」。

不要覺得跟着别人走就是捷徑。學習沒有捷徑。

4)很多人在前幾層的時候會有困惑:可是,我怎麼知道我搭的架構、了解的概念是否正确?萬一錯了呢?

其實不必過分擔心。一方面,架構的搭建、概念的了解并非源于臆測 —— 你是要查閱資料來攻克它們的。這一點可以保證不會出現方向性的偏差。

另一方面,這是一個穩健的系統。架構和概念共同組合,彼此作用,如果偏差過大,那麼這個架構一定是有内在沖突的,也很容易被我們所發現。

最後,無需追求100%的正确,這既不必要也不可能。關鍵是,要保持開放的心态,在後面的學習中,時刻去檢查和更新自己的知識。這就可以了。

我們要追求的,永遠不是「絕對正确」,而是「比過去的自己更好」。

最後,再回顧一下這張圖。

新手如何自學一個領域?這裡有一份全指南1. 架構2. 概念3. 網絡4. 主題5. 遷移6. 模型7. 更新

馬上就 2021年了。希望能為你新的一年,注入一些動力。

新的一年,一起加油。: )

如作者所說,學習程式設計需要先建立自己的知識體系,在學習的過程中也要結合書籍、課程來學習。而程式設計尤為注重實戰,但學校的教育少了工程師培養的部分。它隻負責授課,并不負責工程師的培養。

那麼,新手如何在學習程式設計語言的同時,也擁有一些實戰經驗,或是看到項目開發實踐題時有底氣呢?

如果你對C/C++感興趣,想學程式設計,小編推薦一個C/C++技術交流群【點選進入】!

涉及到了:程式設計入門、遊戲程式設計、網絡程式設計、Windows程式設計、Linux程式設計、Qt界面開發、黑客等等......

繼續閱讀