APP下载

面向家居用户行为预测的BiGRU-DAtt模型研究

2020-06-18徐雅芸梁天恺廖文雄

计算机工程与应用 2020年12期
关键词:智能家居注意力神经网络

徐雅芸,曾 碧,梁天恺,廖文雄

广东工业大学 计算机学院,广州510006

1 引言

智能家居是一种利用现代先进科学技术研发出的家居模式。具有便利性、安全性、智能化等特点。智能家居发展经过了三个阶段,第一阶段是用App远程控制家电的单品;第二阶段是多个电器间相互感应的智能互动,以上两个阶段均为低智能阶段,均需要通过手机来操作[1-2];第三阶段是家居产品与人工智能的深入结合,赋予家居产品人性化,摆脱手机的操控,通过自主学习、主动记忆、自主决策为用户提供舒适的生活[3-4]。

智能家居行业正在改革,从以往只是简单的场景选择、条件触发等一些“人为触发”的功能,升级为预测操控行为、降低设备能耗的更加“智能化”的家居产品[5-6]。

目前,国内外学者对家居智能化控制的研究已有一定的成果。Channe等[7]提出一种基于Apriori算法挖掘用户日常生活中频繁行为习惯的方法,该方法挖掘出不包含时间特征的频繁操控序列,用户一天的操控行为重复率较高,若不包含时间信息,可能会导致不同时间段的操控行为混乱,且随着一年季节的变化,用户操控行为也会随之变化,使该方法预测结果误差较大。为了能够融合时间特征来自主学习用户的行为习惯,Choi等[8]提出了一种基于深度学习框架来预测家庭中的各种活动,采用两种算法DBN-ANN和DBN-R挖掘用户行为,但预测准确率均约为50%,准确率不高,学习能力有待提高。其次,为提高网络模型的学习能力以及预测准确率,张炜[9]提出以单隐含层的BP神经网络(Back Propagation Neural Network,BPNN)预测模型为核心,根据环境数据来预测智能设备状态,预测的准确度达85%,但BPNN对非线性特征学习能力依旧较低。类似地,毛博等[10]提出了一种基于深度学习的智能家居控制方案,采用自编码网络构建设备操控模型,通过逐层无监督预训练挖掘设备特征,核心控制模型采用五层的BP神经网络,根据环境数据预测设备状态,但是该模型针对的是高度定制化的家庭环境,通用性较差。考虑到非递归神经网络对非线性特征学习能力差的因素,包晓安等[11]提出一种基于LSTM的智能家居系统预测模型,挖掘环境数据特征之间的关联度,从而预测家居设备的状态,但是该模型并未关注设备与设备之间的关联性。

综上国内外学者的智能家居设计方案,在一定程度上提高了家居的智能化,但还存在三个主要问题:第一,网络模型设计单一,只针对家庭环境中的某一家居设备的操作状态进行挖掘,忽略了设备与设备之间的关联性;第二,智能家居的“智能性”不足,仅根据环境因素与家居设备之间关系,触发家居设备状态的转换,没有考虑用户的需求,缺乏人性化设计;第三,预测结果不具时效性,没有涉及家居设备状态转换的具体时间,采用时间间隔的方法导致预测时间尺度粗,预测结果精准度低等问题。

为此本文提出了一种基于带双层注意力机制的双向循环神经网络(Bidirectional Gated Recurrent Unit-Double Attention,BiGRU-DAtt)模型的智能家居用户行为预测方法,该方法利用改进的GRU网络和双层注意力机制的特殊结构挖掘用户的操控习惯,使得模型得到充分的训练,从而更加准确地预测用户下一时刻的操控设备、操控状态、操控时间,实现了具有时效性的用户行为预测,具备学习人类意图的能力和对人类行为的预测,使得智能家居更加“智能化”。

2 BiGRU-DAtt模型

不同于传统的智能家居行为预测方法,在实际预测中,精准分析将提升智能家居的智能性。受文献[12]的启发,本文提出的基于BiGRU-DAtt模型的用户行为预测方法,针对智能家居用户操控数据具有对称性以及服从幂律分布的特点所设计,可根据用户历史操控记录预测下一时刻用户的操控行为及操控时间。BiGRU-DAtt模型主要由BiGRU层和双层attention构成。具体的模型结构如图1所示。

