深度學習-基于Python語言和Tensorflow平臺第7章_多層全連接神經網絡課件_第1頁
深度學習-基于Python語言和Tensorflow平臺第7章_多層全連接神經網絡課件_第2頁
深度學習-基于Python語言和Tensorflow平臺第7章_多層全連接神經網絡課件_第3頁
深度學習-基于Python語言和Tensorflow平臺第7章_多層全連接神經網絡課件_第4頁
深度學習-基于Python語言和Tensorflow平臺第7章_多層全連接神經網絡課件_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Email: topget謝瓊多層全連接神經網絡第7章深度學習基于Python語言和Tensorflow平臺了解復雜的非線性問題學習訓練及優(yōu)化多層全連接神經網絡的方法010203target目標學習多層全連接網絡目錄導航1234身份證問題的引入及分析單層模型多層全連接神經網絡進一步優(yōu)化Contents身份證問題的引入倒數(shù)第二位代表了持有者的性別,奇數(shù)代表男性,偶數(shù)代表女性但計算機不知道這個規(guī)則,設法用神經網絡來求解xxxxxxxxxxxxxx1234身份證問題分析 輸入和輸出身份證號的每一位可以拆開作為神經網絡的輸入,而持有者性別則是神經網絡計算結果的目標值我們可以通過收集一批身份證來獲取訓練

2、數(shù)據(jù)性別分為男、女兩類,本問題顯然是一個二分類問題本問題顯然不是一個線性問題(思考為什么?)與三好學生評選問題是一個一次跳變的非線性問題不同,本問題是一個不?!吧舷绿儭钡姆蔷€性問題目錄導航1234身份證問題的引入及分析單層模型多層全連接神經網絡進一步優(yōu)化Contents設計單層的神經網絡為演示簡單起見,我們僅取身份證后4位數(shù)字作為輸入該單層神經網絡的主要代碼x = tf.placeholder(tf.float32)yTrain = tf.placeholder(tf.float32)w = tf.Variable(tf.random_normal(4, mean=0.5, stddev=0

3、.1), dtype=tf.float32)b = tf.Variable(0, dtype=tf.float32)n1 = w * x + by = tf.nn.sigmoid(tf.reduce_sum(n1)loss = tf.abs(y - yTrain)tf.random_normal函數(shù)用于生成符合正態(tài)分布的隨機數(shù)填充的矩陣注意簡化的寫法單層神經網絡的訓練結果i: 4991, loss: 0.0890504271, avgLoss: 0.4530942420i: 4992, loss: 0.9520061612, avgLoss: 0.4531941643i: 4993, loss

4、: 0.0028267603, avgLoss: 0.4531039826i: 4994, loss: 0.9777230024, avgLoss: 0.4532090114i: 4995, loss: 0.8794452548, avgLoss: 0.4532943269i: 4996, loss: 0.9999799728, avgLoss: 0.4534037297i: 4997, loss: 0.9999708533, avgLoss: 0.4535130868i: 4998, loss: 0.8330855966, avgLoss: 0.4535890165i: 4999, loss

5、: 0.9241330028, avgLoss: 0.4536831253訓練5000次后,發(fā)現(xiàn)平均誤差無法被明顯縮小,說明這種單層網絡結構對本問題效果不好目錄導航1234身份證問題的引入及分析單層模型多層全連接神經網絡進一步優(yōu)化Contents概念補充 矩陣乘法:叉乘1*1 + 2 * 3 + 3 * 5 = 22第一步:概念補充 矩陣乘法:叉乘1*2 + 2 * 4 + 3 * 6 = 28第二步:依此類推用代碼驗證矩陣乘法 import numpy as np a = 1, 2, 3, 4, 5, 6 b = 1, 2, 3, 4, 5, 6 c = np.matmul(a, b) pr

6、int(c)22 28 49 64矩陣乘法的規(guī)律兩個矩陣如果形態(tài)分別為n1, m1和n2, m2,那么只有m1與n2相等(也就是說前面的矩陣的列數(shù)等于后面矩陣的行數(shù))的時候,兩者才能進行矩陣乘法(叉乘)的運算;本例中第一個矩陣形態(tài)是2, 3,第二個矩陣形態(tài)是3, 2,所以是可以進行矩陣乘法計算的;兩者相乘的結果是一個形態(tài)為n1, m2的新矩陣,即新矩陣的行數(shù)等于乘號左邊矩陣的行數(shù),列數(shù)等于乘號右邊矩陣的列數(shù)。因此,本例中的結果矩陣形態(tài)為2, 2;全連接層此處應為叉乘()注意連接關系與點乘的區(qū)別使用均方誤差作為誤差函數(shù)loss = tf.reduce_mean(tf.square(y - yTr

7、ain)對誤差做先求平方再做求平均值的運算,對向量或矩陣尤其有效激活函數(shù)tanh明顯地,tanh函數(shù)與sigmoid函數(shù)的不同之處在于:其結果的范圍在-1, 1之間而不是0, 1之間新設計的多層全連接神經網絡兩個隱藏層全連接(叉乘)新網絡模型的主要代碼x = tf.placeholder(tf.float32)yTrain = tf.placeholder(tf.float32)w1 = tf.Variable(tf.random_normal(4, 8, mean=0.5, stddev=0.1), dtype=tf.float32)b1 = tf.Variable(0, dtype=tf.

8、float32)xr = tf.reshape(x, 1, 4)n1 = tf.nn.tanh(tf.matmul(xr, w1) + b1)w2 = tf.Variable(tf.random_normal(8, 2, mean=0.5, stddev=0.1), dtype=tf.float32)b2 = tf.Variable(0, dtype=tf.float32)n2 = tf.matmul(n1, w2) + b2y = tf.nn.softmax(tf.reshape(n2, 2)loss = tf.reduce_mean(tf.square(y - yTrain)矩陣乘法兩端必

9、須都是矩陣,至少二維,不能是向量,所以要轉換為二維數(shù)組tf.matmul函數(shù)即為做矩陣乘法觀察訓練結果i: 499991, loss: 0.1160595417, avgLoss: 0.1832548474i: 499992, loss: 0.1094995886, avgLoss: 0.1832546999i: 499993, loss: 0.0000425474, avgLoss: 0.1832543334i: 499994, loss: 0.4979282022, avgLoss: 0.1832549628i: 499995, loss: 0.1283140332, avgLoss: 0

10、.1832548529i: 499996, loss: 0.1064243242, avgLoss: 0.1832546993i: 499997, loss: 0.0000355149, avgLoss: 0.1832543328i: 499998, loss: 0.1020298377, avgLoss: 0.1832541704i: 499999, loss: 0.0804424137, avgLoss: 0.1832539647訓練50萬次之后,誤差已經被縮小到了0.18左右,這說明整個模型設計是有效的的,使得神經網絡慢慢趨向越來越正確的計算結果。另一方面,這么多次訓練仍然未能達到一個非常小的平均誤差,也說明這一類非線性跳動的問題解決起來是比較復雜的,還有改進的余地。目錄導航1234身份證問題的引入及分析單層模型多層全連接神經網絡進一步優(yōu)化Contents如何進一步優(yōu)化 增加層數(shù):增加隱藏層的數(shù)量并使用不同的激活函數(shù)。 增加神經元數(shù)量:增加隱藏層節(jié)點的數(shù)量。 調節(jié)學習率:減小或加大學習率。這個問題將留給大家作為練習,可用的手段包括:練習互助互利 共同進步深度學習 基于Python語言和Tensorflow平臺更多樣書申請和

溫馨提示

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

評論

0/150

提交評論