這是一個(gè)簡(jiǎn)單的前饋神經(jīng)網(wǎng)絡(luò)(feed-forward network)。它接受一個(gè)輸入,然后將它送入下一層,一層接一層的傳遞,最后給出輸出。
一個(gè)神經(jīng)網(wǎng)絡(luò)的典型訓(xùn)練過(guò)程如下:
定義包含一些可學(xué)習(xí)參數(shù)(或者叫權(quán)重)的神經(jīng)網(wǎng)絡(luò)
在輸入數(shù)據(jù)集上迭代
通過(guò)網(wǎng)絡(luò)處理輸入
計(jì)算損失(輸出和正確答案的距離)
將梯度反向傳播給網(wǎng)絡(luò)的參數(shù)
更新網(wǎng)絡(luò)的權(quán)重,一般使用一個(gè)簡(jiǎn)單的規(guī)則:weight = weight - learning_rate * gradient
要構(gòu)造一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò),首先考慮用numpy 來(lái)實(shí)現(xiàn)。

如果用pytorch實(shí)現(xiàn):

如果使用pytorch.nn
