一个神经元的前向计算:权重、偏置与激活
神经网络图里的圆圈很容易让人忽略实际计算。先把一个神经元展开,就能看清输入维度和参数数量。
▶ 本文含视频讲解▶ 教学视频手动播放 · 英语讲解
But what is a neural network?
结合模型讲解理解本文实验的背景;正文提供可独立运行的简化示例。此为外部原版课程,多篇笔记可能共用;未剪辑为本文专属视频。
播放器需要能访问 YouTube 的网络;若这里无法加载,可打开原视频。本文与本地图解仍可独立阅读。
问题从哪里出现
神经网络图里的圆圈很容易让人忽略实际计算。先把一个神经元展开,就能看清输入维度和参数数量。
理解核心机制
神经元先求输入与权重的点积,加上偏置,再经过激活函数。权重决定每个输入分量的贡献,偏置控制整体平移,两者都通常由训练调整。
动手做一个小实验
Python 3.11 或更新版本,仅使用标准库;将示例保存为 demo.py 后执行 python3 demo.py。数字与样本均为教学演示,不代表真实模型或服务器的测量结果。
inputs = [0.5, -1.0, 2.0]
weights = [0.2, 0.4, -0.1]
bias = 0.3
assert len(inputs) == len(weights)
linear = sum(x*w for x, w in zip(inputs, weights, strict=True)) + bias
output = max(0.0, linear)
print(linear, output)
assert len(weights) + 1 == 4适用边界与常见误区
这里的权重是手工指定值,不是训练结果。特征量纲不同会影响贡献大小,不能仅看权重绝对值就断言某特征更重要。
继续练习
只改变一个输入并记录输出,再调整偏置使激活跨过零点,观察线性部分与激活部分的不同作用。