深度學習:從入門到精通(微課版)全套完整教學課件_第1頁
深度學習:從入門到精通(微課版)全套完整教學課件_第2頁
深度學習:從入門到精通(微課版)全套完整教學課件_第3頁
深度學習:從入門到精通(微課版)全套完整教學課件_第4頁
深度學習:從入門到精通(微課版)全套完整教學課件_第5頁
已閱讀5頁,還剩299頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

深度學習:從入門到精通(微課版)陪伴中國數(shù)據(jù)產(chǎn)業(yè)一起成長第一章深度學習簡介及TensorFlow安裝修改版本.pptx第二章神經(jīng)網(wǎng)絡基礎.pptx第三章神經(jīng)網(wǎng)絡的TensorFlow實現(xiàn).pptx第四章卷積神經(jīng)網(wǎng)絡基礎.pptx第五章經(jīng)典卷積神經(jīng)網(wǎng)絡(上).pptx第六章經(jīng)典卷積神經(jīng)網(wǎng)絡(下).pptx第七章深度學習用于文本序列.pptx第一章:陪伴中國數(shù)據(jù)產(chǎn)業(yè)一起成長深度學習簡介及TensorFlow安裝主講人:狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門學習目標深度學習的基本概念深度學習與人工智能、機器學習、回歸分析之間的聯(lián)系與區(qū)別3.深度學習的開發(fā)環(huán)境,TensorFlow和Keras編程框架深度學習的發(fā)展歷程深度學習擅長的領域狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興機器學習、深度學習與人工智能PART

1.1狗熊會|深度學習入門1.1.1機器學習狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√機器學習(Machine

Learning)是指如果一個程序可以在任務T上,隨著經(jīng)驗E的增加,效果P也可以隨之增加,則稱這個程序可以從經(jīng)驗中學習。這一定義由卡內(nèi)基梅隆大學(CarnegieMellonUniversity)的湯姆·邁克爾·米切爾(TomMichaelMitchell)教授在其1997年出版的《MachineLearning(機器學習)》一書中提出?!虣C器學習的分類√監(jiān)督學習(Supervised

Learning)是指從已標注的訓練數(shù)據(jù)中學習判斷數(shù)據(jù)特征,并將其用于對未標注數(shù)據(jù)的判斷的一種方法。√無監(jiān)督學習(Unsupervised

Learning)不同于監(jiān)督學習,它的學習算法是從沒有標注的訓練數(shù)據(jù)中學習數(shù)據(jù)的特征。狗熊會|深度學習入門1.1.2深度學習√深度學習(Deep

Learning)是一個復雜的機器學習算法,它的概念源于人工神經(jīng)網(wǎng)絡的研究,強調(diào)從連續(xù)的層(Layer)中學習。其中“深度”在某種意義上是指神經(jīng)網(wǎng)絡的層數(shù),而“學習”是指訓練神經(jīng)網(wǎng)絡的過程?!躺疃葘W習與機器學習的區(qū)別√二者提取特征的方式不同:深度學習具備自動提取抽象特征的能力,機器學習大多是手動選取特征和構造特征。狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門1.1.3機器學習、深度學習與人工智能的關系√人工智能(ArtificialIntelligence,AI)是一個主要研究如何制造智能機器或智能系統(tǒng),借以模擬人類的智能活動,從而延伸人類智能的科學。人工智能、機器學習和深度學習之間的關系可以用下圖說明。狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興深度學習與回歸分析PART

1.2狗熊會|深度學習入門1.2.1回歸分析理論框架狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門1.2.2深度學習與回歸分析的關系通過人臉猜測年齡和性別狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興圖像以像素的形式存儲,像素越多,圖像包含的信息越多,也就越清晰。這是一個1

024像素×1

024像素×3的原圖,說明這張圖像由3個1

048

576像素的矩陣組成,每個像素矩陣以1

024行1

024列的形式排列。狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興深度學習發(fā)展歷程PART

1.3狗熊會|深度學習入門1.3深度學習的發(fā)展歷程√第一階段:萌芽期(20世紀40年代~80年代)√1943年,美國神經(jīng)生理學家沃倫·麥卡洛克(Warren

McCulloch)和數(shù)學家沃爾特·皮茲(Walter

Pitts)通過對生物神經(jīng)元建模,首次提出了人工神經(jīng)元模型,該模型被稱為M-P模型?!痰诙A段:發(fā)展期(20世紀90年~2011年)√20世紀80年代,羅森?布拉特提出的適用多層感知機的反向傳播算法(Back

Propagation,BP)解決了線性不可分問題,引起了神經(jīng)網(wǎng)絡的第二次熱潮。BP算法的提出使得神經(jīng)網(wǎng)絡的訓練變得簡單可行。到了1989年,被稱為卷積神經(jīng)網(wǎng)絡之父的楊立昆(Yann

LeCun)利用BP算法訓練多層神經(jīng)網(wǎng)絡并將其用于識別手寫郵政編碼,這個

工作可以認為是卷積神經(jīng)網(wǎng)絡(Convolutional

Neural

Network,CNN)的開山之作。√第三階段:爆發(fā)期(2011年至今)√2012年Hinton課題組構建了AlexNet。2014年,由牛津大學VGG(Visual

Geometry

Group)提出的VGG-Net獲得ImageNet競

定位任務的第一名和分類任務的第二名,同年分類任務的第一名則是被Google的Inception網(wǎng)絡奪得。2015年,ResNet橫空出世,在ILSVRC和COCO大

上獲得冠軍。2017年,Google提出的移動端模型MobileNet以及CVPR2017的DenseNet模型在模型復雜度以及預測精度上又做了很多貢獻。狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門1.3深度學習的發(fā)展歷程狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興深度學習擅長的領域PART

1.4狗熊會|深度學習入門1.4深度學習擅長的領域狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√圖像處理(Image

Processing):用計算機對圖像進行分析,以達到所需結果的技術?!虉D像分類√目標檢測√圖像分割√語音識別:讓機器通過識別和理解語音信號,將語音轉換為相應的文本或命令的技術?!套匀徽Z言處理:讓計算機具備處理、理解和運用人類語言的能力。√文本分類√情感分析√機器翻譯√棋牌競技:√視頻處理:在計算機上播放和錄制視頻后,將家庭電影復制到計算機,然后使用視頻和音頻剪輯工具進行編輯、剪輯,增加一些很普通的特效效果,使視頻的觀賞性增強的技術。狗熊會|深度學習入門1.4深度學習擅長的領域圖像處理-目標檢測圖像處理-圖像分割圖像處理-風格遷移語音識別狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興安裝TensorFlowPART

