我最近在上一些 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 就是我們的學生,而且他是最好的學生,因為他練習千次、萬次、十萬次、十兆次都不會累、不用休息。而我們(工程師與資料科學家們)的工作,就是把我們想要機器學習的事情(說話、翻譯、辨識圖片、寫文獻摘要等等)做拆解。把一個句子拆解成一個一個的單字,把世界上所有的單字分門別類、依照關聯性建模組....把語言分析、分解成有規律的方程式,再教給機器,機器就能學習。
難就難在語言不是完全有規律可循的。語言是活的、是天天受環境、受使用者而演化改變的。所以語言有非常非常多例外,不是簡單的文法就能包羅萬象。AI 這個學生教它什麼它都學得會。挑戰其實是在於我們人類身為老師的工作。如何讓「說話」這件看似非常複雜的事變成有規則可循、變得有方程式可套用、而且能拆解成一條一條簡單指令寫成程式碼餵給電腦?
AI 背後的邏輯讓我們理解,世界上所有的事情看似複雜、看似混沌,但其實萬事萬物皆有規律可循。要是沒有規律,電腦絕對學不了。就連語言這般複雜、充滿例外的行為,也是可以找出規則的。就算有千萬種例外,當你把每個例外都建好一對一關係,那也是一種方程式。而電腦厲害的地方是它的容量與運算力量非常強大,再複雜的運算方程式它都能接球。
這一切對我來說是很有趣的。因為我的媽媽是語言學家,她一輩子都在研究言語背後的邏輯。透過大量的語料做分析、找出規則、找出例外、找出所有的可能性所有 edge cases.... 文法大家都懂,就是一種方程式。有規則的文法,例如說過去式 +ed,這種是最容易教給機器學習的。
但如何量化語言的其他面向?如何教機器怎麼解讀及運用前後文?如何教機器解讀及運用語調?語言學家幾百年來都在研究人類的語言,試圖找出充滿例外的語言背後的邏輯。沒有這背後的邏輯與規律,機器就無法學習。
語言學一直是隸屬於文學院,我是看著我媽媽做這方面的研究看長大的。而如今我在學習 AI、理解機器學習,讓我發現除了萬物皆有規律可循,也是萬物皆相通。沒有文學院的語言學家幾百年的研究為基礎就沒有電腦科學的 Natural Language Processing,就無法教導機器學習語言,科技界的AI 就無法發展。
b. 大膽地假設、小心地求證
人類行為背後的邏輯與規律要怎麼找出來?以語言為例,語言學家努力了幾百年,也列不出所有語言的規則,何況語言每分每秒都在改變、演化。
於是AI 背後的機器學習有另一個大重點,那就是大膽地假設、小心地求證。
與其一直想破頭想不出語言背後隱藏的規律是什麼,不如就把這難題丟回給電腦。資料科學家把大量語料丟給電腦,然後做出各種大膽的假設。
簡化的操作方式大致是這樣:
-- 把大量的資料分成兩堆,一堆是實驗組、一堆是驗證組。
-- 把實驗組套上第一種大膽假設方程式一,然後跟驗證組比較一下,看看方程式一是否可靠。
-- 不可靠的話就換方程式二套到實驗組試試看,再跟驗證組比較一下,看看這次效果如何。
-- 每次實驗組與對照組做比較,就能對方程式進行修正,直到找到最正確最適用的方程式。
-- 這是一個無盡的 trial and error ,每次都會進行自我修正。
-- 但精髓就是你不用自己去推出方程式,而是只要大膽地假設,電腦以及龐大的資料庫就可以幫你小心的求證,直到你的假設完全正確為止,就完工。
留言
張貼留言