缺失何在?當下機器學習教育的短板

  

  大數據文摘出品算法

  來源:thegradient網絡

  編譯:Fisher架構

  隨着機器學習的日益流行,網上出現了愈來愈多的在線課程,個個都說本身在教「開創AI職業生涯」的必備技能。框架

  不過,在註冊一門課以前,你應該瞭解你將要get的技能究竟可否直接幫你把機器學習玩得更轉。這點不僅限於在線課程,也針對不少大學裏開設的機器學習課程——學生們趨之若鶩的這些課程,真的能幫他們達成他們的實際目標嗎?機器學習

  機器學習教育的現狀函數

  在參與過一所AI方面頂尖大學的機器學習基礎課程的主幹以後,我發現了大部分此類課程所遵循的大綱:它們傾向以線性分類器開始,在引入迴歸和分類兩個概念的同時介紹損失函數和最優化,隨後會有一兩週來細講反向傳播,而後就徹底進入到神經網絡。學習

  若是該課程主要關注深度學習,它會用剩下的大部分時間討論各類神經網絡(循環神經網絡RNN,長短時間記憶網絡LSTM,卷積神經網絡CNN,等等)和最近發佈的重要架構(好比ResNet,BERT)。大數據

  反之,若是該課程更關注通常性的機器學習,它會介紹其餘的機器學習方法分支,好比無監督學習和強化學習。優化

  咱們能夠把這些課程的關鍵論題提煉出來:先是對有監督學習做一律覽,再對有監督學習和神經網絡的數學基礎作簡要介紹,繼而或者介紹深度學習的各類方法,或者介紹機器學習的其餘領域。設計

  另外,看一看課程做業涵蓋的內容,也有助於咱們弄清楚該課程的主要目標。

  做業一般被組織成以下形式:

  學生獲得一個結構化良好的數據集;

  介紹一個機器學習中的模型或者核心概念,而後學生把這個模型的基礎推演一遍;

  學生實現這個模型;

  在給定的數據集上跑模型,作一些輕量化的超參數調試;

  畫出結果來看模型表現如何。

  在瞭解課程內容和做業設計以後,咱們基本上知道了這些課程指望學生學到什麼。它們但願學生掌握相應領域的關鍵模型,而它們採起的方法就是簡單地涵蓋了所述模型的理論基礎,而後要求學生在做業裏實現其主要的關鍵功能

  把機器學習用起來須要的技能

  經過跟機器學習工業界的行內人士聊天,我瞭解到有幾個關鍵技能是成功必備的。首要的技能就是學會如何妥善清洗和分析數據。

  個人一位同窗很是認同這一點,他在最近的一次實習中花了8周時間來收集和處理數據,而後才能着手把模型用到數據集上。機器學習模型極度依賴數據,所以,掌握這項技能很是重要,它將確保你知道如何利用數據集的關鍵特性。

  其次,對工業界的項目而言,大多數任務是找不到大型數據集的。所以,許多深度學習技術沒法使用——可能會帶來過擬合以及泛化能力差(poor generalization)的問題。相應地,人們經常用更簡單的、不須要大量數據的模型來做爲替代方案,好比隨機森林或者logistic迴歸

  這樣一來,可以用合適的庫(好比sci-kit learn)妥善地使用這些模型就成了頗有價值的技能。事實上,一個朋友告訴我,他在微軟公司的機器學習崗位上實習時,整整一個夏天都只是在跟logistic迴歸的各類變種打交道。另外,隨着計算機視覺和天然語言處理領域的大型預訓練模型的出現,深度學習有時候只是一個精細調參的過程。這進一步增長了熟悉簡單、基本的模型的重要性。

  可是,對學術界的研究來講,大型數據集一般容易獲得,時間限制也不是大問題,所以咱們能夠訓練更大的深度學習模型。例如,Open-AI的GPT3模型足足有1750億個參數。要造出這麼大的架構,關鍵是要知道如何從工程上設計和搭建這樣的一個大型深度學習系統。這就須要精通PyTorch和Tensorflow二者中的一個,這項技能讓研究者可以快速有效地實現一個理論模型。

  把須要的架構造出來很重要,可是大部分模型還須要進行超參數調節纔能有良好表現。在搭建實用的機器學習系統時,很是關鍵的一項技能就是對調節過程的設計有直覺把握,而非盲目地去調節。就拿我一個最近在英偉達實習的朋友來講,他有一段時間死活調很差某模型的參數,直到最後發現是他選擇的初始化區間有問題,致使模型中的多數ReLU激活函數處於抑制狀態而使得學習遲滯。

  缺失何在

  既考察了機器學習教育的現狀,又討論了真正的機器學習實踐所須要的技能,如今咱們能夠評論一下教育的缺失何在了。對比課程涵蓋的內容和實踐的要求,有一點很清楚,學生們所受的關於如何管理數據的教導是有欠缺的。

  一方面課程提供的數據集很乾淨,已經作了很好的預處理,另外一方面,除了畫出幾個數據點,課程也沒有鼓勵太多的對數據的挖掘。這種對數據集進行清洗和挖掘的一手實踐的缺少,對學生真正上陣時的實踐能力很是不利。

  另一點,儘管課堂上提供了對關鍵理論框架的數學背景的直覺式的講解,可是爲何特定任務下給定的模型就比其餘模型要有更好的表現,這背後的理論給學生們講得不夠。結果就是,儘管學生也熟悉很多模型,他們仍是不知道哪些模型最適合給定的數據集和任務。不徹底懂得關鍵模型和技術的數學基礎的所有細節,學生無法在特定情境下快速選對模型。

  哪些已經作得不錯了,哪些還能作得更好

  經過對課堂知識到實踐技能之間的缺失的分析,咱們能夠看到大多數課程在傳授基礎知識上作得不錯。課程裏講授的概念可讓你理解一個機器學習算法是如何工做的,它如何才能收斂。課程還讓學生可以熟悉適用於不一樣任務的各類最佳算法,並接觸到普遍的學習材料,可助有志者進一步深刻。

  可是,提高空間仍是很大的。不少課把開始的幾周時間花在同一個地方:線性分類器和反向傳播。這些無疑是關鍵的主題,可是把將近三分之一的課時花在講授預備知識上並不是最佳選擇——把本科生和研究生的內容作個區分會頗有用。

  研究生課程能夠要求學生們已經掌握了預備知識,或者指示學生先去修本科生的同類課程。這樣就給課堂留出了充足的時間,能夠教授學生們如何處理課堂關注的特定領域的數據,或者進一步細化了解該領域內的關鍵理論框架。

  我相信這樣作可讓機器學習的課堂把課堂知識和實踐技能更好地聯繫起來。很明顯,做爲系列課程的一部分,一門課的孤立改變是作不到這點的,只有整個社羣的協調改進才能保證學生們得到最新最有用的知識。

  學校爲什麼應當重視?

  雖然彌合本文提到的缺失對提高學生的實踐能力絕對有用,不少課程仍是會表示培養工業界須要的能力不是它們的事。可是,這些技能遠不僅是工業界須要的,而是具備可遷移性。

  事實上,它們在幾乎任何情境下都有用。例如,在學術研究中開發新模型的時候,也須要知道如何妥善地處理數據,以及哪些技術能帶來更有利的結果。另外,這些技能是如此基本,掌握它們會讓學生成爲更好的機器學習實踐者——對於一門課程來講,任何有益學生知識結構的東西都應當重視和教授。

  基於目前的課程現狀,咱們能夠說,AI課程可以帶你入門,無論你是想從事前沿研究仍是找一份業界工做,可是它們不會教授你須要的一切。要彌合缺失的部分,你須要本身付出大量的課外努力。

  相關報道:

  https://thegradient.pub/the-gap-where-machine-learning-education-falls-short/

  實習/全職編輯記者招聘ing

  加入咱們,親身體驗一家專業科技媒體採寫的每一個細節,在最有前景的行業,和一羣遍及全球最優秀的人一塊兒成長。座標北京·清華東門,在大數據文摘主頁對話頁回覆「招聘」瞭解詳情。簡歷請直接發送至zz@bigdatadigest.cn

  志願者介紹

  

相關文章
相關標籤/搜索