1.5狗熊會|深度學習入門1.5深度學習擅長的領域狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√TensorFlow由Google開發(fā)并開源,是一個采用計算圖(Computational

Graphs)來計算數(shù)值的開源軟件庫,它也是目前使用最廣泛的實現(xiàn)機器學習及其他涉及大量數(shù)學運算的算法庫之一?!蘇eras則是現(xiàn)在非常流行的深度學習模型開發(fā)框架,是用Python編寫的,語法簡潔,封裝程度高,只需十幾行代碼就可以構建一個深度神經(jīng)網(wǎng)絡,其中Keras大部分功能已經(jīng)并入Tensorflow框架中?!逃布h(huán)境準備√使用CPU訓練√使用GPU訓練√使用云端GPU訓練(推薦)√軟件環(huán)境準備:TensorFlow最簡便的安裝方法是使用Anaconda,接下來將默認使用Anaconda作為

TensorFlow的Python環(huán)境狗熊會|深度學習入門1.5安裝TensorFlow√在Anaconda環(huán)境下,安裝TensorFlow及Keras軟件包,步驟如下:√在命令行輸入conda

install

tensorflow-gpu(或者conda

install

tensorflow),其中,輸入tensorflow-gpu會自動安裝CUDA等GPU依賴√驗證是否正確安裝環(huán)境并可以使用GPU加速計算。在命令行輸入python,并輸入以下測試語句?!滔旅嫱ㄟ^一段簡單的Python代碼演示如何使用TensorFlow?!贪惭bKeras(用來快速創(chuàng)建深度學習模型的Python類庫)只需在命令行輸入:狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門1.5安裝TensorFlow√使用Jupyter

Notebook運行深度學習√Jupyter

Notebook是一款基于網(wǎng)頁的用于交互計算的應用程序,可應用于全過程計算:開發(fā)、文檔編寫、運行代碼和展示結果。√啟動方法:√Anaconda直接啟動√在服務器終端輸入以下命令啟動Jupyter

Notebook網(wǎng)頁版:jupyter

notebook網(wǎng)頁啟動界面狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門課后習題狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√通過對本章的學習,你認為深度學習崛起的原因有哪些?√深度學習與機器學習的區(qū)別是什么?√除了本章提到的深度學習擅長的領域,請查閱相關資料,了解深度學習還在哪些領域見長?!虈L試在ubuntu系統(tǒng)環(huán)境中安裝TensorFlow和Keras?!叹帉懸欢蜳ython代碼用于計算兩個矩陣相加?!虒τ诒菊碌挠^點:深度學習可以看成是一種高度復雜的非線性回歸,你是如何理解的?可否舉1~2個生活中的例子加以說明?狗熊會T

H

A

N

K

Y

O

U狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興第二章:陪伴中國數(shù)據(jù)產(chǎn)業(yè)一起成長神經(jīng)網(wǎng)絡基礎主講人:周靜狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門學習目標1.M-P神經(jīng)元模型、感知機模型和多層感知機模型的結構;

2.sigmoid、tanh和ReLU激活函數(shù)的定義與區(qū)別;反向傳播算法的原理;神經(jīng)網(wǎng)絡過擬合的處理方法。狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興神經(jīng)網(wǎng)絡模型PART

2.1狗熊會|深度學習入門2.1.1M-P神經(jīng)元模型√M-P神經(jīng)元模型是首個模擬生物神經(jīng)元的結構和工作原理構造出來的一個抽象和簡化了的數(shù)學模型?!趟尚睦韺W家沃倫·麥卡洛克(Warren

McCulloch)和數(shù)理邏輯學家沃爾特·皮茲(Walter

Pitts)在1943年提出并以二人的名字命名?!淘撃P椭荚谀M從多輸入到單輸出的信息處理單元。√M-P模型的工作步驟:√神經(jīng)元接受n個輸入信號?!虒⑤斎肱c權值參數(shù)進行加權求和并經(jīng)過激活函數(shù)激活?!虒⒓せ罱Y果作為結果輸出?!倘藶樵O定參數(shù)值狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門2.1.2感知機模型√感知機(Perceptron)模型是由美國心理學家弗蘭克·羅森布拉特(Frank

Rosenblatt)于1957年提出的一種具有單層計算單元的神經(jīng)網(wǎng)絡。√旨在建立一個線性超平面用來解決線性可分問題。√對樣本數(shù)據(jù)的訓練自動獲得對參數(shù)的更新結果?!谈兄獧C學習機制:√準備訓練樣本和對權值參數(shù)進行初始化√加入一個訓練樣本,并計算實際輸出值√比較實際輸出值和期望輸出值的大小,如果相同,則參數(shù)不變;如果不同,則需要通過誤差修正調(diào)整參數(shù)大小√對每個訓練樣本重復上述步驟,直到計算的誤差為0或者小于某個指定的值單層感知機結構狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門2.1.2感知機模型狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門2.1.3多層感知機模型√多層感知機模型(MultilayerPerceptron,MLP),就是在輸入層和輸出層之間加入了若干隱藏層,以形成能夠?qū)颖菊_分類的凸域,使得神經(jīng)網(wǎng)絡對非線性情況的擬合程度大大增強?!虒訑?shù)計算:不計輸入層,把除去輸入層之后的神經(jīng)網(wǎng)絡從左至右依次計數(shù)得到的總層數(shù),就是神經(jīng)網(wǎng)絡的最終層數(shù)。如上圖層數(shù)為2。√上圖網(wǎng)絡又稱為全連接神經(jīng)網(wǎng)絡。全連接是指神經(jīng)網(wǎng)絡模型中,相鄰兩層單元之間的連接方式,使用全連接方式時,網(wǎng)絡當前層的單元與網(wǎng)絡上一層的每個單元都存在連接。具有一個單隱層的多層感知機模型的拓撲結構狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興激活函數(shù)PART