图1 BiGRU-DAtt模型结构

2.1 GRU

GRU(Gated Recurrent Unit)[13]是循环神经网络RNN(Recurrent Neural Network)的一种,RNN擅长处理序列数据,例如语音、文本序列等,但RNN只具备处理一定间隔信息的能力,如果信息间隔太远,会出现难以关联的问题以及严重的梯度弥散和梯度爆炸,长短期记忆神经网络通过门控单元很好地解决了这些问题。LSTM(Long Short Term Memory)[14]中引入了三个门函数:输入门、遗忘门和输出门来控制输入值、记忆值和输出值。在RNN的基础上增加了对过去状态的过滤,从而可以选择哪些状态对当前更有影响,而不是简单地选择最近的状态。但LSTM网络结构较为复杂,网络参数较多,性能受到很大地限制。GRU结合LSTM的单元状态和隐层状态的基本结构,保留了LSTM对梯度消失问题的抗力,但其内部结构更加简单,更新隐藏状态时需要的计算也更少,因此训练得更快。

有别于LSTM单元中的输入门、遗忘门和输出门,GRU单元由两个门组成,分别是更新门z和重置门r。上一时刻的隐层输出对当前隐层的影响程度由更新门z控制,更新门的值越大说明上一时刻的隐层输出对当前隐层的影响越大;上一时刻的隐层信息被忽略的程度由重置门r控制,重置门的值越小说明忽略得越多。GRU模型结构如图2所示。

在t时刻,GRU网络模型各单元组成部分的更新公式如下所示:

图2 GRU模型结构

2.2 BiGRU

文献[15]发现智能家居数据呈现出经典的Zipf或幂律分布,类似于语音与文本数据,数据前后的信息存在关联,即某一时刻的操控行为与前一时刻和后一时刻的操控行为都有联系。因此,为了充分利用前后行为信息,更好地挖掘出用户的行为习惯,本文采用双向GRU神经网络,该网络模型在处理文本数据方面已有较成熟的应用。相比于传统的单向神经网络,双向GRU神经网络由前后状态共同决定,该方法是由两个方向相反的单向GRU神经网络组成,其中是前向GRU神经网络在t时刻的输出,是后向GRU神经网络在t时刻的输出,所以时刻t的输出为前后向的拼接,即其模型结构如图3所示。

图3 BiGRU模型结构

2.3 注意力机制

智能家居用户行为具有随机性,但无序的行为序列中存在着某种有序性[16]。例如:用户在某一时刻打开某一设备,一定会在将来的某一时刻关闭此设备,因此智能家居设备操控数据具有对称性,为了能够关注与预测具有对称性的行为,本文采用双层注意力机制。第一层注意力机制目的是关注相近操控行为中是否具有对称性,即用户通常会在短时间内做出具有对称性的操控行为,例如:用户在晚上8:00去厨房拿牛奶,他会打开厨房灯拿完牛奶后关闭厨房灯,(开厨房灯,关厨房灯)属于一组对称性操控行为,第一层注意力机制会重点关注对称的相近操控行为;第二层注意力机制目的是关注用户的全天操控序列中具有对称性的操控行为,当具有对称性的操控行为间隔很远,例如,用户晚上在厨房做饭,会发生(开厨房灯,开抽烟机,开电磁炉,…,关厨房灯)这样一组操控序列,(开厨房灯,关厨房灯)这一组对称行为相距间隔较长,第一层注意力机制并不能捕获到这类相隔较远的对称行为,因此本文采用第二层注意力机制,重点关注用户一天操控行为中具有对称性的行为。注意力机制是受到人类的选择性视觉注意力机制的启发[17],如人类在观察图像的时候,其实并不会一次性将整张图像的每个位置都看一遍,而是有选择性地观察图像的特定部分,将注意力集中在含有图像特征的区域,且人类会根据之前观察的图像信息,学习到将来要观察的图像注意力应该集中的地方,从众多信息中选择出对当前任务目标更关键的信息。Attention Model基本结构如图4所示。

图4 注意力机制基本结构

2.4 模型训练过程

(1)数据预处理

