[paper阅读理解] 基于Recurrent Attention Learning的弱监督人体动作识别

Weakly Supervised Human Activity Recognition from Wearable Sensors by Recurrent Attention Learning

Jun He, Qian Zhang, Liqun Wang, Ling Pei

注:博文中的英文表述、公式以及图片均出自此paper。


Abstract

传统的人体动作识别(HAR)依赖于大量的带标记的数据训练集。

但标记传感器数据是一件费时费力的事。

本作中提出了基于recurrent attention learning的弱监督HAR模型。


1. INTRODUCTION

HAR是一个人工智能领域热门的问题。

对于HAR中的传感器信号数据序列,依照动作类型精确分类打标签是很难的一件事。

本文提出“weakly labeled sensor data”情况,指的是一长段传感器数据序列中含有一种或多种动作类型

本文提出“weakly labeled sensor data”情况,指的是一长段传感器数据序列中可能含有多段的某一种类型动作。

本作针对这种情况,受recurrent attention model (RAM) and deep recurrent attention model (DRAM)启发,提出了一种弱监督学习(weakly supervised learning)人体动作识别方法。

# 【增强学习】Recurrent Visual Attention源码解读

该方法的特征(character)是不准确监督(inaccurate supervision),用于训练的数据集只需要粗糙的标记(coarse-grained labels.)。

这种方法可以用weakly label训练模型,而且可以定位出具体动作的位置(locate the location of special actions)。

另外,本方法没有利用全部的传感器数据序列,而是取自数据序列上的一部分(a few local glimpses)来构建特征(local features)。

主要成就:

(1)在弱标签数据集上实现人体动作识别。这种数据集不需要精确地标记每一个传感器数据序列,只需要知道序列中有哪些哪个动作且不需要知道这些这个动作发生的时间点(The dataset does not need to be perfectly labeled for each sequence of sensor data. It only needs to know what action occurred in a sequence of sensor data without knowing the specific time of this action.)。

(2)由于在一长段传感器数据序列中,可能包含多种类型的动作。所以我们在强化学习框架(reinforcement learning framework)中加入了一种新型的reward策略(a novel reward strategy),来提升agent寻找更多可能存在的动作?(promote the agent to explore more possible activities)。


2. RELATED WORKS

A. Methods based on feature engineering

B. Methods based on deep learning

 


3. MODEL

A. Model architecture

由四部分组成:context network, glimpse network, controller network, and classification network.

Controller network由location network和recurrent network组成。

Context network用作提取传感器数据global overview的特征,并将其传入controller network中来判断下一步观测的位置(extract the features of the global overview of the sensor data and input it to the controller network to determine which location to observe at next time step. )。

Glimpse network对传感器数据进行细致观测,提取特征,然后将这些特征输入classification network进行分类。

(1)Context network f_{c}(\theta_{c})

context network的作用:为recurrent network提供初始状态(initial state of the hidden layer in the recurrent network),

并且其输出被location network用作预测第一个glimpse的位置。

context network的过程:对entire sensor data进行下采样(sub-sample),然后输出一个合适长度的向量(a fixed length vector)。

然后经过三层卷积+池化层,提取global overview的特征作recurrent network隐藏层的初始状态。

 

 

(2)Glimpse network f_{g}(\theta_{g})

glimpse network的输入为当前位置数组 l_{t-1} (current location tuple)和原始输入传感器信号x,输出为位置l_{t-1}附近传感器数据块的特征向量g_{t}.

glimpse network的作用:在原始传感器数据位置 l_{t-1} 附近提取一小块数据的特征(extract features of a small piece of data near the location l_{t-1}  of the original sensor data),这些提取出的特征作为classification network 和 the recurrent network 的输入。

glimpse network的过程

(a)对于输入传感器信号x和位置 l_{t-1},glimpse network首先在位置l_{t-1}附近,在glimpse window尺寸w_{s}范围内提取一个传感器数据块x_{t}

(b)然后一个三层的带有一维卷积核的CNN子网络(a three layers of CNN sub-network with 1D convolution kernel)用来从被瞥传感器数据块(glimpsed sensor data block)x_{t}提取局部CNN特征(local CNN feature)f_{x_{t}}

(c)然后特征f_{x_{t}}和位置l_{t-1}分别经过参数为\theta _{g}^{0}\theta _{g}^{1}的独立ReLu线性层,然后再通过参数为\theta _{g}^{2}的ReLu线性层连接在一起,形成了glimpse特征g_{t}

(3)Controller network

由一个recurrent networkf_{h}(\theta_{h})和一个location networkf_{l}(\theta_{l})组成。

