Hi. I am Mohammad Malekzadeh, and
I am presenting our paper DANA
Dimension-Adaptive Neural Architecture for Multivariate Sensor Data.
We consider sensors embedded in mobile and wearable devices,
especially motion sensors.
In practice, these sensors might not be available all the time.
Or, the sampling rate of the sensor might change from time to time.
So, the problem is
how to process sensor data of variable dimensions.
The reasons are
we want to be adaptive to hardware faults, like missing some sensors,
power saving by reducing sampling rate,
working across heterogeneous devices,
or enabling privacy and user control on data sharing.
Previous works proposed useful deep neural networks
for sensor data processing. For example, for health monitoring.
But all these works assume
fixed data dimensions at inference time!
The basic solutions are either
Data Imputation for Missing Data
or Re-Sampling of the data
So, instead of making the models adaptive,
they proposed to fix the data!
which brings more questions and challenges.
In our paper, we show
how to transform a deep neural network for
being adaptive to variable dimensions.
To this end, we propose
a new layer that is called
Dimension Adaptive Pooling
We also show how to
train such adaptive models
to keep them accurate at inference time.
We propose a Dimension Adaptive Training procedure
Combining DAP and DAT together we give
We give Dimension-Adaptive Neural Architecture
The DAP layer is located between
the last convolutional layer and the first feedforward or recurrent layer.
While the inputs to a DAP layer can have variable dimensions,
the output of the DAP layer always has fixed dimensions,
thus it is consistent for processing with a feedforward or recurrent layer.
We show that DAP gives better accuracy than other solutions
because it captures the correlations among sensors.
DAP layer has two customizable parameters,
but it does not add or remove any trainable parameter to or from the model.
As I mentioned, using a DAP layer makes a model adaptive,
but such a model also needs to be properly trained.
DAT is a training procedure that uses two techniques:
first, after sampling a batch of data,
we randomly change the dimensions of the data.
Second, instead of immediately updating the model
on every batch,
we accumulate the gradients of multiple batches
and update the model with the average gradients of multiple batches.
We show that,
DAT helps the trained model to have better generalization
at inference time.
Here I present one of our experimental results.
We compare four models:
The red line shows the original model that is
one of the state-of-the-art models used in previous works.
The blue line is the same model but using a DAP layer.
We see that this is not enough to only use a DAP layer.
The green line shows when we use DANA
to make the model adaptive to changes in the sampling rate.
The accuracy gets much better in the left plot.
But in the other two plots, in the middle and right,
where only one sensor is available,
the accuracy of the green line is dropped.
The purple line shows when we use DANA
for both dimensions: sampling rate and sensor availability.
DANA outperforms other models
by about 20% more accuracy
We also designed an experiment
where we can control the correlation between two sensors.
We see that, compared to other basic solutions,
that are shown by the red and blue lines,
our solution, that is shown by the green lines,
gives us better performance in low and high correlation scenarios.
Please find more details, results, and discussion in our paper.
We also published the code and a tutorial in the paper’s repository.
Thank you. Please get in touch, and enjoy the rest of UbiComp ☺️