深度學習入門之PytoRch 一 深度學習發展歷史

2021-10-10 10:41:07 字數 1920 閱讀 7973

2 學習本書之前建議

我們一提到人工智慧就會想到機械人,其實機械人只是人工智慧的容器,沒有這個容器也是可以的,可以將人工智慧分為三個方面

1)弱人工智慧

比如戰勝全世界的al-phago,它只會下象棋,但是辨識一下貓和狗的話,他就不知道怎麼做

2)強人工智慧

就是人類能幹的腦力活動,它全部都能幹

3)超人工智慧

牛津哲學家,定義為在所有方面都比人類大腦聰明。

隨著大資料的興起,資料探勘技術出現,涵蓋不限於統計學,數學,機器學習和資料庫。

並運用在各種專業領域。

乙個資料的處理過程就是輸入資料,對資料進行預處理,包括特徵選擇,規範化,降低維數,資料提公升等。然後進行資料的挖掘與分析,在經過處理,比如模式識別、視覺化等,最後形成可用資訊的全過程。

所以就是從資料中找到有用的資訊以及資料之間的特性

機器學習也是一門交叉學科,但是和資料探勘相比,機器學習更加注重演算法的設計,讓計算機從資料中學習規律,並利用規律對資料進行**,因為與統計學聯絡緊密,所以就叫做統計學習方法。

1)監督學習

用給定的資料集學習得到乙個函式,當新的資料來的時候可以根據這個函式來**結果。常見的監督學習演算法包括回歸和分類。

2)無監督學習

無監督學習與監督學習相比,訓練集沒有人為標註的結果,常見的演算法有聚類

3)半監督學習

是一種介於監督學習和無監督學習之間的演算法

4)遷移學習

將已經訓練好的模型引數遷移到新的模型來幫助新模型訓練資料集

5)增強學習

通過觀察周圍環境來進行學習,每個動作都會影響周圍環境,學習者對根據觀察周圍的環境來反饋。

傳統的機器學習演算法有以下幾種:

線性回歸模型,logistic回歸模型

k-臨近演算法

決策樹,隨機森林(包含多個決策樹的分類器),支援向量機,人工神經網路,em演算法,概率圖模型

深度學習的初級是人工神經網路,深度學習解決了機器學習不能很好解決的問題,比如圖形識別、語音識別、自然語言處理等,大資料的興起和高計算量的gpu促進了深度學習的發展。使更複雜的網路模型成為可能。

神經網路可以分為如下三個階段

1)第一代神經網路:人工神經元模型

人們希望能夠用計算機來模擬人的神經元反映的過程,將這個過程分為三個階段

(1)輸入訊號線性加權

(2)求和

(3)非線性啟用(閾值法)

2)第二代神經網路

第一代神經網路因為只能處理線性問題研究停滯不前,第二代神經網路發明了適用於多層感知器的bp演算法,並用sigmoid進行對映,有效解決了非線性問題,引發第二次神經網路熱潮,但是由於神經網路一直缺少嚴格數學支援,並且bp演算法被指出梯度消失的問題,使得誤差梯度傳到前層幾乎為0,無法進行前層學習。後來決策樹的興起提供了統計學方法,並且出現了一系列演算法,神經網路又有了初步發展。

3)第三代神經網路

快速發展期

2023年,hinton提出了解決梯度消失的解決方案:無監督訓練對權值進行初始化+有監督訓練微調,但是沒有實驗驗證,被忽視了,2023年,relu啟用函式被提出,能夠有效的抑制梯度消失的問題。並且將深度學習應用在語音識別上。

爆發期

2023年,hinton課題組參加了imagenet影象識別比賽1.2.1

,通過構建cnn網路alexnet一舉獲得冠軍,並且碾壓了第二名svm的分類效能,2023年論證了區域性極值問題對深度學習的影響,雖然深層網路的餓區域性極值非常多,但是通過bgd優化方法很難陷進去。2023年提出了deep residual net,

深度學習框架

dnn,cnn

rnngan

接下來都會一一介紹。

在學習本書之前可以看我的分類專欄

1 機器學習,還在更新中

2 深度學習基礎-基於python的理論與實現

深度學習 ORC(一) pytorch入門OCR

目錄綜述 推薦 python 現有模組 更新時間 2019年9月26日 很好的參考資料 這個github收集了文字檢測 文字識別 端到端的 以及部分開源 很好的學習資料!1 ocr的應用場景 目前ocr的應用場景主要分為以下三個方面 1 自然場景下多形態文字檢測與識別 2 手寫體文字檢測與識別 3 ...

深度學習框架 PyTorch(一)

pytorch是基於python的開源深度學習框架,它包括了支援gpus計算的tensor模組以及自動求導等先進的模組,被廣泛應用於科學研究中,是最流行的動態圖框架。pytorch的運算單元叫作張量tensor。我們可以將張量理解為乙個多維陣列,一階張量即為一位陣列,通常叫作向量vector 二階張...

深度學習 Pytorch學習筆記(一)

pytorch中需要自己定義網路模型,該模型需要封裝到乙個自定義的類中,該類只是乙個子類,其繼承的父類為torch.nn.module,可見如下樹形結構圖 module實際又是繼承了object類,關於為什麼要繼承object類有興趣的可以看這篇部落格mro演算法 也就是說,自定義的模型除了要有 i...