關於神經網路訓練的坑(語料太少)

2021-10-01 17:27:17 字數 321 閱讀 9344

我們在搭建神經網路時,大家的網路模型大同小異,但是語料的差別還是蠻大的,不管是大小還是領域,所以我就遇到這樣的事。

故事的起因是因為我手裡有乙份很小的語料,大概有2000句左右,我構建了多層網路去做詞性識別,但是我由於只想測試模型的效果,所以每次只是象徵性的跑一次,結果訓練時的準確度還有95%左右,但是**提取實體時,怎麼都提取不到正確的實體。也就是說實體識別數為0,經過一下午的實驗才發現,儘管訓練時的準確率還是夠,但是那是資料上的差值準確率,但是當落實到提取實體時就會導致乙個實體都提取不出來。

所以總結為,當我們的資料量較小時,在測試模型效果時,必須要跑超過10次以上,才能看到實體提取效果。

神經網路訓練

學習了bp神經網路演算法,剛開始最終要的一點不明白的就是前一層和後一層 這裡指的只有三層,輸入層,隱藏層,輸出層 的權重,其實神經網路演算法中,前一層的每乙個節點和後一層的每乙個節點都有連線權重,初始權重是隨機的。而更新權重是通過輸出層的值來反向更新的。基本過程如下 1.輸入第乙個訓練樣本 對應的就...

神經網路的訓練

既然我們希望網路的輸出盡可能的接近真正想要 的值。那麼就可以通過比較當前網路的 值和我們真正想要的目標值,再根據兩者的差異情況來更新每一層的權重矩陣 比如,如果網路的 值高了,就調整權重讓它 低一些,不斷調整,直到能夠 出目標值 因此就需要先定義 如何比較 值和目標值的差異 這便是損失函式或目標函式...

神經網路訓練技巧

1 學習速率。首先設學習速率為乙個較大的值,確保training cost在不斷下降。當accuracyy在n個epoch內不再增加時,使得學習速率減小一半。重複迭代,直到學習速率變成原來的1 1024。2 學習速率要根據訓練cost調。但是網路層數和神經元數目,mini batch size要根據...