Neural network creation device and neural network creation method

By designing neural network creation devices, using parameterized information and constraints to automatically create neural networks suitable for edge devices, solving the problem that existing EfficientNets are difficult to adapt to edge devices, and achieving efficient and executable neural network creation.

JP7651033B2Active Publication Date: 2025-03-25MITSUBISHI ELECTRIC ENG CO LTD +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024041796
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2023-08-07
Filing Date
2024-03-18
Publication Date
2025-03-25
Estimated Expiration
2044-03-18

AI Technical Summary

Technical Problem

Existing EfficientNets are difficult to adapt to the high computing and low resource environments of edge devices, and cannot automatically create neural networks suitable for edge devices.

Method used

A neural network creation device is designed to automatically create a neural network suitable for edge devices through multiple units such as parameterized information acquisition, constraint acquisition, neural network creation, learning processing, selection and implementation.

Benefits of technology

It realizes the automatic creation of neural networks suitable for edge devices, meets computing resources and performance requirements, and improves the executability of neural networks on edge devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007651033000001
    Figure 0007651033000001
  • Figure 0007651033000002
    Figure 0007651033000002
  • Figure 0007651033000003
    Figure 0007651033000003
Patent Text Reader

Abstract

To provide a neural network creation device that can automatically create a neural network for an edge device according to constraint.SOLUTION: A neural network creation device comprises: a parameterized information acquisition unit 101 that acquires parameterized information indicating a plurality of parameterized structures, of structures of layers included in a neural network; a constraint acquisition unit 102 that acquires constraint; and a neural network creation unit 103 that, on the basis of the constraint acquired by the constraint acquisition unit 102, sets parameters to the plurality of parameterized structures indicated by the parameterized information acquired by the parameterized information acquisition unit 101, to create a plurality of neural networks.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a neural network creation device and a neural network creation method for creating a neural network. [Background technology]

[0002] Conventionally, EfficientNet is known as a convolutional neural network (CNN) that can flexibly change the size of a neural network depending on the environment (see, for example, Non-Patent Document 1). [Prior art documents] [Non-patent literature]

[0003] [Non-Patent Document 1] https: / / arxiv.org / pdf / 1905.11946.pdf Summary of the Invention [Problem to be solved by the invention]

[0004] With this EfficientNet, it is possible to easily change the size of the neural network. However, this EfficientNet requires a large amount of computation and is not a neural network for edge devices with limited resources.

[0005] The present disclosure has been made to solve the above-mentioned problems, and aims to provide a neural network creation device that can automatically create a neural network for edge devices in accordance with constraints. [Means for solving the problem]

[0006] A neural network creation device according to the present disclosure includes a parameterization information acquisition unit that acquires parameterization information indicating multiple parameterized structures among layer structures of a neural network, a constraint condition acquisition unit that acquires constraint conditions, and a neural network creation unit that creates multiple neural networks by setting parameters for the multiple parameterized structures indicated by the parameterization information acquired by the parameterization information acquisition unit based on the constraint conditions acquired by the constraint condition acquisition unit. a learning unit that performs a learning process for each of the plurality of neural networks created by the neural network creation unit using learning data; a neural network selection unit that selects one neural network from among the neural networks that have been learned by the learning unit and whose learning has been determined to be appropriate, based on a judgment criterion other than the constraint conditions or a selection by a user; and a neural network implementation unit that implements the neural network selected by the neural network selection unit in an edge device. The present invention is characterized by comprising: Effect of the Invention

[0007] According to the present disclosure, with the above-described configuration, it becomes possible to automatically create a neural network for an edge device in accordance with constraint conditions. [Brief description of the drawings]