recurrent network中我们使用LSTM,location network使用一个全连接层把hidden state转换成一维位置空间(1D location space)。

controller network的作用:整合经过glimpse network的fine-scale glimpse features,更新网络的循环阶段(recurrent state ),并预测下一个glimpse的位置。

controller network的过程

(a)首先,glimpse特征向量g_{t}作为recurrent network每一步(time step)的输入。

(b)然后recurrent network更新当前循环状态h_{t},通过结合当前glimpse特征向量g_{t}和先前循环状态h_{t-1}.

(c)然后,location network作为位置控制器(location controller),将循环状态h_{t}转换为相应的数组l_{t+1},即下一次glimpse的位置。

(4)Classification network

classification network的作用/过程:结合由context network产生的全局特征向量h_{0}以及glimpse network产生的局部特征向量g_{t},预测每一步(time step)是真实标签值y的概率p_{t}

?classification network由全连接层+Softmax层组成。

B. Model training

(1)训练策略Training strategy

由于传感器数据是弱标注的,没有ground-truth标注来帮助我们从一长串序列中选择动作的截止范围。

另外因为预测位置的过程(cropping the attention region)是一个非微分运算(non-differential operator),所以不可以类似监督学习那样通过最小化损失函数来优化模型(minimize a smooth loss function to optimize our model)。

依据recurrent attention model(RAM)训练策略,采用强化学习来获得网络参数,并且训练agent去关注整个传感器数据序列最显著的部分(train the agent to focus on the most salient local parts of the whole sequence of sensor data)。

(step1)由context network对输入的传感器信号进行下采样,得到一个数据的总览(global overview),粗糙整体传感器数据信息S_{coarse}(coarse global information of the sensor data),然后传入CNN提取粗糙的特征向量h_{0}h_{0}用作controller network的初始状态来预测第一个glimpse位置l_{0},同时也是classification network的输入,根据真实标签值y来获得第一个第一次分类概率p_{0}

(step2)由glimpse network对位置l_{0}附近的数据块进行特征提取,得到特征向量g_{1}g_{1}经过classification network可以得到一个分类概率p_{1}。recurrent network结合g_{1}h_{0}来更新至循环状态h_{1}。location network根据h_{1}来预测下一次glimpse的位置l_{1}。需要注意的是因为在controller network中预测位置的函数不是可微分的,所以用强化学习来训练controller network,同时在下一节介绍一种新型的reward策略。

(step3)重复step2的操作。需要注意的是在每一部过后模型都会得到一个reward r_{t} ,在经过T步后,计算R = \sum_{t=1}^{T}r_{t},然后通过最小化R来优化controller network,目的是使controller network预测出最具代表性特征的位置(the location of the most representative features in the sensor data)。

(2)Reward strategy

在recurrent attention learning架构中经典的reward策略是依据最终分类衡量attention region selection的质量。

比如在RAM中,如果在T步后分类正确则 r_{T}=1,否则 r_{T}=0。

尽管使用这种reward策略的马尔可夫决策过程(Markov Decision Process)可以在弱标注数据上进行,但其难以differentiate the effect of different glimpse regions,所以可能导致收敛缓慢(slow convergence)。

考虑到在弱标注数据中动作的分布情况,提出了两种新的reward策略来使得agent更加聪明地寻找可能存在的动作。

(a)第一种reward策略叫rew-single,适用于只含一种动作的传感器数据(sensor data including only one single special activity)。

首先,由context network提取的整体粗糙特征(global coarse feature)h_{0}传入classification network得到初始分类概率p_{0}

然后,在步骤t时刻产生的glimpse特征g_{t}h_{0}线性相加(linearly added),然后传入classification network得到正确分类概率p_{t}

因为p_{0}代表粗糙分类结果,这种策略的intuition是寻找一个能输出更好分类结果的glimpse local part,也就是p_{t}>p_{0},在这种情况下agent的行为被positive reward所鼓励,否则得到non-positive reward。

实际中,从第一步开始,controller network首先判断预测结果\hat{y}是否正确。若其正确,controller network判断分类概率p是否上升,如果上升,reward为1,否则为0,这一过程可由下式表示:

也就是说,在每一步中,只有在传感器数据被正确分类且分裂概率p上升时,reward为1。

这样可使controller network得出更加适合预测的位置,这个动作实际发生的位置有着更具代表性的特征。

(b)第二种reward策略叫rew-multi,在其中加入了位置判断(positional judgment),适用于含有多种动作的传感器数据。

每一步,将预测得到的位置记入set中,然后在接下来的一步做判断。

比如,

在第1步时,由controller network得出的预测位置l_{0},那么此时的位置集为{l_{0}}。

