超速學習(UltraLearning) — 應用在學習人工智慧領域、建立作品集網站

Polar Tsai
9 min readFeb 4, 2022

--

作者(Scott H. Young)利用很多實例來佐證他的學習理論,使得可信度更高。但既然這是讀書心得,實例的部分會直接省略,只留下準則與作者留下的準則註解進行筆記。

這是作者提出的9大法則(p.86):

  1. 後設學習:先畫一張學習地圖
  2. 專心致志:把刀磨利
  3. 直截了當:走最短的路,勇往直前
  4. 反覆操練:直擊你最大的缺點
  5. 提取記憶:用測驗來學習
  6. 意見回饋:別閃避重拳
  7. 保留記憶:別往有漏洞的桶子倒水
  8. 培養直覺:先深掘,再累積
  9. 勇於實驗:往舒適圈外探索

後設學習:先畫一張學習地圖(p.89)

後設學習(metalearning)在本書所指為「學習如何學習(Learning how to learn)」。以我所訂的應用人工智慧領域學習,透過預前了解如何取得AI相關知識,然後繪製一張學習地圖去實踐。

透過自問 為什麼、做什麼、怎麼做 ,來幫助你繪製適合自己的學習地圖

為什麼(Why):為什麼要學習?而學習大致分為兩種性質「功能性」、「本質性」。

  • 功能性 - 所指為帶有目的進行學習
  • 例如我想透過學習人工智慧領域來獲得一份能讓我整天坐在電腦桌前,然後可以不用太常跟人互動(和業務相比)的工作。在這情況下所制定的學習路徑,就應具備效率、高目的性
  • 本質性 - 則是單純興趣所致而學,例如我喜歡日文,但因為我是無求職目的所學,沒有壓力所以我不會和學英文一樣討厭學習外語(但日文能力就很慘,只會閱讀不敢說QQ 不過未來也許可以換使用超速學習來提升我的日文口說能力。攻略: p.38)

在制定學習地圖,作者認為採取與專家訪談,可以得到更能說服自己又是捷徑的路線。那這個專家,我可以去哪裡找到? 網路論壇、部落格、自己平常就會收看的神人文章,從這些地方找出專家就好,然後準備好問題,寫信給他,搞定。

(ง๑ •̀_•́)ง 不用擔心會不會打擾到專家,好好把自己真正困擾的點 好好闡述並且不要當伸手牌,把自己蒐集到的方法一併提供給專家,讓他感受到自己的萬分誠意

做什麼(What):試著畫出這份學習地圖應該如何建構,分為「概念」、「事實」、「程序」。而這部分是可以適時調整的,來更正過去的誤解

  • 概念 - 若要學習的事物不只要記憶,還需要理解的。像是我想學習的人工智慧,是比較偏應用面(AI應用),但即便如此,我依然要學習機率、統計、程式語言這類理論類的資訊,才能將模型(像是BERT)活用
  • 事實 - 需要記憶
  • 程序 - 需要練習

如何做(How)

  • 標竿學習法 - 以學習人工智慧為例,利用事前蒐集資料,蒐集像是學校的課程大綱、網路上做好的技能樹來規劃課程這種人家規劃好的課程。做好這步,就能省下很多時間走錯路
  • 強調/排除法 - 明白自己具體想學什麼。例如我想學人工智慧,但有重理論或重應用,兩者的學習路徑是有分別的,所以在學習項目的比重也要做好。