[0008] [Figure 1] FIG. 1 is a diagram illustrating an example of a configuration of a neural network creation device according to a first embodiment. [Diagram 2] 4 is a flowchart showing an example of the operation of the neural network creation device according to the first embodiment. [Diagram 3] 10 is a flowchart showing another operation example of the neural network creation device according to the first embodiment. [Figure 4] FIG. 2 is a diagram showing an example of parameterization of a layer structure of a neural network used in the neural network creation device in the first embodiment. [Diagram 5] FIG. 4 is a diagram showing another example of parameterization of a layer structure of a neural network used in the neural network creation device in accordance with the first embodiment. [Figure 6] FIG. 4 is a diagram showing another example of parameterization of a layer structure of a neural network used in the neural network creation device in accordance with the first embodiment. [Figure 7]FIG. 11 is a diagram illustrating an example of a configuration of a neural network creation device according to a second embodiment. [Figure 8] FIG. 11 is a diagram illustrating an example of the configuration of a learning unit in the second embodiment. [Figure 9] FIG. 11 is a diagram illustrating an example of the operation of a learning unit in the second embodiment. [Figure 10] 10A and 10B are diagrams illustrating examples of hardware configurations of the neural network creation devices according to the first and second embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0009] Hereinafter, the embodiments will be described in detail with reference to the drawings. Embodiment 1 FIG. 1 is a diagram showing an example of a configuration of a neural network creation device 1 according to the first embodiment. This neural network creation device 1 is a device that automatically creates a neural network. As shown in Fig. 1, this neural network creation device 1 includes a parameterization information acquisition unit 101, a constraint condition acquisition unit 102, a neural network creation unit 103, a learning unit 104, a learning determination unit 105, a neural network selection unit 106, and a neural network implementation unit 107.

[0010] The parameterization information acquisition unit 101 acquires parameterization information. The parameterization information is information indicating a plurality of parameterized structures among the layer structures of a neural network. The parameterized structure may be, for example, the number of channels, the number of modules, the number of kernels, the number of strides, the number of layers, or the expansion rate in the expansion layer. The parameterized structure may differ depending on the type of neural network.

[0011] At this time, the parameterized information acquisition unit 101 acquires the information itself indicating the parameterized structures from an external source.

[0012] The constraint condition acquisition unit 102 acquires constraint conditions. The constraint conditions are conditions for setting parameters for a plurality of parameterized structures indicated by the parameterization information acquired by the parameterization information acquisition unit 101. The constraint conditions include, for example, information indicating a structure that can be set based on the neural network algorithm or on empirical rules among the parameterized structures, as well as information on edge devices or information on learning results. Information on edge devices includes, for example, circuit scale or power consumption. Information on learning results includes, for example, the required size of the neural network, accuracy rate, or fps (frames per second). Note that fps is an evaluation index that indicates how many images can be processed per second.

[0013] The neural network creation unit 103 creates multiple neural networks by setting parameters for multiple parameterized structures indicated by the parameterization information acquired by the parameterization information acquisition unit 101 based on the constraint conditions acquired by the constraint condition acquisition unit 102. At this time, the neural network creation unit 103 creates a plurality of neural networks by setting parameters for the plurality of parameterized structures based on the above constraint conditions and on the neural network algorithm or on empirical rules.

[0014] Among the multiple parameterized structures, the structure for which parameters can be set based on the neural network algorithm or on empirical rules may be one type or multiple types, and whether there is one type or multiple types is determined by constraint conditions.

[0015] Furthermore, as shown in FIG. 2 described later, if the learning judgment unit 105 or the user judges that the learning of all the neural networks is invalid, the neural network creation unit 103 may re-create multiple neural networks with parameters different from those used last time.

[0016] The learning unit 104 performs a learning process for each of the neural networks created by the neural network creation unit 103 using the learning data.

[0017] Furthermore, as shown in FIG. 2 described later, if the learning judgment unit 105 or the user judges that the learning for all neural networks is invalid and multiple neural networks are re-created by the neural network creation unit 103, the learning unit 104 may perform the learning process again for each neural network using the learning data based on the neural networks. Furthermore, as shown in FIG. 3 described later, if the learning judgment unit 105 or the user judges that the learning is invalid for all neural networks, the learning unit 104 may perform the learning process again for each of the multiple neural networks created by the neural network creation unit 103 using learning data different from the previous time.

[0018] The learning determination unit 105 determines the validity of the learning for each neural network based on the neural network learned by the learning unit 104. At this time, for example, the learning determination unit 105 inputs test data to the trained neural network and determines the validity based on the accuracy rate of the output at that time. The test data is data for determining the accuracy of the trained neural network. Also, for example, the learning determination unit 105 may determine the validity based on information on the learning result. Also, instead of the above determination by learning determination unit 105, the user may manually perform the above determination.

[0019] The neural network selection unit 106 selects one neural network from among the neural networks whose learning has been determined to be appropriate by the learning determination unit 105 or the user. At this time, for example, the neural network selection unit 106 selects one neural network from among the neural networks whose learning has been determined to be appropriate by the learning determination unit 105 or the user, based on conditions such as information about the edge device and information about the learning results.

