項目7 人工神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)_第1頁
項目7 人工神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)_第2頁
項目7 人工神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)_第3頁
項目7 人工神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)_第4頁
項目7 人工神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)_第5頁
已閱讀5頁,還剩75頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

數(shù)據(jù)挖掘技術(shù)與應(yīng)用案例教程數(shù)據(jù)挖掘基礎(chǔ)數(shù)據(jù)探索與預(yù)處理分類回歸分析聚類關(guān)聯(lián)規(guī)則挖掘人工神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)綜合案例——北京二手房數(shù)據(jù)挖掘項目七人工神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)項目導(dǎo)讀隨著人工智能的飛速發(fā)展,人工神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)已成為數(shù)據(jù)挖掘領(lǐng)域的核心力量。這些技術(shù)通過模仿人腦的神經(jīng)元連接方式,實現(xiàn)了對復(fù)雜數(shù)據(jù)的高效處理與分析,為數(shù)據(jù)挖掘領(lǐng)域帶來了前所未有的機遇。本項目就來學(xué)習(xí)人工神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)的相關(guān)知識,以及構(gòu)建感知器模型和卷積神經(jīng)網(wǎng)絡(luò)模型的方法。知識目標熟悉人工神經(jīng)網(wǎng)絡(luò)的基本概念。熟悉感知器的概念。理解感知器學(xué)習(xí)算法的基本步驟,并掌握其實現(xiàn)方法。熟悉深度學(xué)習(xí)的概念、應(yīng)用領(lǐng)域和經(jīng)典模型。理解卷積神經(jīng)網(wǎng)絡(luò)各層的作用,并掌握卷積神經(jīng)網(wǎng)絡(luò)的實現(xiàn)方法。項目目標技能目標能夠使用感知器和卷積神經(jīng)網(wǎng)絡(luò)對目標數(shù)據(jù)進行分類。素養(yǎng)目標持續(xù)關(guān)注科技前沿新技術(shù),不斷開闊視野,抓住機遇,展現(xiàn)新作為。勇于接受學(xué)習(xí)中的挑戰(zhàn),并在面對困難時保持積極態(tài)度。全班學(xué)生以3~5人為一組進行分組,各組選出組長。組長組織組員掃碼觀看“人工神經(jīng)網(wǎng)絡(luò)的應(yīng)用領(lǐng)域”和“深度學(xué)習(xí)的發(fā)展歷程”視頻,討論并回答下列問題。項目準備深度學(xué)習(xí)的發(fā)展歷程人工神經(jīng)網(wǎng)絡(luò)的應(yīng)用領(lǐng)域問題1:簡述人工神經(jīng)網(wǎng)絡(luò)的應(yīng)用領(lǐng)域。問題2:深度學(xué)習(xí)和人工神經(jīng)網(wǎng)絡(luò)的關(guān)系是什么?項目導(dǎo)航7.1人工神經(jīng)網(wǎng)絡(luò)7.2深度學(xué)習(xí)7.1人工神經(jīng)網(wǎng)絡(luò)7.1.1人工神經(jīng)網(wǎng)絡(luò)的基本概念

人工神經(jīng)網(wǎng)絡(luò)(artificialneuralnetwork,ANN),簡稱神經(jīng)網(wǎng)絡(luò)(neuralnetwork,NN),它從信息處理角度模仿生物神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和功能,進而構(gòu)建數(shù)學(xué)模型或計算模型。互相連接形成了生物神經(jīng)網(wǎng)絡(luò)生物神經(jīng)元基本組成單元生物神經(jīng)網(wǎng)絡(luò)互相連接形成了人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)元基本組成單元人工神經(jīng)網(wǎng)絡(luò)7.1.1人工神經(jīng)網(wǎng)絡(luò)的基本概念

1.生物神經(jīng)元

生物神經(jīng)元細胞體樹突軸突生物神經(jīng)元結(jié)構(gòu)樹突細胞核細胞體軸突突觸樹突細胞核細胞體軸突突觸7.1.1人工神經(jīng)網(wǎng)絡(luò)的基本概念

1.生物神經(jīng)元

神經(jīng)元之間通過樹突和軸突末端(突觸)進行連接,從而實現(xiàn)信號的傳遞與交流。神經(jīng)元的輸入,能夠接收來自其他神經(jīng)元的刺激并將其傳遞至細胞體;神經(jīng)元的輸出,可以將細胞體的興奮狀態(tài)傳遞至其他神經(jīng)元。生物神經(jīng)元的核心,由細胞核、細胞質(zhì)和細胞膜組成,主要功能是處理輸入信號并產(chǎn)生輸出信號;7.1.1人工神經(jīng)網(wǎng)絡(luò)的基本概念

1.生物神經(jīng)元

當神經(jīng)元處于抑制狀態(tài)時,其軸突不傳遞任何信號。當樹突接收到的刺激總和超過特定閾值時,神經(jīng)元便會從抑制狀態(tài)切換到興奮狀態(tài),并通過軸突向其他神經(jīng)元發(fā)送信號。生物神經(jīng)元基本狀態(tài)抑制興奮人們基于對生物神經(jīng)網(wǎng)絡(luò)的理解,提出了人工神經(jīng)元模型。7.1.1人工神經(jīng)網(wǎng)絡(luò)的基本概念

2.M-P神經(jīng)元模型

