日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

国科大高级人工智能3-DNN(BM/RBM/DBN/DBM)

發布時間:2024/7/5 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 国科大高级人工智能3-DNN(BM/RBM/DBN/DBM) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.深層、淺層、BP

出現背景優點缺點
淺層神經網絡為了解決非線性問題可以擬合任何函數參數多,神經元多,需要更多的計算資源和數據
BP算法(對p(labelinput)建模為了計算神經網絡損失回傳
深度神經網絡(>=5)(時代背景數據爆炸,計算資源提升,希望自動學習特征(有個好的初始值))1.比淺層更好的表達性(計算單元少,高層可利用低層,高層全局,低層局部,更有語義化),2.層次化地學習特征,3.多層隱變量允許統計上的組合共享;4.有效-
改進的BP(對p(input)建模為了讓BP適應深度神經網絡,建立產生輸入的生成式模型,調整參數使得p最大--
  • 訓練
    • 監督
      • 誤差自頂向下,對網絡微調
      • 微調特征,使之與問題更相關
    • 非監督
      • 自下向上(greedy layer-wise traing

自動編碼器

  • 自動編碼器
    • 無監督
    • loss:重構誤差(輸入,輸出)最小–>盡可能復現輸入
    • 輸入=輸出——盡可能復現輸入
      • input–encoder–>code–decoder–>output
      • code:輸入的特征表達
      • 若有多層,則有多個code,多個不同的表達
    • 網絡結構:
      • 三層
        • 輸入x->y
        • 隱藏y->z
        • 輸出z
      • 公式
        • y=sigmoid(Wx+b)
        • z=sigmoid(W’y+b’)
      • 條件
        • 輸入神經元數量=輸出(因為要一樣
        • 隱藏<輸入
          • 想要得到輸入的一個壓縮表示、抽象表示
    • 簡化:W′=WTW'=W^TW=WT——這樣只要訓練一組權值向量就可以
      • 再加一個約束,若不考慮sigmoid的話:
        • W?1=WTW^{-1}=W^TW?1=WT:正交矩陣,也就是說W是可以訓練成正交矩陣的
    • 深度結構
      • 預測時,只看encoder:encoder1–>encoder2–>encoder3
      • 逐層訓練(訓練時才看解碼過程)
        • 將input–encoder1–>code1–decoder1–>input’,訓練好后,去除decoder1
        • 將input–>encoder1–>code1–encoder2–>code2–decoder2–>code1’
        • 依次讓每一層都得到最小的重構誤差,每一層都一個好的表達
    • 監督學習
      • encoder(已經得到了一個很好地表達,有一個好的初始值)+分類器
      • 有監督微調訓練
        • 只調整分類器
        • 整體調整(端對端,更好)
    • 擴展(通過增加約束來發現輸入數據的結構
      • 稀疏自編碼器
        • 約束:限制使得得到的表達code盡量稀疏
          • L1范數項
          • y=wTxy=w^Txy=wTx
          • loss(x,w)=∣∣wy?x∣∣2+λΣj∣yj∣loss(x,w)=||wy-x ||^2+\lambda\Sigma_j|y_j|loss(x,w)=wy?x2+λΣj?yj?–>y長度小,loss要最小化,
          • z=wy
        • 稀疏容易得到更好的表達
      • 降噪自編碼器
        • 存在噪聲
        • 提高魯棒性
        • 操作
          • x–>x’:以一定概率分布擦除x中項(置0)
          • x’->y–>z:loss(z,x)做誤差迭代—>這樣就學習到了x’(破損數據)
          • 破損數據的優點
            • 破損數據訓練出來的w噪聲小
            • 破損數據一定程度減輕了訓練數據與測試數據的代購(去除了噪聲)
            • 破損數據不影響記憶(人腦也是如此,雖然是隨意擦除)
    • 棧式自編碼器的優點
      • 有強大的表達能力
      • 深度神經網絡的所有優點
      • 可以獲得輸入的層次型分組/部分-整體分解結構
        • 學習方式:逐層訓練(前一層的輸出是后一層的輸入–依次訓練

深度玻爾茲曼機DBM(deep boltzmann machine(DBM)

網絡結構狀態…目標函數…特點
Hopfield網絡單層,全連接(有權,無向圖)wij=wji,wii=01,-1(0),確定性地取1、0E=?12STωSE=-\frac{1}{2}S^T\omega SE=?21?STωS1.確定性地接受能量下降方向;2.會達到局部極小(模擬退火解決,以一定概率接受能量上升)
Boltzman機器p(v)符合玻爾茲曼分布,生成模型,有隱層(與外部無連接),有可見層(輸入層、輸出層)(與外部有鏈接,收到外部約束),全連接(同層也有)(有權無向圖)wij=wji,wii=01(on),0(off),狀態滿足boltzman分布,以p取1(二值神經元)PαPβ=exp(?(E(Sα)?E(Sβ))/T)\frac{P_\alpha}{P_\beta}=exp(-(E(S^\alpha)-E(S^\beta))/T)Pβ?Pα??=exp(?(E(Sα)?E(Sβ))/T)1.接受能量下降,以p(p(si=1)=11+exp(?bi?Σjsjwji)p(s_i=1)=\frac{1}{1+exp(-b_i-\Sigma_js_jw_{ji})}p(si?=1)=1+exp(?bi??Σj?sj?wji?)1?)接受能量上升(模擬退火)2.訓練時間長,3.結構復雜,4.也可能局部極小;5.功能強大
RBM(受限Boltzman機p(v)符合玻爾茲曼分布,生成模型,區別:同層無連接,其他全連接,可見層1(輸入v)、隱藏層1(h,給定可視層下,條件獨立)(二部圖)vi,hj,{0,1},以p取1(二值神經元)聯合組態能量函數E(v,h;θ)=?Σijwijvihj?Σibivi?Σjajhj,pθ(v,h)=1Z(θ)exp(?E),目標函數log(pθ(v))(極大似然)E(v,h;\theta)=-\Sigma_{ij}w_{ij}v_ih_j-\Sigma_{i}b_{i}v_i-\Sigma_{j}a_{j}h_j, p_\theta(v,h)=\frac{1}{Z(\theta)}exp(-E),目標函數log(p_\theta(v))(極大似然)E(v,h;θ)=?Σij?wij?vi?hj??Σi?bi?vi??Σj?aj?hj?,pθ?(v,h)=Z(θ)1?exp(?E)log(pθ?(v))(
DBN生成模型,多層,頂層無向圖(RBM)(hn-1-hn),低層(v<-hn-1),去除上層,下層是個RBM(二值神經元)從下到上逐層當做RBM訓練低層是單向的與RBM不一致,所以提出了DBM
DBMp(v)符合玻爾茲曼分布,生成模型,多層,全無向圖(二值神經元)雙向,每層需要考慮上下層神經元(多層)E(v,h1,h2;θ)=?vTW1h1?h1TW2h2;p(v)=Σh1,h21Zexp(?E)E(v,h^1,h^2;\theta)=-v^TW^1h^1-h^{1T}W^2h^2;p(v)=\Sigma_{h1,h2}\frac {1}{Z}exp(-E)E(v,h1,h2;θ)=?vTW1h1?h1TW2h2;p(v)=Σh1,h2?Z1?exp(?E)低層是單向的與RBM不一致,所以提出了DBM
  • Hopfield網絡
    • 以確定的方式,確定神經元輸出是1/0:
    • 輸入>0:1,輸入<0:0
  • BM
    • 二值神經元:以不確定性的方式決定輸出是1/0
      • sigmoid:p(si=1)=11+exp(?bi?Σjsjwji)p(s_i=1)=\frac{1}{1+exp(-b_i-\Sigma_js_jw_{ji})}p(si?=1)=1+exp(?bi??Σj?sj?wji?)1?
    • 狀態分布;PαPβ=exp(?(E(Sα)?E(Sβ))/T)\frac{P_\alpha}{P_\beta}=exp(-(E(S^\alpha)-E(S^\beta))/T)Pβ?Pα??=exp(?(E(Sα)?E(Sβ))/T)
    • 狀態:Pα=exp(?(E(Sα))/T){P_\alpha}=exp(-(E(S^\alpha))/T)Pα?=exp(?(E(Sα))/T)

  • RBM(生成模型)
    • 二部圖,層內無連接,層間全連接
    • 能量函數:E(v,h;θ)=?Σijwijvihj?Σibivi?ΣjajhjE(v,h;\theta)=-\Sigma_{ij}w_{ij}v_ih_j-\Sigma_{i}b_{i}v_i-\Sigma_{j}a_{j}h_jE(v,h;θ)=?Σij?wij?vi?hj??Σi?bi?vi??Σj?aj?hj?
    • (v,h)聯合分布(滿足boltzman):
      • pθ(v,h)=1Z(θ)exp(?E)=1Z(θ)ΠijewijvihjΠiebiviΠjeajhj=exp(?E)Σv,hexp(?E)p_\theta(v,h)=\frac{1}{Z(\theta)}exp(-E)=\frac{1}{Z(\theta)}\Pi_{ij}e^{w_{ij}v_ih_j}\Pi_{i}e^{b_{i}v_i}\Pi_je^{a_{j}h_j} =\frac{exp(-E)}{\Sigma_{v,h}exp(-E)}pθ?(v,h)=Z(θ)1?exp(?E)=Z(θ)1?Πij?ewij?vi?hj?Πi?ebi?vi?Πj?eaj?hj?=Σv,h?exp(?E)exp(?E)?
      • Z(θ)=Σv,hexp(?E)Z(\theta)=\Sigma_{v,h}exp(-E)Z(θ)=Σv,h?exp(?E)
      • ==>可以得到其他分布
        • pθ(v,h)=exp(?E)Σv,hexp(?E)p_\theta(v,h)=\frac{exp(-E)}{\Sigma_{v,h}exp(-E)}pθ?(v,h)=Σv,h?exp(?E)exp(?E)?
        • pθ(v)=Σhexp(?E)Σv,hexp(?E)p_\theta(v)=\frac{\Sigma_{h}exp(-E)}{\Sigma_{v,h}exp(-E)}pθ?(v)=Σv,h?exp(?E)Σh?exp(?E)?
        • pθ(h)=Σvexp(?E)Σv,hexp(?E)p_\theta(h)=\frac{\Sigma_{v}exp(-E)}{\Sigma_{v,h}exp(-E)}pθ?(h)=Σv,h?exp(?E)Σv?exp(?E)?
        • pθ(h∣v)=exp(?E)Σhexp(?E)p_\theta(h|v)=\frac{exp(-E)}{\Sigma_{h}exp(-E)}pθ?(hv)=Σh?exp(?E)exp(?E)?
        • pθ(v∣h)=exp(?E)Σvexp(?E)p_\theta(v|h)=\frac{exp(-E)}{\Sigma_{v}exp(-E)}pθ?(vh)=Σv?exp(?E)exp(?E)?
    • 目標函數:log(pθ(v))log(p_\theta(v))log(pθ?(v))——極大似然
      • N個樣本
        • maxΣi=1Nlog(pθ(v))max \Sigma_{i=1}^N log(p_\theta(v))maxΣi=1N?log(pθ?(v))
      • log(pθ(v))=logΣhexp(?E)?logΣv′,h′exp(?E)log(p_\theta(v))=log{\Sigma_{h}exp(-E)}-log{\Sigma_{v',h'}exp(-E)}log(pθ?(v))=logΣh?exp(?E)?logΣv,h?exp(?E)
      • 求導(梯度法、CD算法
        • ?log(pθ(v))?θ=Σh(exp(?E)??E?θ)Σhexp(?E)?Σv′,h′(exp(?E)??E?θ)Σv′,h′exp(?E)\frac{\partial {log(p_\theta(v))}}{\partial \theta}=\frac{\Sigma_{h}(exp(-E)\frac{- \partial E}{\partial \theta})}{\Sigma_{h}exp(-E)}-\frac{\Sigma_{v',h'}(exp(-E)\frac{- \partial E}{\partial \theta})}{\Sigma_{v',h'}exp(-E)}?θ?log(pθ?(v))?=Σh?exp(?E)Σh?exp(?E)?θ??E???Σv,h?exp(?E)Σv,h?exp(?E)?θ??E??
        • =Σh(p(h∣v)??E?θ)?Σv′,h′(p(v′,h′)??E?θ)=\Sigma_h(p(h|v)\frac{- \partial E}{\partial \theta})-\Sigma_{v',h'}(p(v',h')\frac{- \partial E}{\partial \theta})=Σh?(p(hv)?θ??E?)?Σv,h?(p(v,h)?θ??E?)
        • =Ep(h∣v)(??E?θ)?Ep(v′,h′)(??E?θ)=E_{p(h|v)}(\frac{- \partial E}{\partial \theta})-E_{p(v',h')}(\frac{- \partial E}{\partial \theta})=Ep(hv)?(?θ??E?)?Ep(v,h)?(?θ??E?)(期望)
        • =正面-負面
        • 觀測分布:Ep(h∣v)(??E?θ)E_{p(h|v)}(\frac{- \partial E}{\partial \theta})Ep(hv)?(?θ??E?):給定觀測數據之后,隱變量對于可視層的在這個狀態之下的一個期望獲得的結果
        • 真實分布$E_{p(v’,h’)}(\frac{- \partial E}{\partial \theta}) $:整體的學習期望,在整個網絡,所有變化之下的期望的求導
      • 對于具體的參數W,a,b
        • E=?vTWh?bTv?aThE=-v^TWh-b^Tv-a^ThE=?vTWh?bTv?aTh
          • p(v,h)=1zevTWhebTveaThp(v,h)=\frac{1}{z}e^{v^TWh}e^{b^Tv}e^{a^Th}p(v,h)=z1?evTWhebTveaTh
          • p(h∣v)=Πjp(hj∣v)=Πj=e(aj+Σiwijvi)hj1+e(aj+Σiwijvi)p(h|v)=\Pi_jp(h_j|v)=\Pi_j=\frac{e^{(a_j+\Sigma_iw_{ij} v_i)h_j}}{1+e^{(a_j+\Sigma_iw_{ij}v_i)}}p(hv)=Πj?p(hj?v)=Πj?=1+e(aj?+Σi?wij?vi?)e(aj?+Σi?wij?vi?)hj??
          • p(v∣h)=Πjp(vi∣h)=Πi=e(bi+Σjwijhj)vi1+e(bi+Σjwijhj))p(v|h)=\Pi_jp(v_i|h)=\Pi_i=\frac{e^{(b_i+\Sigma_jw_{ij} h_j)v_i}}{1+e^{(b_i+\Sigma_jw_{ij} h_j))}}p(vh)=Πj?p(vi?h)=Πi?=1+e(bi?+Σj?wij?hj?))e(bi?+Σj?wij?hj?)vi??
          • ??E?wij=?vihj\frac{- \partial E}{\partial w_{ij}}=-v_ih_j?wij???E?=?vi?hj?
          • ??E?bi=?vi\frac{- \partial E}{\partial b_{i}}=-v_i?bi???E?=?vi?
          • ??E?aj=?hj\frac{- \partial E}{\partial a_{j}}=-h_j?aj???E?=?hj?
        • ?log(pθ(v))?θ=Ep(h∣v)(??E?θ)?Ep(v′,h′)(??E?θ)\frac{\partial {log(p_\theta(v))}}{\partial \theta}=E_{p(h|v)}(\frac{- \partial E}{\partial \theta})-E_{p(v',h')}(\frac{- \partial E}{\partial \theta})?θ?log(pθ?(v))?=Ep(hv)?(?θ??E?)?Ep(v,h)?(?θ??E?)
          • ?log(pθ(v))?wij=Σhj(p(hj∣v)vihj)?Σv′(p(v′)Σhj′(p(hj′∣v′)vi′hj′))\frac{\partial {log(p_\theta(v))}}{\partial w_{ij}}=\Sigma_{h_j}(p(h_j|v)v_ih_j)-\Sigma_{v'}(p(v')\Sigma_{h'_j}(p(h'_j|v')v'_ih'_j))?wij??log(pθ?(v))?=Σhj??(p(hj?v)vi?hj?)?Σv?(p(v)Σhj??(p(hj?v)vi?hj?))
            • 進一步簡化=p(hj=1∣v)vi?Σv′(p(v′)p(hj′=1∣v′)vi′))=p(h_j=1|v)v_i-\Sigma_{v'}(p(v')p(h_j'=1|v')v'_i))=p(hj?=1v)vi??Σv?(p(v)p(hj?=1v)vi?))
            • 取值0就沒有了,hj=0了都
          • ?log(pθ(v))?bi=Σhj(p(hj∣v)vi)?Σv′(p(v′)Σhj′(p(hj′∣v′)vi′))\frac{\partial {log(p_\theta(v))}}{\partial b_{i}}=\Sigma_{h_j}(p(h_j|v)v_i)-\Sigma_{v'}(p(v')\Sigma_{h'_j}(p(h'_j|v')v'_i))?bi??log(pθ?(v))?=Σhj??(p(hj?v)vi?)?Σv?(p(v)Σhj??(p(hj?v)vi?))
            • =vi?Σv′(p(v′)vi′);Σhjp(hj′∣v′)=1=v_i-\Sigma_{v'}(p(v')v'_i);\Sigma_{h_j}p(h_j'|v')=1=vi??Σv?(p(v)vi?)Σhj??p(hj?v)=1
          • ?log(pθ(v))?aj=Σhj(p(hj∣v)hj)?Σv′(p(v′)Σhj′(p(hj′∣v′)hj′))\frac{\partial {log(p_\theta(v))}}{\partial a_{j}}=\Sigma_{h_j}(p(h_j|v)h_j)-\Sigma_{v'}(p(v')\Sigma_{h'_j}(p(h'_j|v')h'_j))?aj??log(pθ?(v))?=Σhj??(p(hj?v)hj?)?Σv?(p(v)Σhj??(p(hj?v)hj?))
            • =p(hj=1∣v)?Σv′(p(v′)p(hj′=1∣v′)))=p(h_j=1|v)-\Sigma_{v'}(p(v')p(h_j'=1|v')))=p(hj?=1v)?Σv?(p(v)p(hj?=1v)))
        • 計算
          • v是已知的,第一項可以計算,但第二項不好計算
          • 計算第二項:采樣:E(f(x))=Σxf(x)p(x)=1Lσxf(x)p(x)E(f(x))=\Sigma_xf(x)p(x)=\frac{1}{L}\sigma_{x~f(x)}p(x)E(f(x))=Σx?f(x)p(x)=L1?σx?f(x)?p(x)
            • CD-K采樣(與吉布斯采樣存在差異
              • v0輸入定
              • v0-p(h|v)->h0通過二值神經元計算
                • sigmoid:p(si=1)=11+exp(?bi?Σjsjwji)p(s_i=1)=\frac{1}{1+exp(-b_i-\Sigma_js_jw_{ji})}p(si?=1)=1+exp(?bi??Σj?sj?wji?)1?
              • h0-p(v|h)->v1(采樣)
              • CD-1就已經能夠得到足夠的精度了
                • $v={v_i},v^{(0)}=vn $
                • 初始化Δwij=0,Δai=0,Δbj=0\Delta w_{ij}=0,\Delta a_i=0,\Delta b_j=0Δwij?=0,Δai?=0,Δbj?=0
                • 迭代:
                  • 所有j,hj(0)p(hj∣v(0))h_j^{(0)}~p(h_j|v^{(0)})hj(0)??p(hj?v(0))
                  • 所有i,vi(0)p(vi∣h(0))v_i^{(0)}~p(v_i|h^{(0)})vi(0)??p(vi?h(0))
                  • 計算梯度取平均值(批處理,每個樣本都疊加

總結

以上是生活随笔為你收集整理的国科大高级人工智能3-DNN(BM/RBM/DBN/DBM)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。