论文代码:https://github.com/MingjunZhong/NeuralNetNilm
摘要:
深度神经网络已被证明是解决这些问题的有前景的方法,但是滑动窗口对于处理信号处理问题中出现的长序列是必要的,这引发了关于如何组合来自不同滑动窗口的预测的问题。 在本文中,我们提出了序列到点学习,其中输入是主电源的窗口,输出是目标设备的单个点。 我们使用卷积神经网络来训练模型。 有趣的是,我们系统地表明卷积神经网络可以固有地学习目标设备的签名,这些签名会自动添加到模型中以减少可识别性问题。 我们将所提出的神经网络方法应用于现实世界的家庭能源数据,并表明这些方法实现了最先进的性能,将两个标准误差测量改进了84%和92%。
绪论:
a single-channel blind source separation (BSS) problem 单通道盲源分离(BSS)问题,
当在诸如BSS的信号处理应用中应用seq2seq时,立即出现困难。在这些应用中,输入和输出序列可能很长,例如,在我们的一个数据集中,输入和输出序列是14,400个时间步长。由于当前图形处理单元(GPU)和RNN的存储器限制,这样的长序列可能使得训练在计算上都很困难,因为梯度消失。
避免这些问题的常用方法是滑动窗口方法,即训练网络以将输入信号的窗口映射到输出信号的相应窗口。然而,这种方法有几个困难,因为输出信号的每个元素被预测多次,每个滑动窗口一次;自然地使用平均多个预测,从而平滑边缘。
此外,我们期望一些滑动窗口将提供比其他窗口更好的单个元素预测,特别是那些元素靠近窗口中点而不是边缘的窗口,以便网络可以利用附近的所有输入信号的区域,过去和未来。但是一个简单的滑动窗口方法无法利用这些信息。
这具有使网络上的预测问题更容易的效果:而不是像在seq2seq方法中那样需要预测总W(T-W)输出,其中T是输入信号的长度,W是滑动的大小。 窗口,seq2point方法仅预测T输出。 这允许神经网络将其表示能力集中在窗口的中点,而不是边缘上更困难的输出,希望能够产生更准确的预测
通过可视化我们的网络学习的特征图,我们发现我们的网络自动提取输入信号的有用功能,例如变化点,设备的典型使用持续时间和功率水平。
但是,需要手动提取这些方法所需的领域知识,例如通过基于观察数据的手工制作的特征,这使得方法更难以使用。 相反,我们建议采用神经网络在学习过程中自动提取这些特征。
- Sequence-to-point learning
该方法假设中点元素表示为电源窗口的非线性回归。 这种假设背后的直觉是,我们期望该设备的中点元素的状态与该中点之前和之后的主电源信息相关。 我们将在实验中明确显示主电源中的变化点(或边缘)是网络用于推断设备状态的功能之一
- 可视化实验结果
有趣的是,我们观察到本文提出的卷积神经网络本质上是学习这些特征的。为了测试网络学到了什么,我们从数据中取出一个窗口,并以我们认为应该影响网络预测的方式手动修改它。 在这些实验中,我们看了一个更容易研究的水壶,因为状态较少。对于每个不同的输入,我们绘制了图3中最后一个CNN层的特征图。有趣的是,所有过滤器都检测到设备的状态变化。更具体地说,一些过滤器负责检测设备的振幅以及状态变化,但其他过滤器仅检测状态变化。图3(b)显示当手动移除水壶时,网络建议信号的幅度以及持续时间不适合水壶。图3(c)显示当水壶的振幅加倍时,网络仍然检测到水壶是合理的,因为持续时间和振幅都对应于水壶。图3(d)表明当手动减小水壶的振幅时,网络预测没有水壶。图3(e)显示,当设备使用的持续时间设置得很长(> 8分钟)时,网络也不再检测到水壶。最后,图3(f)显示,当在中点没有激活时,学习的签名具有与(a)中类似的类型。