[0020] In addition, if there are multiple neural networks that satisfy conditions such as information about edge devices and required performance among the neural networks determined by the learning determination unit 105 to have valid learning, the neural network selection unit 106 selects one neural network from the multiple neural networks. At this time, for example, the neural network selection unit 106 may select the neural network with the best conditions from among the plurality of neural networks. Also, for example, the neural network selection unit 106 may select one neural network from among the plurality of neural networks based on a judgment criterion other than the constraint conditions (for example, the priority of the conditions). Also, for example, the neural network selection unit 106 may notify a user of information indicating the plurality of neural networks, and select one neural network based on the selection by the user.

[0021] Thereafter, the user performs logic synthesis based on the neural network selected by the neural network selection unit 106. Logic synthesis is a process of optimizing logic and designing an actual circuit structure based on the selected neural network. Then, the user determines, based on the result of the logic synthesis, whether the neural network selected by the neural network selection unit 106 can be executed on the edge device. If the user determines that the edge device is not executable, the process returns to the process by the neural network selection unit 106, which selects another neural network. The user then repeats the above process. Moreover, if the user determines that the processing can be executed on the edge device, the processing proceeds to the neural network implementation unit 107.

[0022] The neural network implementation unit 107 implements the neural network selected by the neural network selection unit 106 in the edge device.

[0023] In FIG. 1, the learning unit 104, the learning determination unit 105, the neural network selection unit 106, and the neural network implementation unit 107 are provided inside the neural network creation device 1. However, the present invention is not limited to this, and the learning unit 104, the learning determination unit 105, the neural network selection unit 106, and the neural network implementation unit 107 may be provided outside the neural network creation device 1.

[0024] Next, an example of the operation of the neural network creation device 1 according to the first embodiment shown in FIG. 1 will be described with reference to FIG. 2 and FIG. 2 and 3 show a case where the learning determination unit 105 makes the determination. Also, in Fig. 2, a case where the neural network creation unit 103 recreates the neural network when the learning determination unit 105 determines that the learning is inappropriate for all the neural networks is shown. Also, in Fig. 3, a case where the learning unit 104 performs re-learning when the learning determination unit 105 determines that the learning is inappropriate for all the neural networks is shown. The neural network creation device 1 may perform either the operation shown in Fig. 2 or the operation shown in Fig. 3.

[0025] In an example of the operation of the neural network creation device 1 according to the first embodiment shown in FIG. 1, as shown in FIGS. 2 and 3, first, the parameterization information acquisition unit 101 acquires parameterization information, which is information indicating multiple parameterized structures among the layer structures of the neural network (step ST101). The parameterized structure may be, for example, the number of channels, the number of modules, the number of kernels, the number of strides, the number of layers, or the expansion rate in the expansion layer. The parameterized structure may differ depending on the type of neural network.

[0026] At this time, the parameterized information acquisition unit 101 acquires the information itself indicating the parameterized structures from an external source.

[0027] 4 to 6 show an example of parameterization of the layer structure of a neural network. FIG. 4 shows a case where the number of output channels of each layer of a neural network's parameterized structures can be set arbitrarily. FIG. 5 also shows a case where the insertion position of a module to be used (SE module in FIG. 5) among a plurality of parameterized structures that the neural network has can be arbitrarily set. FIG. 6 also shows a case where the number of intermediate layers among a plurality of parameterized structures that the neural network has can be set arbitrarily. In Figures 4 to 6, exp_size indicates the number of channels in the intermediate layer of the bottleneck block, t indicates the expansion rate in the expansion layer, SE indicates the presence or absence of the Squeeze and Excitation module, NL indicates the nonlinear function used (HS: h-swish, RE: RELU), and s indicates the number of strides.

[0028] Moreover, the constraint condition acquisition unit 102 acquires constraint conditions that are conditions for setting parameters for the parameterized structures (step ST102). The constraint conditions include, for example, information indicating a structure that can be set based on the neural network algorithm or on empirical rules among multiple parameterized structures, information about edge devices, or information about learning results. Information about edge devices includes, for example, circuit scale or power consumption. Information about learning results includes, for example, the required size of the neural network, accuracy rate, or fps.

[0029] Next, the neural network creation unit 103 creates multiple neural networks by setting parameters for multiple parameterized structures indicated by the parameterization information acquired by the parameterization information acquisition unit 101 based on the constraint conditions acquired by the constraint condition acquisition unit 102 (steps ST103, ST104). At this time, the neural network creation unit 103 creates a plurality of neural networks by setting parameters for the plurality of parameterized structures based on the above constraint conditions and on the neural network algorithm or on empirical rules.

