關於機器學習你必須了解的十個真相
作為一個經常向非專業人士解釋機器學習的人,我整理了以下十點內容作為對機器學習的一些解釋說明。
機器學習意味著從數據中學習;而AI則是一個時髦的詞。機器學習並不像天花亂墜的宣傳那樣:通過向適當的學習算法提供適當的訓練數據,你可以解決無數的難題。把它稱之為AI吧,如果這有助於銷售你的AI係統的話。但你要知道,AI隻是一個時髦的詞,這隻代表了人們對它的期望而已。
機器學習主要涉及到數據和算法,但最主要的還是數據。機器學習算法特別是深度學習的進步,有很多令人興奮的地方。但數據是使機器學習成為可能的關鍵因素。機器學習可以沒有複雜的算法,但不能沒有好的數據。
除非你有大量的數據,否則你應該堅持使用簡單的模型。機器學習根據數據中的模式來訓練模型,探索由參數定義的可能模型的空間。如果參數空間太大,就會對訓練數據過度擬合,並訓練出一個不能使自己一般化的模型。如果要對此做詳細解釋的話,需要進行更多的數學計算,而你應該把這一點當作為一個準則,讓你的模型盡可能得簡單。
機器學習的質量與訓練所用數據的質量強相關。俗話說“你往計算機輸入一堆垃圾,輸出的一定也是一堆垃圾數據”,雖然這句話的出現早於機器學習,但這恰恰是機器學習存在的關鍵限製。機器學習隻能發現訓練數據中存在的模式。對於監督機器學習任務來說(例如分類),你需要一個健壯的、正確標記的、豐富的訓練數據集。
機器學習隻有在訓練數據具有代表性的前提下才會起作用。正如基金招股說明書警告的那樣“過去的表現不能保證未來的結果”。機器學習也應該發一個類似的警告申明:它僅能基於與訓練數據相同分布的數據才能工作。因此,需警惕訓練數據和生產數據之間的偏差,並經常性地重複訓練模型,這樣才能保證其不會過時。
機器學習大部分的工作是數據轉換。在機器學習技術天花亂墜的宣傳下,你可能會認為機器學習所做的主要是選擇和調整算法。但現實卻是平淡無奇的:你大部分的時間和精力都將花在數據清理和特征工程上,也就是將原始特征轉換為能更好地代表數據信號的特征。
深度學習是一場革命性的進步,但並不是靈丹妙藥。由於機器學習在很多領域都得到了應用與發展,因此深度學習也被宣傳得天花亂墜。此外,深度學習促使一些傳統上通過特征工程進行的工作變得自動化,特別是對於圖像和視頻數據。但深度學習並不是靈丹妙藥。沒有現成的可以讓你使用,你仍然需要投入大量的精力去清理和轉換數據。
機器學習係統很容易受到操作員錯誤的影響。向NRA道歉,“機器學習算法不會殺人,是人在殺人”。當機器學習係統出現故障時,很少是因為機器學習算法存在問題。更有可能的情況是人為的錯誤被引入了到訓練數據中,從而產生偏差或其他的係統錯誤。我們應始終持懷疑的態度,並采用適用於軟件工程學的方式來對待機器學習。
機器學習可能會在無意中創造了一個自我實現的預言。在機器學習的許多應用中,你今天所做的決策會影響明天收集的訓練數據。一旦機器學習係統將偏差融入到模型中,它可以會繼續生成偏差增強了的新訓練數據。 而且,一些偏差可能會毀掉人們的生活。請負責任一點:不要創造自我實現的預言。
AI不會自我覺醒、造反並毀滅人性。相當多的人似乎是從科幻電影中得到有關人造智能的概念的。我們應該從科幻小說中得到啟發,但並不能這麼傻,把小說誤認為是現實。從有意識的邪惡人類到無意識的有偏差的機器學習模型,有太多的現實和危險需要擔心。所以你可以不用擔心SkyNet和“superintelligence”(譯者注:SkyNet和superintelligence分別是科幻電影和科幻小說)。
機器學習涉及到的內容遠遠超過我上麵提到的十點說明。希望這些介紹性的內容對非專業人士有用。
文章原標題《10 Things Everyone Should Know About Machine Learning》,作者:Daniel Tunkelang,譯者:夏天,審校:主題曲。
文章為簡譯,更為詳細的內容,請查看原文
最後更新:2017-09-11 22:03:55