Tensorflow實現深層學習完備流程
01-28
地址:代碼演示LV3
前兩節所描述的代碼演示LV1和代碼演示LV2是都是為了分析方便而選擇的淺層任務,深層學習對其並不具備什麼優勢,其他機器學習演算法恐怕要比深層學習做的更好。
真正可以發揮深層學習的是具有特定結構的任務。
這一節有兩個目的:
- 換一個高度非線性和複雜的任務來再次體會一下深層學習的功能
- 熟悉深層學習訓練的完整流程。
代碼演示LV3用於構建網路的代碼和代碼演示LV2的幾乎相同,但參數等有所改變。全部代碼在github上。所用到的數據輸入輸出數據分別是 X.npy 和 Y.npy。
任務描述:
- 目標:用聲音來預測口腔移動。
- 維度:兩者都是實數域,輸入是39維,輸出是24維:input∈R39;label∈R24
- 任務類型:因為預測的數值全部都是連續的實數,所以是回歸(regression)任務。
- 樣本數:39473
- 輸出層激活函數:linear(無)
損失函數:預測數值和真實數值的差異可用均方差(mean square error:MSE)來表示。
初始預覽:下面是未訓練前真實值與預測值在四個不同維度的對比圖。目的就是要給網路很多組(輸入,輸出)數據來更新網路權重,使網路輸出儘可能符合真實值的預測。完美情況就是藍線(真實值)和綠線(預測值)重合。下圖中,橫軸是時間,縱軸是數值。
預測值隨訓練的變化(動態圖)手機請查看原圖:
網路結構圖:
訓練/驗證集loss圖:
推薦閱讀:
※第五周筆記:神經網路分類問題應用
※Tensorflow新手通過PlayGround可視化初識神經網路
※你說說激活函數?
※一文看懂各種神經網路優化演算法:從梯度下降到Adam方法
TAG:神经网络 | TensorFlow | 深度学习DeepLearning |