[0030] Among the multiple parameterized structures, the structure for which parameters can be set based on the neural network algorithm or on empirical rules may be one type or multiple types, and whether there is one type or multiple types is determined by constraint conditions.

[0031] For example, the neural network creation unit 103 may create a neural network by setting the number of output channels of each layer in FIG. 4 based on the neural network algorithm or on empirical rules so as to satisfy the above constraints. Furthermore, for example, the neural network creation unit 103 may create a neural network by setting the insertion positions of modules in FIG. 5 based on the neural network algorithm or on empirical rules so as to satisfy the above constraint conditions. Furthermore, for example, the neural network creation unit 103 may create a neural network by setting the number of intermediate layers in FIG. 6 based on the neural network algorithm or on empirical rules so as to satisfy the above constraints.

[0032] Also, for example, the neural network creation unit 103 may create a neural network by setting multiple types of parameters, such as the number of output channels of each layer for FIG. 4, the insertion position of the module for FIG. 5, and the number of intermediate layers for FIG. 6, based on the neural network algorithm or on empirical rules so as to satisfy the above constraints.

[0033] Next, the learning section 104 performs a learning process for each of the neural networks created by the neural network creating section 103 using the learning data (step ST105).

[0034] Next, the learning determination unit 105 determines the validity of the learning for each neural network based on the neural network after learning by the learning unit 104 (step ST106). At this time, for example, the learning determination unit 105 inputs test data to the trained neural network and determines the validity based on the accuracy rate of the output at that time. The test data is data for determining the accuracy of the trained neural network. Also, for example, the learning determination unit 105 may determine the validity based on information on the learning result.

[0035] For example, the learning determination unit 105 determines that the learning is valid when the accuracy rate is 75% or more and 10 fps (frames per second) or more. Note that fps is an evaluation index that indicates how many images can be processed per second.

[0036] In the case of FIG. 2, if the learning determination section 105 determines in step ST106 that the learning is inappropriate for all the neural networks, the sequence returns to step ST103. That is, in this case, the neural network creation unit 103 creates multiple neural networks again with parameters different from those used previously. After that, the learning unit 104 performs the learning process again for each of the neural networks using the learning data based on the above neural networks.

[0037] In the case of FIG. 3, if the learning determination section 105 determines in step ST106 that the learning is inappropriate for all the neural networks, the sequence returns to step ST104. That is, in this case, based on the multiple neural networks created by the neural network creation unit 103, the learning unit 104 performs the learning process again for each neural network by using learning data different from the previous time.

[0038] On the other hand, if the learning determination unit 105 determines in step ST106 that the learning is valid, the neural network selection unit 106 selects one neural network from among the neural networks whose learning has been determined to be valid (step ST107). At this time, for example, the neural network selection unit 106 selects one neural network from among the neural networks whose learning has been determined to be appropriate by the learning determination unit 105 or the user, based on conditions such as information about the edge device and information about the learning results.

[0039] In addition, if there are multiple neural networks that satisfy conditions such as information about edge devices and required performance among the neural networks determined by the learning determination unit 105 to have valid learning, the neural network selection unit 106 selects one neural network from the multiple neural networks. At this time, for example, the neural network selection unit 106 may select the neural network with the best conditions from among the plurality of neural networks. Also, for example, the neural network selection unit 106 may select one neural network from among the plurality of neural networks based on a judgment criterion other than the constraint conditions (for example, the priority of the conditions). Also, for example, the neural network selection unit 106 may notify a user of information indicating the plurality of neural networks, and select one neural network based on the selection by the user.

[0040] For example, if there is a "neural network with high accuracy but large size" and a "neural network with low accuracy but small size" among the multiple neural networks, which one to select is a trade-off. In such a case, a judgment criterion (for example, a priority of a condition) is required in addition to the constraint condition. Therefore, in such a case, for example, the neural network selection unit 106 selects one neural network from the multiple neural networks according to the judgment criterion or a selection by the user.

[0041] Thereafter, the user performs logic synthesis based on the neural network selected by the neural network selection unit 106. Logic synthesis is a process of optimizing logic and designing an actual circuit structure based on the selected neural network. Then, the user determines whether the neural network selected by the neural network selection unit 106 can be executed on the edge device based on the result of the logical synthesis. For example, the user determines whether the selected neural network can be executed on the edge device by determining whether the result of the logical synthesis is a circuit size of 100k logic cells or less and a power consumption of 1W or less. If the user determines that the edge device is not executable, the process returns to the process by the neural network selection unit 106, which selects another neural network. The user then repeats the above process. Moreover, if the user determines that the processing can be executed on the edge device, the processing proceeds to the neural network implementation unit 107.

