深度学习(1): 深度学习简介
文章目錄
- 1 什么是深度學習?
- 2 深度學習應用
- 2.1 機器學習的一般方法
- 2.2 深度學習的一般方法
- 3 GPU的迅速發展
- 3.1 GPU與顯卡的區別
- 3.2 GPU 與 CPU 區別
- 3.3 GPU種類
- 參考資料
注:轉載請標明原文出處鏈接:https://xiongyiming.blog.csdn.net/article/details/98944012
1 什么是深度學習?
深度學習(DL, Deep Learning)是機器學習(ML, Machine Learning)領域中一個新的研究方向,它被引入機器學習使其更接近于最初的目標——人工智能(AI, Artificial Intelligence)。
深度學習是學習樣本數據的內在規律和表示層次,這些學習過程中獲得的信息對諸如文字,圖像和聲音等數據的解釋有很大的幫助。它的最終目標是讓機器能夠像人一樣具有分析學習能力,能夠識別文字、圖像和聲音等數據。 深度學習是一個復雜的機器學習算法,在語音和圖像識別方面取得的效果,遠遠超過先前相關技術。
深度學習在搜索技術,數據挖掘,機器學習,機器翻譯,自然語言處理,多媒體學習,語音,推薦和個性化技術,以及其他相關領域都取得了很多成果。深度學習使機器模仿視聽和思考等人類的活動,解決了很多復雜的模式識別難題,使得人工智能相關技術取得了很大進步。
(以上均來自百度百科)
下面了解一下人工智能、機器學習和深度學習之間的關系。下圖是三者之間的關系,可以看出三者之間是包含和被包含的關系。
2 深度學習應用
2.1 機器學習的一般方法
機器學習按照方法主要可以分為兩大類:監督學習和無監督學習。其中監督學習主要由分類和回歸等問題組成,無監督學習主要由聚類和關聯分析等問題組成。深度學習則屬于監督學習當中的一種。下圖為監督學習的一般方法。
2.2 深度學習的一般方法
隨著深度學習的爆發,最新的深度學習算法已經遠遠超越了傳統的機器學 習算法對于數據的預測和分類精度。深度學習不需要我們自己去提取特征,而是自 動地對數據進行篩選,自動地提取數據高維特征。下圖為深度學習的一般方法,與傳統機器學習中的監督學習一般方法(如上圖)相比,少了特征工程,節約了工程師們大量工作時間。
神經網絡應用的突破領域之一是控制論,神經網絡有著一套完美的反饋機制,給控制論增添了不少色彩。而深度學習的出現就 如寒武紀生命大爆發一樣,前幾年我們或許聽到更多的是大數據處理、數據挖掘, 而如今在科技創新的生態中,幾乎每個人都在談論深度學習、人工智能。下面簡單 來介紹關于深度學習的應用。
(1) 圖像處理
(2) 自動駕駛
(3) 機器人
波士頓動力機器人
(4) 醫療健康診斷
深度學習技術己經開始滲透到每一個領域當中,使得機器學習能夠實現更多的應用場景,并且極大地拓展了人工智能的領域范疇。從無人駕駛汽車、無人駕駛飛機,到生物醫學的預防性診斷、病理預測,甚至是更加貼近年輕一代的電影推薦、購物指南,幾乎所有領域都可以使用深度學習。
3 GPU的迅速發展
GPU (Graphics Processing Unit, 圖形處理器) 作為硬件加速器之一,通過大量圖形處理單元與 CPU 協同工作,對深度學習、數據分析,以及大量計算的工程應用進行加速 。 從 2007 年 NVIDIA 公司發布了第一個支持 CUDA 的 GPU 后, GPU 的應用范圍不斷拓展,從政府實驗室、大學、企業的大型數據中心,到現今非常火熱的人工智能汽車、無人駕駛飛機和機器人等嵌入式平臺, GPU 都發揮著巨大的作用。
CUDA (Compute Unified Device Architecture, 統一計算設備架構)。隨著顯卡的發展, GPU 越來越強大, GPU 開始主要為顯示圖像做優化,在計算上已經超越了通用的 CPU 。 如此強大的芯片如果只是作為顯卡就太浪費了,因此 NVIDIA 推出 CUDA 這一通用并行計算架構,該架構使 GPU 能夠解決復雜的計算問題 。
3.1 GPU與顯卡的區別
GPU只是顯卡上的一個核心處理芯片,是顯卡的心臟,不能單獨作為外接擴展卡使用,GPU因并行計算任務較重,所以功耗較大,只能焊接在顯卡的電路板上使用。顯卡上都有GPU,它是區分顯性能的最主要元件,顯卡也叫顯示適配器,分為獨立顯卡和主板上集成顯卡,獨立顯卡主要由GPU、顯存和接口電路構成,集成顯卡沒有獨立顯存而是使用主板上的內存。
GPU是圖形處理器,一般GPU就是焊接在顯卡上的,大部分情況下,我們所說GPU就等于指顯卡,但是實際情況是GPU是顯示卡的“心臟”,是顯卡的一個核心零部件,核心組成部分。它們是“寄生與被寄生”關系。GPU本身并不能單獨工作,只有配合上附屬電路和接口,才能工作。這時候,它就變成了顯卡
參考鏈接: https://baijiahao.baidu.com/s?id=1607965696317204020&wfr=spider&for=pc
3.2 GPU 與 CPU 區別
比較 GPU 和 CPU ,就是比較它們兩者如何處理任務。如下圖圖 1-9 所示, CPU 使用幾個核心處理單元去優化串行順序任務,而 GPU 的大規模并行架構擁有數以千計的更小、更高效的處理單元,用于處理多個并行小任務。
CPU 擁有復雜的系統指令,能夠進行復雜的任務操作和調度,兩者是互補關系,而不能相互代替。
GPU 是大規模并行架構,處理并行任務毫無疑問是非常快的,深度學習需要高
效的矩陣操作和大量的卷積操作, GPU 的并行架構再適合不過。簡單來說,確實如此,但是為什么 GPU 進行矩陣操作和卷積操作會比 CPU 要快呢?真正原因是 GPU具有如下特性 :
(1) 高帶寬
(2) 高速的緩存性能
(3) 并行單元多
在執行多任務時, CPU 需要等待帶寬,而 GPU 能夠優化帶寬。舉個簡單的例子,我們可以把 CPU 看作跑車, GPU 是大卡車,如下圖圖 1-10 所示任務就是要把一堆貨物從北京搬運到廣州。 CPU(跑車〉可以快速地把數據(貨物〉從內存讀入 RAM 中,然而 GPU (大卡車〉裝貨的速度就好慢了。不過后面才是重點, CPU (跑車)把這堆數據(貨物)從北京搬運到廣州|需要來回操作很多次,也就是往返京廣線很多次,而 GPU (大卡車)只需要一 次就可以完成搬運(一次可以裝載大量數據進入內存)。換言之, CPU 擅長操作小的內存塊,而 GPU 則擅長操作大的內存塊 。 CPU 集群大概可以達到 50GB/s 的帶寬總量,而等量的 GPU 集群可以達到 750GB/s 的帶寬量。
如果讓一輛大卡車去裝載很多堆貨物,就要等待很長的時間了,因為要等待大卡車從北京運到廣州,然后再回來裝貨物。設想一下,我們現在擁有了跑車車隊和卡車車隊(線程并行〉,運載一堆貨物(非常大塊的內存數據需要讀入緩存,如大型矩陣)。我們會等待第一輛卡車,但是后面就不需要等待的時間了,因為在廣州會有一隊伍的大卡車正在排隊輸送貨物(數據),這時處理器就可以直接從緩存中讀取數據了。在線性并行的情況下, GPU 可以提供高帶寬,從而隱藏延遲時間。這也就是GPU 比 CPU 更適合處理深度學習的原因。
3.3 GPU種類
特別是最近幾年,隨著 GPU處理能力的飛速進步 ,在 2012 年需要 l 個月才能完成的深度學習訓練,在 2015 年只需幾天即可完成 。 在這樣的背景下,深度學習的發展恰逢其時,將會引發進一步的革新和發展。
對于深度學習的加速器 GPU,現在市面上主要的品牌有 AMD 、 NVIDIA 、Intel 的 Xeon Phi,如下圖所示。
NVIDIA公司的GUP使用最為廣泛,NVIDIA 的計算加速標準庫 cuDNN 使得工程師在 CUDA 平臺中構建深度學習變得非常容易,而且在同 一張顯卡的前提下比沒有使用 cnDNN 的速度提升 5 倍之多。有良好的生態。下圖是NVIDIA公司的三種類型的GPU。
其中,
(1) GeForce 系列面向大眾,常見的有:GeForce GTX 1080, GeForce GTX 1080 Ti, GeForce GTX 2080 Ti
(2) Tesla 系列面向科學計算;
(3) Tegra 系列面向嵌入式的 GPU 主板。
參考資料
[1] 圖解深度學習
[2] 深度學習原理與實踐
[3] TensorFlow實戰Google深度學習框架(第2版)
總結
以上是生活随笔為你收集整理的深度学习(1): 深度学习简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分布式版本控制系统之Git
- 下一篇: 【Opencv】 于仕琪 人脸68个特征