# US 2021/0241105 A1 · Inference apparatus, inference method, and storage medium

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0241105 A1
- Document ID: US20210241105A1
- Status: Published application
- Kind: A1
- Application number: 17/161,207
- Filed: 2021-01-28
- Published: 2021-08-05
- Earliest claimed: 2020-02-03
- Assignees: Canon Kabushiki Kaisha
- Applicants: Canon Kabushiki Kaisha
- Inventors: Nobuyuki Horie
- Web page: https://patentgrep.com/patent/US20210241105A1

## CPC

- G06N 3/063: using electronic means
- G06N 3/08: Learning methods
- G06N 3/045: Combinations of networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/09: Supervised learning
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

There is provided an inference apparatus that shares inference processing with an external inference apparatus. The inference processing uses a first neural network having an input layer, a plurality of intermediate layers, and an output layer. A control unit performs control for performing computational processing of a first part of the first neural network with respect to input data input to the input layer. The first part of the first neural network is a part from the input layer to a specific intermediate layer that, of the plurality of intermediate layers, has a lower number of nodes than the input layer. A sending unit sends output data from the specific intermediate layer to the external inference apparatus. A receiving unit receives a first inference result from the external inference apparatus.

## Claims

### Claim 1

An inference apparatus that shares inference processing with an external inference apparatus, the inference processing using a first neural network having an input layer, a plurality of intermediate layers, and an output layer, and the inference apparatus comprising:
a control unit configured to perform control for performing computational processing of a first part of the first neural network with respect to input data input to the input layer, the first part of the first neural network being a part from the input layer to a specific intermediate layer that, of the plurality of intermediate layers, has a lower number of nodes than the input layer;
a sending unit configured to send output data from the specific intermediate layer to the external inference apparatus, the external inference apparatus being configured to obtain a first inference result by performing computational processing of a second part of the first neural network with respect to the output data from the specific intermediate layer, and the second part of the first neural network being a remaining part excluding the first part from the first neural network; and
a receiving unit configured to receive the first inference result from the external inference apparatus.

### Claim 2 (depends on 1)

The inference apparatus according to claim 1,
wherein the specific intermediate layer is an intermediate layer, among the plurality of intermediate layers, having a lowest number of nodes.

### Claim 3 (depends on 1)

The inference apparatus according to claim 1,
wherein the plurality of intermediate layers include a first intermediate layer having a lower number of nodes than the input layer, and a second intermediate layer disposed after the first intermediate layer and having a lower number of nodes than the first intermediate layer, and
the control unit performs control for using the first intermediate layer or the second intermediate layer as the specific intermediate layer.

### Claim 4 (depends on 3)

The inference apparatus according to claim 3,
wherein the second intermediate layer is an intermediate layer, among the plurality of intermediate layers, having a lowest number of nodes, and
the first intermediate layer is an intermediate layer, among the plurality of intermediate layers, having a lowest number of nodes except for the second intermediate layer.

### Claim 5 (depends on 3)

The inference apparatus according to claim 3,
wherein the control unit performs control so that the first intermediate layer is used as the specific intermediate layer when a communication speed with the external inference apparatus is greater than or equal to a first threshold, and the second intermediate layer is used as the specific intermediate layer when the communication speed is less than the first threshold.

### Claim 6 (depends on 3)

The inference apparatus according to claim 3,
wherein the control unit performs control so that the first intermediate layer is used as the specific intermediate layer when a remaining battery power of the inference apparatus is less than a second threshold, and the second intermediate layer is used as the specific intermediate layer when the remaining battery power is greater than or equal to the second threshold.

### Claim 7 (depends on 1)

The inference apparatus according to claim 1,
wherein when a predetermined condition is met, the control unit performs control to obtain a second inference result by performing computational processing of a second part of a second neural network with respect to the output data from the specific intermediate layer, the second neural network being constituted by a first part including an input layer and the second part including an output layer,
a number of intermediate layers in the second neural network is lower than a number of intermediate layers in the first neural network,
the first part of the second neural network is the same as the first part of the first neural network, and
the first part of the first neural network and the first part of the second neural network have same trained parameters.

### Claim 8 (depends on 7)

The inference apparatus according to claim 7,
wherein the predetermined condition is met when communication with the external inference apparatus is not possible.

### Claim 9