[0042] Next, the neural network implementation unit 107 implements the neural network selected by the neural network selection unit 106 in the edge device (step ST108).

[0043] In this way, the neural network creation device 1 according to the first embodiment acquires parameterization information, which is information indicating multiple parameterized structures among the layer structures of the neural network, and acquires constraint conditions, and creates multiple neural networks by setting parameters based on this information. This makes it possible for the neural network creation device 1 according to the first embodiment to automatically create a neural network according to the constraint conditions, and to realize a lightweight and scalable neural network. As a result, the neural network creation device 1 according to the first embodiment makes it possible to implement a neural network more easily than before, regardless of the scale of the edge device.

[0044] Furthermore, in the conventional neural network creation device 1, if it is determined that the learning is invalid, it is necessary to create a new neural network from scratch. In contrast, in the neural network creation device 1 according to embodiment 1, if it is determined that the learning is invalid, it is possible to create a neural network with parameters different from those used previously, making the processing simpler.

[0045] As described above, according to the first embodiment, the neural network creation device 1 includes a parameterization information acquisition unit 101 that acquires parameterization information indicating multiple parameterized structures among layer structures of a neural network, a constraint condition acquisition unit 102 that acquires constraint conditions, and a neural network creation unit 103 that creates multiple neural networks by setting parameters for the multiple parameterized structures indicated by the parameterization information acquired by the parameterization information acquisition unit 101 based on the constraint conditions acquired by the constraint condition acquisition unit 102. This enables the neural network creation device 1 according to the first embodiment to automatically create a neural network for an edge device in accordance with the constraint conditions.

[0046] Embodiment 2 In the neural network creation device 1 according to the first embodiment, no particular details are given of the learning process by the learning unit 104. Here, if there is no labeled data set for adaptive learning in the usage environment of the edge device in which the learned neural network is implemented, the accuracy will decrease due to changes in the usage environment of the edge device (for example, brightness or darkness of an image).

[0047] On the other hand, Noisy Student is known as a learning method for efficiently improving accuracy (see, for example, Non-Patent Document 2). [Non-Patent Document 2] https: / / arxiv.org / pdf / 1911.04252.pdf

[0048] Therefore, in the neural network creation device 1 according to the second embodiment, a configuration example will be described in which a learning method using Noisy Student adapted to the usage environment of edge devices is applied.

[0049] Fig. 7 is a diagram showing a configuration example of a neural network creation device 1 according to embodiment 2. In the neural network creation device 1 according to embodiment 2 shown in Fig. 7, learning unit 104 is changed to learning unit 104b in comparison with the neural network creation device 1 according to embodiment 1 shown in Fig. 1. Other configuration examples of the neural network creation device 1 according to embodiment 2 shown in Fig. 7 are similar to other configuration examples of the neural network creation device 1 according to embodiment 1, and the same reference numerals are used and only different parts will be described.

[0050] The learning unit 104b performs learning using Noisy Student in accordance with the usage environment of the edge device. The learning unit 104b is similar to the learning unit 104 described in the first embodiment except for the above points. As shown in FIG. 8, the learning unit 104b includes a first learning unit 1041, a pseudo-labeled dataset generating unit 1042, a noise adding unit 1043, and a second learning unit 1044.

[0051] The first learning unit 1041 uses a labeled data set as learning data to train a neural network. The neural network trained by the first learning unit 1041 is also called a Teacher model. It should be noted that the first learning unit 1041 performs the above learning process for each of the multiple neural networks created by the neural network creation unit 103.

[0052] The pseudo-labeled dataset generation unit 1042 acquires an unlabeled dataset and generates a pseudo-labeled dataset with pseudo labels added by inputting the unlabeled dataset into the neural network (Teacher model) after training by the first training unit 1041. The unlabeled data set is data adapted to the usage environment of the edge device, for example, data including images of light and dark.

[0053] In addition, when a Student model is obtained by the second learning unit 1044, the pseudo-labeled dataset generation unit 1042 generates a pseudo-labeled dataset to which pseudo labels have been assigned by inputting an unlabeled dataset to the Student model. That is, when a Student model is obtained by the second learning unit 1044, the pseudo-labeled dataset generation unit 1042 uses the Student model as the next Teacher model.

