模型是如何訓練出來的

2021-08-18 19:21:56 字數 971 閱讀 2287

一 模型裡的內容和意義

乙個標準的模型結構分為輸入、中間節點、輸出三大部分,而如何讓這三部分連通起來學習規則並可進行計算,則是框架tensorflow所做的事情。

tensorflow將中間節點及節點間的運算關係(ops)定義在自己內部的乙個「圖」上,全通過乙個「會話(session)」進行圖中ops的具體運算。

可以這樣理解:

tensorflow用這種方式分離了計算的定義和執行,「圖」類似施工圖(blueprint),而會話更像施工地點。

構建乙個完整的圖一般需要定義3種變數。

下圖為這3種變數放在圖中所組成的網路靜態模型。在實際訓練中,通過動態會話將圖中各個節點按照靜態規則運算起來,每一次迭代都會對圖中的學習引數進行更新調整,通過一定次數的迭代運算之後最終形成的圖便是所要的「模型」。而在會話中,任何乙個節點都會通過會話的run函式進行計算,得到該節點的真實數值。

二 模型內部資料流向

1 正向

正向:資料從輸入開始,依次進行各節點定義的運算,一直運算到輸出,是模型最基本的資料流向。它直觀地表現了網路模型的結構,在模型的訓練、測試、使用場景中都會用到。這部分是必須要掌握的。

2 反向

反向:只有在訓練場景下會用到。這裡使用了乙個叫做反向鏈式求導的方法,即先從正向的最後乙個節點開始,計算此時結果值與真實值的誤差,這樣會形成乙個用學習引數表示誤差的方程,然後對方程中的每個引數求導,得到其梯度修正值,同時反推出上一層的誤差,這樣就將該層節點的誤差按照正向的相反方向傳到上一層,並接著計算上一層的修正值,如此反覆下去一步一步地進行轉播,直到傳到正向的第乙個節點。

這部分原理tensorflow已經實現好了,簡單理解即可,應該把重點放在使用什麼方法來計算誤差,使用哪些梯度下降的優化方法,如何調節梯度下降中的引數(如學習率)問題上。

執行力是訓練出來的

有時候在夜半時分,會覺得生活讓人無法忍受,不是嗎?夜半時分,我們都會變成無措的孩子啊。加 澤文 瑪格麗特小鎮 就像愛的對面不一定是恨而可能是冷漠一樣,成功的對面也不一定就是失敗,這就是現實。所謂運氣,就是你認為自己是幸運的。很多人錯誤地認為,只要我們做好本職工作,回報就會自然而然地出現。當你建好了自...

軟體天才都是訓練出來的

長期以來,軟體業 一直被視為 智力密集 型的 朝陽 產業,大多數從業者都受過高等教育,其平均素質居於社會各行業的前列,這個產業的頂尖人物被公眾視為 知識英雄 比如微軟公司的創始人比爾蓋茨雄據世界首富之位多年,更是為人 津津樂道 16年前我下決心開始學習計算機技術的時候,對這個行業也充滿了自豪感。然而...

《天才是訓練出來的》的心得體會

長期以來,軟體業 一直被視為 智力密集 型的 朝陽 產業,大多數從業者都受過高等教育,其平均素質居於社會各行業的前列,這個產業的頂尖人物被公眾視為 知識英雄 比如微軟公司的創始人比爾蓋茨雄據世界首富之位多年,更是為人 津津樂道 16年前我下決心開始學習計算機技術的時候,對這個行業也充滿了自豪感。然而...