Training dnn by updating an array using a chopper
AssigneeInternational Business Machines Corporation
InventorTayfun Gokmen
Life of this patent
Estimating the term…
Abstract
Embodiments disclosed herein include a method of training a DNN. A processor initializes an element of an A matrix. The element may include a resistive processing unit. A processor determines incremental weight updates by updating the element with activation values and error values from a weight matrix multiplied by a chopper value. A processor reads an update voltage from the element. A processor determines a chopper product by multiplying the update voltage by the chopper value. A processor stores an element of a hidden matrix. The element of the hidden matrix may include a summation of continuous iterations of the chopper product. A processor updates a corresponding element of a weight matrix based on the element of the hidden matrix reaching a threshold state.
Claims25
A method of training a deep neural network (DNN), the method comprising:
- determining incremental weight updates by updating an element of an A matrix with activation values and error values from a weight matrix multiplied by a chopper value, wherein the element comprises a resistive processing unit;
- reading an update voltage from the element;
- determining a chopper product by multiplying the update voltage by the chopper value;
- storing an element of a hidden matrix, wherein the element of the hidden matrix comprises a summation of continuous iterations of the chopper product;
- and
- updating a corresponding element of a weight matrix based on the element of the hidden matrix reaching a threshold state.
A computer-implemented method for training a deep neural network, comprising:
- tracking summations of chopper products for elements of an A matrix in corresponding elements of a hidden matrix, wherein the chopper products comprise activation and error values from a corresponding element of a weight matrix multiplied by a chopper value before and after being applied to the A matrix;
- triggering an update for the corresponding element of the weight matrix when the summation of one of the summations reaches a threshold.
A deep neural network (DNN), comprising:
- an A matrix comprising resistive processing unit (RPU) devices separating intersections between conductive row wires and conductive column wires, whereby the RPU devices comprise processed gradients for weighted connections between neurons in the DNN;
- a weight matrix comprising RPU devices separating intersections between conductive row wires and conductive column wires, whereby the RPU devices comprise weighted connections between neurons in the DNN;
- a chopper configured to multiply activation values and error values from the weight matrix by a chopper value before being applied to the A matrix, and multiply an output vector from the A matrix by the chopper value to produce a chopper product;
- and
- a computer storage configured to store a hidden matrix comprising an H value for each RPU device in the weight matrix W, wherein the H value comprises a summation of the chopper product.
A computer program product for reducing bias in an array, the computer program product comprising:
- one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions comprising:
- program instructions to initialize an element of an A matrix, wherein the element comprises a resistive processing unit;
- program instructions to determine incremental weight updates by updating the element with activation values and error values from a weight matrix multiplied by a chopper value;
- program instructions to read an update voltage from the element;
- program instructions to determine a chopper product by multiplying the update voltage by the chopper value;
- program instructions to store an element of a hidden matrix, wherein the element of the hidden matrix comprises a summation of continuous iterations of the chopper product;
- and
- program instructions to update a corresponding element of a weight matrix based on the element of the hidden matrix reaching a threshold state.
A computer-implemented method for training a deep neural network (DNN), comprising:
- transmitting an input vector ei multiplied by a chopper value as voltage pulses through conductive column wires of an A matrix and reading a resulting output vector y′ as current output from conductive row wires of the A matrix, wherein the A matrix comprises resistive processing unit (RPU) devices separating intersections between the conductive column wires and the conductive row wires;
- determining a chopper product for each RPU by multiplying the output vector y′ by the chopper value;
- updating H values of a hidden matrix by iteratively adding the chopper product, wherein the hidden matrix comprises an H value for each RPU;
- and
- after an H value reaches a threshold value, transmitting the input vector ei as a voltage pulse through the conductive column wires of a weight matrix W simultaneously with sign information of the H values that reached a threshold value as voltage pulses through the conductive row wires of the weight matrix W.
Dependencies are inferred from the claim text.