1. 程式人生 > >tensorflow自學筆記(三)2018/11/8

tensorflow自學筆記(三)2018/11/8

tensorflow自學筆記(3)2018/11/8 在上一個自學筆記中,我們談論了一個基礎的神經網路的定義的方法,並且,嘗試與搭建自己的第一個神經網路,現在我們將對深層的神經網路開始分析,深層只是一個程度上的概念,有兩個特性,多層和非線性 多層是指層的深度,如深度殘差網路等,以此來減小會出現的梯度消失和梯度爆炸的問題,本文將從線性模型的侷限性來討論 線性模型只是w1,w2…的累乘,換而言之,任意層的全連線神經網路和單層的神經網路所能解決的問題沒有太大的區別,並且線性模型能解決的問題是有限的,某些二分類問題甚至不能使用平面或者是直線來劃分,所以在這裡引入了激勵函式,即非線性的部分 在這裡插入圖片描述 在這裡插入圖片描述 隱藏層的神經元可以分為前後兩半,一部分計算線性結果,一部分輸出激勵後的結果 在這裡插入圖片描述

並且還有諸如rulu,tanh的函式,啟用函式取得不同引數w的初始化方式也會不同,以此減少梯度消失和梯度爆炸的問題 線性神經網路解決不了異或問題,而非線性神經網路可以 損失函式:不同的損失函式對訓練結果有不同的影響 交叉熵函式:針對分類問題,對概率的估計,比較的是兩個概率分佈之間的距離,在使用之前要轉換成softmax函式,來變成概率的形式 交叉熵的實現的程式碼 在這裡插入圖片描述 與softmax封裝後的函式 均方誤差函式:即迴歸問題,對具體的值的猜測,屬於迴歸問題 在這裡插入圖片描述 當然針對某些特殊的問題,可以設定自己的損失函式 神經網路優化演算法 梯度下降演算法,用學習率來表示引數更新時的幅度原理公式 其實原理比較好接受,困難的是,當其中存在類似於卷積層,池化層時具體的操作 當損失函式為凸函式時,才能保證得到全域性最優解,實際上,在吳恩達教授的deeplearning課程中,談論到了區域性最優解的問題,在高維空間中,並不容易出現區域性最優解,更加常見的是鞍點,對最後的結果並不會產生怎麼樣的影響 全域性梯度下降法:一次性將所有的資料輸入進去,所有資料的輸入都計算了一遍之後只能產生一個損失函式,進行一次引數更新 隨機梯度下降法: mini-batch梯度下降法