Hi everyone, my name is Lloyd Pellatt, I'm a PhD student in the wearable technologies
lab at the university of sussex and I'm going to talk about our recent work on deep neural
architecture search for wearable human activity recognition. So i'll start by briefly going over
the motivation for our work. As we know, wearable devices with lots of sensors are
becoming increasingly widespread from smartphones to smart watches, fitness trackers and earphones.
These devices give us a wealth of sensor data which can be exploited to offer
context-specific services to the user for many applications from smart health to security,
and in many cases this kind of behavior takes the form of a time series classification problem
where we want to recognize certain events from signatures in streaming sensor data. One of the
most powerful methods that we have for performing classification like this is deep learning,
which is increasingly being adopted as a standard approach to sporadic activity recognition.
This is one example of a fairly typical DNN architecture for wearable activity recognition,
DeepConvLSTM. Segmented sensor data is passed through a convolutional feature extractor
with four layers followed by two fully connected recurrent layers and finally a softmax layer
which maps the output of the recurrent layers onto the number of classes in the dataset,
where the largest activation of an output unit indicates the predicted class of the input sample.
The parameters of each layer are then optimized by gradient descent to minimize the loss between the
predicted and the actual label and through this process DNNs can extract features automatically
from raw data which saves a lot of effort and domain knowledge which is typically required
for feature engineering. With that said designing a deep neural network still requires many choices
to be made about parameters like how many layers to include in the network, how many
trainable parameters per layer, what connection scheme to use between the layers and so on.
We found that a wide range of choices for these parameters exists in the literature and rarely any
kind of systematic justification is given beyond a grid search over a limited search space. Neural
Architecture Search methods have been proposed in other fields to perform a guided search of
the space of possible network architectures based on techniques including reinforcement learning,
genetic algorithms and gradient descent. These all very generally involve iteratively designing
DNNs by a process of sampling from a search space, evaluating the sampled architecture on
a target data set, and then improving the design whether that's by gradient descent in the case of
differentiable architecture search, maximization of expected future reward in the case of
reinforcement learning, or by selection, mutation and crossover in the case of genetic algorithms.
Now I'll briefly summarize our approach to neural architecture search with deep Q learning. So first
we sample layers using a deep neural network known as a deep Q network where the input is
the layer index and the layers are selected from a search space described by this table where we can
choose for each layer the operation to perform, the kernel size (if applicable), the predecessors
which determine the connections between layers and the number of units. We repeat the sampling until
we reach the terminal layer or the maximum index and then we incorporate the feature extractor into
a classifier network which includes an LSTM recurrent layer for temporal processing and
a softmax output layer. We train the classifier to identify activities in the target dataset and then
we test it to get a reward which is used to train the deep Q network to generate better classifiers.
Since each classifier network takes a long time to train to convergence, we use a performance
estimation strategy to predict the converged performance of the network by looking only at
the first few training epochs, and then use this predicted value as a reward function for the DQN.
We compared several methods for predicting this performance, validated on a data set of
5000 randomly generated networks from the search space. More technical details can be found in the
paper and also in an extended version of this presentation which will be hosted on YouTube.
So now I'll very briefly summarize the key results here but again if you want more
in-depth discussion you can check out the paper and the supplemental YouTube video.
This is a plot showing the correlation between the actual testing f1 score and
the prediction from some of our models on the randomly generated set of 5000 classifiers,
so each section here represents 20 percent of those tested classifier models,
arranged by f1 score from the bottom 20 percent on the left in red to the top 20 percent on the right
in green. The left most marker in each section is the baseline which is just the mean f1 score
of five epochs, the other markers represent the correlation achieved by the predictors.
So what we see is that our predictors can achieve significantly higher correlation with the actual
scores on each section but especially on the best 20 models, which is good because we that's what
we're really interested in because we want to guide the architecture search towards those good
models. Here you can see some of the results from our experiments, so the top three models here are
a few benchmarks - DeepConvLSTM is a state of the art model and MaxFF and MaxWide are high
complexity benchmarks representing the deepest and widest networks we can generate within the search
space. We found that our NAS generated networks achieved the best accuracy and f1 score out of
all the models we tested and the random search produced models which are almost as good but
took up to 10 to 20 times longer than the NAS method with performance prediction. So in
conclusion we proposed a method for designing convolutional feature extractors for deep
recurrent neural networks using deep q learning. We showed that even using a random search of a
well-designed search space it is possible to find networks which achieve close to state-of-the-art
performance and using architecture search with neural regression-based performance prediction
we were able to find marginally better results in just five to ten percent of the search time.
This shows the potential of deep Q learning-based neural architecture search to automate design
of deep neural networks for wearable activity recognition and to advance the state of the art.
Okay, thanks for listening and again you can find much more technical detail and
discussion of our results and future work in the extended version of this presentation on YouTube
and of course in the paper. Thanks.