人工智能學習教程筆記-08:多神經元神經網絡

多神經元神經網絡

以前編寫的對貓的識別的算法準確率仍然不是很高,主要是由於其是單神經元網絡,太過簡單,層數過低。git

神經網絡分爲單神經元和多神經元,多神經元神經網絡又分爲淺層和深層,下面介紹一下多神經元網絡中的若干概念。github

多神經元神經網絡概述

多神經元網絡流程是同單神經元網絡相同的,只不過層數更多。下面是一個多神經元神經網絡,其中間多了一層,但實際中可能遠不止一層:算法

image-20210716111314267

  • 最左側負責輸入的特徵叫作輸入層
  • 最右側輸出的叫作輸出層
  • 而中間的全部曾叫作隱藏層

多神經元網絡與單神經元網絡

先來複習一下以前學過的單神經元神經網絡:markdown

image-20210716111933995

運算流程:網絡

image-20210716112556336

再來對比一下多神經元網絡,咱們把多神經元網絡單個拆分紅一個一個單獨的神經元來看:框架

image-20210716111647540

image-20210716111659199

其具體運算流程以下:oop

image-20210716112507229

咱們先算出第一層(不帶輸入層)的3個神經元的a=\sigma(z),而後再將這3個a當作x輸入到第二層的神經元中進行計算。上面的w^{[i]}表示的是第一層的神經元關於輸入層x的權重,因此w^{[i]}是一個33的矩陣,由於第一層有3個神經元,每個神經元都有3個特徵輸入,共計33。性能

反向傳播計算也同樣,先算出第二層的梯度dw和db,而後再向第一層傳播,算出第一層3個神經元的dw和db。學習

超參數調參方法

神經網絡的層數、每層神經元的個數都是超參數,和前面提到的學習率同樣,須要慢慢調才能找到一個最合適的值,調的方式大概有幾種:spa

  • 網格搜索/窮舉搜索 在高維空間不實用,複雜度太高
  • 隨機搜索 不少超參是經過並行選擇的,它們之間是相互獨立的。一些超參會產生良好的性能,另外一些不會。
  • 手動調參 主要是靠各位調參俠的經驗了
  • 自動參數尋優(Auto Machine Learning) 這是目前比較新的一個方向,比較成熟的框架有Auto-Skleran

其實最主要用到的仍是手動調參,不一樣的項目背景下有不一樣的原則,建議從一個較小數值開始,如 果欠擬合而後慢慢添加更多的層和神經元,若是過擬合就減少層數和神經元。

\

相關文章
相關標籤/搜索