深度學習有很好的表現,引領了第三次人工智能的浪潮。目前大部分表現優異的應用都用到了深度學習,大紅大紫的 AlphaGo 就使用到了深度學習。
本文将詳細的給大家介紹深度學習的基本概念、優缺點和主流的幾種算法。
深度學習、神經網絡、機器學習、人工智能的關系深度學習、機器學習、人工智能
簡單來說:
- 深度學習是機器學習的一個分支(最重要的分支)
- 機器學習是人工智能的一個分支
目前表現最好的一些應用大部分都是深度學習,正是因為深度學習的突出表現,引發了人工智能的第三次浪潮。詳情可以看《人工智能的發展史——3次 AI 浪潮》
深度學習、神經網絡
深度學習的概念源于人工神經網絡的研究,但是并不完全等于傳統神經網絡。
不過在叫法上,很多深度學習算法中都會包含”神經網絡”這個詞,比如:卷積神經網絡、循環神經網絡。
所以,深度學習可以說是在傳統神經網絡基礎上的升級,約等于神經網絡。
大白話解釋深度學習
看了很多版本的解釋,發現李開複在《人工智能》一書中講的是最容易理解的,所以下面直接引用他的解釋:
我們以識别圖片中的漢字為例。
假設深度學習要處理的信息是“水流”,而處理數據的深度學習網絡是一個由管道和閥門組成的巨大水管網絡。網絡的入口是若幹管道開口,網絡的出口也是若幹管道開口。這個水管網絡有許多層,每一層由許多個可以控制水流流向與流量的調節閥。根據不同任務的需要,水管網絡的層數、每層的調節閥數量可以有不同的變化組合。對複雜任務來說,調節閥的總數可以成千上萬甚至更多。水管網絡中,每一層的每個調節閥都通過水管與下一層的所有調節閥連接起來,組成一個從前到後,逐層完全連通的水流系統。
那麼,計算機該如何使用這個龐大的水管網絡來學習識字呢?
比如,當計算機看到一張寫有“田”字的圖片,就簡單将組成這張圖片的所有數字(在計算機裡,圖片的每個顔色點都是用“0”和“1”組成的數字來表示的)全都變成信息的水流,從入口灌進水管網絡。
我們預先在水管網絡的每個出口都插一塊字牌,對應于每一個我們想讓計算機認識的漢字。這時,因為輸入的是“田”這個漢字,等水流流過整個水管網絡,計算機就會跑到管道出口位置去看一看,是不是标記由“田”字的管道出口流出來的水流最多。如果是這樣,就說明這個管道網絡符合要求。如果不是這樣,就調節水管網絡裡的每一個流量調節閥,讓“田”字出口“流出”的水最多。
這下,計算機要忙一陣了,要調節那麼多閥門!好在計算機的速度快,暴力的計算加上算法的優化,總是可以很快給出一個解決方案,調好所有閥門,讓出口處的流量符合要求。
下一步,學習“申”字時,我們就用類似的方法,把每一張寫有“申”字的圖片變成一大堆數字組成的水流,灌進水管網絡,看一看,是不是寫有“申”字的那個管道出口流水最多,如果不是,我們還得再調整所有的閥門。這一次,要既保證剛才學過的“田”字不受影響,也要保證新的“申”字可以被正确處理。
如此反複進行,知道所有漢字對應的水流都可以按照期望的方式流過整個水管網絡。這時,我們就說,這個水管網絡是一個訓練好的深度學習模型了。當大量漢字被這個管道網絡處理,所有閥門都調節到位後,整套水管網絡就可以用來識别漢字了。這時,我們可以把調節好的所有閥門都“焊死”,靜候新的水流到來。
與訓練時做的事情類似,未知的圖片會被計算機轉變成數據的水流,灌入訓練好的水管網絡。這時,計算機隻要觀察一下,哪個出水口流出來的水流最多,這張圖片寫的就是哪個字。
深度學習大緻就是這麼一個用人類的數學知識與計算機算法構建起來的整體架構,再結合盡可能多的訓練數據以及計算機的大規模運算能力去調節内部參數,盡可能逼近問題目标的半理論、半經驗的建模方式。
傳統機器學習 VS 深度學習傳統機器學習和深度學習的相似點
在數據準備和預處理方面,兩者是很相似的。
他們都可能對數據進行一些操作:
- 數據清洗
- 數據标簽
- 歸一化
- 去噪
- 降維
對于數據預處理感興趣的可以看看《AI 數據集最常見的6大問題(附解決方案)》
傳統機器學習和深度學習的核心區别
傳統機器學習的特征提取主要依賴人工,針對特定簡單任務的時候人工提取特征會簡單有效,但是并不能通用。
深度學習的特征提取并不依靠人工,而是機器自動提取的。這也是為什麼大家都說深度學習的可解釋性很差,因為有時候深度學習雖然能有好的表現,但是我們并不知道他的原理是什麼。
深度學習的優缺點
優點1:學習能力強
從結果來看,深度學習的表現非常好,他的學習能力非常強。
優點2:覆蓋範圍廣,适應性好
深度學習的神經網絡層數很多,寬度很廣,理論上可以映射到任意函數,所以能解決很複雜的問題。
優點3:數據驅動,上限高
深度學習高度依賴數據,數據量越大,他的表現就越好。在圖像識别、面部識别、NLP 等部分任務甚至已經超過了人類的表現。同時還可以通過調參進一步提高他的上限。
優點4:可移植性好
由于深度學習的優異表現,有很多框架可以使用,例如 TensorFlow、Pytorch。這些框架可以兼容很多平台。
缺點1:計算量大,便攜性差
深度學習需要大量的數據很大量的算力,所以成本很高。并且現在很多應用還不适合在移動設備上使用。目前已經有很多公司和團隊在研發針對便攜設備的芯片。這個問題未來會得到解決。
缺點2:硬件需求高
深度學習對算力要求很高,普通的 CPU 已經無法滿足深度學習的要求。主流的算力都是使用 GPU 和 TPU,所以對于硬件的要求很高,成本也很高。
缺點3:模型設計複雜
深度學習的模型設計非常複雜,需要投入大量的人力物力和時間來開發新的算法和模型。大部分人隻能使用現成的模型。
缺點4:沒有”人性”,容易存在偏見
由于深度學習依賴數據,并且可解釋性不高。在訓練數據不平衡的情況下會出現性别歧視、種族歧視等問題。
4種典型的深度學習算法
卷積神經網絡 – CNN
CNN 的價值:
- 能夠将大數據量的圖片有效的降維成小數據量(并不影響結果)
- 能夠保留圖片的特征,類似人類的視覺原理
CNN 的基本原理:
- 卷積層 – 主要作用是保留圖片的特征
- 池化層 – 主要作用是把數據降維,可以有效的避免過拟合
- 全連接層 – 根據不同任務輸出我們想要的結果
CNN 的實際應用:
- 圖片分類、檢索
- 目标定位檢測
- 目标分割
- 人臉識别
- 骨骼識别
了解更多《一文看懂卷積神經網絡-CNN(基本原理 獨特價值 實際應用)》
循環神經網絡 – RNN
RNN 是一種能有效的處理序列數據的算法。比如:文章内容、語音音頻、股票價格走勢…
之所以他能處理序列數據,是因為在序列中前面的輸入也會影響到後面的輸出,相當于有了“記憶功能”。但是 RNN 存在嚴重的短期記憶問題,長期的數據影響很小(哪怕他是重要的信息)。
于是基于 RNN 出現了 LSTM 和 GRU 等變種算法。這些變種算法主要有幾個特點:
- 長期信息可以有效的保留
- 挑選重要信息保留,不重要的信息會選擇“遺忘”
RNN 幾個典型的應用如下:
- 文本生成
- 語音識别
- 機器翻譯
- 生成圖像描述
- 視頻标記
了解更多《一文看懂循環神經網絡-RNN(獨特價值 優化算法 實際應用)》
生成對抗網絡 – GANs
假設一個城市治安混亂,很快,這個城市裡就會出現無數的小偷。在這些小偷中,有的可能是盜竊高手,有的可能毫無技術可言。假如這個城市開始整饬其治安,突然開展一場打擊犯罪的「運動」,警察們開始恢複城市中的巡邏,很快,一批「學藝不精」的小偷就被捉住了。之所以捉住的是那些沒有技術含量的小偷,是因為警察們的技術也不行了,在捉住一批低端小偷後,城市的治安水平變得怎樣倒還不好說,但很明顯,城市裡小偷們的平均水平已經大大提高了。
警察們開始繼續訓練自己的破案技術,開始抓住那些越來越狡猾的小偷。随着這些職業慣犯們的落網,警察們也練就了特别的本事,他們能很快能從一群人中發現可疑人員,于是上前盤查,并最終逮捕嫌犯;小偷們的日子也不好過了,因為警察們的水平大大提高,如果還想以前那樣表現得鬼鬼祟祟,那麼很快就會被警察捉住。為了避免被捕,小偷們努力表現得不那麼「可疑」,而魔高一尺、道高一丈,警察也在不斷提高自己的水平,争取将小偷和無辜的普通群衆區分開。随着警察和小偷之間的這種「交流」與「切磋」,小偷們都變得非常謹慎,他們有着極高的偷竊技巧,表現得跟普通群衆一模一樣,而警察們都練就了「火眼金睛」,一旦發現可疑人員,就能馬上發現并及時控制——最終,我們同時得到了最強的小偷和最強的警察。
了解更多《什麼是生成對抗網絡 – GAN?(基本概念 工作原理)》
深度強化學習 – RL
強化學習算法的思路非常簡單,以遊戲為例,如果在遊戲中采取某種策略可以取得較高的得分,那麼就進一步「強化」這種策略,以期繼續取得較好的結果。這種策略與日常生活中的各種「績效獎勵」非常類似。我們平時也常常用這樣的策略來提高自己的遊戲水平。
在 Flappy bird 這個遊戲中,我們需要簡單的點擊操作來控制小鳥,躲過各種水管,飛的越遠越好,因為飛的越遠就能獲得更高的積分獎勵。
這就是一個典型的強化學習場景:
- 機器有一個明确的小鳥角色——代理
- 需要控制小鳥飛的更遠——目标
- 整個遊戲過程中需要躲避各種水管——環境
- 躲避水管的方法是讓小鳥用力飛一下——行動
- 飛的越遠,就會獲得越多的積分——獎勵
你會發現,強化學習和監督學習、無監督學習 最大的不同就是不需要大量的“數據喂養”。而是通過自己不停的嘗試來學會某些技能。
了解更多:《一文看懂什麼是強化學習?(基本概念 應用場景 主流算法)》
總結深度學習屬于機器學習的範疇,深度學習可以說是在傳統神經網絡基礎上的升級,約等于神經網絡。
深度學習和傳統機器學習在數據預處理上都是類似的。核心差别在特征提取環節,深度學習由機器自己完成特征提取,不需要人工提取。
深度學習的優點:
- 學習能力強
- 覆蓋範圍廣,适應性好
- 數據驅動,上限高
- 可移植性好
深度學習的缺點:
- 計算量大,便攜性差
- 硬件需求高
- 模型設計複雜
- 沒有”人性”,容易存在偏見
深度學習的4種典型算法:
,
- 卷積神經網絡 – CNN
- 循環神經網絡 – RNN
- 生成對抗網絡 – GANs
- 深度強化學習 – RL
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!