要在基于Cortex-M的微控制器上部署基于神经网络的KWS,我们面临着以下挑战:
空间有限
典型的Cortex-M系统最多提供几百KB的可用内存。这意味着,整个神经网络模型,包括输入/输出、权重和激活,都必须在这个很小的内存范围内运行。
资源有限
由于KWS要保持永远在线,这种实时性要求限制了每次神经网络推理的总运算数量。
以下是适用于KWS推理的典型神经网络架构:
深度神经网络(DNN)
DNN是标准的前馈神经网络,由全连接层和非线性激活层堆叠而成。
卷积神经网络(CNN)
基于DNN的KWS的一大主要缺陷是无法为语音功能中的局域关联性、时域关联性、频域关联性建模。CNN则可将输入时域和频域特征当作图像处理,并且在上面执行2D卷积运算,从而发现这种关联性。
循环神经网络(RNN)
RNN在很多序列建模任务中都展现出了出色的性能,特别是在语音识别、语言建模和翻译中。RNN不仅能够发现输入信号之间的时域关系,还能使用“门控”机制来捕捉长时依赖关系。
卷积循环神经网络(CRNN)
卷积循环神经网络是CNN和RNN的混合,可发现局部时间/空间关联性。CRNN模型从卷积层开始,然后是RNN,对信号进行编码,接下来是密集全连接层。
深度可分离卷积神经网络(DS-CNN)
最近,深度可分离卷积神经网络被推荐为标准3D卷积运算的高效替代方案,并已用于实现计算机视觉的紧凑网络架构。
DS-CNN首先使用独立的2D滤波,对输入特征图中的每个通道进行卷积计算,然后使用点态卷积(即1x1),合并纵深维度中的输出。通过将标准3D卷积分解为2D和后续的1D,参数和运算的数量得以减少,从而使得更深和更宽的架构成为可能,甚至在资源受限的微控制器器件中也能运行。
要在基于Cortex-M的微控制器上部署基于神经网络的KWS,我们面临着以下挑战:
空间有限
典型的Cortex-M系统最多提供几百KB的可用内存。这意味着,整个神经网络模型,包括输入/输出、权重和激活,都必须在这个很小的内存范围内运行。
资源有限
由于KWS要保持永远在线,这种实时性要求限制了每次神经网络推理的总运算数量。
以下是适用于KWS推理的典型神经网络架构:
深度神经网络(DNN)
DNN是标准的前馈神经网络,由全连接层和非线性激活层堆叠而成。
卷积神经网络(CNN)
基于DNN的KWS的一大主要缺陷是无法为语音功能中的局域关联性、时域关联性、频域关联性建模。CNN则可将输入时域和频域特征当作图像处理,并且在上面执行2D卷积运算,从而发现这种关联性。
循环神经网络(RNN)
RNN在很多序列建模任务中都展现出了出色的性能,特别是在语音识别、语言建模和翻译中。RNN不仅能够发现输入信号之间的时域关系,还能使用“门控”机制来捕捉长时依赖关系。
卷积循环神经网络(CRNN)
卷积循环神经网络是CNN和RNN的混合,可发现局部时间/空间关联性。CRNN模型从卷积层开始,然后是RNN,对信号进行编码,接下来是密集全连接层。
深度可分离卷积神经网络(DS-CNN)
最近,深度可分离卷积神经网络被推荐为标准3D卷积运算的高效替代方案,并已用于实现计算机视觉的紧凑网络架构。
DS-CNN首先使用独立的2D滤波,对输入特征图中的每个通道进行卷积计算,然后使用点态卷积(即1x1),合并纵深维度中的输出。通过将标准3D卷积分解为2D和后续的1D,参数和运算的数量得以减少,从而使得更深和更宽的架构成为可能,甚至在资源受限的微控制器器件中也能运行。
举报