Technical solutions are described for implementing a convolutional neural network (CNN) using resistive processing unit (RPU) array. An example method includes configuring an RPU array corresponding to a convolution layer in the CNN based on convolution kernels of the layer. The method further includes performing forward pass computations via the RPU array by transmitting voltage pulses corresponding to input data to the RPU array, and storing values corresponding to output currents from the RPU arrays as output maps. The method further includes performing backward pass computations via the RPU array by transmitting voltage pulses corresponding to error of the output maps, and storing the output currents from the RPU arrays as backward error maps. The method further includes performing update pass computations via the RPU array by transmitting voltage pulses corresponding to the input data of the convolution layer and the error of the output maps to the RPU array.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computer implemented method for implementing a convolutional neural network (CNN) using resistive processing unit (RPU) array, the method comprising: configuring an RPU array corresponding to a convolution layer in the CNN based on convolution kernels of the convolution layer; performing forward pass computations for the CNN via the RPU array using input data of the convolution layer, and storing resulting values corresponding to output currents from the RPU array as output maps; performing backward pass computations for the CNN via the RPU array by: transmitting voltage pulses corresponding to error of the output maps of the convolution layer to the RPU array; and storing values corresponding to the output currents from the RPU arrays as backward error maps; and performing update pass computations for the CNN via the RPU array by transmitting voltage pulses corresponding to the input data of the convolution layer and the error of the output maps to the RPU array. 2. The computer implemented method of claim 1, wherein the RPU array comprises a plurality of RPU devices. 3. The computer implemented method of claim 1, wherein an RPU device from the RPU array comprises: a first terminal; a second terminal; and an active region having a conduction state; wherein the active region is configured to locally perform a data storage operation to store weights of the CNN; and wherein the active region is further configured to locally perform a data processing operation to update the weights of the CNN. 4. The computer implemented method of claim 3, wherein a change in the conduction state comprises a non-linear change based on at least one first encoded signal applied to a first terminal and at least one second encoded signal applied to the second terminal of the RPU device. 5. The computer implemented method of claim 1, wherein the RPU array sums currents from an entire row or column of resistive processing units to form an output current. 6. The computer implemented method of claim 1, wherein configuring the RPU array for the convolution layer comprises: initiating the RPU to include M columns and k2N rows, wherein M is a number of convolution kernel banks, k is a number of rows in a convolution kernels, and N is a number of convolution kernels in each convolution kernel bank. 7. The computer implemented method of claim 1, further comprising: converting the input data to column vectors based on dimensions of the convolution kernel. 8. The computer implemented method of claim 1, further comprising: transmitting the results of the forward pass and backward pass computations from the RPU array to another RPU array that implements a subsequent convolution layer of the CNN. 9. A system facilitating training a convolution layer of a convolutional neural network (CNN) using resistive processing unit (RPU) arrays, the system comprising: an RPU array, which comprises a plurality of RPUs; and a processor configured to control electric voltage across the RPUs from the RPU array, wherein the processor is configured to: configure the RPU array corresponding to the convolution layer based on dimensions associated with convolution kernels of the convolution layer; perform forward pass computations for the CNN via the RPU array using input data of the convolution layer and storing values corresponding to output currents from the RPU array as output maps; perform backward pass computations for the CNN via the RPU array by: transmitting voltage pulses corresponding to error of the output maps of the convolution layer to the RPU array; and storing values corresponding to the output currents from the RPU array as backward error maps; perform update pass computations for the CNN via the RPU array by: transmitting voltage pulses corresponding to the input data of the convolution layer and the error of the output maps to the RPU array; and update weights of RPU devices of the RPU array. 10. The system of claim 9, wherein the RPU array comprises: a set of conductive row wires; a set of conductive column wires configured to form a plurality of crosspoints at intersections between the set of conductive row wires and the set of conductive column wires; and a two-terminal RPU at each of the plurality of crosspoints. 11. The system of claim 10, wherein the two-terminal RPU comprises: a first terminal; a second terminal; and an active region having a conduction state; and wherein the active region is configured to effect a non-linear change in the conduction state based on at least one first encoded signal applied to the first terminal and at least one second encoded signal applied to the second terminal. 12. The system of claim 11, wherein the non-linear change comprises a rectifying non-linear change or a saturating non-linear change. 13. The system of claim 11, wherein the non-linear change comprises an exponential non-linear change. 14. The system of claim 10, wherein the RPU array sums currents from an entire row or column of resistive processing units to form an output current. 15. The system of claim 9, wherein the processor configures the RPU array for the convolution layer by initiating the RPU to include M columns and k2N rows, wherein M is a number of convolution kernel banks, k is a number of rows and columns in a convolution kernels, and N is a number of convolution kernels in each convolution kernel bank. 16. A computer program product for training a convolution layer of a convolutional neural network (CNN) using resistive processing unit (RPU) arrays, the computer program product comprising a computer readable storage medium, the computer readable storage medium comprising computer executable instructions, wherein the computer readable storage medium comprises instructions to: configure an RPU array corresponding to the convolution layer based on dimensions associated with convolution kernels of the convolution layer; perform forward pass computations for the CNN via the RPU array using input data of the convolution layer; perform backward pass computations for the CNN via the RPU array by: transmitting voltage pulses corresponding to error of output maps of forward pass computations for the CNN to the RPU array, wherein output currents from the RPU array are stored as the output maps during the forward pass computations; and storing values corresponding to the output currents from the RPU array as backward error maps; perform update pass computations for the CNN via the RPU array by: transmitting voltage pulses corresponding to the input data of the convolution layer and the error of the output maps to the RPU array; and update weights of RPU devices from the RPU array. 17. The computer program product of claim 16, wherein configuring the RPU array for the convolution layer comprises initiating the RPU to include M columns and k2N rows, wherein M is a number of convolution kernel banks, k is a number of rows and the columns in a convolution kernels, and N is a number of convolution kernels in each convolution kernel bank. 18. The computer program product of claim 16, wherein the computer readable storage medium further comprises instructions to convert the input data to column vectors based on dimensions of the convolution kernel. 19. The non-transitory computer program product of claim 16, wherein the RPU array comprises: a set of conductive row wires; a set of conductive column wires configured to form a plurality of crosspoints at intersections between the set of conductive row wires and the set of conductive column wires; and a two-terminal RPU at each of the plurality of crosspoints. 20. The non-transitory computer program product of claim 19, wherein the two-terminal RPU comprises: a first terminal; a second terminal; and an active region having a conduction state; and wherein the active region is configured to effect a non-linear change in the conduction state based on at least one first encoded signal applied to the first terminal and at least one second encoded signal applied to the second terminal.