Computing temporal convolution networks in real time
AssigneeSony Group Corporation
InventorsPiyush Khandelwal, James MacGlashan, Peter Wurman, Fabrizio Santini
Life of this patent
Estimating the term…
Abstract
A real-time temporal convolution network (RT-TCN) algorithm reuses the output of prior convolution operations in all layers of the network to minimize the computational requirements and memory footprint of a TCN during real-time evaluation. Further, a TCN trained via the fixed-window view, where the TCN is trained using fixed time splices of the input time series, can be executed in real-time continually using RT-TCN.
Claims11
A computerized method of performing deep convolutions over time series data in real time in a temporal convolutional network (TCN), comprising:
- training the temporal convolution network via a pruned TCN derived from a fixed-window view of the TCN, wherein the temporal convolution network is trained using fixed time splices of an input time series, wherein the fixed time splices have a size to provide a single output, and wherein unused convolutions of the fixed-window view are removed to generate the pruned TCN;
- calculating network strides and dilation rates for each layer in a continual view of the TCN, where the calculated network strides and the calculated dilation rates are used in real time;
- and
- executing the fixed-window view trained temporal convolution network in real time by:
- running an algorithm once to generate buffers to store input and intermediate data, the algorithm determining a dilated kernel size each layer of the TCN, which is then used to initialize a single fixed size buffer in channels-width layout wherein a width in the channels-width layout references a time dimension, the algorithm further initializing a write head which identifies a column along the width where a next input to a buffer should be written;
- inputting a first fixed time window of time series data;
- predicting a first output through the trained temporal convolution network;
- inputting a second fixed time window of time series data;
- and
- predicting a second output through the trained temporal convolution network, wherein
- a convolution operation that is used to provide the first output and is needed for the second output is not repeated for the prediction of the second output or for a later prediction output;
- and
- a ready convolution operation is performed at a given timestep as soon as all inputs necessary to perform the ready convolution operation are available, even when the ready convolution operation is not used for generating an output at the given timestep.
A computerized method of performing deep convolutions over time series data in real time in a temporal convolutional network, comprising:
- training the temporal convolution network via a pruned TCN derived from a fixed-window view of the TCN, wherein the temporal convolution network is trained using fixed time splices of an input time series, wherein the fixed time splices have a size to provide a single output, and wherein unused convolutions of the fixed-window view are removed to generate the pruned TCN;
- calculating network strides and dilation rates for each layer in a continual view of the TCN, where the calculated network strides and the calculated dilation rates are used in real time;
- and
- executing the fixed-window view trained temporal convolution network in real time by:
- running an algorithm once to generate buffers to store input and intermediate data, the algorithm determining a dilated kernel size each layer of the TCN, which is then used to initialize a single fixed size buffer in channels-width layout wherein a width in the channels-width layout references a time dimension, the algorithm further initializing a write head which identifies a column along the width where a next input to a buffer should be written;
- inputting a first fixed time window of time series data;
- performing a ready convolution operation at a given timestep as soon as all inputs necessary to perform the ready convolution operation are available, even when the ready convolution operation is not used for generating an output at the given timestep;
- retaining input and intermediate values that are necessary for performing a future convolution operation in memory;
- predicting a first output through a trained deep convolution network;
- inputting a second fixed time window of time series data;
- and
- predicting a second output through the trained deep convolution network, wherein
- convolution operations needed for the second output that are retained in memory are reused in place of re-performing the convolution operation.
A non-transitory computer-readable storage medium with an executable program stored thereon, wherein the program instructs one or more processors to perform acts comprising:
- training the temporal convolution network via a pruned TCN derived from a fixed-window view of the TCN, wherein the temporal convolution network is trained using fixed time splices of an input time series, wherein the fixed time splices have a size to provide a single output, and wherein unused convolutions of the fixed-window view are removed to generate the pruned TCN;
- calculating network strides and dilation rates for each layer in a continual view of the TCN, where the calculated network strides and the calculated dilation rates are used in real time;
- and
- executing the fixed-window view trained temporal convolution network in real time by:
- running an algorithm once to generate buffers to store input and intermediate data, the algorithm determining a dilated kernel size each layer of the TCN, which is then used to initialize a single fixed size buffer in channels-width layout wherein a width in the channels-width layout references a time dimension, the algorithm further initializing a write head which identifies a column along the width where a next input to a buffer should be written;
- inputting a first fixed time window of time series data;
- predicting a first output through a trained deep convolution network;
- inputting a second fixed time window of time series data;
- predicting a second output through the trained deep convolution network, wherein
- a convolution operation that is used to provide the first output and is needed for the second output is not repeated for the prediction of the second output or for a later prediction output;
- and
- a ready convolution operation is performed at a given timestep as soon as all inputs necessary to perform the ready convolution operation are available, even when the ready convolution operation is not used for generating an output at the given timestep.
Dependencies are inferred from the claim text.