2.2狗熊會|深度學習入門2.2激活函數(shù)狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√激活函數(shù)就是指非線性變換?!虒€性組合的結果施加一個非線性變換,就為神經(jīng)網(wǎng)絡各層之間的連接方式提供了一種非線性的變換方式,而非線性變換打破了“線性組合的線性組合”這樣一種循環(huán),多層神經(jīng)網(wǎng)絡相比于單層網(wǎng)絡有了更豐富的

函數(shù)形式?!坛S玫募せ詈瘮?shù):√sigmoid激活函數(shù)√tanh激活函數(shù)√ReLu激活函數(shù)√其他激活函數(shù):leaky

ReLU、elu、cReLU、selu、ReLU6、softplus、softsign……狗熊會|深度學習入門2.2.1

sigmoid激活函數(shù)TensorFlow實現(xiàn):tf.nn.sigmoid(=None)狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興原函數(shù)導數(shù)狗熊會|深度學習入門2.2.2

tanh激活函數(shù)TensorFlow實現(xiàn):tf.nn.tanh(=None)原函數(shù)導數(shù)狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門2.2.3ReLu激活函數(shù)TensorFlow實現(xiàn):tf.nn.relu(=None)原函數(shù)導數(shù)√相比于sigmoid函數(shù)和tanh函數(shù),ReLU函數(shù)被證明可以提供更好的結果狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興神經(jīng)網(wǎng)絡的訓練PART

2.3狗熊會|深度學習入門2.3.1神經(jīng)網(wǎng)絡的訓練流程√初始化參數(shù)。常用的初始化方法有常數(shù)初始化、正態(tài)分布類初始化、均勻分布類初始化等。√切分batch數(shù)據(jù)。神經(jīng)網(wǎng)絡每一輪訓練不是用全部數(shù)據(jù),而是選取一定量的數(shù)據(jù)樣本作為輸入,這部分數(shù)據(jù)樣本稱為一個batch。√前向傳播(2.3.2)√建立損失函數(shù)(2.3.3)√反向傳播(2.3.7)√是否達到迭代次數(shù),如果達到,則結束本輪訓練,如果未達到,則繼續(xù)重復前面的步驟進行新一輪迭代。狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門2.3.2前向傳播算法√前向傳播(Forward

Propagation)算法是指神經(jīng)網(wǎng)絡向前計算的過程。前向傳播算法需要神經(jīng)網(wǎng)絡的輸入,神經(jīng)網(wǎng)絡的連接結構以及每個神經(jīng)元中的參數(shù)。√介紹一個全連接神經(jīng)網(wǎng)絡前向傳播例子:兩層神經(jīng)網(wǎng)絡前向傳播示意圖狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門2.3.3損失函數(shù)狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門2.3.4基于梯度下降算法的預備知識狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門2.3.4基于梯度下降算法的預備知識狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門2.3.5批量梯度下降算法√小批量梯度下降(Mini-Batch

Gradient

Descent,MBGD)√批量梯度下降算法就是把整個樣本切分為若干份,每一份稱為一個小批量(Mini-batch),然后在每一份樣本上實施梯度下降算法進行參數(shù)更新√隨機梯度下降算法(Stochastic

Gradient

Descent,SGD)√隨機梯度下降算法是指每個批量只有一個樣本,并且只在這一個樣本上實施梯度下降算法進行參數(shù)更新。訓練更靈活,但很難收斂,效率低?!蘉BGD與SGD下降過程會產(chǎn)生震蕩,SGD震蕩嚴重√批量數(shù)(Batch

Size)的選擇依實際情況而定狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門2.3.6批量梯度下降算法的改進√動量梯度下降(Gradient

Descent

with

Momentum)算法√均方根加速(Root

Mean

Square

Prop,RMSProp)算法狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門2.3.6批量梯度下降算法的改進√自適應矩估計(Adaptive

Moment

Estimation,Adam)算法√Adam算法的優(yōu)點:在同等數(shù)據(jù)量的情況下,占用內(nèi)存更少,超參數(shù)相對固定,適用于大規(guī)模訓練數(shù)據(jù)的場景,對梯度稀疏和梯度噪聲有很大的容忍性。狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門2.3.7反向傳播算法狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門2.3.7反向傳播算法√反向傳播算法示例(接上頁):√前向傳播√損失函數(shù)√反向傳播√計算總誤差√隱含層→輸出層的權值更新:√輸入層→隱含層的權值更新:狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興神經(jīng)網(wǎng)絡的過擬合及處理方法PART

2.4狗熊會|深度學習入門2.4.1過擬合欠擬合狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興正常擬合過擬合√過擬合(Overfitting)是指在模型訓練過程中,模型對訓練數(shù)據(jù)學習過度,將數(shù)據(jù)中包含的噪聲和誤差也學習了,使得模型在訓練集上表現(xiàn)很好,而在測試集上表現(xiàn)很差的現(xiàn)象。√過擬合會使模型的預測精度降低,因此在實際訓練時要防止過擬合現(xiàn)象產(chǎn)生狗熊會|深度學習入門2.4.2正則化方法狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門2.4.2正則化方法狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門2.4.3

Dropout方法√Dropout方法由辛頓(Hinton)教授團隊提出,它是指在神經(jīng)網(wǎng)絡訓練的過程中,將某一層的單元(不包括輸出層的單元)數(shù)據(jù)隨機丟棄一部分。√目的:簡化神經(jīng)網(wǎng)絡結構,防止神經(jīng)網(wǎng)絡過擬合√原理:對每一層的神經(jīng)元,設定一個失活(Drop)概率帶dropout的神經(jīng)網(wǎng)絡狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興帶dropout的神經(jīng)網(wǎng)絡模型的分類效果狗熊會|深度學習入門課后習題狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√課后習題√多層感知機的原理是什么?一個神經(jīng)網(wǎng)絡的基本構成有哪些?√常見的激活函數(shù)有哪些?它們的優(yōu)缺點是什么?√根據(jù)反向傳播算法,請推導隱含層到輸出層的偏置(即)的更新,以及輸入層到隱含層偏置的更新?!探Y合實際例子,談談你對幾種梯度下降算法的理解。√結合本章內(nèi)容,談談你對神經(jīng)網(wǎng)絡中過擬合現(xiàn)象的理解,遇到過擬合,通??梢圆扇∧男┘夹g手段進行處理?狗熊會T