核心思想:模擬生物神經(jīng)元的抑制和興奮兩種基本狀態(tài)。在該模型中,每個人工神經(jīng)元可以接收多個輸入數(shù)據(jù)(xi),每個輸入數(shù)據(jù)都對應(yīng)一個權(quán)重(wi),反映了該數(shù)據(jù)對神經(jīng)元刺激程度的大小。M-P神經(jīng)元模型所有輸入數(shù)據(jù)的加權(quán)和(Σ)與產(chǎn)生神經(jīng)興奮的閾值(θ)相減,得到中間值z,然后通過激活函數(shù)f(z)(階躍函數(shù))輸出神經(jīng)元狀態(tài);若z≥0,則神經(jīng)元輸出為1,表示興奮狀態(tài);若z<0,則神經(jīng)元輸出為0,表示抑制狀態(tài)。人類歷史上第一個人工神經(jīng)元模型,如圖所示。7.1.1人工神經(jīng)網(wǎng)絡(luò)的基本概念

2.M-P神經(jīng)元模型

M-P神經(jīng)元模型的輸出可用如下公式表示。(7-1)盡管M-P神經(jīng)元模型具有局限性,如權(quán)重wi無法自動學(xué)習(xí)和更新,但M-P模型依然對人工神經(jīng)網(wǎng)絡(luò)的發(fā)展起到了推動作用。7.1.1人工神經(jīng)網(wǎng)絡(luò)的基本概念

3.激活函數(shù)

在實際應(yīng)用中,很多問題是非線性問題,引入激活函數(shù)可以使人工神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)和擬合各種復(fù)雜的非線性模型,大大提升了人工神經(jīng)網(wǎng)絡(luò)的表達能力。常用的激活函數(shù)階躍函數(shù)Sigmoid函數(shù)ReLU函數(shù)Softmax函數(shù)7.1.1人工神經(jīng)網(wǎng)絡(luò)的基本概念

3.激活函數(shù)

M-P神經(jīng)元模型通常使用階躍函數(shù)作為激活函數(shù),該函數(shù)以閾值為界,一旦輸入高于閾值,就激活輸出,其數(shù)學(xué)表達式如下。(7-2)將任意數(shù)值映射到[0,1]區(qū)間,以表示數(shù)據(jù)屬于某一類別的概率,其數(shù)學(xué)表達式如下。(7-3)Sigmoid函數(shù)常用于二分類,其函數(shù)圖形如圖所示。(1)階躍函數(shù)(2)Sigmoid函數(shù)目前應(yīng)用較為廣泛的激活函數(shù),其數(shù)學(xué)表達式如下。(7-4)7.1.1人工神經(jīng)網(wǎng)絡(luò)的基本概念

3.激活函數(shù)

當使用ReLU函數(shù)時,若輸入為正數(shù),則輸出等于輸入;若輸入為負數(shù)或零,則輸出為零。其函數(shù)圖形如圖所示。(3)ReLU函數(shù)主要用于多分類,其數(shù)學(xué)表達式如下。(7-5)7.1.1人工神經(jīng)網(wǎng)絡(luò)的基本概念

3.激活函數(shù)

(4)Softmax函數(shù)第i個神經(jīng)元的輸出為輸出神經(jīng)元的個數(shù),即分類的類別個數(shù)通過Softmax函數(shù)可以將多分類的輸出轉(zhuǎn)換為范圍在[0,1],且和為1的概率分布。7.1.1人工神經(jīng)網(wǎng)絡(luò)的基本概念

4.損失函數(shù)

用于描述模型預(yù)測值與真實值的差異大小。損失函數(shù)值越小,表示模型預(yù)測的結(jié)果與真實值的偏差越小,說明模型越精確。人工神經(jīng)網(wǎng)絡(luò)模型就是以損失函數(shù)為度量尋找最優(yōu)參數(shù)的。常用的損失函數(shù)均方誤差損失函數(shù)交叉熵損失函數(shù)7.1.1人工神經(jīng)網(wǎng)絡(luò)的基本概念

4.損失函數(shù)

(1)均方誤差(meansquarederror,MSE)損失函數(shù)在人工神經(jīng)網(wǎng)絡(luò)中,均方誤差損失函數(shù)主要用來描述預(yù)測值與真實值之間的差異大小,通常用于回歸分析,其數(shù)學(xué)表達式如下。(7-6)第i個數(shù)據(jù)的真實值第i個數(shù)據(jù)的預(yù)測值總數(shù)據(jù)量均方誤差損失函數(shù)對異常值非常敏感,平方操作會使得異常值放大。因此,均方誤差損失函數(shù)的值越小,說明模型性能越好。7.1.1人工神經(jīng)網(wǎng)絡(luò)的基本概念

4.損失函數(shù)

(2)交叉熵(crossentropy,CE)損失函數(shù)在人工神經(jīng)網(wǎng)絡(luò)中,交叉熵損失函數(shù)主要用來描述概率分布之間的差異,通常用于多分類,其數(shù)學(xué)表達式如下。(7-7)總數(shù)據(jù)量真實概率分布中第i個類別的概率預(yù)測的第i個類別的概率除上述介紹的損失函數(shù)外,還有合頁損失函數(shù)、對數(shù)似然損失函數(shù)、Huber損失函數(shù)等,這里不再一一介紹,感興趣的讀者可參考其他資料自行了解。交叉熵損失函數(shù)的值越小,表示預(yù)測結(jié)果越準確。7.1.1人工神經(jīng)網(wǎng)絡(luò)的基本概念

5.優(yōu)化算法

適用情況:在給定約束條件下尋找使目標函數(shù)取得最優(yōu)值的參數(shù)或變量。在人工神經(jīng)網(wǎng)絡(luò)中,優(yōu)化算法的目標通常是找到一組參數(shù)(權(quán)重和偏置),這組參數(shù)能夠顯著降低訓(xùn)練集上的損失函數(shù)值,從而提高模型的性能。常用的優(yōu)化算法梯度下降算法RMSProp算法Adam算法7.1.1人工神經(jīng)網(wǎng)絡(luò)的基本概念