[0054] The noise adding unit 1043 adds noise to the labeled dataset and the pseudo-labeled dataset generated by the pseudo-labeled dataset generating unit 1042.

[0055] The second learning unit 1044 trains a neural network using the labeled data set and the pseudo-labeled data set to which noise has been added by the noise adding unit 1043. The neural network trained by the second learning unit 1044 is also called a Student model. It should be noted that the second learning unit 1044 performs the above learning process for each of the multiple neural networks created by the neural network creation unit 103.

[0056] The learning determination unit 105 determines the validity of the learning for each neural network based on the neural network learned by the second learning unit 1044.

[0057] Next, an example of the operation of the learning unit 104b in the second embodiment shown in FIG. 8 will be described with reference to FIG. In the operation example of the learning unit 104b in the second embodiment shown in Fig. 8, first, as shown in Fig. 9, the first learning unit 1041 uses a labeled data set as learning data and trains a neural network (step ST201). Based on the multiple neural networks created by the neural network creation unit 103, the first learning unit 1041 performs the above learning process for each of the neural networks.

[0058] Next, the pseudo-labeled dataset generating unit 1042 acquires the unlabeled dataset and generates a pseudo-labeled dataset to which pseudo labels are added by inputting the unlabeled dataset to the neural network (Teacher model) trained by the first learning unit 1041 (step ST202). Note that the unlabeled dataset is data adapted to the usage environment of the edge device, for example, data including images of light and dark.

[0059] Next, the noise adding unit 1043 adds noise to the labeled dataset and the pseudo-labeled dataset generated by the pseudo-labeled dataset generating unit 1042 (step ST203).

[0060] Next, the second learning unit 1044 uses the labeled data set and the pseudo-labeled data set to which noise has been added by the noise adding unit 1043 to train the neural network (step ST204). Note that the second learning unit 1044 performs the above-mentioned learning process for each of the multiple neural networks created by the neural network creating unit 103, based on the multiple neural networks.

[0061] After that, the sequence returns to step ST202. Then, the pseudo-labeled dataset generation unit 1042 generates a pseudo-labeled dataset to which pseudo labels are added by inputting the unlabeled dataset to the neural network (Student model) after learning by the second learning unit 1044. That is, when a Student model is obtained by the second learning unit 1044, the pseudo-labeled dataset generation unit 1042 uses the Student model as the next Teacher model.

[0062] In this way, in the neural network creation device 1 according to the second embodiment, by using data adapted to the usage environment of the edge device in the unlabeled data set of Noisy Student, it is possible to improve accuracy according to the usage environment of the edge device.

[0063] As described above, according to the second embodiment, the learning unit 104b includes a first learning unit 1041 that uses a labeled dataset as learning data to train a neural network, a pseudo-labeled dataset generation unit 1042 that acquires an unlabeled dataset and generates a pseudo-labeled dataset to which a pseudo-label is assigned by inputting the unlabeled dataset to the neural network trained by the first learning unit 1041, a noise addition unit 1043 that applies noise to the labeled dataset and the pseudo-labeled dataset generated by the pseudo-labeled dataset generation unit 1042, respectively, and a second learning unit 1044 that trains a neural network using the labeled dataset and the pseudo-labeled dataset to which noise is assigned by the noise addition unit 1043. When a neural network has been trained by the second learning unit 1044, the pseudo-labeled dataset generation unit 1042 generates a pseudo-labeled dataset to which a pseudo label is assigned by inputting the unlabeled dataset to the neural network trained by the second learning unit 1044. As a result, the neural network creation device 1 according to the second embodiment can improve accuracy depending on the usage environment of the edge device, in addition to the effect of the first embodiment.

[0064] Finally, a hardware configuration example of the neural network creation device 1 according to the first and second embodiments will be described with reference to Fig. 10. Note that, although a hardware configuration example of the neural network creation device 1 according to the first embodiment will be described below, the hardware configuration example of the neural network creation device 1 according to the second embodiment is also similar. The functions of parameterization information acquisition unit 101, constraint condition acquisition unit 102, neural network creation unit 103, learning unit 104, learning determination unit 105, neural network selection unit 106, and neural network implementation unit 107 in neural network creation device 1 are realized by a processing circuit 51. The processing circuit 51 may be dedicated hardware as shown in Fig. 10A, or may be a CPU (also called a Central Processing Unit, central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor, or DSP (Digital Signal Processor)) 52 that executes a program stored in memory 53 as shown in Fig. 10B.