H

A

N

K

Y

O

U狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興第三章:陪伴中國數(shù)據(jù)產(chǎn)業(yè)一起成長神經(jīng)網(wǎng)絡的TensorFlow實現(xiàn)主講人:周靜狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門學習目標張量的概念及其運算;圖像數(shù)據(jù)的處理技巧;線性回歸模型的TensorFlow實現(xiàn);4.邏輯回歸模型的TensorFlow實現(xiàn)。狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興神經(jīng)網(wǎng)絡的數(shù)據(jù)結構PART

3.1狗熊會|深度學習入門3.1.1張量及其分類標量np.array(888)0向量np.array([1,2,3,4,5])1np.array([[1,2,3,4],矩陣[5,6,7,8],2[9,6,7,4]])np.array([[[12,4,6,8,23],狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興3D張量[45,1,2,6,67]],[[32,7,3,5,14],[56,1,2,8,18]],[[23,7,2,5,78],[14,2,7,2,15]]])3更高維張量…>=3狗熊會|深度學習入門3.1.2張量數(shù)據(jù)示例張量分類維度示例矩陣2向量數(shù)據(jù)3D張量3時間序列數(shù)據(jù)4D張量4圖像數(shù)據(jù)存儲形狀(Samples,F(xiàn)eatures)(Samples,Timespans,F(xiàn)eatures)(Samples,Height,Width,Channels)彩色圖像:通道數(shù)為3灰色圖像:通道數(shù)為1狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興圖像數(shù)據(jù)的運算PART

3.2狗熊會|深度學習入門3.2.1圖像數(shù)據(jù)的讀入與展示√步驟:√讀入圖像√改變大?。簩D像統(tǒng)一為128像素×128像素大小√矩陣轉換:圖像數(shù)據(jù)→(128,128,3)張量√尺度變化:將像素矩陣每個元素變?yōu)?~1√圖像展示狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.2.2圖像數(shù)據(jù)的代數(shù)運算√圖像的加、減、乘、除運算狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興線性回歸模型的TensorFlow實現(xiàn)PART

3.3狗熊會|深度學習入門3.3.1線性回歸模型狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.3.2案例:美食圖像評分狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.3.2案例:美食圖像評分狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.3.2案例:美食圖像評分狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.3.2案例:美食圖像評分狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.3.2案例:美食圖像評分輸入層輸出層圖像數(shù)據(jù)X評分YFlatten()拉直全連接

Dense()無激活函數(shù)狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.3.2案例:美食圖像評分狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.3.2案例:美食圖像評分batch_size():把所有樣本隨機排序后切成100個batch狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.3.2案例:美食圖像評分狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興邏輯回歸模型的TensorFlow實現(xiàn)PART

3.4狗熊會|深度學習入門3.4.1邏輯回歸模型狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.4.2

Softmax回歸模型狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.4.3案例:手寫數(shù)字識別狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√數(shù)據(jù)集介紹:MNIST數(shù)據(jù)集——來自美國國家標準與技術研究所。訓練集(Training

Set)由250個不同的人手寫的數(shù)字構成,其中50%是高中學生,50%來自人口普查局(The

Census

Bureau)的工作人員。測試集(Testing

Set)也是同樣比例的手寫數(shù)字數(shù)據(jù)。該案例的目的是區(qū)分0~9這10個數(shù)字?!探2襟E:√導入MNIST數(shù)據(jù)√準備訓練數(shù)據(jù)與測試數(shù)據(jù)√手寫數(shù)字展示√產(chǎn)生one-hot型因變量√邏輯回歸模型的構建√模型編譯√模型擬合√參數(shù)估計結果可視化狗熊會|深度學習入門3.4.3案例:手寫數(shù)字識別√導入MNIST數(shù)據(jù)√準備訓練數(shù)據(jù)與測試數(shù)據(jù)√手寫數(shù)字展示√產(chǎn)生one-hot型因變量√邏輯回歸模型的構建√模型編譯√模型擬合√參數(shù)估計結果可視化狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.4.3案例:手寫數(shù)字識別√導入MNIST數(shù)據(jù)√準備訓練數(shù)據(jù)與測試數(shù)據(jù)√手寫數(shù)字展示√產(chǎn)生one-hot型因變量√邏輯回歸模型的構建√模型編譯√模型擬合√參數(shù)估計結果可視化狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.4.3案例:手寫數(shù)字識別√導入MNIST數(shù)據(jù)√準備訓練數(shù)據(jù)與測試數(shù)據(jù)√手寫數(shù)字展示√產(chǎn)生one-hot型因變量√邏輯回歸模型的構建√模型編譯√模型擬合√參數(shù)估計結果可視化狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.4.3案例:手寫數(shù)字識別√導入MNIST數(shù)據(jù)√準備訓練數(shù)據(jù)與測試數(shù)據(jù)√手寫數(shù)字展示√產(chǎn)生one-hot型因變量:使用函數(shù)to_categorical將因變量Y0處理成one-hot編碼形式。√邏輯回歸模型的構建√模型編譯√模型擬合√參數(shù)估計結果可視化狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.4.3案例:手寫數(shù)字識別√導入MNIST數(shù)據(jù)√準備訓練數(shù)據(jù)與測試數(shù)據(jù)√手寫數(shù)字展示√產(chǎn)生one-hot型因變量√邏輯回歸模型的構建√利用keras庫實現(xiàn)√模型編譯√模型擬合√參數(shù)估計結果可視化輸入層輸出層圖像數(shù)據(jù)X評分Y全連接Dense()激活函數(shù):

softmax()狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.4.3案例:手寫數(shù)字識別√導入MNIST數(shù)據(jù)√準備訓練數(shù)據(jù)與測試數(shù)據(jù)√手寫數(shù)字展示√產(chǎn)生one-hot型因變量√邏輯回歸模型的構建√模型編譯√損失函數(shù)為對數(shù)似然函數(shù)√監(jiān)控的目標為精度,設置metrics=accuracy√模型擬合√參數(shù)估計結果可視化狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.4.3案例:手寫數(shù)字識別√導入MNIST數(shù)據(jù)√準備訓練數(shù)據(jù)與測試數(shù)據(jù)√手寫數(shù)字展示√產(chǎn)生one-hot型因變量√邏輯回歸模型的構建√模型編譯√模型擬合:model.fit()√參數(shù)估計結果可視化狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門3.4.3案例:手寫數(shù)字識別√導入MNIST數(shù)據(jù)√準備訓練數(shù)據(jù)與測試數(shù)據(jù)√手寫數(shù)字展示√產(chǎn)生one-hot型因變量√邏輯回歸模型的構建√模型編譯√模型擬合√參數(shù)估計結果可視化√查看參數(shù)估計結果√