5.優(yōu)化算法

(1)梯度下降算法定義:一種在人工神經(jīng)網(wǎng)絡(luò)中廣泛應(yīng)用的優(yōu)化算法?;舅枷耄汉瘮?shù)的取值從當前位置沿著梯度方向前進一定距離,然后在新的地方重新求取梯度,再沿著新梯度方向前進,如此反復(fù)不斷地沿梯度方向前進,逐漸減小損失函數(shù)值。假設(shè)要優(yōu)化的損失函數(shù)是loss(θ),其中θ是參數(shù)。梯度就是損失函數(shù)在某一點的變化率,用

表示。那么在每一次迭代中,參數(shù)的更新公式如下。(7-8)參數(shù)更新的次數(shù)學(xué)習(xí)率,它決定了一次迭代中參數(shù)更新幅度,其取值范圍為0~1。太大容易造成參數(shù)調(diào)整不穩(wěn)定,太小容易造成參數(shù)調(diào)整太慢,迭代次數(shù)過多。7.1.1人工神經(jīng)網(wǎng)絡(luò)的基本概念

5.優(yōu)化算法

(2)RMSProp算法對梯度下降算法的改進算法。梯度下降算法使用固定的學(xué)習(xí)率,可能導(dǎo)致某些參數(shù)收斂速度過慢或不收斂。而RMSProp算法通過對梯度平方的指數(shù)加權(quán)平均來調(diào)整學(xué)習(xí)率,這樣可以使得學(xué)習(xí)率在不同的參數(shù)上根據(jù)梯度的變化情況進行自適應(yīng)調(diào)整。學(xué)習(xí)率的調(diào)整公式如下。(7-9)一個非常小的常數(shù),用于避免分母為零的情況;梯度平方的指數(shù)加權(quán)平均,計算公式:(7-10)一個衰減因子,用于控制歷史梯度對當前梯度影響的權(quán)重,一般取值范圍是[0,1]。那么,RMSProp算法在每一次迭代中,參數(shù)的更新公式:(7-11)7.1.1人工神經(jīng)網(wǎng)絡(luò)的基本概念

5.優(yōu)化算法

(3)Adam算法Adam算法是RMSProp算法的改進算法。它不僅考慮了梯度平方的指數(shù)加權(quán)平均,還考慮了梯度的指數(shù)加權(quán)平均。這樣可以更全面地利用歷史梯度信息來調(diào)整學(xué)習(xí)率,實現(xiàn)更有效的參數(shù)更新。其中,梯度的指數(shù)加權(quán)平均的計算公式如下。

(7-12)那么,Adam算法在每一次迭代中,參數(shù)的更新公式如下。

(7-13)7.1.2感知器

1.感知器的概念

感知器(perceptron)也稱感知機,是最簡單的人工神經(jīng)網(wǎng)絡(luò),也是一種廣泛使用的二元線性分類模型。本節(jié)只講解感知器根據(jù)層次結(jié)構(gòu)不同單層感知器多層感知器7.1.2感知器

1.感知器的概念

單層感知器之所以被稱為“單層”,是因為它只有一層神經(jīng)元具有學(xué)習(xí)調(diào)整的功能,即輸出層的神經(jīng)元。輸入層僅負責(zé)接收多個輸入特征x0,x1,……,xn-1,并將其傳遞給輸出層的神經(jīng)元。輸出層的神經(jīng)元則使用激活函數(shù)f計算輸出結(jié)果y。單層感知器的結(jié)構(gòu)比較簡單,只有一個輸入層和一個輸出層,如圖所示。單層感知器結(jié)構(gòu)7.1.2感知器

1.感知器的概念

單層感知器中還有權(quán)重和偏置兩類參數(shù)。每個輸入特征與輸出神經(jīng)元之間都有一個權(quán)重,這些權(quán)重用于衡量相應(yīng)輸入特征對輸出結(jié)果的影響程度;輸出神經(jīng)元通常還會包括一個偏置b,它可以調(diào)整神經(jīng)元的激活閾值,有助于模型更好地擬合數(shù)據(jù)。單層感知器結(jié)構(gòu)單層感知器的結(jié)構(gòu)與M-P神經(jīng)元模型相似,但M-P神經(jīng)元模型需要人為確定參數(shù),而單層感知器能夠通過訓(xùn)練自動確定參數(shù)。7.1.2感知器

2.感知器學(xué)習(xí)算法

(1)初始化參數(shù)(2)輸入數(shù)據(jù)(3)計算輸出(4)更新參數(shù)(5)停止更新感知器學(xué)習(xí)算法是一種迭代算法,目標是從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)感知器的參數(shù)。其基本步驟如下。初始化感知器的參數(shù),包括權(quán)重和偏置。在實際應(yīng)用中,這些參數(shù)通常初始化為0或隨機值。提供訓(xùn)練數(shù)據(jù),每個數(shù)據(jù)都包括輸入特征和對應(yīng)的真實標簽。對于每個訓(xùn)練數(shù)據(jù),計算感知器的輸出。首先將輸入特征與權(quán)重相乘并相加,然后再加上偏置得到一個中間值,最后應(yīng)用一個激活函數(shù)來完成輸出結(jié)果的計算。激活函數(shù)通常使用的是階躍函數(shù),即輸出結(jié)果為0或1。7.1.2感知器

2.感知器學(xué)習(xí)算法