[0065] When the processing circuit 51 is a dedicated hardware, the processing circuit 51 corresponds to, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or a combination of these. The functions of each of the parameterization information acquisition unit 101, the constraint condition acquisition unit 102, the neural network creation unit 103, the learning unit 104, the learning determination unit 105, the neural network selection unit 106, and the neural network implementation unit 107 may be realized by the processing circuit 51 individually, or the functions of each unit may be realized by the processing circuit 51 collectively.

[0066] When the processing circuit 51 is a CPU 52, the functions of the parameterization information acquisition unit 101, the constraint condition acquisition unit 102, the neural network creation unit 103, the learning unit 104, the learning judgment unit 105, the neural network selection unit 106, and the neural network implementation unit 107 are realized by software, firmware, or a combination of software and firmware. The software and firmware are written as programs and stored in the memory 53. The processing circuit 51 realizes the functions of each unit by reading and executing the programs stored in the memory 53. That is, the neural network creation device 1 includes a memory 53 for storing a program that, when executed by the processing circuit 51, results in the execution of each step shown in, for example, FIG. 2 and FIG. 3. It can also be said that these programs cause a computer to execute the procedures and methods of the parameterization information acquisition unit 101, the constraint condition acquisition unit 102, the neural network creation unit 103, the learning unit 104, the learning judgment unit 105, the neural network selection unit 106, and the neural network implementation unit 107. Here, examples of memory 53 include non-volatile or volatile semiconductor memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable ROM), EEPROM (Electrically EPROM), magnetic disk, flexible disk, optical disk, compact disk, mini disk, or DVD (Digital Versatile Disc).

[0067] It is also possible to realize some of the functions of the parameterization information acquisition unit 101, the constraint condition acquisition unit 102, the neural network creation unit 103, the learning unit 104, the learning determination unit 105, the neural network selection unit 106, and the neural network implementation unit 107 with dedicated hardware and some of the functions with software or firmware. For example, the parameterization information acquisition unit 101 can be realized by the processing circuit 51 as dedicated hardware, and the constraint condition acquisition unit 102, the neural network creation unit 103, the learning unit 104, the learning determination unit 105, the neural network selection unit 106, and the neural network implementation unit 107 can be realized by the processing circuit 51 reading out and executing a program stored in the memory 53.

[0068] Thus, the processing circuitry 51 can realize each of the above-mentioned functions by hardware, software, firmware, or a combination of these.

[0069] It should be noted that the embodiments may be freely combined, or any of the components in each embodiment may be modified, or any of the components in each embodiment may be omitted.

[0070] Various aspects of the present disclosure are summarized below as appendices.

[0071] (Appendix 1) a parameterization information acquisition unit that acquires parameterization information indicating a plurality of parameterized structures among layer structures of the neural network; A constraint condition acquisition unit for acquiring a constraint condition; a neural network creation unit that creates a plurality of neural networks by setting parameters for a plurality of parameterized structures indicated by the parameterization information acquired by the parameterization information acquisition unit based on the constraint conditions acquired by the constraint condition acquisition unit; A neural network creation device comprising: (Appendix 2) a learning unit that performs a learning process for each of the neural networks created by the neural network creation unit using learning data; a neural network selection unit that selects one neural network from among the neural networks that have been learned by the learning unit and that have been determined to have been learned appropriately; a neural network implementation unit that implements the neural network selected by the neural network selection unit in an edge device. 2. The neural network creation device according to claim 1, (Appendix 3) The learning unit is a first learning unit that uses a labeled data set as training data to train a neural network; a pseudo-labeled dataset generation unit that acquires an unlabeled dataset and inputs the unlabeled dataset to the neural network trained by the first learning unit to generate a pseudo-labeled dataset to which pseudo labels are assigned; a noise adding unit that adds noise to the labeled dataset and the pseudo-labeled dataset generated by the pseudo-labeled dataset generating unit; a second learning unit that uses the labeled data set and the pseudo-labeled data set to which noise has been added by the noise adding unit to learn a neural network; When the neural network is trained by the second learning unit, the pseudo-labeled dataset generation unit generates a pseudo-labeled dataset to which pseudo labels are assigned by inputting the unlabeled dataset to the neural network trained by the second learning unit. 3. The neural network creation device according to claim 2, (Appendix 4) The neural network creation unit creates a plurality of neural networks again with parameters different from those used previously when it is determined that the learning of all the neural networks after learning is inappropriate. 4. The neural network creation device according to claim 1, further comprising: (Appendix 5) The parameterized structure is the number of channels, modules, kernels, strides, layers, or expansion ratios at the expansion layer. 5. The neural network creation device according to claim 1, (Appendix 6) The parameterized structure is based on the type of neural network. 6. The neural network creation device according to claim 1, (Appendix 7) A parameterization information acquisition unit acquires parameterization information indicating a plurality of parameterized structures among layer structures of the neural network; A constraint condition acquisition unit acquires a constraint condition; a neural network creation unit creating a plurality of neural networks by setting parameters for a plurality of parameterized structures indicated by the parameterization information acquired by the parameterization information acquisition unit based on the constraint conditions acquired by the constraint condition acquisition unit; A method for creating a neural network comprising the steps of: [Explanation of symbols]