model.layers√

model.layers[1].get_weights()√

model.layers[1].get_weights()[0].shape狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門課后習題狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√課后習題√請在實際生活中,找到3種基于圖像的有趣應用,并梳理出其中的自變量和因變量?!探Y合3.3.2小節(jié)的美食圖像評分案例,你還能想到哪些其它的X并將其放在模型中,建立一個新的線性回歸模型,并與書中模型的精度進行對比。√除了圖像這種非結構化的變量,你還遇到過哪些其它非結構化變量?請舉例說明?!虒τ?.4節(jié)的邏輯回歸模型,能否對代碼提出改進意見,并實現(xiàn)更好地預測精度?√請思考還有哪些多分類問題可以被規(guī)范成邏輯回歸并可以在TensorFlow的框架下實現(xiàn)?狗熊會T

H

A

N

K

Y

O

U狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興第四章:陪伴中國數(shù)據(jù)產(chǎn)業(yè)一起成長卷積神經(jīng)網(wǎng)絡基礎主講人:周靜狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門學習目標卷積神經(jīng)網(wǎng)絡的基本結構;卷積的概念、分類、原理,TensorFlow實現(xiàn)和相關性質(zhì);池化的概念、分類、原理與TensorFlow實現(xiàn)。狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興卷積神經(jīng)網(wǎng)絡的基本結構PART

4.1狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.1卷積神經(jīng)網(wǎng)絡√卷積神經(jīng)網(wǎng)絡又稱卷積網(wǎng)絡(Convolutional

Network),是在圖像處理和計算機視覺領域應用較為廣泛的一種神經(jīng)網(wǎng)絡。√基本結構:√輸入層√卷積層:獲得更多圖像的抽象特征?!坛鼗瘜樱簻p少網(wǎng)絡中參數(shù)?!倘B接層:為后續(xù)分類任務做準備?!梯敵鰧庸沸軙蹟?shù)據(jù)英才,助產(chǎn)業(yè)振興卷積與池化的通俗理解PART

4.2狗熊會|深度學習入門4.2.1對卷積的理解√示例任務:分辨照片是否是熊大√機械化過程:√需要記錄熊大特征的照片,記為“卷積核”;√用“卷積核”掃描身份證,尋找是否有某個位置出現(xiàn)熊大的特征;√將卷積核與身份證上某個位置的圖像特征進行相似度計算,這個計算就是“卷積”。狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.2.2對池化的理解狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√熊大圖像是否出現(xiàn)在身份證上,只依賴于計算出的相似特征的最大值,即只需要有一個局部圖像與熊大照片非常相像,就可以認為身份證上出現(xiàn)了熊大頭像。√卷積核在圖像上不斷掃描的過程中,我們只關心卷積計算結果的最大值,這個最大化的操作,就是一種特殊的池化方法,被稱為最大值池化(Max-Pooling)?!叹矸e就是計算某種局部的相似性,而池化就是將某種最突出的相似性選擇出來。狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興卷積PART

4.3狗熊會|深度學習入門4.3卷積√卷積(Convolutional)是一種特殊的線性運算,用來代替一般的矩陣乘法運算。√卷積運算由以下兩個關鍵參數(shù)定義:√卷積核的大小√輸出特征圖的深度:由使用的卷積核的數(shù)量決定卷積計算示例圖狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.1卷積運算原理又稱為卷積核或濾波器狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.1卷積運算原理狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.1卷積運算原理√full卷積√在實際應用當中有意義未知,它可能對有些數(shù)據(jù)有效,對有些數(shù)據(jù)無效√計算結果√TensorFlow代碼實現(xiàn)tf.nn.conv2d(input,filter,strides,padding,use_cudnn_on_gpu=True,data_format

=

“NHWC”,dilations

=

[1,1,1,1],name

=

None)輸入張量卷積核尺寸步長

[1,strides,strides,1]卷積形式

[SAME,Valid]狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.1卷積運算原理√same卷積√same的含義是卷積前后像素矩陣保持同樣維度?!坛S谩讨付ㄆ鹗键c高度(H)寬度(W)起點位置偶數(shù)偶數(shù)偶數(shù)奇數(shù)奇數(shù)偶數(shù)奇數(shù)奇數(shù)狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.1卷積運算原理√same卷積√計算結果狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.1卷積運算原理√same卷積√TensorFlow代碼實現(xiàn)狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.1卷積運算原理√valid卷積√只考慮X能完全被K覆蓋的情況√計算過程狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.1卷積運算原理√valid卷積√計算結果√TensorFlow代碼實現(xiàn)conv=tf.nn.conv2d(X,K,(1,1,1,1),'VALID')狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.2卷積結果的輸出狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√在卷積過程中,卷積核在垂直方向的移動步長為SR,在水平方向上的移動步長為SL,則same和valid卷積的輸出結果大小計算:輸入張量大小卷積核大小Same卷積R行L列FR行FL列Valid卷積R行L列FR行FL列垂直方向移動步長SRSR水平方向移動步長SLSL輸出結果ceil(R/SR)行ceil(L/SL)列floor((R-FR)/SR)+1行

floor((L-FL)/SL)+1