本文将用户的历史操控记录按天存放,提取出用户的操控设备、操控状态及操控时间。首先需要将时间点数据进行数值化处理,即将具体时间转化为时间段,用于表示该用户相邻两次操作的时间间隔,其次将不同设备的不同状态进行编码。某用户u的历史操控记录组成n天的操控记录Su={Su1,Su2,…,Sun},其中的第i天的操控序列表示为Sui={X1,X2,…,Xm},i∈n,第j条操控记录表示为Xj={Dj,Cj,Tj},j∈m,其中D为操控设备,C为操控状态,T为操控时间,将预处理后的这三维数据存入CSV文件中。由于操控设备、状态、时间量纲不同,处于不同的数量级,因此需要对操控记录进行归一化操作,归一化公式如下:

其中,Xnorm为归一化后的数据,X为原始数据,Xmax、Xmin分别为原始数据集的最大值和最小值。

因原始数据没有标签,无法进行模型训练,故本文借鉴RNN生成文本的思想[18],设置滑动窗口,将窗口长度L的下一个输入作为标签yL,该窗口长度L需要根据模型验证结果进行调整。

(2)BiGRU层

BiGRU层主要用于从输入数据中深度地挖掘用户的行为习惯。根据BiGRU神经网络模型图,BiGRU当前的隐层状态由当前输入xt、(t-1)时刻向前的隐层状态的输出和反向输出的三个部分共同决定,见图3。通过BiGRU层的特征提取后,可以更加充分地学习行为序列之间的关系。输入第i天操控序列的操控行为Xi:i+L,BiGRU层的输出结果如下:

(3)第一层Attention Model

该层输入数据为上一层BiGRU的输出hi:i+L,此层主要是为了不同的操控行为分配相应的概率权重,突出设定窗口内行为序列的关键信息,进一步提取用户行为习惯。通过Attention Model动态分配权重,学习到设定窗口L内不同行为与预测行为的相关性ui:i+L即:

其中,Ww表示权重系数,bw表示偏置系数,将ui:i+L输入softmax函数中,进行归一化处理,得到归一化权重αi:i+L:

其中,uw表示随机初始化的注意力矩阵。Attention机制向量E由attention机制分配的不同概率权重与各个隐层状态的乘积的累加和,即:

最终第一层Attention Model的输出是对设定窗口L内每个操控行为的不同关注度为:

(4)第二层Attention Model

该层输入数据为第一层Attention Model的输出Fi:i+L={Fi,Fi+1,…,Fi+L}及用户第i-1天的操控序列Sui-1={X1,X2,…,Xm}。将用户一天的操控序列Sui-1,通过Embedding Layer转换为分布式向量表示,合并第一层Attention Model的输出Fi:i+L,共同作为第二层Attention Model的输入序列,见图1。不同于第一层Attention Model将窗口内的操控行为X作为最小操作单元,第二层Attention Model将用户一天的操控序列S作为最小操控单元。

通过第二层Attention机制的学习,可捕获设定窗口以外行为序列的关键信息,不局限于特定区域的特征学习,更好地从用户一天的行为序列中挖掘出用户行为习惯。

(5)输出层

输出层的输入为第二层Attention Model的输出。利用全连接层对输出层的输入进行相应的计算,见图1,从而得到含有时间信息的用户行为预测结果。

BiGRU-DAtt模型的智能家居用户行为预测流程框图如图5所示。

3 实验与分析

3.1 实验环境

本文的验证实验的运行环境是一台具有16 GB内存且配有型号为Intel®CoreTMi7-7770HQ的CPU和GTX1060显卡的个人计算机,该计算机运行Windows 10中文版操作系统。

图5 智能家居用户行为预测流程框图

3.2 实验设置

3.2.1 对比算法

本实验实现了以下四种模型的对比:

(1)BP神经网络模型,该模型参考文献[3]的方法,将数据输入单隐含层的BP神经网络预测模型进行训练。

(2)LSTM模型,该模型参考文献[5]的方法,将数据输入LSTM后,根据LSTM的输出值做相应的处理。

(3)LSTM_Attention模型,该模型在LSTM后接attention层,并根据attention层的输出值做相应的处理。