(1)初始化參數(shù)(2)輸入數(shù)據(jù)(3)計算輸出(4)更新參數(shù)(5)停止更新當所有數(shù)據(jù)都正確分類或達到預(yù)設(shè)的迭代次數(shù)時,停止更新參數(shù)。如果感知器的輸出結(jié)果與真實結(jié)果不匹配(即分類錯誤),則更新感知器的參數(shù)。①權(quán)重更新。根據(jù)誤差的大小和輸入特征的重要性,調(diào)整權(quán)重。設(shè)y為真實值,為輸出的預(yù)測值,為學(xué)習(xí)率,那么輸入xi對應(yīng)的權(quán)重wi應(yīng)更新為(7-14)②偏置更新。偏置是影響神經(jīng)元激活的閾值。如果模型出現(xiàn)錯誤分類,則偏置會增加,如果沒有出現(xiàn)錯誤分類,則偏置會減小。設(shè)y為真實值,為輸出的預(yù)測值,為學(xué)習(xí)率,那么偏置應(yīng)更新為

(7-15)7.1.2感知器

3.感知器學(xué)習(xí)算法實現(xiàn)SGDClassifier(loss='hinge',penalty='l2',max_iter=1000,

learning_rate='optimal',eta0=0.0,random_state=None)Scikit-Learn的linear_model模塊提供的SGDClassifier類可以模擬感知器學(xué)習(xí)算法,其一般使用格式如下。指定損失函數(shù),可取值為“hinge”(合頁損失函數(shù))、“l(fā)og”(對數(shù)似然損失函數(shù))、“perceptron”(感知器損失函數(shù))等。若要實現(xiàn)感知器學(xué)習(xí)算法,loss應(yīng)當取值為“perceptron”。指定正則化的類型,可取值為“l(fā)1”(L1正則化)、“l(fā)2”(L2正則化)或None(沒有正則化),默認取值為“l(fā)2”。若要實現(xiàn)感知器學(xué)習(xí)算法,penalty應(yīng)當取值為None。指定最大迭代次數(shù),以防止過擬合或無限循環(huán),默認取值為1000。SGDClassifier(loss='hinge',penalty='l2',max_iter=1000,

learning_rate='optimal',eta0=0.0,random_state=None)7.1.2感知器

3.感知器學(xué)習(xí)算法實現(xiàn)指定學(xué)習(xí)率的策略,可取值為“constant”“optimal”“invscaling”等。取值為“constant”,表示使用固定的學(xué)習(xí)率;取值為“optimal”(默認)、“invscaling”,表示動態(tài)調(diào)整學(xué)習(xí)率。若要實現(xiàn)感知器學(xué)習(xí)算法,learning_rate應(yīng)當取值為“constant”。學(xué)習(xí)率的初始值,決定了參數(shù)更新的幅度,默認取值為0.0。若要實現(xiàn)感知器學(xué)習(xí)算法,eta0應(yīng)當取值為1.0。控制隨機性的種子,以便結(jié)果可重復(fù)。7.1.2感知器

3.感知器學(xué)習(xí)算法實現(xiàn)SGDClassifier類常用的方法如下。fit(X,y):用于訓(xùn)練模型。predict(X):使用訓(xùn)練好的模型對新樣本進行分類。score(X,y):返回模型的性能指標,即準確率。SGDClassifier類常用的屬性如下。coef_:返回各個輸入特征的權(quán)重。intercept_:返回模型的偏置。X:訓(xùn)練數(shù)據(jù)Y:對應(yīng)的真實值X:需要分類的新樣本X:測試數(shù)據(jù)Y:對應(yīng)的真實值課堂檢測

1、(單選題)以下哪項屬于損失函數(shù)?(

)。A.Sigmoid函數(shù)B.ReLU函數(shù)C.均方誤差損失函數(shù)D.階躍函數(shù)2、(多選題)常用的優(yōu)化算法有哪些?()。A.梯度下降算法B.RMSProp算法C.Adam算法D.自適應(yīng)學(xué)習(xí)率優(yōu)化算法ABCC課堂小結(jié)

人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)的基本概念感知器步驟1:新建項目并安裝Python庫步驟2:獲取數(shù)據(jù)項目分析本項目使用的數(shù)據(jù)集是Scikit-Learn提供的Iris(鳶尾花)數(shù)據(jù)集和Keras提供的MNIST(手寫數(shù)字)數(shù)據(jù)集。(1)Iris數(shù)據(jù)集的詳細信息可參考項目3的項目分析,此處不再贅述。本項目使用感知器對鳶尾花進行分類,過程可分為以下四個步驟。新建“人工神經(jīng)網(wǎng)絡(luò)”項目,并提前安裝本項目用到的Python庫,包括Scikit-Learn和Matplotlib。從Scikit-Learn中導(dǎo)入Iris數(shù)據(jù)集,并將其劃分為訓(xùn)練集和測試集。由于感知器適合處理二分類問題,獲取數(shù)據(jù)時只選取前一百條數(shù)據(jù)(即山鳶尾和雜色鳶尾兩種類別的鳶尾花數(shù)據(jù))即可。項目分析步驟3:構(gòu)建模型并評價步驟4:知識表示首先構(gòu)建感知器分類模型,然后使用合適的評價指標對感知器分類模型進行評價。輸出感知器模型的參數(shù),并使用散點圖將數(shù)據(jù)可視化。案例實施1——使用感知器對鳶尾花進行分類

使用感知器對鳶尾花進行分類1.新建項目并安裝Python庫2.獲取數(shù)據(jù)3.構(gòu)建模型并評價4.知識表示7.2深度學(xué)習(xí)7.2.1深度學(xué)習(xí)概述

1.深度學(xué)習(xí)的概念

