US-12626089-B2 - Device and method with multidimensional vector neural network
Abstract
A computing device for a multidimensional vector neural network includes: input lines to which multidimensional input vectors are input; output lines intersecting the input lines; memory cells disposed at intersecting points between the input lines and the output lines and configured to store weight elements included in multidimensional weight vectors; selectors configured to transmit a value output from each of the output lines to any one of adders; and the adders configured to accumulate values received from the selectors in a predetermined number of cycles, wherein, for each of the multidimensional weight vectors, weight elements included in the multidimensional weight vector are stored in reference memory cells that connect a corresponding single reference input line and corresponding two or more reference output lines.
Inventors
- Hyunsoo Kim
- Sungmeen Myung
Assignees
- SAMSUNG ELECTRONICS CO., LTD.
Dates
- Publication Date
- 20260512
- Application Date
- 20220202
- Priority Date
- 20210510
Claims (20)
- 1 . A computing device for a multidimensional vector neural network, the computing device comprising: input lines to which multidimensional input vectors are input; output lines intersecting the input lines; memory cells disposed at intersecting points between the input lines and the output lines and configured to store weight elements included in multidimensional weight vectors; selectors configured to transmit a value output from each of the output lines to any one of adders; and the adders configured to accumulate values received from the selectors in a predetermined number of cycles, wherein, for each of the multidimensional weight vectors, weight elements included in the multidimensional weight vector are stored in reference memory cells that connect a corresponding single reference input line and corresponding two or more reference output lines.
- 2 . The device of claim 1 , wherein, for each of the multidimensional input vectors, input elements included in the multidimensional input vector are sequentially input to a same reference input line in the cycles.
- 3 . The device of claim 1 , wherein the predetermined number of cycles is equal to a number of input elements included in each of the multidimensional input vectors.
- 4 . The device of claim 1 , wherein, for each of multidimensional output vectors, output elements included in the multidimensional output vector are determined based on a value accumulated by each of reference adders corresponding to the reference output lines.
- 5 . The device of claim 1 , wherein reference selectors corresponding to the reference output lines among the selectors are configured to sort a value output from each of the reference output lines by output elements of each of multidimensional output vectors and transmit the sorted value to different reference adders.
- 6 . The device of claim 1 , wherein a number of output lines is determined based on a number of multidimensional weight vectors and a number of weight elements included in each of the multidimensional weight vectors.
- 7 . The device of claim 1 , wherein, for each of the multidimensional weight vectors, the weight elements included in the multidimensional weight vector are stored in reference memory cells connected to different reference output lines.
- 8 . The device of claim 1 , wherein the multidimensional input vectors, the multidimensional weight vectors, and multidimensional output vectors determined based on a value accumulated by each of the adders are complex vectors comprising a real element and an imaginary element.
- 9 . The device of claim 8 , wherein a value output from a first reference output line connected to memory cells configured to store real elements among the reference output lines is transmitted to a second reference adder configured to accumulate imaginary elements, wherein a sign of the value is maintained through a first reference selector, and another value output from a second reference output line connected to memory cells configured to store imaginary elements among the reference output lines is transmitted to a first reference adder configured to accumulate real elements, wherein a sign of the other value is inverted through a second reference selector.
- 10 . The device of claim 1 , wherein the multidimensional input vectors, the multidimensional weight vectors, and multidimensional output vectors determined based on a value accumulated by each of the adders are either one or both of quaternion vectors comprising imaginary elements and quaternion vectors comprising a real element and imaginary elements.
- 11 . The device of claim 10 , further comprising: second selectors configured to determine a sign of a value output from each of the output lines based on a type of a multidimensional weight vector applied to an operation to be performed in each cycle, a type of a weight element stored in the memory cells, and a type of an input element input to the input lines and transmit the value with the determined sign to a corresponding selector.
- 12 . The device of claim 10 , wherein elements included in each of partial operation result vectors accumulated by the adders in a portion of the cycles are sequentially input to the input lines in the remaining portion of the cycles.
- 13 . The device of claim 1 , wherein the predetermined number of cycles is “2” in response to the multidimensional weight vectors being complex vectors, and “7” or “8” in response to the multidimensional weight vectors being quaternion vectors.
- 14 . A processor-implemented operation method of a computing device for a multidimensional vector neural network, the operation method comprising: inputting input elements included in each of multidimensional input vectors to input lines; transmitting, through selectors, a value output from each of output lines intersecting the input lines to any one of adders; and accumulating, through the adders, values received from the selectors in a predetermined number of cycles, wherein, for each of the multidimensional weight vectors applied to the multidimensional vector neural network, weight elements included in the multidimensional weight vector are stored in reference memory cells that connect a corresponding single reference input line and corresponding two or more reference output lines.
- 15 . The method of claim 14 , wherein, for each of the multidimensional input vectors, the inputting comprises sequentially inputting input elements included in the multidimensional input vector to a same reference input line in the cycles.
- 16 . The method of claim 14 , wherein the predetermined number of cycles is equal to a number of input elements included in each of the multidimensional input vectors.
- 17 . The method of claim 14 , wherein, for each of multidimensional output vectors, output elements included in the multidimensional output vector are determined based on a value accumulated by each of reference adders corresponding to the reference output lines.
- 18 . The method of claim 14 , wherein the transmitting comprises sorting, through reference selectors corresponding to the reference output lines among the selectors, a value output from each of the reference output lines by output elements of each of the multidimensional output vectors and transmitting the sorted value to different reference adders.
- 19 . The method of claim 14 , wherein a number of output lines is determined based on a number of multidimensional weight vectors and a number of weight elements included in each of the multidimensional weight vectors.
- 20 . The method of claim 14 , wherein, for each of the multidimensional weight vectors, the weight elements included in the multidimensional weight vector are stored in reference memory cells connected to different reference output lines.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit under 35 USC § 119(a) of Korean Patent Application No. 10-2021-0060126, filed on May 10, 2021 in the Korean Intellectual Property Office, the entire disclosure of which is incorporated herein by reference for all purposes. BACKGROUND 1. Field The following description relates to a device and method with a multidimensional vector neural network. 2. Description of Related Art A neuromorphic processor may perform neural network operations. For example, a neuromorphic processor including a neural circuit and a synaptic circuit may be implemented. Such a neuromorphic processor may be used as a neural network device for driving various neural networks, such as a convolutional neural network (CNN), a recurrent neural network (RNN), a feedforward neural network (FNN), and the like, and may be utilized in various fields including data classification and image recognition. SUMMARY This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. In one general aspect, a computing device for a multidimensional vector neural network includes: input lines to which multidimensional input vectors are input; output lines intersecting the input lines; memory cells disposed at intersecting points between the input lines and the output lines and configured to store weight elements included in multidimensional weight vectors; selectors configured to transmit a value output from each of the output lines to any one of adders; and the adders configured to accumulate values received from the selectors in a predetermined number of cycles, wherein, for each of the multidimensional weight vectors, weight elements included in the multidimensional weight vector are stored in reference memory cells that connect a corresponding single reference input line and corresponding two or more reference output lines. For each of the multidimensional input vectors, input elements included in the multidimensional input vector may be sequentially input to a same reference input line in the cycles. The predetermined number of cycles may be equal to a number of input elements included in each of the multidimensional input vectors. For each of multidimensional output vectors, output elements included in the multidimensional output vector may be determined based on a value accumulated by each of reference adders corresponding to the reference output lines. Reference selectors corresponding to the reference output lines among the selectors may be configured to sort a value output from each of the reference output lines by output elements of each of multidimensional output vectors and transmit the sorted value to different reference adders. A number of output lines may be determined based on a number of multidimensional weight vectors and a number of weight elements included in each of the multidimensional weight vectors. For each of the multidimensional weight vectors, the weight elements included in the multidimensional weight vector may be stored in reference memory cells connected to different reference output lines. The multidimensional input vectors, the multidimensional weight vectors, and multidimensional output vectors determined based on a value accumulated by each of the adders may be complex vectors comprising a real element and an imaginary element. A value output from a first reference output line connected to memory cells configured to store real elements among the reference output lines may be transmitted to a second reference adder configured to accumulate imaginary elements, wherein a sign of the value may be maintained through a first reference selector, and another value output from a second reference output line connected to memory cells configured to store imaginary elements among the reference output lines may be transmitted to a first reference adder configured to accumulate real elements, wherein a sign of the other value may be inverted through a second reference selector. The multidimensional input vectors, the multidimensional weight vectors, and multidimensional output vectors determined based on a value accumulated by each of the adders may be either one or both of quaternion vectors comprising imaginary elements and quaternion vectors comprising a real element and imaginary elements. The device may include second selectors configured to determine a sign of a value output from each of the output lines based on a type of a multidimensional weight vector applied to an operation to be performed in each cycle, a type of a weight element stored in the memory cells, and a type of an input element input to the input lines and transmit the value with the determined sign to a corresp