撰文者/魏嘉宏
不諱言,工程科系出身的我,數學理論較弱。
課堂上的講師,不會將太艱澀的數學理論推導介紹給同學,比較著重於這套數學公式的目的,比方說結合圖片說明如何找出最低的損失函數,為何有些損失函數容易訓練失敗。當進階到類神經網路時,資料集可能相當龐大,也無法保證一次就訓練到位。我們可以透過批次方式進行訓練,而每批epoch的次數不用過多去驗證函式本身的損失有無明顯的降低;測試的效果是否同訓練的效果一樣好,避免overfitting。
入門階段是 ”理解並學會使用model” 比 “ 設計model” 來得重要。因設計或修改model除了理論基礎外,也需要花費更多時間與耐性地去驗證每次的資料輸入後,model仍具有較高的accuracy、precision、recall以及最低的loss。程式語言雖然是個人的吃飯工具,但若沒有一定的理論基礎,勢必會對相關就業發展有侷限性,無法知道原理即無法很好地利用各種框架或函式輔助去訓練model。
建議未來的學弟妹,錄播課一定要親手下機去練習;隔週的直播課作業就要當作專題或個人作品來看待 ,如果真的都不會,先從模仿做起。模仿完之後,要問自己還有哪裡不懂。
1、學習內容與規劃層面:
課程規劃上配合直播課程前的內容,非常充實。讓學員可循序漸進地從語言基礎、機器學習再延伸到類神經網路。
2、學習前後收後與差異:
整體課程參與後,對於機器學習與深度學習有更深刻的認識。透過實作,可讓自己誠實地面對問題。比方說類神經的網路,其中間層往往不只一層,model設計者為了輸出達到最佳的效果,透過enode-decode方式增加中間層的層數處理,而這些處理往往又跟數學理論有關。所以思考如何更有效地利用課程資源、網路資源或者參考坊間書籍,變成學員學習期間甚至學程結束後的課題。