基于人工情感LSTM算法的智慧家庭能量管理
2023-12-11殷林飞刘金元
殷林飞,刘金元
(广西大学 电气工程学院,南宁 530004)
0 引言
在世界少排放、低能耗、低环境污染的“低碳经济”增长模式下,电力行业成为世界环保减排的重要产业部分。中国电力行业同样需要责无旁贷地通过各种科技举措和技术手段来减少能耗、提高电能质量,进而减少环境污染总量[1]。在这样的大背景下,以节约能源、提高效率、减少能源消费为核心价值的智慧电网应运而生。
传统家庭能量管理存在多方面问题。首先,传统的家庭能量管理系统通常是固定的,缺乏智能化和个性化,不能适应家庭成员的行为和偏好,导致能源的浪费和低效利用[2]。其次,传统的家庭能量管理系统通常需要通过安装传感器等设备获取能源数据,但这种方式存在高昂的成本和复杂的安装过程,同时可能对家庭成员的隐私造成侵犯[3]。此外,传统的家庭能量管理系统通常采用基于规则或经验的方法进行能源预测,但这种方法往往存在误差和不确定性,难以准确预测家庭能源的使用情况。另外,传统家庭能量管理系统通常采用人工干预的方式进行能源控制,但这种方式存在局限性和不足,不能实现智能化和自动化的能源控制。最后,传统家庭能量管理系统的普及率较低,往往只有少数家庭采用,无法对整个社会的能源利用产生重大的影响。这些问题导致传统家庭能量管理系统难以有效地控制和利用能源,无法很好地适应人们的生活需求和能源使用情况,对整个社会能源利用的影响相对较低,难以实现高效、智能、节能的目标[4]。因此,研究智慧家庭能量管理成为当前的研究热点。
人工情感长短期记忆(Artificial Emotion Long Short Term Memory,AELSTM)网络算法是一种基于深度学习的人工神经网络模型,它能够在处理时序数据时有效地提取特征,并能够建立长短期记忆(LSTM)模型,用于预测未来的数据趋势。
该算法在智慧家庭能量管理领域具有较好的应用前景,能够预测家庭能耗、优化家庭能源使用方案,实现智能化、高效化、节能化的能源管理目标。因此,研究基于AELSTM 算法的智慧家庭能量管理具有重要的理论意义和实际应用价值。它不仅能够提高智慧家庭能源使用效率和节能效果,还能为智慧家庭的智能化建设和可持续发展做出重要贡献。
1 人工情感
1.1 人工情感Q学习算法
Q学习算法的主要思路就是把状态(state)与动作(action)构建成一张Q-table 来存储Q值,再通过根据Q值来选取能够达到最大化利益的动作[5]。本文将Q学习算法融入人工情感中获得由系统调配的赋予人的情感的智慧家庭能量管理方案,再通过合理选择Q值的大小,即可使家庭能量的分配和利用更为优化。
智能体(即用户,agent)、环境状况(environment)、奖赏(即用户情感值,reward)、动作(action)都可以将问题抽象成一种马尔科夫决策流程。每个用电方案都算是一种状态St,π(a/s)在s状况下采取动态a策略。P(s'|s,a)表示在s状况下选择a动作转换到下一个状况s'的概率。R(s'|s,a)表示在s状态下采取a动作转移到s'的奖励(reward),Q-learning 算法的目的是求出累计奖励最大的策略期望[6]
式中:t为时间;H为达到最大期望时的时间;s和s'分别为当前状态和下一时刻状态;γ为折扣因子;R(St,At,St+ 1)为环境中所得奖励值,即用户的情感值。基于人工情感的Q学习算法示意如图1 所示。图中:s为状态;r为奖励;f为情感值;η为情感输出器的输出。
图1 基于人工情感的Q学习算法示意Fig.1 Schematic artificial emotion-based Q-learning algorithm
1.2 情感深度神经网络(EDNN)
深度神经网络(DNN)的主要作用是通过多层抽象和表示学习,从高维、复杂的数据中提取有意义的特征,实现对输入数据的分类、识别、回归等任务。与传统的浅层神经网络相比,深度神经网络能够更好地处理复杂的非线性问题[7],并且在图像识别、自然语言处理、语音识别等领域取得了重大的突破。DNN 是EDNN 结构中的一部分。EDNN 继承了DNN 很强的学习能力。通过深度学习多层的神经网络,EDNN 可以不断优化数据拟合的效果来解决很复杂的问题。在制定控制策略时,单一的DNN存在一定的缺陷,所以数据很容易出现欠拟合或过拟合现象[8]。在DNN 模型构建的基础上,EDNN 模型中建立了情感模型优化的比例积分微分(PID)控制环节,从而保证DNN 可以获得高质量的训练数据。EDNN的结构如图2所示。
图2 EDNN的结构Fig.2 Structure of EDNN
EDNN 可以通过对用户的情感状态和行为进行建模和分析,从而预测智慧家庭能量控制方面的效果。智慧家庭能源控制是一项重要的任务,可以通过控制家庭能源的使用来减少对环境的影响,同时降低家庭能源使用成本。
EDNN 的多层神经网络对输入的情感状态进行建模,然后通过反向传播算法来优化网络参数[9],使其能够更好地预测智慧家庭能量控制的效果。这些情感状态可来自于传感器、用户交互、社交媒体等多个方面。EDNN 在预测智慧家庭能量管理中的流程如图3所示。
图3 EDNN在预测智慧家庭能量管理中的流程Fig.3 Process of EDNN applied in smart home energy management and prediction
1.3 AELSTM 算法
目前,所有家用机器人都是在人的严格控制下工作。家用机器人在用户指定的时刻内按照一定的程序完成各种规定的程序或操作,并没有主动性和创造力。本文把人的情感因素传递给机器。人工情感因素让家用机器人以自己的“价值目标”为行动方向,以内设的“感知情意管理系统”为价值计量基础,形成一个价值计量的函数关系式或约束方程式。
人工情感(AE)以用户侧需求作为输入,可供用户选择的模式依据用户的日常喜好而定。例如低耗模式、节能模式、舒适模式。AE 感知到输入信号后将所接收到的情感信息进行量化处理,并输出情感量化后的函数。
情感输出函数先在深度神经网络(DNN)中拟合数据,再与实时电价作为新的输入信息传送到LSTM 网络中。遗忘门层(forget gate layer)取舍机制[10]决定情感输出函数的哪些结果被保留下来。被保留下来的结果结合实时电价信息筛选出的符合用户当前需求的用电模式,再将这一信息通过LSTM 的输入门层(input gate layer)传递进入细胞状态中。输入门层需要对新的输入信息进行修改和更新。最终的用电方案通过输出门层(output gate layer)作为控制电能指令输出。本方法通过对比用户选择同一用电器的不同时刻所产生的用电费用以及建立在用户所选择的用电模式下的该用电器的必要性进行衡量和分析,有选择性地开断用电设备。AELSTM 算法在智慧家庭能量管理中的控制过程如图4所示。
图4 AELSTM 算法在智慧家庭能量管理中的控制过程Fig.4 Main process of AELSTM algorithm applied in smart home energy management and prediction
在智慧家庭能量管理中,LSTM 算法可以用于能源需求的预测和控制,以实现能源的有效利用和节约。LSTM 算法的优点是可以处理长序列的数据,具有较好的记忆能力,能够捕捉数据中的长期依赖关系。此外,LSTM 还能够处理非线性数据,适用于多种场景下的数据预测和分类问题[11]。
在使用LSTM 算法进行智慧家庭能量管理预测时,其主要过程如图5所示。
图5 LSTM 算法进行智慧家庭能量管理预测时的主要过程Fig.5 Main process of LSTM algorithm applied in smart home energy management and prediction
2 智慧家庭能量管理优化决策
以家庭用户为例,其中智慧家庭能量管理中各设备的能量流动与电网之间的交互能量关系如图6所示。
图6 各设备的能量流动与电网之间的交互能量关系Fig.6 Interaction of energy flow between different devices and the power grid
本节将分别用AELSTM 和EDNN 对智慧家庭能量管理进行优化决策。
2.1 以AELSTM 进行优化决策
当使用AELSTM 进行预测时,首先需要定义AELSTM 的输入和输出。本方法中的输入是历史用电数据输入序列x1:T和情感表示向量e,输出是当前时间步的用电量预测值yt。AELSTM 中每个时间步的输入和输出都是一个向量,本方法用ht表示AELSTM 的隐藏状态向量,ct表示LSTM 的细胞状态向量。
在AELSTM 中,需要计算当前时间步的隐藏状态向量ht和细胞状态向量ct[12]。这 里 采 用 标 准LSTM的公式,其计算方式如下。
输入门it的计算为
式中:Wi为输入门的权重矩阵;bi为输入门的偏置向量;σ为sigmoid函数;∗表示矩阵乘法;[ht-1,xt,e]表示将ht-1,xt和e拼接成一个向量。
遗忘门ft的计算为
式中:Wf为遗忘门的权重矩阵;bf为遗忘门的偏置向量。
细胞状态更新为
式中:Wc为细胞状态更新的权重矩阵;bc为细胞状态更新的偏置向量;tanh表示双曲正切函数。
输出门ot的计算为
式中:Wo为输出门的权重矩阵;bo为输出门的偏置向量。
隐藏状态更新为
以上算法描述了AELSTM 的计算过程,在该方法中用于智慧家庭的能量管理,预测用户用电量。本方法通过Adam 优化算法来更新AELSTM 的参数,使得损失函数[13]最小化,从而实现更准确的用电量预测。
优化算法的目标是最小化误差。本方法将均方误差(MSE)作为代价函数(或损失函数),用来指导模型参数的调整,并使用梯度下降算法来求解代价函数的最小值,从而得到最优的模型参数。表示误差的公式算法如下
式中:n为样本数量;os为实际值;ot为预测值。本方法将所有样本的预测误差平方加起来,再求平均值,得到的就是MSE。
本方法对预测结果精度,即MSE 进行评估,以提高智慧家庭能量管理中节能减排的效果和能源利用效率,从而帮助用户更好地了解自己的用电行为,调整和优化用电策略。
2.2 以EDNN进行优化决策
本方法以EDNN 对智慧家庭能量管理进行优化决策,具体优化步骤如下。
(1)对数据进行预处理,本方法将输入序列x1:T传入EDNN 进行情感分析,得到情感表示向量e,并使用多层感知器(MLP)对输入序列进行特征提取,得到特征向量v。MLP的具体结构可以表示为
式中:W1和b1为MLP 的参数;f为激活函数,这里选择sigmoid。
(2)设置情感分类,本方法并将特征向量v送入情感分类器进行情感分类,得到情感表示向量e。情感分类器可以是一个分类器或多个分类器的组合,表示为
式中:W2和b2为情感分类器的参数;g为激活函数,这里选择选择sigmoid。
(3)将情感表示向量e和历史用电数据x1:T传入预测模型进行用电量预测。预测模型采用的是卷积神经网络(CNN)等序列模型。本方法使用CNN模型对历史用电数据和情感表示向量进行建模,并使用卷积层对输入序列进行特征提取,然后对输入序列x1:T进行卷积操作,得到特征图
式中:f为激活函数;b为偏置项。值得注意的是,卷积操作中,卷积核ω在时间维度上是滑动的,而在其他维度上是不变的。这样做的目的是提取时间上的局部模式。
接着,CNN 模型使用池化层对特征图进行降维处理,从而得到新的特征图。
式中:pooling 表示池化操作,t:t+ 2h- 2 表示在时间维度上滑动的窗口。CNN 模型对展开后的特征向量进行全连接计算,得到用电量的预测结果。
假设全连接层的权重矩阵为Wfc,偏置向量为bfc,那么全连接计算可表示为
式中:v为展开后的特征向量;Wfc和bfc分别为全连接层的权重矩阵和偏置向量;g表示激活函数,选择sigmoid。
最后,CNN 序列模型采用MSE 作为损失函数,表示预测值与真实值之间的差距[14]。具体为
式中:θ为网络参数;T为时间步数;yt为预测值;ŷt为真实值。
Adam 是一种自适应学习率算法,相较于随机梯度下降(SGD),前者可以更快地收敛并得到更好的优化效果。Adam 算法基于随机梯度下降算法,通过对梯度的一阶矩和二阶矩估计来自适应地调整每个参数的学习率,同时避免了随机梯度下降算法中学习率需手动调节的问题,从而可以更快地收敛并达到更好的优化效果[15]。Adam 算法的更新公式为
式中:mt和vt分别为梯度的一阶矩估计和二阶矩估计;gt为当前梯度;θ̂t为更新后的参数;θt-1为上一次迭代的参数;η为学习率;β1和β2分别为一阶矩和二阶矩估计的衰减率,通常设置为0.9 和0.999;ε为一个极小数,通常取10-8,用于避免除数为0 的情况。
本模型中使用Adam 算法更新网络参数时,可以通过设置不同的学习率(η)来控制每次参数更新的步长,以达到更好的优化效果[16]。一般来说,学习率较小的时候,参数更新的步长较小,但可以更加精确地优化网络参数;学习率较大的时候,参数更新的步长较大,但可能会导致算法在优化过程中无法收敛或者收敛速度较慢。因此,在智慧家庭能量管理中需要根据具体情况设置合适的学习率。
在智慧家庭能量管理中,除了需要对算法进行优化,本方法还需要对数据进行预处理、特征提取等操作,以提高模型的预测精度。同时,需要对模型进行评估,以确定模型的可靠性和适用性。通常可以使用交叉验证、受试者工作特征曲线(ROC)、混淆矩阵等方法进行模型评估,以便更好地了解模型在不同场景下的表现情况[17]。
3 仿真分析
3.1 AELSTM 模型仿真分析
根据给定的数据集,训练出AELSTM神经网络,用于预测和控制智慧家庭能量管理。
具体来说,AELSTM 模型首先加载数据集。然后将数据集按照给定的分割点进行分割,分成训练集和测试集。训练集用于训练AELSTM 神经网络,测试集用于测试模型的预测能力。
AELSTM 模型对训练集数据进行标准化,以便神经网络能够更好地学习数据的特征。然后,AELSTM 模型准备好预测变量和响应。预测变量是训练集数据的前两行,即前两个时间步的数据。响应是训练集数据的第3 行,即第3 个时间步的数据。这样,神经网络就可以根据前两个时间步的数据预测第3个时间步的数据。
AELSTM 模型包含1 个序列输入层、1 个LSTM层、1 个全连接层和1 个回归层。AELSTM 模型的输入特征数量为3,即每个时间步的输入数据包含3个变量。网络的输出数量为1,即每个时间步的预测结果是一个数值。网络的隐藏神经元数量为500。本研究采用Adam 优化器,并设置了最大迭代次数(max epochs)、梯度阈值(gradient threshold)、初始学习率(initial learn rate)等参数。其中,训练选项还指定了学习率的调整方式,即在第500 轮训练后将学习率乘以0.5。
AELSTM 模型进行预测。首先,AELSTM 模型对测试集数据进行标准化,以便神经网络能够处理。然后,AELSTM 模型对训练集数据的最后一个时间步进行预测,并将预测结果存储在训练预测变量中。接着,AELSTM 模型对测试集数据进行预测,同时更新神经网络的状态。其中,预测过程是通过循环实现的,每个时间步依次进行预测。最后,程序将预测结果反标准化,以便比较真实值和预测值的误差[18]。
在AELSTM 模型运行后输出预测均方根误差(RMSE),并绘制训练集真实值和预测值、测试集真实值和预测值的图形,以便直观地观察预测效果。AELSTM 预测后的RMSE 值和损失值分别如图7、图8所示。
图7 AELSTM 预测后的RMSE值Fig.7 RMSE value after AELSTM forecasting
图8 AELSTM 预测后的损失值Fig.8 Loss after AELSTM forecasting
从图7、图8中可以看出,随着训练的进行,预测误差和损失函数逐渐降低,预测误差在可接受的范围内,而损失值也接近于0,这表明AELSTM 神经网络的预测效果逐渐提高。其中,预测值与实际值的最大差值为57.89,MSE 为42.58。虽然在数值上差异较大,但整体变化趋势较为一致,说明其预测结果比较准确。在整个时间段内,AELSTM 模型的预测值与实际值大体上保持同步,AELSTM 模型对智慧家庭能量管理的预测起到了重要作用。通过对历史数据的学习和分析,该模型能够对未来的家庭能量使用情况进行预测,帮助家庭用户制定更加有效的能源管理策略。
AELSTM 模型训练集真实值和预测值、测试集真实值和预测值的情况如图9和图10所示。
图9 训练集真实值和预测值Fig.9 True and predicted values of the training set
图10 测试集真实值和预测值Fig.10 True and predicted values of the test set
训练集真实值和预测值、测试集真实值和预测值的图像中的横坐标代表时间步,纵坐标代表序列的值。图9 中纵坐标表示序列的值,横坐标表示时间步,分割点是训练集和测试集的分割点。图10中纵坐标同样表示序列的值,横坐标同样表示时间步。
根据训练集和测试集的运行结可以看出,预测值与真实值都相差较大,但其整体趋势比较一致。在训练集上,预测值和真实值的波动也比较一致,预测值能够比较准确地跟随真实值的变化。在测试集上,预测值也能够比较准确地跟随真实值的变化,但是存在一些小的波动差异。总体上,预测模型在这个时间序列数据上表现得比较好,可以比较准确地预测智慧家庭能量管理的数据走向。
3.2 EDNN模型仿真分析
在本方法中,EDNN 模型通过使用CNN,对一个Excel数据文件中的数据进行训练和测试,并输出预测结果和误差。
具体来说,EDNN 读取Excel 文件中的数据,并将数据处理成CNN 模型所需的输入格式。程序中定义了一个包含多个层的CNN 模型,这个模型包括了卷积层、归一化层、ReLU 激活层、Dropout层、最大池化层和全连接层等。这些层按照一定的顺序连接在一起,构成了一个完整的CNN模型。
设置CNN 模型训练模型的一些参数,如优化器、初始学习率、最大迭代次数。在训练过程中,程序会将训练数据集的输入和输出作为输入,同时根据前面定义的参数对模型进行优化,从而使模型逐渐收敛到最优解[19]。
训练完成后,CNN 模型对测试数据集进行预测,并将预测结果保存。该模型计算了预测结果与实际结果之间的误差,并输出误差的平均值和MSE。
EDNN 模型用于智慧家庭能量管理预测方法中的数学描述如下:通过一系列隐藏层的前向传播,EDNN 模型将输入数据x1:T经过权重矩阵W和偏置向量b的线性变换,并经过激活函数f进行非线性映射,得到隐藏层的输出Hi。最后一个隐藏层的输出HL作为输入传递给输出层,通过权重矩阵Wo和偏置向量bo的线性变换,得到最终的预测输出。模型通过最小化预测输出值与实际值的差异来优化模型参数,并使用反向传播算法来更新权重和偏置。该模型的目标是提高能量消耗的预测准确性,从而为智慧家庭能量管理提供更精确的预测结果。
EDNN 模型通过绘图函数将预测结果和实际结果进行可视化,以便对模型的表现进行评估和比较。EDNN 预测后的RMSE 值和损失值分别如图11和图12所示。
图11 EDNN预测后的RMSE值Fig.11 RMSE value after EDNN forecasting
图12 EDNN预测后的损失值Fig.12 Loss after EDNN forecasting
EDNN 模型的主要应用场景是控制和预测智慧家庭能量管理。本方法通过将情感分析技术与深度学习技术相结合,更加精准地预测了家庭能量和情感因素,并对能量的使用进行更加智能化的管理。
EDNN 模型的预测性能是通过观察预测误差和损失值来表征的。从图11 和图12 可看出该模型在训练集和验证集上的误差都在逐渐降低,预测误差值在可接受的范围内,而损失值也接近于0,表明EDNN 模型训练的效果较好,没有出现严重的过拟合现象。说明该模型在一定程度上可以有效预测和控制智慧家庭能量管理。
EDNN 模型输出的预测值和实际值如图13 和图14所示。
图13 第1个输出的预测值和实际值Fig.13 The first predicted output and actual value
图14 第2个输出的预测值和实际值的情况Fig.14 The second predicted output and actual value
在深度学习中,多输出通常是指在1 个模型需要预测多个相关的目标变量[20]。
EDNN 模型2 个输出结果中的预测值和实际值的最大差值为15.58,MSE 为9.36。虽然输出结果肉眼可见的差值较大,但变化趋势较为一致,说明EDNN 模型可以比较准确地预测智慧家庭能量管理。
4 结论
本论文提出了一种基于AELSTM算法的智慧家庭能量管理方法,结合人工情感Q学习算法、EDNN和LSTM 算法,以解决智慧家庭能量管理中存在的问题。
本文所使用的AELSTM算法对预测智慧家庭能量管理具有重要的意义,它能够有效地捕捉时间序列数据中的模式和趋势,同时避免传统循环神经网络中的梯度消失问题。这使得它在处理智慧家庭能量管理预测问题时能够更好地捕捉历史能量消耗的模式,从而提高预测准确性,为用户提供精确的能量消耗预测结果,并在能源管理和规划方面产生积极的影响。具体来说,在数据预处理方面,本论文将历史用电数据和天气数据按照时间顺序拼接成一个输入序列。在情感分析方面,使用人工情感Q学习算法进行情感分析,得到情感表示向量。
在智慧家庭能量管理的预测方面,采用了EDNN和LSTM进行序列建模,预测家庭能量。由于深度学习模型的复杂性和不可解释性,使得难以准确理解模型对于特定输入的预测依据和可靠性,但经过训练后的AELSTM算法能够输出准确的智慧家庭能量管理的预测结果,从而抵消输入带来的强不确定性问题。本论文通过将情感表示向量与家庭能量的预测结果进行融合,以提高预测准确率。同时,本论文在深度神经网络中加入了情感因素以进行情感分析,旨在更好地挖掘家庭能量数据的内在特征,从而提高预测精度。而LSTM 作为一种序列模型,能够更好地捕捉时间序列之间的依赖关系,提高家庭能量预测的准确性。从仿真试验结果分析来看,在人工情感Q学习、EDNN 和LSTM 的结合下,本论文较好的预测了智慧家庭能量管理。虽然本研究在情感识别、能量需求预测和能量管理方案优化方面取得了一定的成果,但仍存在一些局限性和待完善的方面。例如,本研究采用的是离线模式的数据训练,而实际应用中需要考虑在线模式的数据更新,以更好地适应实际应用场景,且本研究仅考虑了用户的情感状态对能量管理的影响,而没有考虑其他因素如天气变化、家庭人员变化等对能量管理的影响,这将是未来研究需要深入探索的方向。在模型训练过程中,需要使用一些正则化的方法来避免过拟合现象,并提高模型的泛化能力。在未来的研究中,除了关注智慧家庭能量管理的效率和性能外,还需要注重用户隐私保护和数据安全性等方面,以提高用户对智慧家庭能量管理的信任度和接受度。