神经网络基础:激活函数、学习原理与PyTorch实现
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 | 平滑函数,输出范围在 -1 到 1 之间 |
| Softplus | 平滑函数,输出为正值 |
| Hardtanh | “硬”版本的 Tanh,有明确的上下限 |
| ReLU | 修正线性单元,目前被认为是性能最好的通用激活
超级会员免费看
订阅专栏 解锁全文
9万+

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



