深度学习入门之PyTorch学习笔记:深度学习介绍
生活随笔
收集整理的這篇文章主要介紹了
深度学习入门之PyTorch学习笔记:深度学习介绍
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
深度學習入門之PyTorch學習筆記:深度學習介紹
- 緒論
- 1 深度學習介紹
- 1.1 人工智能
- 1.2 數據挖掘、機器學習、深度學習
- 1.2.1 數據挖掘
- 1.2.2 機器學習
- 1.2.3 深度學習
- 第一代神經網絡(1958-1969)
- 第二代神經網絡(1986-1998)
- 第三代神經網絡深度學習(2006年至今)
- 1.3 學習建議
- 1.3.1 線性代數
- 1.3.2 機器學習基礎
- 1.3.3 深度學習
- 參考資料
緒論
- 深度學習如今已經稱為科技領域最炙手可熱的技術,幫助你入門深度學習。
- 本文從機器學習與深度學習的基礎理論入手,從零開始學習PyTorch以及如何使用PyTorch搭建模型。
- 學習機器學習中的線性回歸、Logistic回歸、深度學習的優化方法、多層全連接神經網絡、卷積神經網絡、循環神經網絡、以及生成對抗網絡,最后通過實戰了解深度學習前沿的研究成果。
- 將理論與代碼結合,幫助更好的入門機器學習。
1 深度學習介紹
1.1 人工智能
- 人工智能(Artificial Intelligence),也稱機器智能,是指由人工制造出來的系統所表現的智能。所謂智能,即可以觀察周圍環境并據此做出行動以達到目的。
- 人工智能的概念很寬泛,根據人工智能的實力將它分為3類。
(1)弱人工智能(Artificial Narrow Intelligence,ANI)
若人工智能是擅長于單個方面的人工智能。比如戰勝世界冠軍的人工智能AlphaGo只會下圍棋,不會分別貓和狗,現在實現的幾乎都是弱人工智能。
(2)強人工智能(Artificial General Intelligence,AGI)
這是類似人類級別的人工智能。強人工智能是指在各方面都能和人類比肩的人工智能,人類能干的腦力活,它都可以干。智能是一種寬泛的心理能力,能夠進行思考、計劃、解決問題、抽象思維、理解復雜理念、快速學習和從經驗中學習等操作。
(3)超人工智能
在幾乎所有領域都比最聰明的人類強,包括科學創新、通識和社交技能。超人工智能可以是各方面都比人類強一點,也可以是各方面都比人類強萬億倍。
1.2 數據挖掘、機器學習、深度學習
數據挖掘作為一個學術領域,橫跨多個學科,涵蓋但不限于統計學、數學、機器學習和數據庫,此外還運用在各類專業領域,比如油田、電力、海洋生物、歷史文本、圖像、電子通信等。
1.2.1 數據挖掘
- 數據挖掘(Knowledge Discovery in DataBase)就是在大型的數據庫中發現有用的信息,并加以分析的過程。
- 一個數據的處理過就是從輸入數據開始,對數據進行預處理,包括特征選擇、規范化、降低維數、數據提升等,然后進行數據的分析和挖掘,再經過處理,如模式識別、可視化等,最后形成可用信息的全過程。
- 數據挖掘只是一種概念,從數據中挖掘到有意義的信息,從大量的數據中尋找數據之間的特性。
1.2.2 機器學習
- 機器學習是實現人工智能的一種途徑,和數據挖掘有一定的相似性,是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、計算復雜性等多門學科。
- 對比于數據挖掘從大數據之間找相互特性而言,機器學習更加注重算法的設計,讓計算機能自動從數據中學習規律,并利用規律對未知數據進行預測。
- 機器學習可以分為以下五大類。
(1)監督學習
從給定的訓練集中學習出一個函數,當新的數據到來時,可以根據這個函數預測結果。監督學習的訓練集要求是輸入和輸出,也可以說是特征和目標。訓練集中的目標是由人標注的,常見的監督學習算法包括回歸和分類。
(2)無監督學習
無監督學習和監督學習相比,訓練集沒有人為標注的結果,常見的無監督學習有聚類等。
(3)半監督學習
介于監督學習與無監督學習之間的方法。
(4)遷移學習
將已經訓練好的模型參數,遷移到新的模型來幫助新模型訓練數據集。
(5)增強學習
通過觀察周圍環境來學習。每個動作都會對環境有所了解,學習對象根據觀察到的周圍的環境的反饋來做出判斷。 - 傳統的機器學習算法有以下幾種:線性回歸模型、logistics回歸模型、K-鄰近算法、決策樹、隨機森林、支持向量機、人工神經網絡、EM算法、概率圖模型。
1.2.3 深度學習
- 深度學習的最初級版本是人工神經網絡,是機器學習的一個分支,試圖模擬人腦,通過更復雜的結構自動提取數據特征。
- 在深度學習發展起來之前,機器學習無法解決圖像識別、語音識別、自然語言處理等問題。正因為大數據的興起和高性能GPU的出現,促進了深度學習的發展。
- 深度學習從發展到崛起經歷了兩個低谷,將深度學習的歷史分為了三個階段。
第一代神經網絡(1958-1969)
- 最早的神經網絡思想起源于1943年的MCP人工神經元模型,當時人們希望能夠用計算機來模擬人的神經元的反應過程,該模型將神經元簡化為三個過程:輸入信號線性加權,求和,非線性激活(閾值法)。
- 第一次將MCP用于機器學習(分類)的當屬1958年Rosenblatt發明的感知器(perceptron)算法。該算法使用MCP模型對輸入的數據進行二分類,且能夠使用梯度下降法從訓練樣本中自動學習更新權重值。
- 1969年,美國數學家及人工智能先驅Minsky證明了感知器本質上是一種線性模型,只能處理線性分類問題,連最簡單的XOR(異或)問題都無法正確分類。
第二代神經網絡(1986-1998)
- 第一次打破非線性詛咒的是現代深度學習大牛Hinton,他在1986年發明了適用于多層感知器(MLP)的BP算法,并采用Sigmoid進行非線性映射,有效解決了非線性分類和學習的問題,引發了神經網絡的第二個熱潮。
- 1989年,RobertHecht證明了MLP的萬能逼近定理,即對于任何閉區間的一個連續函數f,都可以用含有一個隱藏層的BP神經網絡逼近。
- 1989年,LeCun發明了卷積神經網絡-LeNet,并將其用于數字識別,取得了較好的成績。
- 1991年,BP算法被指出存在梯度消失的問題,即在誤差梯度后向傳遞的過程中,后層梯度以乘性方式疊加到前層,由于Sigmodid函數的飽和特性,后層梯度本來就小,誤差梯度傳到前層時幾乎為0,因此無法對前層進行有效的學習。
- 統計學習方法的春天(1986年-2006年)
- 1986年,決策樹方法被提出來,很快ID3、ID4、CART等改進的決策樹方法相繼出現,也是符號學習方法的代表。
第三代神經網絡深度學習(2006年至今)
- 該階段又分為兩個時期:快速發展期(2006年-2012年)和爆發期(2012年至今)
- 2006年,深度學習元年。Hinton提出了深層網絡訓練中梯度消失問題的解決方案:無監督預訓練對權值進行初始化+有監督訓練微調,其主要思想是:先通過自學習的方法學習到訓練數據的結構(自動編碼器),然后在該結構上進行有監督訓練微調。
- 2011年,ReLU激活函數被提出,該激活函數能有效抑制梯度消失的問題。
- 2012年,Hinton課題組為了證明深度學習的潛力,首次參加ImageNet圖像識別比賽,通過構建CNN網絡AlexNet一舉奪得冠軍,并且碾壓了第二名SVM方法的分類性能。
- 2015年,Hinton、LeCun、Bengio論證了局部極值問題對于深度學習的影響,得到的結果是Loss的局部極值問題對于深層網絡的影響可以忽略,該論斷消除了籠罩在神經網絡上局部極值問題的陰霾。
深度學習結構
- 隨著神經網絡的發展,目前比較流行的網絡結構分別有:深度神經網絡(DNN)、卷積神經網絡(CNN)、循環遞歸神經網絡(RNN)、生成對抗網絡(RAN)
1.3 學習建議
- 網上有各種各樣的學習經驗分享,有的人注重 理論知識的積累,看了很多書,但動手實踐經驗為0;有一些人熱衷于代碼實現,每天學習別人已經寫好的代碼。
- 深度學習是理論和工程相結合的領域,不僅僅需要寫代碼的能力強,也需要有理論知識能夠看懂論文,實現論文提出的新想法,所以學習路線應該是理論與代碼相結合,平衡兩邊的學習任務,不能出現只管一邊而不學另外一邊的情況,因為只有理論與代碼兼顧,才不至于一旦學習深入,就會發現自己有很多知識漏洞。
1.3.1 線性代數
- 線性代數相當于深度學習的基石,深度學習里面有大量的矩陣運算,而且線性代數的一些矩陣分解的思想也被借鑒到了機器學習中,所以必須熟練掌握線性代數。
- 《線性代數應該這樣學》(Linear Algebra Done Right)
- MIT的線性代數公開課
- Coding The Matrix
1.3.2 機器學習基礎
- 雖然深度學習現在很火,但是也需要掌握其根本,即機器學習,這才是本質與核心。
- Coursera上Andrew Ng的機器學習入門課程。
- 林軒田的機器學習基石和機器學習技法
- Udacity的機器學習納米單位
- 《機器學習》周志華
- 《統計學習方法》李航
- Pattern Recognition and Machine Learning
1.3.3 深度學習
- 深度學習是最近幾年最為活躍的研究領域,爆發了很多革命性的突破,很多前沿的學習資源。
- Udacity的兩個深度學習課程
- Coursera的Neural Network for Machine Learning
- Stanford:cs231n
- Stanford:cs224n
參考資料
總結
以上是生活随笔為你收集整理的深度学习入门之PyTorch学习笔记:深度学习介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习入门之PyTorch学习笔记
- 下一篇: 深度学习入门之PyTorch学习笔记:深