(; ・`д・´) 不花過多時間做事前準備
雖然事前研究會讓人感覺好像做了很多,有前進的感覺,但這其實不是好徵兆;或者反過來說,做了太多研究可能也會讓自己卻步。這時候就需要10%法則,這是用來踩剎車的。假如整個學習時間是6個月(全心學習),每天想花5小時讀書,總計有300小時,那研究時間就是30小時(6天)。

專心致志:把刀磨利(p.111)

問題一:無法開始專注、想拖延

→ 認清自己現在正在拖延

→ 為什麼拖延?

(◕∀◕)解方:給自己甜頭1. 覺察到自己開始想拖延時,哄哄自己「再撐個5分鐘看看,真的不行再看影片」。有時候那種想逃離的心態很快就消散。
2. 進階:番茄鐘工作法
當自己可以撐過5分鐘,換試試看25分鐘做5分鐘休息的模式,進而慢慢拉長專注時間。

問題二:無法持續專注

作者提到,能一次維持15分鐘~60分鐘的專注時間,再搭配休息時間是最好的(當然能專注得更久最好),但還是以個人的生活型態做調整。

  • 分心來源一: 環境

→ 所需具備的硬體設備是否都準備好?(誘因都消除、紙筆都準備了嗎?)

→ 讀書環境已經調整成能讓自己最具效率的模式了嗎?

  • 分心來源二: 學習任務

→ 避免陷入學習慣性的惡性狀態。

→ 例如讀一篇艱澀的文章,可能心思一下子就飄到其他地方,如果能在旁邊試著動筆記下輔助你記憶的關鍵字或試著用另一種文字紀錄難點,這種引導自己思考的事情

直截了當:走最短的路,勇往直前(p.131)

常常在學習一項新事物時,我們總是習慣先從理論 去攻克,但這樣的方式卻有個無法直接實際應用的弱點。假如我想學習Python,那目標可以試著定為「利用Python製作一個爬蟲PTT資料的小工具」透過一個具體目標學習,不僅增加趣味性,同時又能獲得一個side project。

  • 方法一:以計畫為基礎的學習

→ 如同上段所舉的例子「利用Python製作一個爬蟲PTT資料的小工具」

  • 方法二:沉浸式學習、跳脫舒適圈學習

→ 直接把你丟到英文環境學英文

反覆操練:直擊你最大的缺點(p.153)

利用不斷地訓練同一個事物來提升對該領域的熟練度。但這不就和直接學習相違背?

先直接學習,再反覆操練

沿用「利用Python製作一個爬蟲PTT資料的小工具」例子,透過這項學習,一定能發現當中有某個細節的概念特別薄弱,就可以特別針對他們反覆操練

  • 找出最需要加以練習的環節頻繁學習(狂練等)來衝破瓶頸
  • 透過別人的學習經驗來提升效率(找攻略)

提取記憶:用測驗來學習(p.167)

HOW?

  1. 快閃卡:Anki(似單字卡) >>但這比較適合語言學習,程式語言的話較不適合
  2. 試題法:自問自答,透過這個過程讓自己在腦中回想剛剛所學。但須留意出題方向太枝微末節。
  3. 自創挑戰:適合程式語言、AI學習。將學習理論時自己對於該理論的應用想像,將這些想像的問題記起來當作未來的挑戰清單。例如我在學習迴歸模型時,想到也許可將相關知識應用在門市的麵包預測。
  4. 自由回想:多多在通勤期間、洗澡期間這種充電時間思考剛剛學到的事物,慢慢內化知識。

意見回饋:別閃避重拳(p.185)

  1. 結果型回饋:好/壞、通過/不通過。透過這類最容易得到的回饋,可以快速將目前所用的學習方式進行改善
  2. 資訊型回饋:給予「哪裡做錯」的回饋。
  3. 改正型回饋:不只給你評價、哪裡做錯的回饋,還會告訴你怎麼做的更好。
(; ・`д・´) 要留意,學著篩選可用的回饋(去除噪音),不要全盤皆收。

保留記憶:別往有漏洞的桶子倒水(p.205)

記憶機制一-間隔法:用重複來記憶

  • 間隔式重複系統
  • 適用於外語學習
  • Anki是你的好夥伴

記憶機制二-程序化:習慣性會持續下去

記憶機制三-過度學習:超越完美的練習

  • 透過學習高階一等的領域知識,可以讓初階知識被訓練多次而記憶就不容易衰退
  • 例如我透過網頁爬蟲,將Python的基礎知識應用得更順暢更熟悉

