深度学习:前馈神经网络、反向传播与张量基础
1. 前馈神经网络
大脑的拓扑结构极其复杂,通常会用理想化的前馈神经网络来近似。它由离散的神经元层组成,每层与下一层相连,一般包含输入层、一个或多个隐藏层和输出层。
输入层接收输入并原样传递;隐藏层的神经元接收上一层的输出,进行计算后传递给下一层;输出层产生最终输出。
每个(非输入)神经元都有对应每个输入的权重和一个偏置。为简化表示,将偏置添加到权重向量末尾,并给每个神经元一个始终为 1 的偏置输入。
对于每个神经元,会计算输入和权重的乘积之和,但这里不使用阶跃函数输出,而是使用 sigmoid 函数进行平滑近似:
import math
def sigmoid(t: float) -> float:
return 1 / (1 + math.exp(-t))
使用 sigmoid 函数而非阶跃函数的原因是,训练神经网络需要使用微积分,而微积分需要平滑函数,阶跃函数不连续,sigmoid 函数是其良好的平滑近似。
计算神经元输出的函数如下:
def neuron_output(weights, inputs):
# weights includes the bias term, inputs includes a 1
return sigmoid(dot(weights, inputs))
可以将神经元表示为权重向量,其长度比该神
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



