所謂深度學習,其中含有多個隱層的神經網路。深度學習需要有一定的數學知識,需要採用深入淺出的方式,才不會讓初學者有畏難情緒。我認為要了解深度學習,首先要撿起來之前遺忘的關於導數,偏導數,以及各類函式的概念。我們知道,深度學習就是用神經網路來解決一些線性不可分的問題,其中神經網路主要有三個部分:定義模型函式->判斷模型函式好壞->選擇乙個最好的函式,神經網路之所以叫神經網路是因為它的作用過程很像神經單元。以下是神經元結構。
有圖可見,各種神經元的連線方式不同,會延伸出不同的神經網路,例如全部向前連線的神經網路,上層每乙個神經元都與下層每乙個神經元進行相連。其中我們判斷模型函式的損失,最關鍵的就是要定義模型的損失函式,當我們確定了模型的損失函式,那麼我們的目標就是最小化這個損失。進一步的說,選擇最好的模型引數過程也變成求最小化損失函式的引數過程。接下來我們將選擇最好的模型引數,這個部分通常採用梯度下降法來進行選擇。但是梯度下降法無法保證全域性最優,常常會陷入區域性最優的情況。這取決於我們初始點的選擇,深度學習中的梯度下降法又叫做向後傳播演算法,向後傳播演算法其實本質是利用深度學習梯度下降演算法不斷進行更新神經網路中不同神經元權重的乙個過程。
深度學習,包括了輸入層,輸出層和隱層。
輸入層,就是大部分人對某件事物有各種各樣的需求,每一種需求所佔的比重是不同的,這就是權重的不同,這些不同的因素就構成了輸入層的引數。
隱層,類似於具體到某乙個人的身上,他對這些需求,結合自己的意願,進行磨合,將比重進行修改,成為最適合他的需求比重。磨合的過程就是不斷學習和修正的過程。
輸出層,就是輸出的結果,隱層中權重的更改,最後適合與否的結果在輸出層中輸出。
深度學習,既要防止欠擬合,也要防止過擬合。欠擬合就是訓練的個數不夠,所得到的函式不一定就是最優的函式,欠擬合固然不好,但是過擬合更不可取,過擬合,顧名思義,就是訓練集的樣本個數太多,訓練集的效果很好,但是測試集的效果不行。
深度學習是乙個不斷磨合的過程,剛開始定位的標準引數,然後進行不斷的修正,改變其中一些節點的權重,我們假設,深度學習就是在給學生上課,我們需要對他們進行不斷的訓練,出題目,然後給他們正確答案,以後在遇到類似的題目,他們就會解得出來,這就是類似於神經網路求解權重的過程。
深度學習的引數越多,顯而易見,模型的訓練效果會越好,有理論證明單隱層具有足夠的神經元的話,可以實現任何函式,但實際上在單隱層中,隨著節點單元的數量增多,其準確率上公升速率較慢,甚至有的不公升反降。因而相比單隱層的訓練方法,深度學習的表達方式更加簡潔明瞭。構建深度神經網路有利於模組化的訓練過程,這樣我們可以利用較少的訓練資料來達到我們想要的效果。
遷移學習,通俗易懂
一.背景 在之前用深度神經網路進行引數訓練時,我們每次的訓練都是從頭開始的,隨機地初始化網路。在網路層數不深的時候,訓練時間可以接受,但隨著現在網路構越來越複雜,網路層數越來越深,少則幾十層,多者上百層甚至上千層,如果任然每次都從頭開始訓練,時間的開銷則會非常大。例如imagenet網路的訓練常常需...
如何通俗易懂的理解 redux
首先先了解下什麼是mvc框架 mvc框架 model view controller 來個小故事幫助理解故事的主人公小明,辛苦打拼多年,終於存到了買房的錢,於是就屁顛屁顛的在首都的郊區買了一套120的毛坯房 當前的房子的state 因為是毛坯房,自然是出了一些基礎設施其他啥也沒有 initstate...
通俗易懂玩QT QSql學習
最近,因為公司的業務需求,需要使用 qt 操作 mysql 資料庫,特意學習了一下,這裡分享給大家。qt 版本 qt 5.11.2 32位 mysql 版本 mysql8.0.22 64位 以下為連線步驟 在 pro 或者 pri檔案中引入qt 的 sql 資料庫模組 修改之前 qt core gu...