深度學(xué)習(xí)(deeplearning,DL)是一種具有極大潛力的數(shù)據(jù)挖掘方法。核心思想:通過多層人工神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)數(shù)據(jù)的特征,從而實現(xiàn)對數(shù)據(jù)的自動提取、分析和理解,進而完成各種復(fù)雜的數(shù)據(jù)挖掘任務(wù)。“深度”:人工神經(jīng)網(wǎng)絡(luò)中包含一系列連續(xù)的層;“學(xué)習(xí)”:訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)的過程。7.2.1深度學(xué)習(xí)概述

2.深度學(xué)習(xí)的應(yīng)用領(lǐng)域

常見的應(yīng)用領(lǐng)域計算機視覺自然語言處理自動語音識別深度學(xué)習(xí)在多個應(yīng)用領(lǐng)域都取得了顯著成果。7.2.1深度學(xué)習(xí)概述

2.深度學(xué)習(xí)的應(yīng)用領(lǐng)域

(1)計算機視覺(computervision,CV)是深度學(xué)習(xí)技術(shù)最早取得突破性成就的領(lǐng)域。③圖像分割將圖像分割為不同的區(qū)域,并為每個區(qū)域分配一個特定的標簽,如醫(yī)學(xué)影像中的組織分割。②目標檢測定位和標記圖像中多個物體的位置,如監(jiān)控系統(tǒng)中的人臉識別。①圖像識別識別圖像中的物體、場景或人物,如無人駕駛中的道路標識識別。這些技術(shù)在無人駕駛、人臉識別和醫(yī)療輔助診斷等領(lǐng)域的研究越來越深入,應(yīng)用越來越廣泛。7.2.1深度學(xué)習(xí)概述

2.深度學(xué)習(xí)的應(yīng)用領(lǐng)域

(2)自然語言處理(naturallanguageprocessing,NLP)研究人類與計算機系統(tǒng)之間用自然語言進行有效通信的各種理論和方法。取得了突出成就深度學(xué)習(xí)可以將文本劃分到不同的類別中,或者分析文本中的情感傾向。①文本分類和情感分析深度學(xué)習(xí)可以進行高質(zhì)量的多語言翻譯,如將漢語翻譯成英語。②機器翻譯深度學(xué)習(xí)可以識別印刷體或手寫體文字,將它們轉(zhuǎn)換為電子文本,如字符的圖像識別。③文字識別7.2.1深度學(xué)習(xí)概述

2.深度學(xué)習(xí)的應(yīng)用領(lǐng)域

②語音轉(zhuǎn)文字:深度學(xué)習(xí)可以將口語語音轉(zhuǎn)換為文字形式,如會議記錄的自動生成。(3)自動語音識別(automaticspeechrecognition,ASR)自動語音識別簡稱語音識別,它是讓計算機能夠理解和處理人類語音的技術(shù)。隨著深度學(xué)習(xí)的應(yīng)用,語音識別在精確度和性能上都有了顯著的提高。①語音分類:深度學(xué)習(xí)可以對不同類型的語音進行分類,如區(qū)分不同語言的語音。③語音合成:深度學(xué)習(xí)可以生成自然流暢的語音,如智能客服、有聲讀物等。展現(xiàn)了廣泛的應(yīng)用潛力7.2.1深度學(xué)習(xí)概述

3.深度學(xué)習(xí)的經(jīng)典模型

深度學(xué)習(xí)的經(jīng)典模型卷積神經(jīng)網(wǎng)絡(luò)循環(huán)神經(jīng)網(wǎng)絡(luò)生成對抗網(wǎng)絡(luò)7.2.1深度學(xué)習(xí)概述

3.深度學(xué)習(xí)的經(jīng)典模型

定義:一種專門用于處理具有類似網(wǎng)格結(jié)構(gòu)數(shù)據(jù)(如圖像和視頻)的深度學(xué)習(xí)模型。核心:卷積運算,這種運算能夠有效地捕捉輸入數(shù)據(jù)中的空間結(jié)構(gòu)信息。廣泛應(yīng)用于:計算機視覺,如圖像識別、圖像分割等。(1)卷積神經(jīng)網(wǎng)絡(luò)(CNN)(2)循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)定義:一類用于處理序列數(shù)據(jù)的深度學(xué)習(xí)模型。它可以捕捉序列中的長期依賴關(guān)系。循環(huán)神經(jīng)網(wǎng)絡(luò)通過引入循環(huán)結(jié)構(gòu),使得網(wǎng)絡(luò)可以保留先前的信息并在后續(xù)步驟中進行利用。廣泛應(yīng)用于:自然語言處理,如文本生成、機器翻譯等。7.2.1深度學(xué)習(xí)概述

3.深度學(xué)習(xí)的經(jīng)典模型

定義:由生成器和判別器組成的對抗性訓(xùn)練模型。它通過生成器和判別器的相互對抗來進行學(xué)習(xí),即讓生成器生成的數(shù)據(jù)盡可能與真實數(shù)據(jù)接近以欺騙判別器,而判別器則嘗試正確區(qū)分生成數(shù)據(jù)和真實數(shù)據(jù)。主要用于:生成新的數(shù)據(jù),如圖像生成、文本生成、視頻生成等。(3)生成對抗網(wǎng)絡(luò)(GAN)本節(jié)僅講解卷積神經(jīng)網(wǎng)絡(luò)的基本思想及應(yīng)用實現(xiàn),想要深入學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)和其他深度學(xué)習(xí)模型的讀者,可參考其他資料自行學(xué)習(xí)。7.2.2卷積神經(jīng)網(wǎng)絡(luò)

卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)包含多個卷積層和池化層,這兩者共同組成了卷積神經(jīng)網(wǎng)絡(luò)的核心結(jié)構(gòu)7.2.2卷積神經(jīng)網(wǎng)絡(luò)

1.輸入層