s列狗熊會|深度學習入門4.3.3多通道卷積原理狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.3多通道卷積原理√基本的多通道卷積√卷積過程狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.3多通道卷積原理√基本的多通道卷積√卷積結果√TensorFlow代碼實現(xiàn)狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.3多通道卷積原理√單個張量與多個卷積核的卷積√卷積過程狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.3多通道卷積原理√單個張量與多個卷積核的卷積√TensorFlow代碼實現(xiàn)狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.3多通道卷積原理√多個張量與多個卷積核的卷積√卷積過程狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.3多通道卷積原理√多個張量與多個卷積核的卷積√TensorFlow代碼實現(xiàn)狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.3多通道卷積原理√在每一通道上分別卷積(深度可分離卷積)√將張量與卷積核對應的每一層進行線性運算,但是不將每一層的結果相加√卷積過程狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.3多通道卷積原理√單個張量與多個卷積核在通道上分別卷積√卷積過程狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.3多通道卷積原理√單個張量與多個卷積核在通道上分別卷積√TensorFlow代碼實現(xiàn)conv=tf.nn.depthwise_conv2d(X,K,(1,1,1,1),'VALID')狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.3.4卷積運算的三個特性狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√稀疏連接(Sparse

Connectivity)√降低計算復雜度?!虦p少因連接過多產(chǎn)生過擬合。√參數(shù)共享√參數(shù)共享是指相同的參數(shù)被用在一個模型的多個函數(shù)中。√平移不變性√當卷積在圖像的某個位置學習到存在的特征時,它可以在之后的任何地方識別這個特征。√使得卷積神經(jīng)網(wǎng)絡在處理圖像數(shù)據(jù)時,可以高效地利用數(shù)據(jù)。狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興池化操作PART

4.4狗熊會|深度學習入門4.4池化操作狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√池化(Pooling)操作是對卷積得到的結果進一步處理,它是將平面內(nèi)某一位置及其相鄰位置的特征值進行統(tǒng)計匯總,并將匯總后的結果作為這一位置在該平面內(nèi)的值輸出?!谭诸悺套畲笾党鼗唐骄党鼗沸軙深度學習入門4.4.1

same池化√Same最大值池化√示例:√指定起始點——與same卷積起始點規(guī)則類似高度(H)

寬度(W)偶數(shù)

偶數(shù)偶數(shù)

奇數(shù)奇數(shù)

偶數(shù)奇數(shù)

奇數(shù)張量X池化窗口起點位置狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.4.1

same池化√Same最大值池化√計算過程狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.4.1

same池化√Same最大值池化√池化結果√TensorFlow代碼實現(xiàn):√

tf.nn.max_pool()狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.4.1

same池化√多通道張量的same最大值池化√示例:三維張量X狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興池化窗口狗熊會|深度學習入門4.4.1

same池化√多通道張量的same最大值池化√計算過程(步長為2):狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.4.1

same池化√多通道張量的same最大值池化√計算結果(步長為2):√TensorFlow代碼實現(xiàn)狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.4.1

same池化狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√卷積與池化的區(qū)別√卷積核的權重是一個未知的參數(shù);而池化僅僅沒有未知參數(shù)需要估計,也不需要參數(shù)優(yōu)化的過程。因此,對計算機而言,池化是非常簡單的操作?!滩还茌斎氲南袼鼐仃囉卸嗌偻ǖ溃灰M行卷積運算,一個卷積核參與計算只會產(chǎn)生一個通道;而池化是分層運算,輸出的像素矩陣的通道取決于輸入像素矩陣的通道數(shù)。狗熊會|深度學習入門4.4.1

same池化√多個張量的same最大值池化√計算過程(步長為2):狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.4.1

same池化狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√多個張量的same最大值池化√TensorFlow代碼實現(xiàn):import

tensorflow

as

tfX=tf.constant([[[[2,5],[3,3],[8,2]],[[6,1],[1,2],[5,4]],[[7,9],[2,-3],[-1,3]]],[[[3,1],[-1,4],[3,2]],[[9,7],[2,-1],[4,3]],[[8,-2],[1,5],[5,9]]]],tf.float32)maxPool=tf.nn.max

pool(X,(1,2,2,1),[1,2,2,1],'SAME')session=tf.Session()print(session.run(maxPool))狗熊會|深度學習入門4.4.1

same池化√same平均值池化√計算過程(步長為2):狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.4.1

same池化√same平均值池化√池化結果:√TensorFlow代碼實現(xiàn):√

tf.nn.avg_pool()import

tensorflow

as

tfX=tf.constant([[[[3,1],[-1,4],[3,2]],[[9,7],[2,-1],[4,3]],[[8,-2],[1,5],[5,9]]]],tf.float32)avgPool=tf.nn.avg_pool(X,(1,2,2,1),[1,2,2,1],'SAME')session=tf.Session()print(session.run(avgPool))狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.4.2

valid池化√valid最大值池化√valid池化的池化窗口只在張量內(nèi)移動√示例:三維張量X狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興池化窗口狗熊會|深度學習入門4.4.2

valid池化√valid最大值池化√計算過程(步長為1):狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.4.2

valid池化√valid最大值池化√池化結果:√TensorFlow代碼實現(xiàn):import

tensorflow

as

tfX=tf.constant([[[[3],[2],[1],[4]],[[8],[1],[5],[9]],[[6],[2],[-1],[7]],[[-3],[4],[6],[5]]]],tf.float32)maxPool=tf.nn.max_pool(X,(1,2,2,1),[1,1,1,1],'VALID')session=tf.Session()print(session.run(maxPool))狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.4.2

valid池化√多通道張量的valid最大值池化√示例:三維張量X池化窗口狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.4.2

valid池化√多通道張量的valid最大值池化√計算過程(步長為1):狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.4.2

valid池化√多通道張量的valid最大值池化√池化結果:√TensorFlow代碼實現(xiàn):X=tf.constant([[[[3,1],[-1,4],[3,2]],[[9,7],[2,-1],[4,3]],[[8,-2],[1,5],[5,9]]]],tf.float32)maxPool=tf.nn.max_pool(X,(1,2,2,1),[1,1,1,1],'VALID')session=tf.Session()print(session.run(maxPool))狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.4.2

valid池化√多個張量的valid最大值池化√計算過程:狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門4.4.2

valid池化狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√多通道張量的valid最大值池化√TensorFlow代碼實現(xiàn):import

tensorflow

as

tfX=tf.constant([[[[3,1],[-1,4],[3,2]],[[9,7],[2,-1],[4,3]],[[8,-2],[1,5],[5,9]]],[[[1,4],[9,3],[1,1]],[[1,1],[1,2],[3,3]],[[2,1],[3,6],[4,2]]]],tf.float32)maxPool=tf.nn.max_pool(X,(1,2,2,1),[1,1,1,1],'VALID')session=tf.Session()print(session.run(maxPool))狗熊會|深度學習入門4.4.2

