IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0029502
(2001-12-21)
|
발명자
/ 주소 |
- Luo, Fa-Long
- Uvacek, Bohumir
|
출원인 / 주소 |
- Quicksilver Technology, Inc.
|
대리인 / 주소 |
Townsend and Townsend and Crew LLP
|
인용정보 |
피인용 횟수 :
23 인용 특허 :
4 |
초록
▼
A computing machine capable of performing multiple operations using a universal computing unit is provided. The universal computing unit maps an input signal to an output signal. The mapping is initiated using an instruction that includes the input signal, a weight matrix, and an activation function
A computing machine capable of performing multiple operations using a universal computing unit is provided. The universal computing unit maps an input signal to an output signal. The mapping is initiated using an instruction that includes the input signal, a weight matrix, and an activation function. Using the instruction, the universal computing unit may perform multiple operations using the same hardware configuration. The computation that is performed by the universal computing unit is determined by the weight matrix and activation function used. Accordingly, the universal computing unit does not require any programming to perform a type of computing operation because the type of operation is determined by the parameters of the instruction, specifically, the weight matrix and the activation function.
대표청구항
▼
1. A computing unit in a computing machine, wherein the computing machine performs a plurality of computing operations using the computing unit, the computing unit comprising:a hardware structure that implements networked nodes that receive an input signal and map the input signal to an output signa
1. A computing unit in a computing machine, wherein the computing machine performs a plurality of computing operations using the computing unit, the computing unit comprising:a hardware structure that implements networked nodes that receive an input signal and map the input signal to an output signal, wherein nodes in the networked nodes are related by a network of connections between the nodes; a weight matrix input that receives a weight matrix, wherein the weight matrix comprises weights corresponding to the connections; and an activation function input that receives an activation function, wherein the activation function specifies a function for the nodes in the network of nodes, wherein the weight matrix and activation function correspond to a computing operation, wherein the hardware structure maps the input signal though the network of connections in the networked nodes using the corresponding weights of the weight matrix for the connections and the function of the activation function to generate the output signal, the output signal being a result of the computing operation that is determined by the weight matrix and activation function. 2. The computing unit of claim 1, wherein the networked nodes are arranged in a plurality of layers.3. The computing unit of claim 1, wherein the networked nodes form a multi-layer perceptron network.4. The computing unit of claim 1, wherein the weight matrix comprises a plurality of sub-matrices.5. The computing unit of claim 1, wherein the function of the activation function comprises a linear function.6. The computing unit of claim 5, wherein the linear function comprises a unity gain function.7. The computing unit of claim 1, wherein the function of the activation function comprises a nonlinear function.8. The computing unit of claim 7, wherein the nonlinear function comprises a sigmoid function.9. The computing unit of claim 7, wherein the nonlinear function comprises a limiter function.10. The computing unit of claim 1, wherein the computing machine comprises an integrated circuit.11. The computing unit of claim 1, wherein the hardware structure comprises one or more units capable of performing multiplication and accumulation operations and one or more activation function units.12. A computing unit in a computing machine, wherein the computing machine performs a plurality of computing operations using the computing unit, the computing unit comprising:an input layer of nodes for receiving an input signal; a middle layer of nodes coupled to the input layer of nodes, wherein the middle layer of nodes are related to the input layer of nodes through a first network of connections, the middle layer configured to process the input signal using middle layer weights corresponding to the first network of connections and an activation function to generate a middle layer signal; and an output layer of nodes coupled to the middle layer of nodes, wherein the output layer of nodes are related to the middle layer of nodes through a second network of connections, the output layer configured to process the middle layer signal using output layer weights corresponding to the second network of connections and the activation function to generate an output signal, the output signal being a result of a computing operation corresponding to the middle and output layer weights and the activation function. 13. The computing unit of claim 12, wherein the input, middle, and output layers are constructed into a multi-layer perceptron network.14. The computing unit of claim 12, wherein the input layer of nodes is a multiplexer.15. The computing unit of claim 12, wherein a node in the middle layer of nodes comprises one or more units capable of performing multiply and accumulate operations and one or more activation function units.16. The computing unit of claim 15, wherein one or more units capable of performing multiply and accumulate operations comprise multiply-accumulate units.17. The computing unit of claim 12, wherein a node in the output layer of nodes comprises one or more units capable of performing multiplication and accumulation operations and one or more activation function units.18. The computing unit of claim 17, wherein one or more units capable of performing multiplication and accumulation operations comprise multiply-accumulate units.19. The computing unit of claim 12, wherein the activation function comprises a linear function.20. The computing unit of claim 19, wherein the linear function comprises a unity gain function.21. The computing unit of claim 12, wherein the activation function comprises a nonlinear function.22. The computing unit of claim 21, wherein the nonlinear function comprises a sigmoid function.23. The computing unit of claim 21, wherein the nonlinear function comprises a limiter function.24. The computing unit of claim 12, further comprising a weight matrix, wherein the weight matrix comprises the middle layer and output layer weights.25. The computing unit of claim 12, wherein a node in the middle layer is configured to process the input signal using middle layer weights by computing a dot product of the middle layer weights and input signal for the connection to the node.26. The computing unit of claim 25, wherein the node in the middle layer is configured to process the dot product by applying the activation function to the dot product.27. The computing unit of claim 12, wherein a node in the output layer is configured to process the middle layer signal using the output layer weights by computing a dot product of the output layer weights and middle layer signal for the connections to the node.28. The computing unit of claim 27, wherein the node in the output layer is configured to process the dot product by applying the activation function to the dot product.29. The computing unit of claim 12, wherein the weights determine the connection of nodes.30. The computing unit of claim 12, wherein the computing machine comprises an integrated circuit.31. A method for performing a plurality of computing operations with a computing unit using a weight matrix and an activation function, the computing unit comprising a hardware structure that implements networked nodes, wherein nodes in the networked nodes are related by a network of connections between the nodes, wherein the weight matrix comprises weights corresponding to the connections and the activation function specifies a function for the nodes in the networked nodes, the method comprising:receiving an instruction that is applied to an input signal at the computing unit, wherein the instruction includes the weight matrix and the activation function, the weight matrix and activation function corresponding to a computing operation; and mapping the input signal through the network of connections in the networked nodes using the corresponding weights of the weight matrix for the connections and function of the activation function for the nodes to generate an output signal, wherein the output signal is a result of the computing operation determined by the weight matrix and activation function. 32. The method of claim 31, wherein the networked nodes form a multi-layer perceptron network.33. The method of claim 32, wherein the multi-layer perceptron network is a three layer perceptron network.34. The method of claim 32, wherein mapping the input signal through the network of connections in the networked nodes using the corresponding weights of the weight matrix for the connections comprises computing a dot product for a node, wherein the dot product is a computation of values of nodes connected to the node and the corresponding weights for the connections to the node.35. A method for performing a plurality of computing operations with a computing unit using a weight matrix and an activation function, the computing unit comprising a hardware structure that implements networked nodes, wherein nodes in the networked nodes are related by a network of connections between the nodes, wherein the weight matrix comprises weights corresponding to the connections and the activation function specifies a function for the nodes in the networked nodes, the method comprising:receiving an input signal at an input layer in the networked nodes; sending the input signal to one or more nodes in a middle layer that are related by connections with the input layer; receiving middle layer weights for the connections between the input layer and middle layer from the weight matrix; processing the input signal using the middle layer weights and the function of the activation function to generate a middle layer signal; sending the middle layer signal to one or more nodes in an output layer that are related by connections with the middle layer; receiving output layer weights for the connections between the middle layer and output layer from the weight matrix; and generating an output signal by processing the middle layer signal using the weights and the function of the activation function. 36. The method of claim 35, wherein processing the input signal using the middle layer weights comprises computing a dot product for a node, wherein the dot product is between values of nodes connected to the node and middle layer weights for the connections to the node.37. The method of claim 36, wherein processing the input signal using the function of the activation function comprises computing the function of the dot product.38. The method of claim 35, wherein processing the middle layer signal using the middle layer weights comprises computing a dot product for a node, wherein the dot product is between the middle layer signal and output layer weights for the connections to the node.39. The method of claim 38, wherein processing the middle layer signal using the function of the activation function comprises computing the function of dot product.40. A universal computing unit in a computing machine, wherein the computing machine maps an input signal to an output signal using the universal computing unit, the universal computing unit comprising:a first layer configured to receive the input signal; a second layer coupled to the first layer, the second layer comprising one or more multiply-accumulate (MAC) units and one or more activation function modules, wherein the one or more MAC units are configured to receive the input signal and second layer weights from a weight matrix and calculate one or more dot products of the received second layer weights and input signal, wherein the one or more activation function modules are configured to calculate a function of the one or more dot products of the received second layer weights and input signal to generate a second layer signal; and a third layer coupled to the second layer, the third layer comprising one or more MAC units and one or more activation function modules, wherein the one or more MAC units are configured to receive the second layer signal and third layer weights from the weight matrix and calculate one or more dot product of the received third layer weights and second layer signal, wherein the one or more activation function modules are configured to calculate a function of the one or more dot products of the received third layer weights and second layer signal to generate the output signal. 41. The universal computing unit of claim 40, further comprising a weight matrix module configured to send the second and third layer weights to the one or more MAC units of the second and third layers.42. The universal computing unit of claim 40, further comprising an activation function module configured to send the function to the one or more activation function modules.43. The universal computing unit of claim 40, wherein the first layer comprises a multiplexer.44. The universal computing unit of claim 40, wherein the second layer comprises a multiplexer configured to receive the second layer signal and send the second layer signal to the one or more MACs of the third layer.45. The universal computing unit of claim 40, wherein the third layer comprises a multiplexer configured to provide the output signal.46. A method for performing a plurality of computing operations with one or more universal computing units, the one or more universal computing units being part of a network that couples the one or more universal computing units to one or more computing units, the method comprising:receiving routing coefficients that specify connectivity information for the one or more universal computing units and one or more computing units in the network, wherein the routing coefficients replace a programming instruction stream by a data coefficient stream; connecting the one or more universal computing units and one or more computing units in the network based on the routing coefficients; receiving an instruction through the connected network comprising a weight matrix and a selection of an activation function, wherein the weight matrix and selection of the activation function comprise a set of operation-coefficients that define a desired computing operation in the plurality of computing operations; receiving an input data stream through the connected network; and mapping an output data stream for the input data stream using the connected one or more universal computing units and one or more computing units and the set of operation-coefficients, the output data stream being a result of the defined desired computing operation.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.