卷積神經(jīng)網(wǎng)絡(luò)的第一層,它負責(zé)接收原始數(shù)據(jù),并將其傳遞給后續(xù)的卷積層。在圖像識別任務(wù)中,輸入層通常接收一個三維數(shù)組。Keras的layers模塊提供了Input()函數(shù)用于創(chuàng)建輸入層,其一般使用格式如下。Input(shape=None)(4)更新參數(shù)輸入數(shù)據(jù)的形狀元組,默認取值為None。7.2.2卷積神經(jīng)網(wǎng)絡(luò)

2.卷積層

主要作用:提取輸入數(shù)據(jù)的特征。每個卷積層通過其卷積核在輸入數(shù)據(jù)上進行卷積運算,從而檢測出數(shù)據(jù)中的局部特征。(1)卷積運算【卷積神經(jīng)網(wǎng)絡(luò)中的核心操作】,通常使用“”表示。它就是使用一個特征檢測器(也就是卷積核)對數(shù)據(jù)進行掃描,檢測數(shù)據(jù)的每一個區(qū)域,以提取出有用的特征。在這個過程中,卷積核與輸入數(shù)據(jù)的局部區(qū)域進行乘法運算,并將結(jié)果相加,得到的新值就是這個局部區(qū)域的輸出值。7.2.2卷積神經(jīng)網(wǎng)絡(luò)

2.卷積層

卷積運算過程以二維卷積為例,就是將卷積核在輸入數(shù)據(jù)上進行“從左到右、從上到下”的平移,并對局部區(qū)域的數(shù)據(jù)進行卷積運算,如圖所示。卷積核中的數(shù)值是一組預(yù)先定義的權(quán)重值,當卷積核在輸入數(shù)據(jù)上平移運算時,各局部數(shù)據(jù)共用一個卷積核,也就是共享權(quán)重,這極大地減少了參數(shù)規(guī)模,也有效地避免了過擬合現(xiàn)象的產(chǎn)生。調(diào)整卷積核的大小,可以學(xué)習(xí)到不同的特征。因此,卷積層通常擁有多個卷積核,使得卷積神經(jīng)網(wǎng)絡(luò)能夠自動學(xué)習(xí)到多種不同的特征,增強了模型對數(shù)據(jù)的泛化能力。7.2.2卷積神經(jīng)網(wǎng)絡(luò)

2.卷積層

(2)步長和填充長度卷積核在卷積運算過程中每次移動的距離稱為步長。步長的取值即為卷積核每次移動的單位距離,如圖所示。步長為1、步長為2的移動示意圖一般情況下,步長默認為1,若步長大于1,則會大大縮減特征的維度,但同時也會丟失部分輸入信息。7.2.2卷積神經(jīng)網(wǎng)絡(luò)

2.卷積層

(2)步長和填充長度為了盡可能多地保留原始輸入數(shù)據(jù)的邊緣信息,可在輸入數(shù)據(jù)周圍填入固定的數(shù)據(jù)(通常為“0”),這一操作稱為填充。填充長度是指輸入數(shù)據(jù)周圍填入數(shù)據(jù)的范圍,如圖所示。填充長度為1的示意圖7.2.2卷積神經(jīng)網(wǎng)絡(luò)

2.卷積層

(3)卷積層算法實現(xiàn)Keras中預(yù)建了多種類型的卷積層,此處只介紹常用的layers模塊提供的Conv2D類,它用于創(chuàng)建二維卷積層,其一般使用格式如下。Conv2D(filters,kernel_size,strides=(1,1),padding='valid',activation=None,use_bias=True,input_shape)指定卷積核的數(shù)量。指定卷積核的尺寸。例如,kernel_size取值為(3,3),表示卷積核的尺寸為。指定填充的方式,可取值為“valid”(無填充)、“same”(填充零),默認取值為“valid”。指定卷積運算的步長,默認取值為(1,1),表示在寬度和高度方向上步長均為1。Conv2D(filters,kernel_size,strides=(1,1),padding='valid',activation=None,use_bias=True,input_shape)7.2.2卷積神經(jīng)網(wǎng)絡(luò)

2.卷積層

(3)卷積層算法實現(xiàn)指定要使用的激活函數(shù),可取值為“sigmoid”“softmax”“relu”等,默認取值為None,表示不采用激活函數(shù)。指定輸入數(shù)據(jù)的形式,格式為(高,寬,通道數(shù))。例如,input_shape取值為(20,20,1),表示輸入數(shù)據(jù)是一個二維圖像,圖像的大小為像素,且圖像是單通道的(灰度圖像)。該參數(shù)僅在當前卷積層為卷積神經(jīng)網(wǎng)絡(luò)的第一層時使用。是否使用偏置,默認取值為True。7.2.2卷積神經(jīng)網(wǎng)絡(luò)

3.池化層

(1)池化運算池化運算是通過在數(shù)據(jù)的特定區(qū)域(也稱池化窗口)內(nèi)進行匯總來降低輸入數(shù)據(jù)的空間維度。最常見的池化運算是最大池化和平均池化,它們分別選取每個區(qū)域中的最大值或平均值作為輸出。以二維池化為例,步長為2的最大池化和平均池化的結(jié)果如圖所示。與卷積層不同,池化層沒有要學(xué)習(xí)的參數(shù)。因此,池化運算不會增加模型的復(fù)雜度。最大池化和平均池化的示意圖通常緊跟在卷積層后面,用于降低輸入數(shù)據(jù)的空間維度。通過池化運算,可以提取關(guān)鍵特征,減少數(shù)據(jù)中的冗余信息,從而降低模型的復(fù)雜度和計算量。7.2.2卷積神經(jīng)網(wǎng)絡(luò)

3.池化層