valid池化狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√valid平均值池化√TensorFlow代碼實現(xiàn):tf.nn.avg_pool(X,…,…,'VALID')狗熊會|深度學習入門課后習題狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會T

H

A

N

K

Y

O

U狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興第五章:陪伴中國數(shù)據(jù)產(chǎn)業(yè)一起成長經(jīng)典卷積神經(jīng)網(wǎng)絡(上)主講人:周靜狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門學習目標LeNet-5的網(wǎng)絡結構及其代碼實現(xiàn);AlexNet的網(wǎng)絡結構及其代碼實現(xiàn);VGG的網(wǎng)絡結構及其代碼實現(xiàn);Batch

Normalization的原理與應用技巧;Data

Augmentation的原理與應用技巧。狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興LeNet-5PART

5.1狗熊會|深度學習入門5.1.1

LeNet-5網(wǎng)絡結構√LeNet-5介紹:√由Yann

LeCun(楊立昆)于1998年提出的一種經(jīng)典的卷積網(wǎng)絡結構。√第一個成功應用于數(shù)字識別問題的卷積神經(jīng)網(wǎng)絡。√LeNet-5網(wǎng)絡結構:共7層√輸入層√卷積層√池化層√卷積層√池化層√全連接層√輸出層狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門5.1.2案例:LeNet-5手寫數(shù)字識別√MNIST數(shù)據(jù)集展示:mnist.load_data()加載數(shù)據(jù)集√數(shù)據(jù)預處理√LeNet-5代碼實現(xiàn)√LeNet-5編譯運行from

Keras.datasets

import

mnist(X0,Y0),(X1,Y1)

=

mnist.load_data()print(X0.shape)from

matplotlib

import

pyplot

as

pltplt.figure()fig,ax

=

plt.subplots(2,5)ax=ax.flatten()for

i

in

range(10):Im=X0[Y0==i][0]ax[i].imshow(Im)plt.show();狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興輸出:(60000,

28,

28)狗熊會|深度學習入門5.1.2案例:LeNet-5手寫數(shù)字識別√MNIST數(shù)據(jù)集展示√數(shù)據(jù)預處理√LeNet-5代碼實現(xiàn)√LeNet-5編譯運行from

Keras.utils

import

np_utilsN0=X0.shape[0];N1=X1.shape[0]print([N0,N1])X0

=

X0.reshape(N0,28,28,1)/255狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興X1

=

X1.reshape(N1,28,28,1)/255YY0

=

np_utils.to_categorical(Y0)YY1

=

np_utils.to_categorical(Y1)print(YY1)輸出:

[60000,10000][[0

0

0

...

1

0

0][0

0

1

...

0

0

0][0

1

0

...

0

0

0]...[0

0

0

...

0

0

0][0

0

0

...

0

0

0][0

0

0

...

0

0

0]]狗熊會|深度學習入門5.1.2案例:LeNet-5手寫數(shù)字識別狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√MNIST數(shù)據(jù)集展示√數(shù)據(jù)預處理√LeNet-5代碼實現(xiàn)√LeNet-5編譯運行from

Keras.layers

import

Conv2D,Dense,Flatten,Input,MaxPooling2Dfrom

Keras

import

Modelinput_layer

=

Input([28,28,1])x

=

input_layerx

=

Conv2D(6,[5,5],padding

=

"same",

activation

=

'relu')(x)x

=

MaxPooling2D(pool_size

=

[2,2],

strides

=

[2,2])(x)x

=

Conv2D(16,[5,5],padding

=

"valid",

activation

=

'relu')(x)x

=

MaxPooling2D(pool_size

=

[2,2],

strides

=

[2,2])(x)x

=

Flatten()(x)x

=

Dense(120,activation

=

'relu')(x)x

=

Dense(84,activation

=

'relu')(x)x

=

Dense(10,activation

=

'softmax')(x)output_layer=xmodel=Model(input_layer,output_layer)model.summary()狗熊會|深度學習入門5.1.2案例:LeNet-5手寫數(shù)字識別√MNIST數(shù)據(jù)集展示√數(shù)據(jù)預處理√LeNet-5代碼實現(xiàn)√模型結構展示√LeNet-5編譯運行輸入層卷積層1池化層1卷積層2池化層2拉直操作全連接層1全連接層2全連接層3輸出維度狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興參數(shù)個數(shù)狗熊會|深度學習入門5.1.2案例:LeNet-5手寫數(shù)字識別狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√MNIST數(shù)據(jù)集展示√數(shù)據(jù)預處理√LeNet-5代碼實現(xiàn)√LeNet-5編譯運行√通過pile實現(xiàn)pile(loss='categorical_crossentropy',

optimizer='adam',

metrics=['accuracy'])model.fit(X0,

YY0,

epochs=10,

batch_size=200,

validation_data=[X1,YY1])狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興AlexNetPART

5.2狗熊會|深度學習入門5.2.1

AlexNet網(wǎng)絡結構√AlexNet介紹:√ImageNet競賽冠軍獲得者Hinton和他的學生Krizhevsky

Alex于2012年設計?!蘄mageNet競賽中第一個使用卷積神經(jīng)網(wǎng)絡的參賽者?!藺lexNet網(wǎng)絡結構:8層√卷積層√池化層√卷積層√池化層√卷積層√卷積層√卷積層√池化層√輸出層:三個全連接層狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門5.2.2

