文章目录
在神经网络的训练中,激活函数决定了信号的传递方式,而参数初始化则决定了网络的“起点”。两者看似独立,却共同影响着模型的收敛速度与最终性能。今天,我们不仅会解析常见的激活函数(包括近年来流行的GELU等),还会探讨如何根据激活函数选择合适的参数初始化方法,让神经网络“赢在起跑线”。
相关文章
人工智能概念之九:深度学习概述:网页链接
人工智能概念之十:人工神经网络(ANN):网页链接
一、激活函数:给网络注入非线性活力
激活函数的核心作用是打破线性映射的局限,让神经网络能够拟合复杂的非线性关系。没有激活函数,再多的网络层也只是“花架子”,无法处理图像、文本等现实世界数据。
假设我们要拟合一个简单的非线性关系: y = x 2 y = x^2 y=x2(比如“面积与边长的平方关系”)。如果不用激活函数,即使堆叠多层神经网络,每一层的输出都是输入的线性组合(如 z = w ⋅ x + b z = w \cdot x + b z=w⋅x+b)。例如,第一层输出 z 1 = w 1 x + b 1 z_1 = w_1 x + b_1 z1=w1x+b1,第二层输出 z 2 = w 2 z 1 + b 2 = w 2 ( w 1 x + b 1 ) + b 2 = ( w 2 w 1 ) x + ( w 2 b 1 + b 2 ) z_2 = w_2 z_1 + b_2 = w_2(w_1 x + b_1) + b_2 = (w_2 w_1)x + (w_2 b_1 + b_2) z2=w2z1+b2=w2(w1x+b1)+b2=(w2w1)x+(w2b1+b2),本质仍是 y = k x + c y = kx + c y=kx+c的线性形式,无论多少层都无法表达 x 2 x^2 x2这样的曲线关系。
但加入激活函数后(如ReLU: f ( z ) = max ( 0 , z ) f(z) = \max(0, z) f(z)=max(0,z)),情况完全不同。假设第一层计算 z 1 = w 1 x + b 1 z_1 = w_1 x + b_1 z1=w1x+b1,经ReLU激活后得到 a 1 = max ( 0 , z 1 ) a_1 = \max(0, z_1) a1=max(0,z1);第二层用 z 2 = w 2 a 1 + b 2 z_2 = w_2 a_1 + b_2 z2=w2a1+b2,再通过激活函数输出。通过调整权重,网络可以组合出类似“ x > 0 x>0 x>0时输出 x 2 x^2 x2, x < 0 x<0 x<0时输出 x 2 x^2 x2”的非线性映射,最终精准拟合 y = x 2 y = x^2 y=x2。这就是

最低0.47元/天 解锁文章
1024

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



