過去幾年,有更多的機器學習團隊談到 把機器學習系統的表現與人類的水準相比較 為什麼呢? 我想,有兩個主要原因 第一,是由於深度學習的進展 機器學習演算法突飛猛進表現很好 這使得在很多領域, 機器學習演算法的成效 能夠真的和人類一拼高下 第二,其實對於那些機器學習系統 設計和建構的流程而言,當我們試著 做人類也能做的事情時, 這種流程會比較有效率 這種情況下,想拿 人類表現水準來比較或模擬 這樣的想法也滿自然的 讓我舉幾個例子解釋一下 我觀察到很多機器學習的計畫都有這種趨勢: 你在解決一個問題,隨著時間進展,也就是 x 軸 — 對某些團隊或社群這可能會很多月很多年 你在追趕人類的水準時, 進展比較快 但經過一段時間後,當演算法表現比人類還好時 進度、準確率進展逐漸趨緩 可能還是會不斷進步 即使超越了人的水準,還是可以變好,不過呢 準確率向上的趨勢常常會慢了下來 我們的希望是,他能達到理論上的最佳表現水準。 隨著時間你一直訓練 可能用了更大的模型、更多資料 你的表現會接近、但無法超過某個理論上的極限 也就是 Bayes optimal error (貝式最低錯誤率) 你可以把 Bayes optimal error 想成是可能達到的最佳錯誤率 也就是不可能會有 任何一個從 x 對應到 y 的函數能超過這個準確率 例如語音辨識,如果 x 是音檔, 某些音檔噪音實在很大 吵到無法分辨正確的語音該是什麼 所以最完美也不會到 100% 準確 或者貓貓分類 或許有些圖片很模糊到沒有任何人、 任何東西能分辨這圖片裡面有沒有貓 所以就算完美的準確率也不一定是 100% 而 Bayes optimal error 或叫 Bayesian optimal error 有時簡稱 Bayes error, 是 x 到 y 理論上最佳的對應函數 是無法被超越的 所以不用太訝異,無論你再怎麼努力多少年 這條紫線永遠無法超越 Bayes optimal error 而其實,進度一開始都會很快 直到你超越了人類水準 有時超越人類了以後進展會慢下來 我覺得有兩個原因 關於超越人類後進展常常就慢下來 一個原因是,人類的表現 在很多領域上都不會離 Bayes optimal error 太遠 人類非常擅長看一張圖片內有沒有貓 或是聽語音然後寫成文字 所以超越人類水準以後,可能也沒有太多的 進步空間 而第二個原因是,只要還比人類表現差 其實還有很多手法工具可以改進 而一旦超越人類後,這些手法就不大好用。 我的意思是 對於人類擅長的任務 包括看圖認物、聽語音、讀語言 這種人類擅長的、自然的任務 對於這一類的任務, 只要你的機器學習演算法 還比人類差,人可以標記資料給你 也就是你可以請求 人們把資料標上答案 這樣你就有更多的資料給你的演算法學 而下禮拜我們還會談到「人工誤差分析」 只要人類的表現還比其他演算法好 你可以請人來看演算法做錯的資料 試著了解人做對 但演算法做錯的原因 下禮拜我們會看到,這能幫你改進演算法 你也能對偏差與變異 (bias and variance) 有更好的分析,我們等等會談到 不過只要你的演算法還比人類差 你還有這些重要的手段來改善之 然而一旦你的演算法比人類厲害 這些手段就比較難以運用 這或許也是為什麼與人類水準相比會有幫助 特別是那些人類很厲害的任務 還有為什麼機器學習演算法 對於重現人類能做的任務比較擅長 能趕上或稍微超越人類的水準 特別是,就算你已經懂了偏差和變異 (bias and variance) 其實,只要知道人類在某個任務能做多好, 就可讓你更清楚 你應該嘗試減少多少的偏差和多少的變異 在下部影片,我想給你看這樣的例子