需要注意的是,位置集{l_{0}}不是仅包含单一位置点l_{0},而是包含l_{0}附近所有在glimpse范围内的位置。

在第2步,在判断完分类是否正确以及分类概率是否上升后,再判断新的预测位置l_{1}是否包含在先前的位置集{l_{0}}中,如果不包含,则reward为1,否则为0.5。然后将l_{1}加入位置集{l_{0}}中,形成新的位置集{l_{0}l_{1}}。

通过类比,这种网络结构will be encouraged to look at many different locations where the activity occurs.

(3) Optimization

由于classification network和controller network由两种不同的方式训练(监督学习和强化学习),所以我们通过混合丢失函数(hybrid loss)来优化模型。

监督学习包含训练classification network、context network和glimpse network,可以通过最小化交叉熵损失(cross entropy loss)来优化。

通过强化学习训练的controller network的损失函数为:

其中log\pi (A_{i}:\theta )表示在给定的state下,一个关于action的概率分布的对数似然(the logarithm likelihood of taking the action Ai under the current policy π (· : θ)) 。

baseline是用于方差减少的估计累积reward(the estimated cumulative reward used for variance reduction)。

R = \sum_{t=1}^{T}r_{t}


4. EXPERIMENTS

实验由两部分组成。

第一个实验用来验证本作提出的attention方法在典型的监督学习HAR中是否可行。在本实验中使用Human Activity Recognition Using Smartphones Dataset (UCI HAR Dataset) 数据集。

第二个实验来研究弱监督HAR的表现,用到了作者自己收集的弱标注数据。

这两个实验都使用CNN和DeepConvLSTM作为baseline模型。

CPU Xeon 2620v3, 32 GB memory, and a NVIDIA Titan-X GPU with 12GB memory、TensorFlow

A. Datasets


(1)UCI HAR Dataset

选用数据集中六种动作。将30个志愿者分为25+5(5-fold cross validation)。

50Hz、2.56s&50% overlap(window size=128)。

(2)弱标记数据集(Weakly labeled dataset)

3-axis acceleration sensor data from iPhone、10 volunteers、手机放在右裤袋中。

数据集中有五种动作,”walking”, ”jogging”, ”jumping”, ”going upstairs” and ”going downstairs”,

其中“walking”做为背景动作(background activity),另外四种是准备做识别的具体动作。

50Hz、window size=2048(40.96s)、91,266 sequences。

70% for training, 10% for validating, and 20% for testing。

B. Experiments on UCI HAR Dataset

C. Experiments on weakly labeled dataset

(1)实验对比(Experimental comparison)

我们模型对于弱标记数据卓越的表现是因为我们的模型不同于其他两个模型依据完整的传感器数据做分类。

不同的是,我们的分类依据两点:一是coarse context feature supervised by such weak label,二是local glimpse features conducted by the learned attention mechanism。

(2) Sensitivity of Parameters

评估S_{score}长度、window size以及glimpse次数(glimpse times)对结果的影响。

(a)S_{score}长度和window size

S_{score}变大即下采样点增多,准确率逐渐上升。

window size变大即glimpse范围增大,准确率逐渐提高。

可以看出,S_{score}变大对准确率的提升影响大于window size变大对准确率的影响。

这是因为S_{score}对glimpse初始位置的选择有直接影响。S_{score}的增大意味着模型可以获得更多global信息,从而增加focus on significant features的可能性。

而window size的增大意味着模型可以获得更多local信息,然而对于存在很多背景噪声的弱标注数据,增加ws只会导致模型获得更多不相关的背景噪声的信息和小部分特定动作的特征。

(b)glimpse次数

glimpse次数增多会使得分类准确率提升。

这是由于随着glimpse次数的增多,模型可以observe更多位置的数据块。

从某种意义上来说(in a sense),更多的数据块会涵盖更多的global信息,从而增加focusing on other significant features parts的可能性。

(3) glimpse位置讨论(Glimpse location results and discussion)

(a)对于rew-single策略

可以看出在这种策略下,模型可以精准地定位出特定动作的一个位置,但不会能定位出特定动作所有的位置。

这是由于使用强化学习训练的模型中,我们期望最终的reward越大越好。

(b)对于rew-mult策略

可以看出,这种策略可以定位出特定动作的多个发生位置。

另外,随着glimpse次数的增多,定位更加全面(comprehensive)。


5. CONCLUSION

我们的模型可以使用弱标注数据集进行训练,

并且在传统的HAR数据集以及弱标注数据集上都有不错的表现。

通过使用这个模型,避免了标记数据传统的繁重过程。

另外,通过精确的定位,减少了参数的设置和计算量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值