我最近在上一些 AI 的課程,覺得 AI 的理論基礎還頗引人入勝的。 幸運地,公司很鼓勵大家學習 AI 相關知識技術,讓我名正言順地探索 AI 的世界。 寫這篇是想藉由寫作整理一下我目前的學習心得。但畢竟我只是初學者,所以以下講的話可能顯得門外漢,還請大家包涵。 1. 所謂的 AI,就是讓機器可以取代許多傳統上以為人類才能做到的事情。好比:辨識手寫文字、辨識影像圖片做分類、翻譯、口譯、理解文章內容、在大量沒有規則的資料中找出規律....等等等。AI 可以運用的範圍無遠弗屆,包括無人駕駛、幫大量文獻寫摘要、人臉辨識、回答客戶問題、語音回話.... 2. AI 如何能做到以上這些事情?依照我的方式理解與歸納,主要靠這兩件事:(a) pattern recognition 及 (b)大膽地假設、小心地求證。 a. Pattern recognition (規律辨識) 機器要做事,不可能叫他「靠直覺」、「靠本能」。機器是沒有直覺跟本能的。它的直覺跟本能就是你餵一套運算方法給它,輸入什麼 x 它就吐出什麼 y。 Garbage in garbage out — 這是唯一機器能夠運行的方式。 了解 AI 背後的邏輯就會知道,AI 其實沒有什麼魔法,就是純粹的把所有人類平時的行為拆解拆解再無限拆解,變成一條一條命令餵給機器。 這有點像舞蹈老師在教跳舞。老師跳起來是舞林高手、神乎其技。但好的老師能把動作一一拆解,把一個節拍的動作分解成二分之一拍、四分之一拍...每個節拍對到哪個動作,如果能夠講解地清清楚楚、分析地准准確確,學生經過千萬次練習,終能學起來,做到跟老師一樣。 AI 就是我們的學生,而且他是最好的學生,因為他練習千次、萬次、十萬次、十兆次都不會累、不用休息。而我們(工程師與資料科學家們)的工作,就是把我們想要機器學習的事情(說話、翻譯、辨識圖片、寫文獻摘要等等)做拆解。把一個句子拆解成一個一個的單字,把世界上所有的單字分門別類、依照關聯性建模組....把語言分析、分解成有規律的方程式,再教給機器,機器就能學習。 難就難在語言不是完全有規律可循的。語言是活的、是天天受環境、受使用...