(2)池化層算法實現(xiàn)Keras中預(yù)建了多種類型的池化層,此處介紹常用的layers模塊提供的MaxPool2D類和AveragePooling2D類。MaxPool2D類用于創(chuàng)建二維最大池化層,其一般使用格式如下。MaxPool2D(pool_size=(2,2),strides=None,padding='valid')指定池化窗口的大小,默認取值為(2,2),表示窗口的尺寸為。指定池化運算的步長,即每次池化窗口在輸入數(shù)據(jù)上移動的步長。strides默認取值為None,表示步長與池化窗口大小相同。指定填充的方式,可取值為“valid”(無填充)、“same”(填充零),默認取值為“valid”。7.2.2卷積神經(jīng)網(wǎng)絡(luò)

3.池化層

AveragePooling2D類用于創(chuàng)建二維平均池化層,其一般使用格式如下。AveragePooling2D(pool_size=(2,2),strides=None,padding='valid')其參數(shù)與MaxPool2D類的參數(shù)相同,此處不再贅述。7.2.2卷積神經(jīng)網(wǎng)絡(luò)

4.全連接層

在卷積神經(jīng)網(wǎng)絡(luò)中,經(jīng)過一系列的卷積層和池化層處理后,得到的特征通常是多維的。但是,在連接到全連接層之前,需要將這些多維特征轉(zhuǎn)換為一維向量,以便能夠進行全連接層的計算。因此,可以通過在全連接層前增加一個拉伸層來實現(xiàn)。拉伸層可將輸入數(shù)據(jù)展平,即將多維輸入數(shù)據(jù)一維化。Keras的layers模塊提供了Flatten類用于創(chuàng)建拉伸層,以便后續(xù)的全連接層能夠?qū)μ卣鬟M行處理和分類,其一般使用格式如下。主要作用:對前面卷積層或池化層提取到的特征進行整合,以減少因為特征提取而造成的特征丟失,進一步提取出對分類或回歸任務(wù)有用的信息。Flatten()7.2.2卷積神經(jīng)網(wǎng)絡(luò)

4.全連接層

同時,Keras的layers模塊提供了Dense類用于創(chuàng)建全連接層,其一般使用格式如下。Dense(units,activation=None,use_bias=True)指定神經(jīng)元數(shù)量。指定要使用的激活函數(shù),可取值為“sigmoid”“softmax”“relu”等,默認取值為None,表示不采用激活函數(shù)。是否使用偏置,默認取值為True。7.2.2卷積神經(jīng)網(wǎng)絡(luò)

4.全連接層

由于全連接層的權(quán)重較多,有時會在全連接層中使用dropout技術(shù)來減小過擬合的風(fēng)險。在訓(xùn)練過程中,Dropout層會以一定的概率隨機將神經(jīng)元的輸出設(shè)置為0,從而使得模型不會過度依賴某些神經(jīng)元。

Keras的layers模塊提供了Dropout類用于創(chuàng)建Dropout層,其一般使用格式如下。在使用Dropout技術(shù)時,有哪些關(guān)鍵點需要注意?高手點撥Dropout(rate)rate用于指定神經(jīng)元被設(shè)置為0的概率。例如,rate取值為0.5,表示在訓(xùn)練過程中,每個神經(jīng)元有50%的概率被暫時“關(guān)閉”。7.2.2卷積神經(jīng)網(wǎng)絡(luò)

5.輸出層

(2)回歸任務(wù)的輸出層在回歸問題中,輸出層通常不使用激活函數(shù),直接輸出一個連續(xù)的值。卷積神經(jīng)網(wǎng)絡(luò)的最后一層,用于實現(xiàn)分類或回歸任務(wù)的最終輸出。(1)分類任務(wù)的輸出層對于二分類問題通常使用Sigmoid激活函數(shù),輸出值為屬于某個類別的概率。對于多分類問題通常使用Softmax激活函數(shù),輸出值為概率最大的類別。輸出層使用Keras的layers模塊提供了Dense類即可實現(xiàn)。其中,神經(jīng)元數(shù)量取決于分類或回歸任務(wù)的類別數(shù)量或輸出值的維度。例如,對于10個類別的分類任務(wù),輸出層有10個神經(jīng)元;對于連續(xù)值(如價格)的預(yù)測任務(wù),輸出層只有1個神經(jīng)元。7.2.2卷積神經(jīng)網(wǎng)絡(luò)

6.卷積神經(jīng)網(wǎng)絡(luò)的模型實現(xiàn)

也稱Sequential模型,它是一個簡單的線性堆疊層,其中每一層都只有一個輸入和一個輸出。特點:層與層之間只有單向的數(shù)據(jù)流動,沒有分支結(jié)構(gòu)。Keras順序模型構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)模型用于提供Sequential(layer=None,name=None)Keras的models模塊提供了Sequential類用于創(chuàng)建順序模型,其一般使用格式如下。要添加到網(wǎng)絡(luò)模型的層列表或者元組網(wǎng)絡(luò)模型的名稱7.2.2卷積神經(jīng)網(wǎng)絡(luò)

6.卷積神經(jīng)網(wǎng)絡(luò)的模型實現(xiàn)

compile(optimizer='rmsprop',loss=None,metrics=None)指定訓(xùn)練過程中使用的優(yōu)化算法,可取值為“sgd”“rmsprop”“adam”等,默認取值為“rmsprop”。指定模型需要的損失函數(shù),可取值為“binary_crossentropy”(二元交叉熵)、“categorical_crossentropy”(分類交叉熵)、“mean_squared_error”(均方誤差)等。指定評價模型性能的指標,可以是定義的字符串名稱,也可以是可調(diào)用對象。例如,metrics取值為“['accuracy']”,表示評價指標為準確率。Sequential類常用的方法如下。(1)Sequential類提供了add()方法用于添加各種人工神經(jīng)網(wǎng)絡(luò)層,如二維卷積層(Conv2D)、二維最大池化層(MaxPooling2D)、全連接層(Dense)等。(2)Sequential類提供了compile()方法用于設(shè)置模型的學(xué)習(xí)過程,即編譯模型,其一般使用格式如下。7.2.2卷積神經(jīng)網(wǎng)絡(luò)

