2022年3月26日 星期六

機器學習筆記 : 深度學習的 16 堂課 (一)

以下是我閱讀下面這本書的筆記, 這本書我這兩天已看完了, 現在回頭重讀並整理筆記, 前四章都是知識性的介紹, 到第五章後才有實作, 要上 Colab 來實際跑一跑程式碼 :



Source : 博客來


此書譯自 Addison-Wesley 2020 年出版的這本 :



Source : 博客來


以下是讀完第一章 "生物視覺與機器視覺" 的摘要筆記 (添加了我蒐集整理的資訊) : 
  1. 三葉蟲 (trilobites) 在西元前 500 多年以前就發展出視覺能力. 
  2. 現代哺乳動物大腦的皮質 (cerebral cortex) 有很大一部份都與視覺有關. 1981 年諾貝爾醫學獎就頒給了 David HubelTorsten Wiesel, 與 Roger Sperry, 以表彰他們自 1959 年開始在哺乳動物大腦神經生理學與視覺訊息處理上的貢獻. 他們的研究也啟發了深度學習中的卷積神經網路 (CNN) 的發明. 
  3. 皮質 (又稱灰白質) 是大腦中最晚演化出來的部分, 負責處理動物較複雜的行為. 皮質只有在哺乳類動物與少數爬蟲類 (例如蜥蜴與烏龜) 的大腦中才有, 參考 :
    https://www.mpg.de/12027342/molecular-atlas-reptile-brain 
    灰質 (gray matter) 位於大腦最外層, 負責為大腦進行複雜計算. 大腦的絕大部分為白質 (white matter), 它相當於是大腦中的高速公路, 負責將訊息傳送到更遠的地方. 而灰質則類似區域聯絡道路, 負責將訊息傳送到神經元以進行計算. 
  4. David Hubel 與 Torsten Wiesel 在貓的視覺皮質神經實驗中發現, 接收眼球訊息的神經元對於簡單的直線邊緣最敏感, 此外, 特定神經元會對特定傾斜角度的邊緣產生反應, 即每個細胞都對應不同的角度, 一群神經元就可以對應 360 度的角度了, 這些神經元稱為簡單神經元. 他們的系統性實驗結果建立了視覺皮質的地圖. 
  5. 皮質中的簡單視覺神經元處理過的信號會被送往一群複雜神經元, 在此不同角度的直線會被組合與消化, 變成幾何圖形的角或弧線等複雜形狀. 
  6. 受到 David Hubel 與 Torsten Wiesel 等人關於視覺神經的研究啟發, 當時任職於 NHK 視覺實驗室的日本工程師福島邦彥 (Kunihiko Fukushima, 京都大學電機博士) 於 1979 年提出了新認知機 (neocognitron), 這是一個深度神經網路, 也是最早的卷積神經網路雛形, 越前面的神經元處理較簡單的物體特徵 (例如傾斜角), 越後面的神經元則處理複雜抽象的特徵. 福島邦彥將新認知機的前兩層類神經元以 David Hubel 與 Torsten Wiesel 所稱的簡單 (S 細胞) 與複雜神經元 (C 細胞) 來命名. 福島邦彥由於在神經網路與模式識別上的貢獻, 獲頒 2021 年美國歷史最悠久獎額也最高的鮑爾獎 (Bower Award), 參考 :
    https://vitomag.com/tech/odeou.html 
    福島邦彥可以說是第一個把動物大腦神經網路模型搬到計算機上的人, 也是 CNN 網路之父.
  7. 受到新認知機的啟發, 當代深度學習大師 Yoshua Bengio 與 Yann LeCun 等人於 1998 年提出 深度學習模型 LeNet-5, 這是歷史上第一個卷積神經網路 (CNN), 借助於更大量的訓練資料與更強大的計算力, 它使用了反向傳播演算法大幅提高了手寫辨識數字的精確度 (因它能使每一層神經元更有效率地學習), 也是最早進入商用地深度學習模型. 
  8. 傳統機器學習麻煩的地方是開發者必須花費大量精力於特徵的擷取上, 此過程稱為特徵工程 (feature engineering), 首先須以複雜的演算法對資料進行預處理 (preprocessing), 將資料轉換成傳統統計工具 (例如迴歸, 隨機森林, 支持向量機等) 可處理的輸入特徵, 花費太多時間在資料加工上, 沒有餘力去建立與優化模型. 深度學習則相反, 開發者不需要去做特徵工程, 模型會自動從原始資料中萃取有用的特徵, 這是深度學習與傳統機器學習最大的不同. 
  9. 2012 年的 ILSVRC 影像辨識競賽由 Alex Krizhevsky 與 Ilya Sutskever 團隊 (都來自深度學習之父 Geoffrey Hinton 的實驗室) 的作品 AlexNet 以巨大差距拿下冠軍, 使 2012 年成為機器視覺技術的分水嶺, 此後在 ILSVRC 中取勝的隊伍, 所使用的演算法全部都是以深度學習為基礎. 到了 2015 年, 深度學習在機器視覺上更勝過人類. 
  10. AlexNet 成功的因素 :
    (1). 使用資料擴增 (data augmentation) 技術增加資料量, 使模型的訓練更加有效. 
    (2). 使用 GPU 來提升計算效能
    (3). 擁有更多神經層, 且採用了捨棄法 (dropout) 提升模型的預測準確率. 
  11. 加拿大多倫多大學教授 Geiffrey Hinton 被稱為深度學習之父, 曾領導 Google Brain, 他與Yoshua Bengio 以及 Yann LeCun 共同獲得 2019 年電腦科學最高榮譽圖靈獎 (Turing Awards).
  12. 深度學習大大地減少了建立模型所需要的特定領域知識, 使得機器學習的焦點從特徵工程轉移到深度學習的網路架構改進以及模型的鉉練. 它最大的價值就是, 隨著各式各樣的應用快速出現, 人們套用深度學習技術的能力變得比他們的專業領域能力還要重要
  13. Google 的深度學習體驗網站 TensorFlow Playgound :
    # http://bit.ly/TFplayground
    此神經網路目的是要學習網頁上橘色點與藍色點的分布情形, 它會在網頁上自動生成神經網路模型, 然後輸入任一個座標 (x1, x2), 它就能辨識此為哪一種顏色的點. 注意, 在網路學習階段, 右下角的 "show test data" 不要打勾, 因為訓練階段只能使用 train 的資料, 不可讓網路接觸到測試 (test) 的資料. 
  14. 限時塗鴉牆遊戲網頁 :
    # http://quickdraw.withgoogle.com
    按 "開始塗鴉" 後依指示畫一個物體, 神經網路會即時猜測化的是甚麼.

沒有留言:

張貼留言