A first intermediate layer activity level calculator refers to an index stored in a first intermediate layer storage, acquires, from among activity levels of respective nodes in an input layer calculated by an input layer activity level calculator and weight for respective edges and bias values stored in the first intermediate layer storage, an activity level of each node in the input layer that is connected with each node in the first intermediate layer and weight for each of edges and a bias value thereof, and calculates an activity level of each node in the first intermediate layer using the activity level of each node in the first input layer and the weight for each of the edges and the bias value having been acquired. This is capable of reducing the calculation amount and the memory amount upon performing inference, and also obtaining higher inference accuracy.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. An inference device, comprising: an input layer activity level calculator to calculate, when data is given to each node of an input layer constituting a neural network, an activity level of each node of the input layer from the given data; an intermediate layer storage to store weight applied to an edge that connects a node of an intermediate layer constituting the neural network and a node of the input layer; an intermediate layer activity level calculator to acquire, from among the activity levels of the respective nodes of the input layer calculated by the input layer activity level calculator and the weight for the respective edges stored in the intermediate layer storage, an activity level of a node in the input layer that has connection with a node in the intermediate layer, and also acquire weight for a corresponding edge, and calculate an activity level of the node in the intermediate layer by using the acquired activity level of the node in the input layer and the acquired weight for the corresponding edge; and an output layer activity level calculator to calculate an activity level of each node in an output layer constituting the neural network by using the activity level of each node in the intermediate layer calculated by the intermediate layer activity level calculator. 2. The inference device according to claim 1, wherein the neural network is constituted to include a plurality of intermediate layers, wherein, for each of the intermediate layers, the intermediate layer storage stores weight for an edge that connects a node in the present intermediate layer and a node in the input layer when said connection of the nodes is found, and also stores weight for an edge that connects a node in the present intermediate layer and a node in another intermediate layer when said connection of the nodes is found, when a node in the present intermediate layer is connected with a node in the input layer, the intermediate layer activity level calculator acquires, from among the activity levels of the respective nodes in the input layer calculated by the input layer activity level calculator and the weight for the respective edges stored in the intermediate layer storage, an activity level of the node in the input layer connected with the node in the present intermediate layer and weight for a corresponding edge, when a node in the present intermediate layer is connected with a node in another intermediate layer, the intermediate layer activity level calculator acquires, from among the activity levels of the respective nodes in said another intermediate layer and the weight for the respective edges stored in the intermediate layer storage, an activity level of the node in said another intermediate layer connected with the node in the present intermediate layer and weight for a corresponding edge, and the intermediate layer activity level calculator calculates an activity level of the node in the present intermediate layer by using the acquired activity level of the node in the input layer or said another intermediate layer and the acquired weight for the corresponding edge. 3. The inference device according to claim 1, further comprising an output layer storage to store weight for an edge connecting a node in the output layer and a node in the intermediate layer, wherein the output layer activity level calculator acquires, from among the activity levels of the respective nodes in the intermediate layer calculated by the intermediate layer activity level calculator and the weight for the respective edges stored in the output layer storage, an activity level of a node in the intermediate layer connected with a node in the output layer and weight for a corresponding edge, and calculates an activity level of the node in the output layer by using the acquired activity level of the node in the intermediate layer and the acquired weight for the corresponding edge. 4. The inference device according to claim 1, further comprising an output layer storage to store weight for an edge that connects a node in the output layer and a node in the input layer when said connection of the nodes is found, and also store weight for an edge that connects a node in the output layer and a node in the intermediate layer when said connection of the nodes is found, wherein, when a node in the output layer is connected with a node in the input layer, the output layer activity level calculator acquires, from among the activity levels of the respective nodes in the input layer calculated by the input layer activity level calculator and the weight for the respective edges stored in the output layer storage, an activity level of the node in the input layer that has connection with the node in the output layer and weight for a corresponding edge, when a node in the output layer is connected with a node in the intermediate layer, the output layer activity level calculator acquires, from among the activity levels of the respective nodes in the intermediate layer calculated by the intermediate layer activity level calculator and the weight for the respective edges stored in the output layer storage, an activity level of the node in the intermediate layer that has connection with the node in the output layer and weight for a corresponding edge, and the output layer activity level calculator calculates an activity level of the node in the output layer by using the acquired activity level of the node in the input layer or the intermediate layer and the acquired weight for the corresponding edge. 5. The inference device according to claim 1, wherein the intermediate layer storage stores a bias value given to each node in the intermediate layer in addition to the weight for the edge, and the intermediate layer activity level calculator calculates the activity level of the node in the intermediate layer by using the activity level of the node in the input layer and the weight for the edge and the bias value. 6. The inference device according to claim 5, wherein, for each node in the intermediate layer, the intermediate layer activity level calculator performs product sum operation on between respective activity levels of respective nodes in the input layer connected with the present node in the intermediate layer and weight for respective edges connecting the present node in the intermediate layer and the respective nodes in the input layer, adds a bias value of the present node in the intermediate layer to a result of the product sum operation, and calculates, by using the addition result as an argument of an activation function of the neural network, a resulting value of the activation function as an activity level of the present node in the intermediate layer. 7. The inference device according to claim 3, wherein the output layer storage stores a bias value given to each node in the output layer in addition to the weight for the edge, and the output layer activity level calculator calculates the activity level of the node in the output layer by using the activity level of the node in the intermediate layer and the weight for the edge and the bias value. 8. The inference device according to claim 7, wherein, for each node in the output layer, the output layer activity level calculator performs product sum operation on between respective activity levels of respective nodes in the intermediate layer connected with the present node in the output layer and weight for respective edges connecting the present node in the output layer and the respective nodes in the intermediate layer, adds a bias value of the present node in the output layer to a result of the product sum operation, and calculates, by using the addition result as an argument of an activation function of the neural network, a resulting value of the activation function as an activity level of the present node in the output layer. 9. The inference device according to claim 1, wherein the edges connecting the nodes in the input layer and the intermediate layer or the edges connecting the nodes in the intermediate layer and the output layer include six or more edges that form a loop. 10. The inference device according to claim 2, wherein the edges connecting the nodes in the plurality of intermediate layers include six or more edges that form a loop. 11. The inference device according to claim 1, wherein each node in the intermediate layer is connected with part of all nodes in the input layer, which are randomly selected from among the all nodes, and each node in the output layer is connected with part of all nodes in the intermediate layer, which are randomly selected from among the all nodes. 12. The inference device according to claim 2, wherein each node in the intermediate layer is connected with part of all nodes in the input layer or another intermediate layer, which are randomly selected from among the all nodes. 13. The inference device according to claim 1, wherein each node in the intermediate layer is connected with part of all nodes in the input layer, which are not adjacent to each other, and each node in the output layer is connected with part of all nodes in the intermediate layer, which are not adjacent to each other. 14. The inference device according to claim 2, wherein each node in the plurality of intermediate layers is connected with part of all nodes in the input layer or another intermediate layer, which are not adjacent to each other. 15. The inference device according to claim 1, wherein an average number of connections per node in the intermediate layer with nodes in the input layer is fifty or less, and an average number of connections per node in the output layer with nodes in the intermediate layer is fifty or less. 16. The inference device according to claim 2, wherein an average number of connections per node in the plurality of intermediate layers with nodes in the input layer or another intermediate layer is fifty or less. 17. The inference device according to claim 1, wherein an average number of connections per node in the intermediate layer with nodes in the input layer is one-tenth or less of the number of nodes in the input layer, and an average number of connections per node in the output layer with nodes in the intermediate layer is one-tenth or less of the number of nodes in the intermediate layer. 18. The inference device according to claim 2, wherein an average number of connections per node in the plurality of intermediate layers with nodes in the input layer or another intermediate layer is one-tenth or less of the number of nodes in the input layer or said another intermediate layer. 19. An inference method comprising steps of: storing, in an intermediate layer storage, weight applied to an edge that connects respective nodes of an intermediate layer and an input layer, each of which constitutes a neural network; calculating, by an input layer activity level calculator when data is given to each node in the input layer, an activity level of each node in the input layer from the given data; performing, by an intermediate layer activity level calculator, a process of acquiring, from among the activity levels of the respective nodes in the input layer calculated by the input layer activity level calculator and the weight for the respective edges stored in the intermediate layer storage, an activity level of a node in the input layer that has a connection with a node in the intermediate layer, and also acquiring weight for a corresponding edge, and calculating an activity level of the node in the intermediate layer by using the acquired activity level of the node in the input layer and the acquired weight for the corresponding edge; and calculating, by an output layer activity level calculator, an activity level of each node in an output layer constituting the neural network by using the activity level of each node in the intermediate layer calculated by the intermediate layer activity level calculator.