人工神经元与 PyTorch nn 模块详解
1. 人工神经元与激活函数
1.1 人工神经元示例
在判断不同对象是否为狗的场景中,垃圾车会被标记为“不是狗”,好狗会被映射为“显然是狗”,而熊则处于两者之间。通过代码可以看到具体数值:
import math
print(math.tanh(-2.2)) # -0.9757431300314515
print(math.tanh(0.1)) # 0.09966799462495582
print(math.tanh(2.5)) # 0.9866142981514303
熊处于敏感范围内,对熊的微小改变会导致结果有明显变化。例如,从灰熊换成北极熊(北极熊的脸更像传统意义上的犬科动物),结果会在 Y 轴上上升,趋近于“非常像狗”的一端。相反,考拉会被认为更不像狗,激活输出会下降。而对于垃圾车,无论怎么改变,都很难让它被识别为像狗,即使有很大的改变,结果可能也只是从 -0.97 变为 -0.8 左右。
1.2 更多激活函数
常见的激活函数有很多,如下表所示:
| 平滑函数 | 对应“硬”版本 |
| ---- | ---- |
| Tanh | Hardtanh |
| Softplus | ReLU |
其中,ReLU(修正线性单元)目前被认为是性能最好的通用激活函数之一,许多先进的研究成果都使用了它。Sigmoid 激活函数(也称为逻辑函数)在早期的深度学习工作中被广泛使用,但现在除了需要将输出映射到 0 到 1 范围(
超级会员免费看
订阅专栏 解锁全文
9万+

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



