张春成

V2

2023/02/18阅读:20主题:默认主题

激活函数的功率谱密度

激活函数的功率谱密度

本文从量化的角度解释双曲正切激活函数对信号的 FFT 造成的影响。 本文开源代码可见我的前端笔记本 FFT for Activation


函数变换与功率谱密度

双曲正切函数可以将任意范围的函数映射到 之内,这是非常好的性质

如果我使用这类激活函数对信号进行变换,那么它对信号的频谱会造成影响。例如,对于一个单调递增的输入信号,经过双曲正切激活函数变换后会在频谱上产生高阶谐波分量,这会造成信号失真。虽然这类激活函数在神经网络中的作用重要,但在信号处理应用时必须考虑这类非线性变换对信号频谱的影响。这是由于函数的频谱密度可以表示为

在经过变换后,其频谱密度可以表示为

这个解释式仿佛过于复杂,因此本文通过数值计算的方法,定性地表示激活函数对频谱密度造成的影响。

定量分析

首先对原始信号(黑)和变换后的信号(红)进行绘制,如左图所示,其中,信号的频率和幅度均可以通过滑块调节。它们的 FFT 如右图所示,右上图代表原始信号的 FFT,右下图代表变换后信号的 FFT,其中蓝色和橙色线分别代表实部和虚部。由于信号截断导致有轻微的频谱泄露,但激活函数显然造成了更大的频谱变化,主要表现为出现了若干谐波成分。

Untitled
Untitled
Untitled
Untitled

为了说明谐波成分的非线性,我通过一个动画来演示它随信号频率和幅度的变化趋势。从视频中可以看到,谐波这个词并不确切,因为这些成分并不是整数倍频,只是能量较小。

FFT for Activation

【视频点位】


当我们把单频率的信号转换为频谱更复杂的锯齿波后,变换结果如下。

Untitled
Untitled
Untitled
Untitled

由于频谱非常复杂,我们将两个频谱进行归一化,并对它们的差异进行绘制,从差异图中可以看到,激活函数造成的频谱变化被限制在有限范围内,几乎只有基频和倍频的位置。

Untitled
Untitled

下面是经过变换后的锯齿波频谱,可以看到在 13 Hz 处的能量被较大地削弱了,这是激活变换对信号造成的不良影响。

Untitled
Untitled

分类:

后端

标签:

后端

作者介绍

张春成
V2