深度学习(一)深度学习简介以及常用算法
深度學習
深度學習的概念源于人工神經網絡的研究,但是并不完全等于傳統神經網絡。
不過在叫法上,很多深度學習算法中都會包含”神經網絡”這個詞,比如:卷積神經網絡、循環神經網絡。
所以,深度學習可以說是在傳統神經網絡基礎上的升級,約等于神經網絡。
傳統機器學習 VS 深度學習
相同點
在數據準備和預處理方面,兩者是很相似的。
他們都可能對數據進行一些操作:
- 數據清洗
- 數據標簽
- 歸一化
- 去噪
- 降維
不同點:
傳統機器學習的特征提取主要依賴人工,針對特定簡單任務的時候人工提取特征會簡單有效,但是并不能通用。
深度學習的特征提取并不依靠人工,而是機器自動提取的。這也是為什么大家都說深度學習的可解釋性很差,因為有時候深度學習雖然能有好的表現,但是我們并不知道他的原理是什么。
深度學習的優缺點
優點1:學習能力強
從結果來看,深度學習的表現非常好,他的學習能力非常強。
優點2:覆蓋范圍廣,適應性好
深度學習的神經網絡層數很多,寬度很廣,理論上可以映射到任意函數,所以能解決很復雜的問題。
優點3:數據驅動,上限高
深度學習高度依賴數據,數據量越大,他的表現就越好。在圖像識別、面部識別、NLP 等部分任務甚至已經超過了人類的表現。同時還可以通過調參進一步提高他的上限。
優點4:可移植性好
由于深度學習的優異表現,有很多框架可以使用,例如 TensorFlow、Pytorch。這些框架可以兼容很多平臺。
缺點1:計算量大,便攜性差
深度學習需要大量的數據很大量的算力,所以成本很高。并且現在很多應用還不適合在移動設備上使用。目前已經有很多公司和團隊在研發針對便攜設備的芯片。這個問題未來會得到解決。
缺點2:硬件需求高
深度學習對算力要求很高,普通的 CPU 已經無法滿足深度學習的要求。主流的算力都是使用 GPU 和 TPU,所以對于硬件的要求很高,成本也很高。
缺點3:模型設計復雜
深度學習的模型設計非常復雜,需要投入大量的人力物力和時間來開發新的算法和模型。大部分人只能使用現成的模型。
缺點4:沒有”人性”,容易存在偏見
由于深度學習依賴數據,并且可解釋性不高。在訓練數據不平衡的情況下會出現性別歧視、種族歧視等問題。
四種典型算法
- CNN(卷積神經網絡)
- RNN(循環神經網絡)
- GANs(生成對抗網絡)
- RL(強化學習)
卷積神經網絡 – CNN
CNN 的價值:
CNN 的基本原理:
CNN 的實際應用:
循環神經網絡 – RNN
RNN 是一種能有效的處理序列數據的算法。比如:文章內容、語音音頻、股票價格走勢…
之所以他能處理序列數據,是因為在序列中前面的輸入也會影響到后面的輸出,相當于有了“記憶功能”。但是 RNN 存在嚴重的短期記憶問題,長期的數據影響很小(哪怕他是重要的信息)。
于是基于 RNN 出現了 LSTM 和 GRU 等變種算法。這些變種算法主要有幾個特點:
RNN 幾個典型的應用如下:
生成對抗網絡 – GANs
假設一個城市治安混亂,很快,這個城市里就會出現無數的小偷。在這些小偷中,有的可能是盜竊高手,有的可能毫無技術可言。假如這個城市開始整飭其治安,突然開展一場打擊犯罪的“運動”,警察們開始恢復城市中的巡邏,很快,一批“學藝不精”的小偷就被捉住了。之所以捉住的是那些沒有技術含量的小偷,是因為警察們的技術也不行了,在捉住一批低端小偷后,城市的治安水平變得怎樣倒還不好說,但很明顯,城市里小偷們的平均水平已經大大提高了。
警察們開始繼續訓練自己的破案技術,開始抓住那些越來越狡猾的小偷。隨著這些職業慣犯們的落網,警察們也練就了特別的本事,他們能很快能從一群人中發現可疑人員,于是上前盤查,并最終逮捕嫌犯;小偷們的日子也不好過了,因為警察們的水平大大提高,如果還想以前那樣表現得鬼鬼祟祟,那么很快就會被警察捉住。為了避免被捕,小偷們努力表現得不那么“可疑”,而魔高一尺、道高一丈,警察也在不斷提高自己的水平,爭取將小偷和無辜的普通群眾區分開。隨著警察和小偷之間的這種“交流”與“切磋”,小偷們都變得非常謹慎,他們有著極高的偷竊技巧,表現得跟普通群眾一模一樣,而警察們都練就了“火眼金睛”,一旦發現可疑人員,就能馬上發現并及時控制——最終,我們同時得到了最強的小偷和最強的警察。
深度強化學習 – RL
強化學習算法的思路非常簡單,以游戲為例,如果在游戲中采取某種策略可以取得較高的得分,那么就進一步“強化”這種策略,以期繼續取得較好的結果。這種策略與日常生活中的各種“績效獎勵”非常類似。我們平時也常常用這樣的策略來提高自己的游戲水平。
在 Flappy bird 這個游戲中,我們需要簡單的點擊操作來控制小鳥,躲過各種水管,飛的越遠越好,因為飛的越遠就能獲得更高的積分獎勵。
這就是一個典型的強化學習場景:
- 機器有一個明確的小鳥角色——代理
- 需要控制小鳥飛的更遠——目標
- 整個游戲過程中需要躲避各種水管——環境
- 躲避水管的方法是讓小鳥用力飛一下——行動
- 飛的越遠,就會獲得越多的積分——獎勵
總結
深度學習屬于機器學習的范疇,深度學習可以說是在傳統神經網絡基礎上的升級,約等于神經網絡。
深度學習和傳統機器學習在數據預處理上都是類似的。核心差別在特征提取環節,深度學習由機器自己完成特征提取,不需要人工提取。
深度學習的優點:
深度學習的缺點:
深度學習的4種典型算法:
總結
以上是生活随笔為你收集整理的深度学习(一)深度学习简介以及常用算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: h5微信本地调试 vue_Vue开发Ht
- 下一篇: VS+GDAL源码编译