An inference apparatus that shares inference processing with an external inference apparatus, the inference processing using a first neural network having an input layer, a plurality of intermediate layers, and an output layer, and the inference apparatus comprising:
a receiving unit configured to receive, from the external inference apparatus, output data from a specific intermediate layer having a lower number of nodes than the input layer, the output data being obtained by performing, with respect to input data input to the input layer, computational processing of a first part of the first neural network including the specific intermediate layer, and the first part of the first neural network being a part from the input layer to the specific intermediate layer;
a control unit configured to perform control for obtaining a first inference result by performing computational processing of a second part of the first neural network with respect to the output data from the specific intermediate layer, the second part of the first neural network being a remaining part excluding the first part from the first neural network; and
a sending unit configured to send the first inference result to the external inference apparatus.

### Claim 10 (depends on 9)

The inference apparatus according to claim 9,
wherein the specific intermediate layer is an intermediate layer, among the plurality of intermediate layers, having a lowest number of nodes.

### Claim 11 (depends on 9)

The inference apparatus according to claim 9,
wherein the plurality of intermediate layers include a first intermediate layer having a lower number of nodes than the input layer, and a second intermediate layer disposed after the first intermediate layer and having a lower number of nodes than the first intermediate layer,
the external inference apparatus is configured to use the first intermediate layer or the second intermediate layer as the specific intermediate layer, and
the control unit identifies which of the first intermediate layer and the second intermediate layer is being used as the specific intermediate layer on the basis of a data structure of the output data from the specific intermediate layer received from the external inference apparatus.

### Claim 12 (depends on 11)

The inference apparatus according to claim 11,
wherein the second intermediate layer is an intermediate layer, among the plurality of intermediate layers, having a lowest number of nodes, and
the first intermediate layer is an intermediate layer, among the plurality of intermediate layers, having a lowest number of nodes except for the second intermediate layer.

### Claim 13

An inference method, executed by an inference apparatus, for sharing inference processing with an external inference apparatus, the inference processing using a first neural network having an input layer, a plurality of intermediate layers, and an output layer, and the inference method comprising:
performing control for performing computational processing of a first part of the first neural network with respect to input data input to the input layer, the first part of the first neural network being a part from the input layer to a specific intermediate layer that, of the plurality of intermediate layers, has a lower number of nodes than the input layer;
sending output data from the specific intermediate layer to the external inference apparatus, the external inference apparatus being configured to obtain a first inference result by performing computational processing of a second part of the first neural network with respect to the output data from the specific intermediate layer, and the second part of the first neural network being a remaining part excluding the first part from the first neural network; and
receiving the first inference result from the external inference apparatus.

### Claim 14

An inference method, executed by an inference apparatus, for sharing inference processing with an external inference apparatus, the inference processing using a first neural network having an input layer, a plurality of intermediate layers, and an output layer, and the inference method comprising:
receiving, from the external inference apparatus, output data from a specific intermediate layer having a lower number of nodes than the input layer, the output data being obtained by performing, with respect to input data input to the input layer, computational processing of a first part of the first neural network including the specific intermediate layer, and the first part of the first neural network being a part from the input layer to the specific intermediate layer;
performing control for obtaining a first inference result by performing computational processing of a second part of the first neural network with respect to the output data from the specific intermediate layer, the second part of the first neural network being a remaining part excluding the first part from the first neural network; and
sending the first inference result to the external inference apparatus.

### Claim 15

A non-transitory computer-readable storage medium which stores a program for causing a computer to execute an inference method for sharing inference processing with an external inference apparatus, the inference processing using a first neural network having an input layer, a plurality of intermediate layers, and an output layer, and the inference method comprising:
performing control for performing computational processing of a first part of the first neural network with respect to input data input to the input layer, the first part of the first neural network being a part from the input layer to a specific intermediate layer that, of the plurality of intermediate layers, has a lower number of nodes than the input layer;
sending output data from the specific intermediate layer to the external inference apparatus, the external inference apparatus being configured to obtain a first inference result by performing computational processing of a second part of the first neural network with respect to the output data from the specific intermediate layer, and the second part of the first neural network being a remaining part excluding the first part from the first neural network; and
receiving the first inference result from the external inference apparatus.

### Claim 16

A non-transitory computer-readable storage medium which stores a program for causing a computer to execute an inference method for sharing inference processing with an external inference apparatus, the inference processing using a first neural network having an input layer, a plurality of intermediate layers, and an output layer, and the inference method comprising:
receiving, from the external inference apparatus, output data from a specific intermediate layer having a lower number of nodes than the input layer, the output data being obtained by performing, with respect to input data input to the input layer, computational processing of a first part of the first neural network including the specific intermediate layer, and the first part of the first neural network being a part from the input layer to the specific intermediate layer;
performing control for obtaining a first inference result by performing computational processing of a second part of the first neural network with respect to the output data from the specific intermediate layer, the second part of the first neural network being a remaining part excluding the first part from the first neural network; and
sending the first inference result to the external inference apparatus.