(4)本文采用的BiGRU-DAtt模型。

3.2.2 评价指标

本文涉及到用户操控行为的分类和操控时间的回归,因此采用召回率(recall)、精确率(precision)、F1、平均绝对误差(MAE)、确定系数(R-square)作为评价指标。Recall表示正样本被预测为正样本所占的比例,precision表示预测为正的样本占正样本的比例,F1值是精确率和召回率的调和均值,MAE为绝对误差或L1范式的期望值,R-square是通过数据的变化来表征一个拟合的好坏。Recall、precision、F1、MAE、R-square的计算公式如下:式中的TP FN FP TN如表1所示,Y_actual是真实值,Y_predict是预测值,Y_mean是平均值。

表1 二分类结果混淆矩阵

3.3 实验数据

本节将利用由某智能公司提供的真实用户操控记录进行对比实验。实验数据包含某用户376天合计557 372条的操控记录,涉及9个智能家居设备。训练集和测试集按8∶2进行划分,分别用于模型训练和模型测试。本实验采用keras深度学习框架,使用hyperopt工具进行神经网络调参。经过多次迭代后,实验设置的超参数如表2。

表2 模型参数设置

采用本文提出的模型进行实验,在其他模型参数不变的情况下,设置滑动窗口长度,将窗口长度L的下一个输入作为标签yL,不同窗口长度L对应的准确率如图6所示。

图6 不同窗口长度L对应的准确率

由图6可知,窗口长度太小或太大都容易导致预测结果的准确率低。因此,本文设置窗口长度为3。

3.4 实验结果与分析

各模型的用户行为预测性能对比结果如表3、图7所示。从precision值来看,BP模型最低,只有0.587 1,最高的是LSTM_Att模型,为0.878 5;从recall和F1来看,BiGRU-DAtt模型的值最高,其中BiGRU-DAtt模型的recall超过0.90。根据以上分析结果,表明相比于传统的网络模型,本文提出的模型对智能家居数据更有针对性,行为预测准确度要高于其他三种模型。

表3 各模型行为预测性能对比

图7 各模型行为预测性能对比

各模型的行为预测性能对比如图7与图8所示。从时间回归各项指标来看,BiGRU-DAtt模型对智能家居数据拟合得最好,R-square值为0.864,时间平均绝对误差为100 s。

图8 各模型行为预测性能对比

相比于递归神经网络模型而言,BP神经网络模型存在对非线性特征学习不充分的缺点,导致无法获得多维特征之间的关系;传统的递归神经网络模型虽能进行非线性特征学习,但对智能家居数据没有针对性且模型结构不具备通用性,实验结果表明,本文针对智能家居数据特点所设计的BiGRU-DAtt模型具有更好的性能。

4 结束语

为了更好地实现智能家居用户行为预测,提高智能家居的智能化水平,本文提出了一种基于BiGRU-DAtt的神经网络模型,该模型针对智能家居用户操控数据特点,一方面,采用双向GRU模型挖掘用户行为前后关联;另一方面,通过双层注意力机制,进一步提取用户行为习惯,避免特定区域的特征学习,提升了模型的通用性。本文选取某智能公司提供的真实用户操控数据与传统的网络模型进行了多次重复对比实验,结果表明,本文的方法与传统的基于人工逻辑控制方法、浅层神经网络模型以及传统递归神经网络模型相比有较高的准确率。

然而,随着数据量的增大,注意力机制需要进一步处理信息且需存储相应的权重信息,增加了系统的开销。其次,随着智能家居产业爆发式增长,智能家居生态越发成熟,除了处理用户行为特征外,智能家居环境数据将被作为特征进行考虑。因此,如何实现综合考虑多维度数据特征,提高系统对海量数据的适应力,进一步提高系统的学习能力与准确率,是下一步的研究内容。

猜你喜欢

智能家居注意力神经网络
让注意力“飞”回来
基于PLC的智能家居控制系统研究
神经网络抑制无线通信干扰探究
基于神经网络的中小学生情感分析
基于Zigbee的无线通信技术在智能家居中的应用
智能家居发展或将实现弯道超车
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
基于神经网络的拉矫机控制模型建立
基于支持向量机回归和RBF神经网络的PID整定