柯潔不哭!透析深度學習,其實它沒那麼神秘
本文來自微信公眾號「小研聊科技」(ID: xiaoyan_tech),歡迎關注。
柯潔在歷史級人機對戰中輸給了AlphaGo,賽後這個19歲的天才少年掩面哭泣。他說,哭不是因為輸,而是看不到贏的希望,如果說去年AlphaGo還很像人的話,那麼今天它已經完全像個圍棋上帝。人工智慧真有那麼NB嗎?今天我們就來深扒一下它背後的故事。
一、機器能像人一樣擁有學習能力嗎?
nn「人工智慧」這個概念是1956年達特茅斯會議上提出的,它是一個很寬泛的概念,初衷就是讓機器像人類一樣思考,可以勝任一些需要人類智能才能完成的複雜工作。如果把人類的智能比作一枚皇冠的話,那麼皇冠上的明珠就是人的學習能力。正是因為我們人類擁有學習的能力,讓我們可以從呱呱墜地,到咿呀學語,到長大成人,不斷成長和進化,去適應這個社會。可以說這個學習的過程,就是我們人類的智能形成和發展的一個過程,那麼問題就來了,機器可以擁有像我們人類一樣的學習能力嗎?
nn於是,人工智慧的一個分支學科「機器學習」就誕生了。正如AI先驅ArthurnSamuel所述,機器學習是「讓計算機有能力在不需要明確編程的情況下自己學習」的研究領域。也就是說,讓機器自主或半自主地學習優化處理數據的過程。常用的機器學習演算法有:決策樹、隨機森林、邏輯回歸、樸素貝葉斯分類、馬爾可夫、支持向量機等。
nn
機器學習的常用演算法有很多,具體要用哪種,很大程度上取決於現有數據集及其特徵、具體的應用場景和特定的任務。其中有一種方法叫「深度學習」,是當下最受熱棒的。所以說,「人工智慧」、「機器學習」、「深度學習」這三者之間是相互包含的同心圓關係。
nn二、深度學習是如何工作的?
nn深度學習這個「當紅辣子雞」為什麼會迅速躥紅呢?下面我們得好好扒一扒了。
nn在深度學習演算法沒出來之前,我們要實現圖像識別、語音識別、自然語言理解、天氣預測、內容推薦等任務,是通過這樣的流程來執行的:先通過感測器獲得數據,然後進行數據的特徵提取和特徵表達,最後把表達出來的特徵放到學習演算法中進行推理、預測或者識別。以圖像識別為例,比如我們現在輸入一個摩托車的圖像,我們先通過特徵提取器分離它的特徵,比如它有輪子、車座、手把、腳蹬、排氣筒等,然後把這些特徵放到分類器中進行分類的學習,讓機器識別它是不是一輛摩托車。
這種方法有什麼問題呢?人工設計提取的特徵沒有辦法保證在任何情況下都能準確識別,比如摩托車的形狀、大小、顏色、造型各不相同,觀察的角度、背景、光線等也會影響它呈現的樣子,這樣我們很難寫出一套「放之四海皆準」的規則來告訴機器具備什麼樣的特徵就一定是摩托車。更何況即使我們寫出了這樣的規則,也只是針對摩托車這一個品類,世間萬事萬物,難道我們能針對每一類對象都提煉一種規則嗎?
nn於是就引出了深度學習,它的靈感最初是來自於仿生學。小時候我們開始認識這個世界,父母告訴我們「這是人」、「這是車」,在並沒有掌握詳盡特徵規則的情況下,我們通過訓練和反饋來學習。於是科學家們就模擬人腦構建出了軟體的「神經元」,然後把若干層「神經元」相互連接形成了「神經網路」,「深度」學習就是這麼來的。以識別人臉為例,當神經網路接收到數據輸入時,它首先感知到的是像素,然後連接成邊緣,再之後形成人臉的局部——鼻子、眼睛等,最後抽象出整張人臉,這和人腦的神經生物學過程如出一轍,即通過抽象和迭代完成視覺功能。
如果說機器學習是把數據優化的任務交給機器來完成,那麼深度學習就是把特徵提取的任務也交給了機器,而且機器完成得比人更好。深度學習的訓練是一個「端到端」的過程,給神經網路輸入大量有標註的數據,對神經元之間的連接進行調整,使輸出的結果不斷接近標註的正確值。
nn
深度學習的應用為什麼會在現在爆發呢?有三方面原因:
nni. n數據
nn深度學習的訓練離不開大規模數據集,無處不在的智能手機和感測器使數據的產生呈爆炸式增長,給深度學習提供了「燃料」。
nnii. n算力
nnGPU的並行計算能力非常適合加速深度學習,大幅減少神經網路的訓練時間,成為深度學習的「發動機」。
nniii. n演算法
nn深度學習的神經網路結構不斷演進迭代,CNN(卷積神經網路)、RNN(遞歸神經網路)、LSTM(長短期記憶模型)的應用帶來了越來越好的演算法結果。
nn有了深度學習以後,圖像和語音識別的錯誤率大幅下降,機器的識別能力接近並超過了人類的水平。於是學術界的熱情被點燃了,工業界沸騰了,最瘋狂的還是投資人,捧著大把資金蜂擁而至,深度學習的應用有如摧枯拉朽一般在各個行業中蔓延開來。
三、深度學習包打天下?先看看它的局限性再說
nn
深度學習大熱以後,有人把人工智慧等同於深度學習,認為它可以解決一切問題。其實深度學習雖然神通廣大,但是也不能包打天下,我們必須要正視它的局限性。
nn1. 「黑箱」問題
nn傳統的機器學習演算法基於邏輯或概率,可以給出清晰的決策依據,而深度學習的內部網路卻是「黑箱」,不具備可解釋性。如果出現誤判,無法找到問題根源進行調整,在一些對安全性要求較高的應用場景中(如駕駛、醫療等),這是很難被接受的。
nn2. 「長尾」問題
nn深度學習網路之所以智能是因為它見過的數據可以覆蓋90%以上的情況,但是針對某些極端特殊情況它就處理不了了,特斯拉自動駕駛出事故就是因為數據集中沒有出現過橫著的大貨車,「天才」與「弱智」之間往往只有一線之隔。
nn3. 沒有常識
nn人的智能除了體現在根據當下的狀態做出決策外,還可以結合背景知識做常識判斷。但是機器沒有先驗知識,沒有能力基於常識做推斷和聯繫,目前人們正在嘗試把深度學習和知識圖譜相結合去解決這個問題。
nn4. 數據的約束
nn訓練深度學習需要大規模、有標註的數據。現實應用中當特徵比較多的時候,即便我們看來很大量的數據,也會變成非常稀疏的「小數據」,無法「餵飽」深度學習,得不到好的演算法結果。另外,很多專業領域的數據需要交給行業專家來標註,這樣的數據更是少之又少,對很多創業公司來說是無法逾越的障礙。
nn5. 計算能力的約束
nn
神經網路的訓練需要大規模並行計算,一個創業公司訓練深度學習的時間成本取決於它可以構建和調用的GPU資源。即使訓練好的模型,在實際布署中,也需要根據終端的計算承載能力去壓縮和適配,遠遠不是只把demo跑好那麼簡單。
nn事實上,深度學習這一波的「大火」只是在涉及到計算機視覺、語音識別和一部分自然語言處理相關的任務中表現出優勢。真正的智能涉及到很多方面,感知、認知、推理、知識、規劃、溝通等等,深度學習在感知方面取得了突飛猛進的進展,但對其他問題還不能很好地解決,需要越來越多地和其他演算法相結合。
四、深度學習的未來
nn近幾年人們也在探索各種各樣的新的學習方法,讓深度學習更加智能。
nn1. n監督學習 Supervised Learning
nn監督學習就是告訴機器特定輸入的正確答案,讓機器去學習。這是目前被廣泛採用的方法,但是需要大量有標註的數據,因此具有一定的局限性。
nn2. n無監督學習 Unsupervised Learning
nn無監督學習就是在沒有外界指導的前提下,通過自身的觀察和體驗了解世界的運作規律,這是人類和其他動物具備的一種比較高級的智能。對機器來說,就是在不給出輸入輸出之間映射關係的n情況下,讓機器去尋找數據本身的規律。無監督學習目前尚處在研究早期階段,這是當前制約人工智慧發展的主要瓶頸之一。
nn3. n半監督學習 Semi-supervised Learning
nn
半監督學習本質上是監督學習和無監督學習的結合,利用監督學習的標記信息,利用未標記數據的內在特徵,在數據缺乏標註的情況下具有很大的應用價值。
nn4. n強化學習 Reinforcement Learning
nn強化學習是一種基於與環境互動的目標導向的學習。機器做出一個動作或一系列動作後,從外界環境中獲得反饋,如果行動正確,則有相應的獎勵機制強化行動選擇。
nn第一代AlphaGo主要通過圍棋高手的對弈棋譜來學習,那時它的棋風和人類還比較相似。而第二代AlphaGo則更多地採用自己和自己對弈互搏,通過決策結果的反饋不斷強化自己的智能,所以柯潔才會覺得它越來越像圍棋上帝。
nn5. n遷移學習 Transfer Learning
nn遷移學習就是把一種任務或場景中學習到的能力遷移到另一種相似或相關的任務或場景中去,也就是讓機器像人類一樣擁有舉一反三、融會貫通的能力,難怪吳恩達把遷移學習比作推動人工智慧進步的下一波驅動力。
nn這些有益的探索越來越多地向我們展現了人工智慧應用的可能性。目前的人工智慧仍然是專用於解決特定問題的弱人工智慧,通用的強人工智慧離我們還很遙遠。機器智能與人類智能最大的差別在於是否具有自我意識。《未來簡史》的作者尤瓦爾·赫拉利說,人類社會發展了上萬年,一直是智能和意識共同進化,現在是人類歷史上第一次面臨大規模的智能和意識的分離,這才是我們面臨的最大挑戰。
推薦閱讀:
※梯度下降法的神經網路容易收斂到局部最優,為什麼應用廣泛?
※為什麼支持向量機(SVM)被命名被「機器(Machine)」?
※如何評價谷歌最近在人臉數據集上取得驚人效果的BEGAN模型?
※基於深度學習的目標跟蹤演算法是否可能做到實時?
※有大神講講深度學習在語音分離的應用嗎?
TAG:人工智能 | 深度学习DeepLearning | 无监督学习 |