AlexNet創(chuàng)新點狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√AlexNet創(chuàng)新點:√成功使用ReLU作為CNN的激活函數(shù);√使用Dropout隨機忽略一部分神經(jīng)元,避免模型過擬合;√在CNN中使用重疊的最大值池化(步長小于卷積核);√提出局部響應歸一化層(Local

Response

Normalization,LRN),后逐漸被BN(BatchNormalization)代替;√使用CUDA加速神經(jīng)網(wǎng)絡的訓練,利用了GPU強大的計算能力;√采用了數(shù)據(jù)增強(Data

Augmentation)技術,達到增加樣本量的目的。狗熊會|深度學習入門5.2.3案例:中文字體識別——隸書和行楷√數(shù)據(jù)準備√二分類問題√對數(shù)據(jù)的存儲目錄結構是有特殊要求√構造數(shù)據(jù)生成器√AlexNet代碼實現(xiàn)√AlexNet編譯運行狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門5.2.3案例:中文字體識別——隸書和行楷√數(shù)據(jù)準備√構造數(shù)據(jù)生成器:一種特有的數(shù)據(jù)讀入方法。按照特定的目錄結構和要求把相應少量的、多批次的數(shù)據(jù)讀入內(nèi)存,做相應的數(shù)據(jù)分析?!檀鷥r:時間的延長和效率的降低√優(yōu)點:有限的內(nèi)存資源的支持下,處理非常大的數(shù)據(jù)√代碼:ImageDataGenerator()√AlexNet代碼實現(xiàn)√AlexNet編譯運行狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門5.2.3案例:中文字體識別——隸書和行楷√數(shù)據(jù)準備√構造數(shù)據(jù)生成器√數(shù)據(jù)生成器√AlexNet代碼實現(xiàn)√AlexNet編譯運行from

Keras.preprocessing.image

import

ImageDataGenerator狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興IMSIZE=227validation_generator

=

ImageDataGenerator(rescale=1./255).flow_from_directory('./data_alex/ChineseStyle/test/',target_size=(IMSIZE,

IMSIZE),batch_size=200,class_mode='categorical')train_generator

=

ImageDataGenerator(rescale=1./255).flow_from_directory('./data_alex/ChineseStyle/train',target_size=(IMSIZE,

IMSIZE),batch_size=200,class_mode='categorical')狗熊會|深度學習入門5.2.3案例:中文字體識別——隸書和行楷√構造數(shù)據(jù)生成器√輸出圖像√AlexNet代碼實現(xiàn)√AlexNet編譯運行from

matplotlib

import

pyplot

as

plt√數(shù)據(jù)準備plt.figure()狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興fig,ax

=

plt.subplots(2,5)fig.set_figheight(7)fig.set_figwidth(15)ax=ax.flatten()X,Y=next(validation_generator)for

i

in

range(10):

ax[i].imshow(X[i,:,:,:])狗熊會|深度學習入門5.2.3案例:中文字體識別——隸書和行楷√數(shù)據(jù)準備√構造數(shù)據(jù)生成器√AlexNet代碼實現(xiàn)√AlexNet編譯運行from

Keras.layers

import

Activation,Conv2D,

BatchNormalization,

Densefrom

Keras.layers

import

Dropout,

Flatten,

Input,

MaxPooling2D,

ZeroPadding2Dfrom

Keras

import

Model狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興IMSIZE

=

227input_layer

=

Input([IMSIZE,IMSIZE,3])x

=

input_layerx

=

Conv2D(96,[11,11],strides

=

[4,4],

activation

=

'relu')(x)x

=

MaxPooling2D([3,3],

strides

=

[2,2])(x)x

=

Conv2D(256,[5,5],padding

=

"same",

activation

=

'relu')(x)x

=

MaxPooling2D([3,3],

strides

=

[2,2])(x)x

=

Conv2D(384,[3,3],padding

=

"same",

activation

=

'relu')(x)x

=

Conv2D(384,[3,3],padding

=

"same",

activation

=

'relu')(x)x

=

Conv2D(256,[3,3],padding

=

"same",

activation

=

'relu')(x)x

=

MaxPooling2D([3,3],

strides

=

[2,2])(x)x

=

Flatten()(x)x

=

Dense(4096,activation

=

'relu')(x)x

=

Dropout(0.5)(x)x

=

Dense(4096,activation

=

'relu')(x)x

=

Dropout(0.5)(x)x

=

Dense(2,activation

=

'softmax')(x)output_layer=xmodel=Model(input_layer,output_layer)model.summary()狗熊會|深度學習入門5.2.3案例:中文字體識別——隸書和行楷√數(shù)據(jù)準備√構造數(shù)據(jù)生成器√AlexNet代碼實現(xiàn)√模型結構展示√AlexNet編譯運行輸出維度

參數(shù)個數(shù)Dropout操作狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門5.2.3案例:中文字體識別——隸書和行楷狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√數(shù)據(jù)準備√構造數(shù)據(jù)生成器√AlexNet代碼實現(xiàn)√AlexNet編譯運行from

Keras.optimizers

import

Adampile(loss='categorical_crossentropy',optimizer=Adam(lr=0.001),metrics=['accuracy'])model.fit_generator(train_generator,epochs=20,validation_data=validation_generator)狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興VGGPART

5.3狗熊會|深度學習入門5.3.1VGG網(wǎng)絡結構√VGG介紹√牛津大學計算機視覺組和DeepMind公司共同研發(fā)的一種深度卷積神經(jīng)網(wǎng)絡√VGG網(wǎng)絡結構:6種√從左到右深度越來越深√加粗體表示新增的層√所有網(wǎng)絡結構都包含5組卷積操作,每組卷積包含一定數(shù)量的卷積層——可以看作一個五階段的卷積特征提取。狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興狗熊會|深度學習入門5.3.1VGG網(wǎng)絡結構狗熊會|聚數(shù)據(jù)英才,助產(chǎn)業(yè)振興√VGG16網(wǎng)絡結構:5組卷積組和3個全連接層√輸入層:224×224×3的彩色圖像。√第1組卷積層(2次卷積):Conv2D(3×3,64),Stride(1),same,ReLU,Output:224×224×64?!痰?個池化層:MaxPooling2D(2×2),Stride(2),Output:112×112×64。√第2組卷積層(2次卷積):Conv2D(3×3,128),Stride(1),same,ReLU,Output:112×112×128?!痰?個池化層:MaxPooling2D(2×2),Stride(2),Output:?!痰?組卷積層(3次卷積):Conv2D(3×3,256),Stride(1),same,ReLU,Output:56×56×256。√第3個池化層:MaxPooling2D(2×2),Stride(2),Output:?!痰?組卷積層(3次卷積):Conv2D(3×3,512),Stride(1),same,ReLU,Output:28×28×512?!痰?個池化層:MaxPooling2D(2×2),Stride(2),Output:?!痰?組卷積層(3次卷積):Conv2D(3×3,512),Stride(1)

溫馨提示

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

最新文檔

評論

0/150

提交評論