[0072] 1 Neural network creation device, 51 Processing circuit, 52 CPU, 53 Memory, 101 Parameterization information acquisition unit, 102 Constraint condition acquisition unit, 103 Neural network creation unit, 104, 104b Learning unit, 105 Learning judgment unit, 106 Neural network selection unit, 107 Neural network implementation unit, 1041 First learning unit, 1042 Pseudo-labeled dataset generation unit, 1043 Noise addition unit, 1044 Second learning unit.

Claims

1. a parameterization information acquisition unit that acquires parameterization information indicating a plurality of parameterized structures among layer structures of the neural network; A constraint condition acquisition unit for acquiring a constraint condition; a neural network creation unit that creates a plurality of neural networks by setting parameters for a plurality of parameterized structures indicated by the parameterization information acquired by the parameterization information acquisition unit based on the constraint conditions acquired by the constraint condition acquisition unit; a learning unit that performs a learning process for each of the neural networks created by the neural network creation unit using learning data; a neural network selection unit that selects one neural network from among the neural networks that have been learned by the learning unit and that have been determined to have been learned appropriately, based on a judgment criterion other than the constraint conditions or a selection by a user; a neural network implementation unit that implements the neural network selected by the neural network selection unit in an edge device; A neural network creation device comprising:

2. The learning unit is a first learning unit that uses a labeled data set as learning data to train a neural network; a pseudo-labeled dataset generation unit that acquires an unlabeled dataset and inputs the unlabeled dataset to the neural network trained by the first learning unit to generate a pseudo-labeled dataset to which pseudo labels are assigned; a noise adding unit that adds noise to the labeled dataset and the pseudo-labeled dataset generated by the pseudo-labeled dataset generating unit; a second learning unit that uses the labeled data set and the pseudo-labeled data set to which noise has been added by the noise adding unit to learn a neural network; When the neural network is trained by the second training unit, the pseudo-labeled dataset generation unit generates a pseudo-labeled dataset to which pseudo labels are assigned by inputting the unlabeled dataset to the neural network trained by the second training unit.

2. The neural network creating device according to claim 1, wherein:

3. The neural network creation unit creates a plurality of neural networks again with parameters different from those used previously when it is determined that the learning of all the neural networks after learning is inappropriate.

3. The neural network creating device according to claim 1 or 2.

4. The parameterized structure is the number of channels, modules, kernels, strides, layers, or expansion ratios in the expansion layer.

2. The neural network creating device according to claim 1, wherein:

5. The parameterized structure is based on the type of neural network.

2. The neural network creating device according to claim 1, wherein:

6. A parameterization information acquisition unit acquires parameterization information indicating a plurality of parameterized structures among layer structures of the neural network; A constraint condition acquisition unit acquires a constraint condition; A neural network creation unit creates a plurality of neural networks by setting parameters for a plurality of parameterized structures indicated by the parameterization information acquired by the parameterization information acquisition unit based on the constraint conditions acquired by the constraint condition acquisition unit; A learning unit performs a learning process using learning data for each of the neural networks created by the neural network creation unit, based on the plurality of neural networks; a neural network selection unit selecting one neural network from among the neural networks that have been learned by the learning unit and that have been determined to have been learned appropriately, based on a judgment criterion other than the constraint conditions or a selection by a user; A step in which a neural network implementation unit implements the neural network selected by the neural network selection unit in an edge device. A method for creating a neural network comprising the steps of:

Citation Information

Patent Citations

  • Learning device, method and program

    JP2022049271A

  • Model generation apparatus, model generation method, and control program

    JP2022126465A

  • Image processing method and device, electronic device, and storage medium

    JP2022532322A

  • Neural network construction device, information processing device, neural network construction method, and program

    WO2019216404A1