記憶機制四-記憶法:一張圖可記住一千個字

  • 聯想法

培養直覺:先深掘,再累積(p.231)

規則一:別輕易放棄困難的問題

規則二:用證明過程來理解

規則三:永遠從具體例子開始

(; ・`д・´) 決定你會記得什麼的,不只是你花多少時間注意資訊,更重要的是,你在注意那個資訊時是如何思考它的

規則四:別欺騙自己

勇於實驗:往舒適圈外探索(p.253)

有三種實驗:

  1. 學習資源的實驗:透過不同教材的吸收程度來評估自己適合何種資源
  2. 技巧的實驗:從新手村離開後,選擇的轉職類型應該要是法師?輔助?坦克還是攻擊角?每種選擇所要學習的素材都不一樣
  3. 風格的實驗:當學成一個職業之後,就可以開始考慮招式可以如何連招,創造一個自己最舒適的風格

如何成功實驗?

方法一:先模仿,再創造

  • 先模仿他人的學習模組,可以避免花過多時間在處理錯誤的步驟
  • 也可從不同的學習模組學得不同的訣竅

方法二:把各種方法放在一起比較

  • 將科學實驗的精神放入學習過程,只改變單一變數,藉此觀察何種方式才是最適合自己。

方法三:採用新的限制

方法四:混和不相干的技能,找出你的超能力

  • 利用寫程式這項技能為自己設計一套學習語言的軟體

方法五:探索極限

✒ 開始我的第一個超速學習計畫

步驟一:深入研究

Q1. 打算學習的主題與大致範圍?

→ 利用50小時(兩周)製作仿Dcard網頁的作品集靜態網站,架設在github.io。

→ 動機:想建立一個容易閱讀我的作品集的簡易網站

Q2. 打算使用的主要資源

從零開始用github架設靜態網站入門

GitHub Pages — Happy Coding

Quickstart for GitHub Pages — GitHub Docs

仿ptt的在此

學習地圖

網頁框架(Django, flask)、後端語言&框架(node.js, Java spring boot)>後端

步驟二:安排時間

每天早上花4小時專注在學github page → 4(hr)*14 day(2 week)=56 hours(假日可以稍微放鬆)

步驟三:執行計畫

透過自問自答以下問題來診斷學習品質

  1. 後設學習:我已經做好足夠準備(蒐集資料、找行家請教)在籌劃這項學習計畫了嗎?
  2. 專心致志:學習過程中我能進入the zone嗎?而維持時間又是多久呢?我是否會拖延或囫圇吞棗?
  3. 直截了當:現在安排的學習計畫能讓我很直接地學得當時想獲得的技能嗎?
  4. 反覆操練:拖累我學習計畫的是哪個環節?這個瓶頸我是否有努力衝破它?無法解決時,是否嘗試過將它化為許多小步驟來一一攻克?
  5. 提取記憶:有沒有花時間複習?洗澡時或騎車時或任何機械式活動這類的空檔
  6. 意見回饋:有沒有定期請人給予回饋?記得要分好回饋類型
  7. 保留記憶:有把整個學習過程寫成技術筆記嗎?包含試錯環節
  8. 培養直覺:在技術筆記上,我的內容是否已經內化成有助於新手查看了?
  9. 勇於實驗:大膽嘗試過不一樣的學習風格了嗎?

步驟四:檢視成果

  • 把成果丟到PTT給最刁鑽的鄉民們評價
  • 檢視這個學習計畫的哪個環節可以繼續保留方法、哪些需要留意並避免再度發生

步驟五:選擇專精或維持所學

維持所學:增加網頁功能

選擇專精:製作動態網站?

GitHub — axetroy/blog: 基于Github API 的动态博客

博客文章 | Axetroy’s NeverLand

接下來,就要開始進行這個超速學習計畫了,看到這裡的各位,謝謝你們。也開始規劃屬於你自己的超速學習計畫吧!

--

--

Polar Tsai

一隻努力從商管轉職成AI應用職的小菜雞。