假設一個神經元接收的輸入是n個,我們用一個長度為n的一維向量表示x = (x_1, x_2, ..., x_n),神經元對這n個輸入的加權是weight = (weight_1, weight_2, ..., weight_n)
= sigmod(weight_1*x_1 + ... + weight_n*x_n)
人工神經元的理想輸出是0或者1——0表示抑制狀態,1表示激活狀態。多個神經元的狀態,看起來就像某種編碼(比如001),可以用來表示特定的含義,比如我們可以用001、010、100來表示Iris Setosa、、Iris Versicolour和Iris Virginica三種鳶尾花。
ANN還假設,大腦中存在一個類似背景雜訊一個的信號,強度是1,每一個神經元都可以接收到這個信號(就像我們身處的環境一樣,存在很多雜訊,我們實際上一直可以聽到;我們聽到的每一句話裏都包含了這種雜訊)。這樣,一個神經元接收的輸入實際上是x = (x_1, x_2, ..., x_n, 1)。但是,各個神經元對背景雜訊信號的處理(也就是加權)是有區別的。那麼,神經元對這些信號的加權就是weight = (weight_1, weight_2, ..., weight_n, b)。為什麼要用字母b來表示這個權重呢?考慮這個假設的神經元的輸出是:
= sigmod(weight_1*x_1 + ... + weight_n*x_n + b)
ANN還假設,針對特定外部信息-特定身體動作信號,信號在神經網路中的傳播路徑是固定的。比如,在看到屏幕裏的像素點並判斷是否要繼續看下去的這個任務中,眼睛總是會把信號傳送給固定的幾個神經元,這些神經元是接收到原始信號的一批。
為了展示和觀察方便,我們通常把ANN畫成若干層神經元堆疊的樣子,如圖1-3。外界輸入首先會通過連接(每個連接都對應一個權重,就是人工神經元裏,每個輸入對應的w;w我們會通過訓練來得到,這裡假定我們已經知道了具體取值)傳送給一批神經元;第一批神經元會把他們的輸出傳送給第二批神經元;以此類推。同一批次的神經元之間沒有通信;相鄰的兩批神經元之間是全連接的(當然不是真正的全連接,訓練之後,一些神經元之間的連接權重會非常低,表示這些神經元通信強度很低)。按照圖裡的情況,我們也可以用「層」來表示一批神經元,這也是通行的做法。注意,最後一層的神經元的輸出,是一個一維向量,看起來是one hot編碼,在分類任務中,可以表示特定的類別。