6.卷積神經(jīng)網(wǎng)絡(luò)的模型實現(xiàn)

fit(x,y,batch_size=32,epochs=1,validation_data=None)(3)Sequential類提供了fit()方法用于訓(xùn)練模型,其一般使用格式如下。指定每次迭代用來更新模型權(quán)重的樣本數(shù)。若設(shè)置較大的值,可以加快模型訓(xùn)練過程,但可能會導(dǎo)致內(nèi)存消耗增加。默認取值為32,表示模型在訓(xùn)練過程中,會從訓(xùn)練集中隨機選擇32個樣本來更新模型的參數(shù)。指定在訓(xùn)練過程中用來評價模型性能的數(shù)據(jù)。指定訓(xùn)練過程中數(shù)據(jù)迭代的次數(shù)。指定訓(xùn)練模型的數(shù)據(jù)。指定訓(xùn)練模型的數(shù)據(jù)標簽。7.2.2卷積神經(jīng)網(wǎng)絡(luò)

6.卷積神經(jīng)網(wǎng)絡(luò)的模型實現(xiàn)

predict(x,batch_size=None,verbose=0)evaluate(x,y)(4)Sequential類提供了evaluate()方法用于評價模型的性能,其一般使用格式如下。(5)Sequential類提供了predict()方法用于預(yù)測新樣本的輸出,其一般使用格式如下。輸入特征真實標簽該方法返回兩個指標,即損失值和準確率。其中,損失值用于衡量預(yù)測值與真實值之間的差異程度。預(yù)測數(shù)據(jù)指定進行預(yù)測時的批處理大小,默認為None。課堂檢測

1、(單選題)以下哪個深度學(xué)習(xí)模型主要用于生成新的數(shù)據(jù),如圖像生成、文本生成、視頻生成等?()A.卷積神經(jīng)網(wǎng)絡(luò)(CNN)B.循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)C.生成對抗網(wǎng)絡(luò)(GAN)D.以上全部應(yīng)用2、(簡答題)簡要概述卷積神經(jīng)網(wǎng)絡(luò)。C課堂小結(jié)

深度學(xué)習(xí)深度學(xué)習(xí)概述卷積神經(jīng)網(wǎng)絡(luò)項目分析(2)MNIST數(shù)據(jù)集是一個手寫數(shù)字數(shù)據(jù)集,共包含70000張0~9的手寫單個數(shù)字圖片。其中,每張圖片都是像素的灰度圖像(像素值范圍為0~255),且圖片的標簽值為圖片中對應(yīng)的數(shù)字,即0~9。步驟1:新建項目并安裝Python庫步驟2:獲取數(shù)據(jù)項目分析本項目使用卷積神經(jīng)網(wǎng)絡(luò)對手寫數(shù)字進行識別,過程可分為以下四個步驟。新建“深度學(xué)習(xí)”項目,并提前安裝本項目用到的Python庫,包括Pandas、Matplotlib、Keras和TensorFlow。從Keras中導(dǎo)入MNIST數(shù)據(jù)集,并獲取訓(xùn)練集和測試集的數(shù)據(jù)與標簽。此外,還需要將數(shù)據(jù)變換為適合卷積神經(jīng)網(wǎng)絡(luò)的輸入形式。步驟3:構(gòu)建模型并評價步驟4:知識表示項目分析構(gòu)建一個卷積神經(jīng)網(wǎng)絡(luò)模型,并對其進行編譯和訓(xùn)練,最后利用損失值和準確率評價模型性能。可視化圖片及預(yù)測類別,直觀地展示模型分類情況。案例實施2——使用卷積神經(jīng)網(wǎng)絡(luò)識別手寫數(shù)字

使用卷積神經(jīng)網(wǎng)絡(luò)識別手寫數(shù)字1.新建項目并安裝Python庫2.獲取數(shù)據(jù)3.構(gòu)建模型并評價4.知識表示項目實訓(xùn)

1.實訓(xùn)目的練習(xí)使用卷積神經(jīng)網(wǎng)絡(luò)模型進行圖像識別。項目實訓(xùn)

2.實訓(xùn)內(nèi)容本實訓(xùn)基于Cifar-10數(shù)據(jù)集,使用卷積神經(jīng)網(wǎng)絡(luò)識別彩色圖像,卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)如圖所示。其中,Cifar-10數(shù)據(jù)集是一個圖像識別分類數(shù)據(jù)集,共分為10類,類別包括飛機、狗、船等。該數(shù)據(jù)集共包含60000張彩色圖像,每張圖像都是像素的彩色圖像(像素值范圍為0~255)。(1)在“深度學(xué)習(xí)”項目下,新建名稱為“使用卷積神經(jīng)網(wǎng)絡(luò)識別彩色圖像”的Python文件。卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)項目實訓(xùn)

2.實訓(xùn)內(nèi)容(2)導(dǎo)入所需要的模塊,并從datasets模塊中導(dǎo)入Cifar-10數(shù)據(jù)集,將訓(xùn)練集的特征值和真實值分別存儲在X_train和y_train中,將測試集的特征值和真實值分別存儲在X_test和y_test中。(3)對X_train和X_test進行規(guī)范化處理,將數(shù)值規(guī)范化在區(qū)間[0,1]上,以

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論