第一篇筆記就先從這項課程的名稱「 Google 如何做機器學習?」開始,不知道有沒有人想過「為什麼要知道 Google 怎麼做機器學習?」「Google 有比較厲害嗎?」不知道有沒有人真的懷疑過這個問題啊哈哈哈
回到正題為什麼要知道 Google 怎麼做機器學習?
因為 Google 真的有在產品中使用 ML,所以這堂課程其實是一堂 Google 使用 ML 在產品中真的遇到的問題的紀錄,對於真的想要使用 ML 的公司來說,這些觀念其實是更重要的部分,對於一個想要成為可以真的產生價值的工程師來說也是非常寶貴的經驗(可以不用親自去採這些坑,或是踩了比較快出來XD)
Google 一開始也是沒有太多 model 在產品內的,但是近年來使用的 model 已經超過 4000 個以上了
ML 一個重要的功能是拿來取代過去很多寫死的程式碼,舉例:
再沒有 ML 的年代,如果有一個人在 Google Search 搜尋 Giants ,Google 工程師可能會寫個 if-else 來決定要回傳 SF Giants 或是 NY Giants 或是其他的搜尋。在使用 ML 之後就會訓練一個模型來判斷需要返回怎麼的結果會比較好。
接下來是一個對我來說比較新的想法:如果想要在條件內加入一個「user location = "Taiwan" => result about "捷安特"」要怎麼做?
這裡就引出一個 AI-first 的觀念,Google 在 2017 年的 Google I/O 上宣布 Google 將從行動優先的公司轉型為 AI 優先的公司。
那 AI-First 表示什麼呢?以上面的例子來說,本來的作法可能是找個工程師在判斷式裡面加個 if location = 'Taiwan' ,如果是 AI-first 的話呢?就會去搜集更多的資料,訓練 model 能夠自己判斷 location 在 Taiwan 的時候會回傳「捷安特」相關的資料,甚至可以透過一些個人化的資訊回傳更精確的搜尋結果。之後再也不用維護一大堆 if-else 了,只需要搜集更多的資料訓練模型就可以了,多麽美妙啊!