iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 2
0
Google Developers Machine Learning

ML Study Jam 30天初體驗系列 第 2

[Day #2] Google 如何運用機器學習技術 [1]

(廢文模式 on)
目前還沒有個大致上的文章架構想法 (上班沒時間想QQ),所以就一篇一篇看情況調整囉~
初步會以這五項專項課程分別為標題來逐一介紹其中的內容,至於每項課程會佔幾天的篇幅,
就待各個課程的內容多寡來決定~~
(*Note: 課程本身會有些實作部分,也就是透過谷歌所提供的GCP服務來實際跑跑看課程中介紹的內容,但由於這次參加比賽主要想著重在概念的了解與自己學習的紀錄,所以暫定不會提到任何有關實作的部分~ 而 Quiz 部分因為 Coursera 的規定,也不會列入記錄範圍~ 另外由於這一系列的課程皆為英文教材,筆者會按照內容需要做適度翻譯,多數情況下會盡量保持原本英文的單字詞,以確保能盡可能的不影響教材的原意)
(廢文模式 off)


課程介紹

每項課程本身都會訂出學習的排程以及各項小單元的學習,因此紀錄上也會按照課程本身的設計來做內容的安排。

以下是 【Google 如何運用機器學習技術 How Google does Machine Learning】的課程一覽:
(標示粗體的部分為此次文章會提到的部分)

  1. Introduction to specialization
  • Introduction
  • Why Google?
  • Why Google Cloud?
  1. What it means to be AI first
  2. How Google does ML
  3. Inclusive ML
  4. Python notebooks in the cloud
  5. Summary

Introduction to specialization

Introduction

在 Introduction 這個小單元裡面,谷歌概略性地說明了整個專項課程的課程規劃 (見下圖):
https://ithelp.ithome.com.tw/upload/images/20190917/20120190AWHflo6CET.png!

一項一項來看的話就(應該)是:

  1. 谷歌是如何執行機器學習的?(目標:為什麼需要機器學習?)
  2. 如何創建機器學習的資料集?(目標:Tensorflow 介紹)
  3. 特徵工程(目標:增加機器學習模型的準確率)
  4. 機器學習規模化(目標:如何使機器學習系統能有效地被使用在產品上)
  5. 機器學習模型的專業化(目標:介紹不同使用情境下所對應的機器學習模型)

(謎之音:希望不要只是在推廣GCP... 教練我想學ML啊...)

Why Google?

谷歌作為目前全世界最大的軟體公司(筆者自己認為XD),旗下所推出的產品(如下圖)如:
https://ithelp.ithome.com.tw/upload/images/20190917/20120190oSypinCOXz.png

  1. 谷歌相簿的照片自動分類
  2. 谷歌信件的簡易自動回信
  3. (正在嘗試的無人自動駕駛車)
  4. 谷歌翻譯
  5. 水管的使用者推薦系統
  6. 谷歌信件的自動垃圾郵件過濾功能
  7. etc.

能用上ML的都用了,不能用的也是絞盡腦汁在思考如何使用。作為全球首屈一指的軟體公司以及使用機器學習的普及程度,筆者認為由谷歌來告訴我們機器學習要如何使用在現實生活的產品上是再適合不過的選擇了。

這邊谷歌的講師提出了一個有趣的統計結果(見下圖):
https://ithelp.ithome.com.tw/upload/images/20190917/20120190cQeqARHMMv.png

由上圖可以看到從2012年開始到2016年,谷歌內部所使用的機器學習模型呈現驚人的指數型成長!代表著機器學習的模型的確有其實用性存在。而這樣的趨勢其實也可以在某種程度上反映了時下最夯的深度學習的發展曲線(如果是已經對深度學習略知一二的讀者,可以發現這張圖開始統計的時間是從2012年開始,也就是AlexNet問世的那一年XD)

Why Google Cloud?

GCP 是由谷歌一手打造的雲端服務平台,提供了各式各樣的雲端服務,而服務對象更同時橫跨了個人以及企業甚至各國政府機構。而一般民眾最可能先接觸到的谷歌雲端服務可能是所謂「雲端硬碟」(正確來說應該說雲端儲存服務 Google Cloud Storage,但因為多數人剛接觸谷歌的服務時可能是由雲端硬碟開始,故筆者以雲端硬碟舉例可能會比較好理解,但其實兩者是不同的,可以想像成是火力加強版的雲端硬碟XD)
隨著谷歌在各方面產品線的開發,GCP也跟著隨之mega進化。不僅提供了基本的儲存服務、伺服器租借及運算,甚至連谷歌自己建立好的機器學習模型也放在上面讓大家使用 (這當然要付錢了... 谷歌一向佛心來著,掙幾個錢養員工應該不過份吧XD)。筆者認為在目前各大公司積極發展自家雲端服務生態系(如微軟的Azure)的同時,要如何籌整併讓自己推出的雲端服務能更縝密的相互連結在一起,並且將其推廣出去讓更多的企業級客戶使用,應該會是個值得探討的問題。
(也難怪谷歌這麼積極推廣GCP了...)

下面附上谷歌在雲端機器學習服務的簡單流程圖:
https://ithelp.ithome.com.tw/upload/images/20190917/20120190pCEjLCPRom.png

流程圖乍看之下,讀者可能會認為一個機器學習模型為什麼要搞得這麼複雜?不是資料集切一切,模型給它 train-train-train,測試集效果好就好了嗎?不知道該說幸還是不幸,由於筆者目前恰巧正從事資料分析的相關工作,從筆者自身的經驗(踩雷)來思考,筆者認為谷歌之所以這麼強調這整套的流程,的確是非常之中肯(87分不能再高)。這張流程圖不僅點出機器學習要能在真正的產品上發揮其強大效用的前提得是這整套流程的妥善建立外,也同時點破了目前許多企業對於機器學習的夢幻泡影(真的是夢幻泡影... 機器學習要能真的落地實用,中間有數不清的細節要處理,只要有一個環節出錯了,就有可能導致無法收拾的後果QQ)

最後,谷歌提出了一個金字塔圖來說明整個機器學習系統的層級及其重要性:
https://ithelp.ithome.com.tw/upload/images/20190917/20120190WvuHz8DDw3.png

由圖中的金字塔可以很快發現一件事,就是「機器學習」本身是非常渺小的一塊(塔尖XD),其所仰賴的基礎之龐雜,除了需要大撒幣來建立整套生態系之外,還需要有各式各樣的人才來鞏固金字塔各層的運作,這中間所花的人力與金錢,可能是目前企業考慮採用機器學習時所需要特別注意的!

小結

今天的文章好像只有在翻譯課程... 而且應該也沒涵括到所有的細節... 只能說時間真的不夠啊啊啊啊... 下班都幾點了還要寫文章QQ
希望之後能更系統化地把自己想傳達的觀念紀錄清楚><
(如果讀者有任何意見或是回饋或是認為筆者的文章哪邊需要調整的,都歡迎留言討論喔~~)

(該來睡了明天還要上班 again...)!


上一篇
[Day #1] ML Study Jam 參加緣起 & 概述
下一篇
[Day #3] Google 如何運用機器學習技術 [2]
系列文
ML Study Jam 30天初體驗13

尚未有邦友留言

立即登入留言