3 分鐘搞懂深度學習到底在深什麼 - 泛科技
文章推薦指數: 80 %
深度學習其實很簡單,就跟把大象放進冰箱一樣,只需三個步驟:「打開冰箱、放進大象、關上冰箱門。
」專攻語音辨識領域深度學習的台大電機系教授李宏毅說, ...
泛科學
泛科技
娛樂重擊
泛科學院
泛科活動
泛科市集
泛讀app
繁|简
RSS訂閱
所有文章
專欄
特輯
趨勢閱讀
人物X趨勢
娛樂產業趨勢
產業動態
@泛讀App
所有文章
專欄
特輯
趨勢閱讀
人物X趨勢
娛樂產業趨勢
產業動態
@泛讀App
留言討論
分享本文至E-mail信箱
E-mail:
附註:
KobeChen
分享
1.8k
0
3分鐘搞懂深度學習到底在深什麼
2016年07月27日
技術X解析
人工智慧,深度學習,資料科學年會
深度學習其實跟VR很像,他們都不是全新的概念,卻在這幾年因為硬體進步而死灰復燃。
深度學習是機器學習的一種方式,也可以說是目前人工智慧的主流,今年擊敗世界棋王的GoogleAlphaGo,2011年奪得益智問答比賽大獎的IBMWatson都是最佳代言。
要設計出比天才還厲害的電腦,一定是比天才還聰明的人囉?答案是:不,建構一套深度學習的網路,其實沒有想像中困難,只要看完這篇文章,就能夠有基本的了解,再搭配網路資源自學一下,甚至就可以開始建立自己的深度學習網路。
如果你想要深度學習「深度學習」,又能快速搞懂它到底在深什麼東西,看這篇文章就對了,那我們開始囉!(ㄟ跑錯棚了吧)
(本文內容來自資料科學年會2016議程,未加註來源之圖片取自台灣大學電機系助理教授李宏毅之簡報)
什麼是深度學習?
深度學習其實很簡單,就跟把大象放進冰箱一樣,只需三個步驟:「打開冰箱、放進大象、關上冰箱門。
」專攻語音辨識領域深度學習的台大電機系教授李宏毅說,「深度學習也只要三個步驟:建構網路、設定目標、開始學習,說穿了就是這麼簡單。
」
DeepLearning研究生的心得:其實就像在玩積木一樣,嘗試各種堆疊的方法。
(Keras是一款深度學習的開發套件)
「簡單說,深度學習就是一個函數集,如此而已。
」李宏毅說,類神經網路就是一堆函數的集合,我們丟進去一堆數值,整個網路就輸出一堆數值,從這裡面找出一個最好的結果,也就是機器運算出來的最佳解,機器可以依此決定要在棋盤上哪一點下手,人類也可以按照這個建議作決策。
這段敘述也許太過抽象,我們可以先具體的說明一下函數。
神經網路的基本架構就長這樣,每一層(layer)都有很多神經元(neuron),上一層的output就是下一層的input,最終得出一組finaloutput。
假設有一個函數叫總統府,這個函數的內容是x=無能,那麼無論我們輸入的是小馬、小英、地產大亨或前總統的妻子,最後的結果都=無能。
當然現實世界不會這麼簡單,總統府裡面高深莫測,就像深度學習的類神經網路一樣,我們可以在這個函數裡加進各種變數,來模擬兩黨政治、全球暖化、恐怖攻擊等考量,經過一層又一層的運算之後,最後從總統府輸出的,就是這個函數集建議的最佳決策。
但現實世界中,這個函數集更複雜,而且要等好幾年,才能看到結果。
在程式設計裡,我們不但可以很快看到結果,還可以告訴機器,這個結果nogood,請調整函數內容,給我其他結果。
這個過程,就是所謂的「學習」,經過大量的訓練過程,最終機器就能找到一個最佳函數,得出最佳解。
以AlphaGo為例,團隊設定好神經網路架構後,便將大量的棋譜資料輸入,讓AlphaGo學習下圍棋的方法,最後它就能判斷棋盤上的各種狀況,並根據對手的落子做出回應。
如果讓AlphaGo學習《棋靈王》的棋譜,當對方下了第一手5之五,AlphaGo就會知道下在天元是最佳解!
「AlphaGo很厲害,但是它只能下棋,它的架構就是為了圍棋而存在的,要拿去開車就必須要重新設計」李宏毅表示,深度學習並不是萬能的人工智慧,它其實只能針對特定的需求來設計,現在的各種酷炫應用都還在原始階段,還有很多需要人類去定義、設計,未來當機器可以自己定義架構時,就更加值得期待。
聽起來一點都不簡單啊!
其實,深度學習的概念早在90年代就存在,那時是以類神經網路的概念發表,但是當時的電腦運算能力不足,因此效率不彰,導致後來只要提到神經網路,就沒人關注,直到近幾年換上深度學習的名字才捲土重來。
Google內部的研發專案使用深度學習的比例,在這兩年瘋狂暴增。
圖片來源:SIGMOD/JeffDean
深度學習的網路架構層層疊疊,說這個東西很簡單的肯定是瘋子,但事實上它又真的很簡單,因為這是「機器學習」啊。
一般來說,我們看到十幾層的網路,就會想到每一層要怎麼設定各自的權重(weight)跟變數(parameter),然後還要互相串連,並且運算在極龐大的資料庫上。
假設這個網路每一層有1000個神經單元(neuron),那每一層中間就有100萬個權重,疊加越多層越可怕,這怎麼會簡單?
如果所有的細節都要人類去設定,那就不叫做「機器學習」了,這個系統厲害的地方就在於,在神經網路裡的千百萬個數值細節,都是機器自己學出來的,人類要做的事情就是給他「規則」跟海量的學習資料,告訴機器什麼答案是對的,中間的過程完全不用操心。
舉例來說,Google就嘗試讓機器手臂自己學習如何抓握不規則物品,與其透過人類不斷去修正每個動作的精準度,還不如讓機器自己學習,最後讓失敗率下降了16%。
在目前主要的深度學習架構裡,人類要擔心的重點只有一個:「GradientDescent」,中文勉強譯做梯度下降法。
我們可以把深度學習想像成有一百萬個學生同時在寫答案,他們每個人都有不同的思考方式,最後每個人都交出一個不同的答案(一個數字)。
將所有的答案跟標準答案相減之後(技術上稱為loss),畫成一條折線圖(或是複雜一點的3D圖),離標準答案最接近的那個答案,就會在這張圖的最低點,深度學習的目標就是要找到這個最低點。
最低點代表什麼呢?代表寫出這個答案的學生,擁有最接近正確答案的思考方式,接下來我們讓其他學生向這位學生學習,並繼續測試,是否都能回答正確。
理論上,隨著測試次數越多,正確率就會越高,表示這個機器已經通過測試,可以投入實戰分析了。
這條曲線代表所有的output跟正確答案的差(Loss),因此最低點就最接近正確答案。
機器隨機選取其中一個點,然後觀察兩旁的斜率來逼近最低點,你發現其中的難題了嗎?
看到這裡,如果你想跟朋友炫耀一下什麼是「深度學習」,就跟他說「很簡單啊,就是在找loss最小的點嘛,GradientDescent,懂?」
深度學習越深越好嗎?
深度學習之所以厲害就在於它堆疊了很多層,因此很多人會好奇,神經網路越多層就越好嗎?這個問題的答案跟「頭大的人就比較聰明嗎」差不多:不一定。
從錯誤率(紅字)來看,神經網路疊得越深似乎越好,但可以注意它的架構也不是簡單的堆疊,而是變得很複雜。
雖然從這幾年的一些機器學習競賽結果來看,似乎越多層就能得到更低的錯誤率,去年ResidualNetwork堆到152層,錯誤率也低到3.57%(ImageNet資料庫的測試結果)。
但是堆疊上百層的神經網路,常常會導致「VanishingGradient」,也就是因為每一層運算讓數值不斷收斂,導致最後的output越來越小,跟正確答案相減之後也就看不到顯著的最小值,看起來到處都是最小值。
那你可能又會問,像前面說的,把所有的答案列出來跟標準答案比對,怎麼會找不到最小值呢?事實上,我們面對的可能不只一百萬個答案,很可能是千萬或上億個答案,實作上幾乎不可能列出所有的答案去「窮舉」它,而是用隨機抽選的方式,在線上找一個點,然後比對它旁邊的數值,看看是否更低,慢慢去貼近最低點,像在爬樓梯一樣漸漸往下所以才稱為gradient。
這會遇到一種狀況,當系統以為找到了最低點,但其實越過山丘,還會發現更低點;或者開局就落在高原上,附近超平坦的,就覺得應該是最低點了,其實遠方還有人在谷底等候。
神經網路疊加的越多層,這個問題就會越明顯,因此需要設計不同的架構,跟特殊的運算過程,才能避免找不到最低點。
有時候反而layer少一點,正確率還更高。
「目前我們嘗試的語音辨識模型,大概疊8層,是一個C/P值滿高的選擇。
」李宏毅說,深度學習目前其實還在神農嚐百草的階段,甚至是寒武紀大爆發的時代,雖然很精彩,但是其實水準還很低階。
也許不久後,就有人找出比GradientDescent更有效的方法,那現在所學的很多幫忙找出最低點的技術就沒用了,但這也代表我們離高階人工智慧又更近一步。
圖像辨識、語音分析和種種可能
在學習深度學習的時候,我腦中一直浮現古老的豐年果糖廣告,爸爸驕傲的說「爸爸頭腦比電腦好啊」的畫面。
從理論來看,人腦確實很強大,強大到機器也要模仿人腦來變得更聰明。
「人類的五感隨著演化過程互有消長,我們的嗅覺退化得很快,視覺則要處理最龐大的資料量。
」專研影像辨識、智慧監控的UmboCV技術長張秉霖指出,人腦處理一張圖像的資料量可能高達一百萬個位元,如果我們要用機器進行影像辨識,就一定要參考人腦的運作方式。
在深度學習中有很多方式去辨識圖像,其實作法跟人腦很像,第一層先處理基本的線條,然後再慢慢組合成一些形狀,最後就能判讀出圖形的意義,就像2012年的GoogleBrain就能夠從龐大的圖形資料中,分辨出貓臉跟人臉的不同。
「但是俗話說得好,一張圖勝過千言萬語,不同人對同一張圖片可能有不同的解讀,這是因為每個人對這張圖的背景知識認知不同。
」張秉霖說,要讓機器圖像辨識再更上一層樓,就要讓機器看懂圖像背後的脈絡,而要讓機器看懂脈絡,就需要讓它吸收大量知識,最好的辦法就是讓機器學會人類的語言,就可以學習到更多背景知識。
清華大學電機系孫民博士指出,深度學習應用在圖像分析上,目前機器已經能夠用文字描述場景。
圖片來源:孫民
語音辨識面臨的問題則恰恰相反,之前的語音分析是將語音轉成文字,然後用文字進行語意分析,進而推理出這段語音的意思,這樣的作法無法判斷聲音情感,常常會誤判;新的作法則是將整段語音,丟到資料庫裡進行比對,找出最相近的聲紋,來理解這段話的意思。
透過深度學習,機器正在變得越來越聰明,人工智慧的運用也更加廣泛。
目前已經有一些案例,像是美國的梅西百貨(Macy’s)、HiltonMcLean飯店還有喬治亞理工學院,也嘗試運用 IBMWatson來擔任服務員、櫃台接待與課堂助教,透過回答一些簡單的問題,來減輕人類的負擔,人類就能專心處理那些棘手的難題。
Cornell大學的研究團隊利用深度學習設計出的應用,首先輸入一張畫家的作品,再輸入任意照片,機器就會用那位畫家的風格來重繪照片。
不難想像,深度學習在未來會運用在更多領域,甚至還有人嘗試用Watson來抓神奇寶貝。
不過,深度學習的原理與實作的門檻並不太高,真正的難處不在深度學習本身,而是在於如何將人類要解決的問題用數字來表達,並設計成機器可以學習的架構,如何用數字來表示貓臉?用數字來描述圍棋?這些都需要人類去定義,因此深度學習要進一步發展,最需要的其實是人才,剩下的,就是機器的事了。
封面圖片來源:extremetech.com
關於作者
KobeChen
金屬搖滾樂中毒,科技狂熱份子,愛貓人士,愛妻男人,這些都是我。
相信台灣不只是鬼島,相信每個人都希望這個世界會變得更好。
留言討論
延伸閱讀
利用機器學習判定,紅樓夢全書是否為曹雪芹所寫
大數據專題(三)/文字也是數據,語意分析掌握電腦背後的情感
大數據專題(二)/站在AI浪頭上:訓練電腦成為決策代理人的核心概念
熱門文章
編輯室報告
防災超前部署內政部推這3項服務有備無患
最新選書
知識內容寫作課:寫一篇真材實料的網路爆紅好文章
最新文章
啟動地方DNA開啟地方創生新篇章——地方創生南區輔導中心特輯(三)
走入地方,串接地方創生的支援系統--地方創生南區輔導中心特輯(二)
原來我就是野生的地方創生團隊!地方創生南區輔導中心特輯(一)
主播的雲端智慧好生活-XnBay智慧儲存伺服器
[科技涼感]UNIQLO夏季T恤新品上架中
x
訂閱
最新訊息
泛科知識
泛科學
泛科技
娛樂重擊
泛科學院
泛科活動
泛科市集
泛讀
©COPYRIGHT2015
關於我們
隱私權政策
徵稿
招募
廣告規範
連絡我們
內容夥伴
-請選擇-
關於我們
隱私權政策
徵稿
招募
廣告規範
連絡我們
內容夥伴
FOLLOWUS
網站更新隱私權聲明
本網站使用cookie及其他相關技術分析以確保使用者獲得最佳體驗,通過我們的網站,您確認並同意本網站的隱私權政策更新,了解最新隱私權政策。
我知道了
載入迴響中...
發表迴響…
電子郵件(必要)
名稱(必要)
網站
延伸文章資訊
- 1什麼是深度學習 - 語音處理實驗室
因為深度學習中,人類提供的函數集是由類神經網. 絡(artificial neural network)的結構所定義。 類神經網絡和人腦確實有幾分相似之處,我們都.
- 2什麼是深度學習?
深度學習是一種機器學習,會使用人工神經網路,讓數位系統能夠根據非結構化、未標記的資料來學習和做出決策。 一般來說,機器學習會訓練AI 透過資料學習已獲得的經驗、 ...
- 3什麼是深度學習?
深度學習( DL ) 是機器學習(ML) 的一個子領域,它使用的算法類似於人腦中使用神經元的方式。深度學習根據人腦的工作方式創建人工神經網絡及其不同層級。深度學習是一種 ...
- 4深度學習- 維基百科,自由的百科全書
- 5深度學習- 維基百科,自由的百科全書 - Wikipedia
深度學習(英語:deep learning)是機器學習的分支,是一種以人工神經網路為架構,對資料進行表徵學習的演算法。 ... 深度學習是機器學習中一種基於對資料進行表徵學習的演算 ...