Learning device, learning method, learning program, and learning system
The learning device generates and selects unlearned models of varying sizes to address the challenge of high processing loads in deep learning, enabling efficient provision of trained models with desired accuracy and performance.
Patent Information
- Application Number
- JP2025037980
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-03-11
- Publication Date
- 2025-05-20
- Estimated Expiration
- 2041-12-14
AI Technical Summary
Conventional deep learning models require high processing loads and user-specific parameter adjustments for achieving desired accuracy and performance, making it difficult to easily provide trained models that meet user requirements.
A learning device that generates multiple unlearned models of varying sizes from a trained model using pruning and morphing techniques, allowing users to select and train models based on desired accuracy and performance without training all models.
Enables efficient generation and selection of trained models that meet user-specific performance and accuracy needs, reducing processing load by allowing users to choose from pre-generated models.
Smart Images

Figure 2025078854000001_ABST
Abstract
Description
[Technical field]
[0001] FIELD An embodiment of the present invention relates to a learning device, a learning method, a learning program, and a learning system. [Background technology]
[0002] By utilizing neural network models, significant performance improvements have been achieved in fields such as image recognition, voice recognition, and text processing. Deep learning techniques are often used for neural network models.
[0003] A network model obtained by deep learning is called a deep neural network (DNN) model, and requires a large amount of calculations because convolution processing is performed at each layer. In addition, methods using deep learning require a large amount of weight coefficient data. For this reason, when a neural network model is run on specific hardware, memory usage and data transfer volume may increase. Therefore, a technology for reducing the size of a DNN model has been disclosed. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent Publication No. 2021-47854 [Patent Document 2] Patent Publication No. 2021-39640 Summary of the Invention [Problem to be solved by the invention]
[0005] However, in the conventional technology, in order to provide a trained model with the accuracy and performance desired by the user, the user had to specify various performance-related parameters such as the amount of calculation, processing time, power consumption, size, and data transfer amount. In addition, in order to derive the accuracy of the model, training had to be performed for each model, which resulted in a high processing load. In other words, in the conventional technology, it was difficult to easily provide a trained model with the accuracy and performance desired by the user.
[0006] The problem that the present invention aims to solve is to provide a learning device, a learning method, a learning program, and a learning system that can easily provide a trained model with the accuracy and performance desired by a user. [Means for solving the problem]
[0007] A learning device according to an embodiment includes an output control unit, a reception unit, a learning unit, and a model generation unit. The model generation unit generates one or more first unlearned models having different sizes using a trained model. The output control unit outputs model information for each of the trained models including the trained model and the first unlearned model. The reception unit receives input from a user. The learning unit trains the first unlearned model corresponding to the model information selected by user input from among the multiple pieces of model information output by the output control unit, or a second unlearned model generated using the trained model based on model information input by the user. [Brief description of the drawings]
[0008] [Figure 1] Schematic diagram of the learning system. [Diagram 2] An explanatory diagram of a learning model. [Diagram 3] Schematic diagram of the data structure of model management. [Figure 4] FIG. 13 is an explanatory diagram of generation of an unlearned model. [Diagram 5] FIG. 13 is an explanatory diagram of generation of an unlearned model. [Figure 6] An illustration of model adjustment. [Figure 7] An explanatory diagram of the trained model. [Figure 8A] FIG. [Figure 8B] FIG. [Figure 8C] FIG. [Figure 8D] FIG. [Figure 8E] FIG. [Figure 8F] FIG. [Figure 8G] FIG. [Figure 9] 1 is a flowchart of the flow of information processing. [Figure 10] Hardware configuration diagram. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] The learning device, learning method, learning program, and learning system of the present embodiment will be described in detail below with reference to the accompanying drawings.
[0010] FIG. 1 is a schematic diagram of an example of a learning system 1 according to the present embodiment.
[0011] The learning system 1 includes a learning device 10, a display unit 14, an input unit 16, and a communication unit 18. The learning device 10, the display unit 14, the input unit 16, and the communication unit 18 are communicatively connected via a bus 19 or the like.
[0012] Display unit 14 and input unit 16 may be configured to be communicatively connected to study device 10 via wire or wirelessly. At least one of display unit 14 and input unit 16 may be connected to study device 10 via a network or the like. Study device 10 may also be configured to include at least one of display unit 14 and input unit 16.
[0013] The display unit 14 displays various information. The display unit 14 is, for example, a display, a projection device, etc. The input unit 16 accepts operational input by the user. The input unit 16 is, for example, a pointing device such as a mouse or a touchpad, a keyboard, etc. The display unit 14 and the input unit 16 may be integrated into a touch panel. The communication unit 18 is a communication interface for communicating with an information processing device external to the learning device 10.
[0014] The learning device 10 is an information processing device that learns a learning model. The learning model is a deep neural network (DNN) model obtained by deep learning.
[0015] The learning device 10 includes a storage unit 12 and a control unit 20. The storage unit 12 and the control unit 20 are communicatively connected via a bus 19 or the like.
[0016] The storage unit 12 stores various types of data. In this embodiment, the storage unit 12 stores a model management DB 12A. The details of the model management DB 12A will be described later.
[0017] The storage unit 12 may be provided outside the learning device 10. In addition, the storage unit 12 and at least one of the one or more functional units included in the control unit 20 may be mounted on an external information processing device communicatively connected to the learning device 10 via a network or the like.
[0018] The control unit 20 executes information processing in the learning device 10. The control unit 20 includes a model generation unit 20A, a performance measurement unit 20D, an accuracy estimation unit 20E, an output control unit 20F, a reception unit 20G, a learning unit 20H, and an accuracy evaluation unit 201. The model generation unit 20A includes a pruning unit 20B and a morphing unit 20C.
[0019] The model generating unit 20A, the pruning unit 20B, the morphing unit 20C, the performance measuring unit 20D, the accuracy estimating unit 20E, the output control unit 20F, the receiving unit 20G, the learning unit 20H, and the accuracy evaluating unit 20I are realized, for example, by one or more processors. For example, each of the above units may be realized by having a processor such as a CPU (Central Processing Unit) execute a program, that is, by software. Each of the above units may be realized by a processor such as a dedicated IC, that is, by hardware. Each of the above units may be realized by using both software and hardware. When multiple processors are used, each processor may realize one of the units, or may realize two or more of the units.
[0020] The model generation unit 20A generates a plurality of learning models 30 of different sizes.
[0021] 2 is an explanatory diagram of an example of the learning model 30. The learning model 30 is a model that outputs an output result such as a classification result from input data by a multi-layered arithmetic connection using a plurality of layers L. The layer L is a convolution layer, a fully connected layer (Linear Layer), an activation layer, a pooling layer, a softmax layer, etc. That is, the learning model 30 of this embodiment is a DNN model composed of a plurality of layers L including a convolution layer.
[0022] The learning models 30 of different sizes mean that the parameter sizes, which are the size of the convolution filter coefficients of the convolution layer and the weight size of the fully connected layer, are different. The size of the convolution filter coefficients, which is the parameter size, i.e., the number of convolution filters, is the same as the number of channels of the intermediate data output from the convolution layer. In addition, the size of the weights of the fully connected layer is the product of the number of channels of the input intermediate data and the number of channels of the output intermediate data. Therefore, the learning models 30 of different sizes, in other words, mean that the number of channels included in the layer L is different.
[0023] The model generation unit 20A generates learning models 30 of different sizes by adjusting parameter sizes, such as the size of the convolution filter coefficients of the convolution layer and the weight size of the fully connected layer. That is, the model generation unit 20A generates multiple learning models 30 of different sizes by adjusting the number of channels of the layer L, etc.
[0024] The learning model 30 includes a learned model 30A and an unlearned model 30B. The learned model 30A is a learning model 30 in which learned parameters are incorporated by learning using a learning data set or the like. The unlearned model 30B is a learning model 30 that has not yet been trained using learning data or the like.
[0025] The model generation unit 20A uses the trained model 30A to generate a plurality of untrained models 30B of different sizes.
[0026] The model generation unit 20A may acquire the trained model 30A from the storage unit 12. The storage unit 12 stores at least one trained model 30A and a model management DB 12A.
[0027] The model management DB 12A is a database for managing information related to the learning model 30. The data format of the model management DB 12A is not limited to a database.
[0028] 3 is a schematic diagram showing an example of the data configuration of the model management DB 12A. The model management DB 12A is a database in which model IDs (identification information) are associated with model management information 12B.
[0029] The model ID is identification information for uniquely identifying the learning model 30.
[0030] The model management information 12B is information about the learning model 30 identified by the corresponding model ID. The model management information 12B includes a model structure, accuracy, performance, and a flag indicating whether the model has been learned or not.
[0031] The model structure is information that represents the structure of the learning model 30. The model structure is represented by, for example, the configuration of layer L, the number of channels included in layer L, the size of the convolution filter coefficients, the number of product-sum operations, and the like.
[0032] The accuracy is information that indicates the accuracy of the learning model 30. The accuracy of the learning model 30 is an index that indicates the degree to which a correct classification result is output for input data.
[0033] The performance is information representing the performance of the learning model 30. The performance includes a plurality of parameters. For example, the performance includes parameters such as the size of the learning model 30, the amount of calculation, the processing time, and the amount of data transfer. Note that the performance may further include other parameters representing the performance of the learning model 30.
[0034] As described above, the size of the learning model 30 is represented by the number (size) of convolution filter coefficients included in the learning model 30. The size of the learning model 30 may be referred to as a parameter size. As described above, the size of the learning model 30 may be represented by the number of channels included in the layer L.
[0035] The amount of calculation of the learning model 30 is represented by the number of product-sum calculations used during convolution processing. The processing time is the amount of calculation during inference of the learning model 30. The amount of data transfer is the amount of data transfer during inference of the learning model 30.
[0036] The flag indicating whether the model has been trained or not is a flag indicating whether the training model 30 identified by the corresponding model ID is a trained model 30A that has been trained, or an untrained model 30B that has not been trained.
[0037] When the model generation unit 20A generates an untrained model 30B, it is assumed that the memory unit 12 pre-stores at least one trained model 30A and model management information 12B corresponding to the model ID of the trained model 30A.
[0038] Returning to FIG. 1, the description will be continued. The model generation unit 20A generates a plurality of unlearned models 30B of different sizes using the trained model 30A. The method of generating the plurality of unlearned models 30B by the model generation unit 20A is not limited. In this embodiment, pruning and morphing are performed to generate a plurality of unlearned models 30B of different sizes from one or a plurality of trained models 30A.
[0039] In particular, in this embodiment, the model generating section 20A has a pruning section 20B and a morphing section 20C.
[0040] The pruning unit 20B determines the ratio of the number of channels among the multiple layers L constituting the trained model 30A. In other words, the pruning unit 20B determines channels to be deleted that are included in the layers L constituting the trained model 30A. For example, the pruning unit 20B determines loosely coupled channels included in the trained model 30A as channels to be deleted. A known method may be used to identify loosely coupled channels.
[0041] The pruning unit 20B deletes the channels determined to be deleted. By deleting loosely coupled channels included in the layer L, the pruning unit 20B determines the ratio of the number of channels between the layers L after deletion.
[0042] The morphing unit 20C expands or reduces the layer L included in the trained model 30A while maintaining the determined ratio of the number of channels among the multiple layers L.
[0043] Through processing by pruning unit 20B and morphing unit 20C, one or more untrained models 30B of different sizes are generated from trained model 30A.
[0044] Fig. 4 is an explanatory diagram of an example of generation of the unlearned model 30B. Fig. 4 shows an example of a case where an unlearned model 30B1 and an unlearned model 30B2 are generated as the unlearned model 30B from the trained model 30A.
[0045] For example, the pruning unit 20B of the model generation unit 20A determines one or more channels in ascending order of importance among the multiple channels constituting the layer L of the trained model 30A as channels to be deleted, i.e., loosely coupled channels. In the trained model 30A, the importance is derived for each channel. The model generation unit 20A determines one or more channels in descending order of importance as channels to be deleted, using the importance of each of the multiple channels included in the layer L constituting the trained model 30A. Then, the pruning unit 20B deletes the channels determined as channels to be deleted.
[0046] Fig. 4 shows, as examples, an unlearned model 30B1 in which two channels, 8 to 7, have been deleted in order of decreasing importance from among the eight channels, 1 to 8, included in layer L of trained model 30A, and an unlearned model 30B2 in which four channels, 8 to 5, have been deleted in order of decreasing importance. Note that the number of channels included in layer L is not limited to eight. Fig. 4 shows just one example.
[0047] The morphing unit 20C generates an unlearned model 30B (unlearned model 30B1, unlearned model 30B2) by expanding or reducing the layer L included in the learned model 30A while maintaining the ratio of the number of channels among the multiple layers L determined by deleting channels.
[0048] FIG. 5 is an explanatory diagram of an example of generation of an unlearned model 30B. For example, assume a situation in which an unlearned model 30B is generated from a trained model 30A in which the number of channels of each of a plurality of layers L1 to L4 is 32. For example, assume a situation in which the pruning unit 20B of the model generation unit 20A prunes the number of channels of layer L1 to 20, the number of channels of layer L2 to 12, the number of channels of layer L3 to 24, and the number of channels of layer L4 to 32. The morphing unit 20C reduces the number of channels of the layers L after pruning to, for example, 1 / 2 while maintaining the ratio of the number of channels between the layers L. In this case, the number of channels of each of layers L1 to L4 is reduced to 10, 6, 12, and 16 by morphing by the morphing unit 20C, and an unlearned model 30B is generated.
[0049] In this manner, in this embodiment, the model generation unit 20A generates a plurality of unlearned models 30B of different sizes by pruning by the pruning unit 20B and morphing by the morphing unit 20C. Therefore, the accuracy estimation unit 20E described later can utilize the pruned model for estimating the accuracy of the unlearned model 30B.
[0050] The model generating unit 20A may adjust the number of channels of each of the layers L constituting the generated unlearned model 30B to a value that satisfies a predetermined setting condition. The setting condition may be stored in advance in the storage unit 12. The setting condition may be appropriately changeable by a user's operation instruction via the input unit 16, etc.
[0051] For example, in order to operate the learning model 30 at high speed in a target edge device, it may be necessary to adjust the number of channels included in the layer L to a multiple of N, where N is an integer of 2 or more.
[0052] The edge device is hardware on which the learning model 30 operates. The edge device is a computer equipped with a processor such as a CPU, a field-programmable gate array (FPGA), or an application specific integrated circuit (ASIC). For example, the edge device is a processor mounted on a mobile terminal, an in-vehicle terminal, or the like. The edge device may also be a processor whose computing performance is equal to or lower than a predetermined performance.
[0053] In this case, for example, the user may operate the input unit 16 to input in advance a setting condition such as "a number of channels that is a multiple of 4" as the number of channels included in the layer L. When the setting condition is "a number of channels that is a multiple of 4", the model generation unit 20A may adjust the number of channels of each of the multiple layers L constituting the generated unlearned model 30B to be a multiple of 4.
[0054] 6 is an explanatory diagram of an example of adjustment when the setting condition is "number of channels that is a multiple of 4." For example, assume that the model generation unit 20A generates the unlearned model 30B shown in FIG. 5 by pruning and morphing. In this case, the model generation unit 20A further adjusts the number of channels of each layer L to a multiple of 4, as shown in FIG. 6. In detail, for example, the model generation unit 20A adjusts the number of channels of each of layers L1 to L4 to 12, 8, 12, and 16, respectively.
[0055] In this way, the model generating unit 20A may adjust the number of channels of the layer L constituting the generated unlearned model 30B to a value that satisfies the set conditions. By adjusting the unlearned model 30B so that the model generating unit 20A satisfies the set conditions, it is possible to prevent the generation of an unlearned model 30B that has difficulty in operating at high speed in an edge device.
[0056] Returning to Fig. 1, the explanation will be continued. The performance measurement unit 20D measures the performance of the unlearned model 30B generated by the model generation unit 20A. The performance measurement unit 20D may measure the performance of the unlearned model 30B by a known method. For example, the performance measurement unit 20D measures the performance of the unlearned model 30B by simulating the operation of the unlearned model 30B on virtual hardware prepared in advance by a known method.
[0057] The accuracy estimation unit 20E estimates the accuracy of the unlearned model 30B generated by the model generation unit 20A.
[0058] The accuracy estimation unit 20E estimates the accuracy of the unlearned model 30B using the trained model 30A.
[0059] For example, the accuracy estimation unit 20E estimates the accuracy of the unlearned model 30B by interpolation and extrapolation using a plurality of trained models 30A. In detail, the accuracy estimation unit 20E estimates the accuracy of the unlearned model 30B using the following formula (1).
[0060]
number
[0061] In formula (1), A', A 1 , and A 2 A represents the accuracy. In detail, A′ represents the accuracy of the unlearned model 30B whose accuracy is to be estimated. A 1 represents the accuracy of a certain trained model 30A1. 1 represents the accuracy of another trained model 30A2 different from the trained model 30A1 having the accuracy represented by. The trained model 30A1 and the trained model 30A2 are examples of the trained model 30A.
[0062] F', F 1 , and F 2 represents the performance. Specifically, F', F 1 , and F 2represents one of the parameters of the amount of calculation, the processing time, and the amount of data transfer. F' represents the performance of the unlearned model 30B whose accuracy is to be estimated. F 1 represents the performance of the trained model 30A1. F2 represents the performance of the trained model 30A 2 Represents the performance of.
[0063] The accuracy estimation unit 20E estimates the accuracy of the unlearned model 30B by using the two trained models 30A and the above formula (1).
[0064] Furthermore, the accuracy estimation unit 20E may estimate the accuracy of the unlearned model 30B by averaging the interpolation and extrapolation for each of a plurality of parameters representing performance, using a plurality of trained models 30A. In particular, the accuracy estimation unit 20E may estimate the accuracy of the unlearned model 30B using the following formula (2).
[0065]
number
[0066] In formula (2), A', A 1 , and A 2 is the same as in the above formula (1). In formula (2), F' and F 1 , and F 2 F represents all of the multiple parameters that represent the performance. Specifically, F′ represents all of the multiple parameters that represent the performance of the unlearned model 30B whose accuracy is to be estimated. F 1 is the trained model 30A 1 This shows all the parameters that represent the performance of F 2 is the trained model 30A 2 The symbol # indicates the number of parameters expressing the performance.
[0067] f represents each of a number of parameters that represent performance. Specifically, f', f 1 , and f 2 f represents the parameters of the amount of calculation, the processing time, and the amount of data transfer. f' represents each of a plurality of parameters that represent the performance of the unlearned model 30B, the accuracy of which is to be estimated. f1 f indicates each of a plurality of parameters that represent the performance of the trained model 30A1. 2 indicates each of multiple parameters that represent the performance of the trained model 30A2.
[0068] The accuracy estimation unit 20E may estimate the accuracy of the unlearned model 30B from one trained model 30A.
[0069] This will be described with reference to Fig. 4. For example, the accuracy estimation unit 20E estimates the accuracy of the unlearned model 30B based on the accuracy of the trained model 30A, the importance of each of a plurality of channels included in a layer L constituting the trained model 30A, and the importance of each of a plurality of channels included in a layer L of the unlearned model 30B, the accuracy of which is to be estimated and which has been generated by deleting channels included in the trained model 30A.
[0070] Specifically, for example, assume a case where the model generation unit 20A generates an unlearned model 30B1 by deleting two channels, channel 8 to channel 7, in order of decreasing importance, from the eight channels, channel 1 to channel 8, included in layer L of the trained model 30A. In this case, the accuracy estimation unit 20E estimates the accuracy of the unlearned model 30B1 by multiplying the accuracy of the trained model 30A by the ratio of the sum of the weighting values according to the importance of each of channels 1 to 6 to the sum of the weighting values according to the importance of each of channels 1 to 8 in the trained model 30A.
[0071] Also, for example, assume a case where the model generation unit 20A generates an unlearned model 30B1 by deleting four channels 8 to 7 in order of decreasing importance from the eight channels 1 to 8 included in layer L of the trained model 30A. In this case, the accuracy estimation unit 20E estimates the accuracy of the unlearned model 30B2 by multiplying the accuracy of the trained model 30A by the ratio of the sum of the weighting values according to the importance of each of channels 1 to 4 to the sum of the weighting values according to the importance of each of channels 1 to 8 in the trained model 30A.
[0072] In this way, the accuracy estimation unit 20E estimates the accuracy of the unlearned model 30B from one or more trained models 30A. Therefore, the accuracy estimation unit 20E can estimate the accuracy of the unlearned model 30B without training the unlearned model 30B.
[0073] Continuing the explanation by returning to Fig. 1, the accuracy estimation unit 20E may select any trained model 30A as the trained model 30A to be used for estimating the accuracy of the untrained model 30B.
[0074] It is preferable that the accuracy estimation unit 20E estimates the accuracy of the unlearned model 30B by using one or more trained models 30A whose size difference with the unlearned model 30B of the accuracy estimation target is within a threshold, among the multiple trained models 30A stored in the storage unit 12. The threshold may be determined in advance. In addition, the threshold may be appropriately changeable by a user's operation instruction via the input unit 16, etc.
[0075] Furthermore, the accuracy estimation unit 20E may select, from among the multiple trained models 30A stored in the storage unit 12, the trained model 30A having a size closest to the unlearned model 30B of the accuracy estimation target, as the trained model 30A to be used for the accuracy estimation. When estimating the accuracy of the unlearned model 30B using multiple trained models 30A, the accuracy estimation unit 20E may select, from among the multiple trained models 30A stored in the storage unit 12, multiple trained models 30A in order of size closest to the multiple trained models 30A, as the trained models 30A to be used for the accuracy estimation.
[0076] It is preferable that the accuracy estimation unit 20E excludes trained models 30A whose change in performance before size change is equal to or less than a threshold from among multiple trained models 30A generated by size change by the control unit 20 and learning described later from trained models 30A used for accuracy estimation of the untrained model 30B. This threshold may be determined in advance. In addition, this threshold may be changeable by a user's operation instruction via the input unit 16, etc.
[0077] Fig. 7 is an explanatory diagram of an example of multiple trained models 30A generated by size change and learning (described later) by the control unit 20. Fig. 7 shows, as an example, trained model 30A1 before size change, and trained model 30A2 and trained model 30A3 generated by size change and learning of trained model 30A1.
[0078] For example, assume that a trained model 30A2 and a trained model 30A3 are generated from a trained model 30A1 by size change by the control unit 20 and learning described later. Then, assume that the accuracy estimation unit 20E estimates the accuracy of an untrained model 30B newly generated by the model generation unit 20A. In this case, the accuracy estimation unit 20E excludes the trained model 30A2, in which the amount of change in processing time, which is one of the parameters included in the performance, is equal to or less than a threshold, from the trained model 30A used for estimating the accuracy of the untrained model 30B. In the example shown in FIG. 7, the accuracy estimation unit 20E can exclude the trained model 30A2, in which the amount of calculation and the number of parameters are reduced but the reduction in processing time is small, from the accuracy estimation of the untrained model 30B.
[0079] Then, the accuracy estimation unit 20E may estimate the accuracy of the unlearned model 30B using the trained model 30A1 and the trained model 30A3, using the above formula (1) or (2), etc.
[0080] The accuracy estimation unit 20E excludes trained models 30A whose change in performance before size resize is below a threshold from the trained models 30A used to estimate the accuracy of the untrained model 30B, thereby making it possible to estimate the accuracy of the untrained model 30B with high accuracy.
[0081] Returning to Fig. 1, the explanation will be continued. The accuracy estimation unit 20E stores the unlearned model 30B generated by the model generation unit 20A in the storage unit 12. In addition, the accuracy estimation unit 20E registers the model management information 12B of the unlearned model 30B generated by the model generation unit 20A in the model management DB 12A.
[0082] This will be explained using Fig. 3. In detail, the accuracy estimation unit 20E assigns a model ID to the unlearned model 30B, and registers model management information 12B of the unlearned model 30B in the model management DB 12A in association with the model ID. The accuracy estimation unit 20E simply registers, in the model management DB 12A, the model management information 12B including the model structure of the trained model 30A generated by the model generation unit 20A, the performance measured by the performance measurement unit 20D, the accuracy estimated by the accuracy estimation unit 20E, and a flag indicating that the model has not been trained.
[0083] For this reason, the trained model 30A and the generated untrained model 30B of a different size are registered in the storage unit 12. Furthermore, the model management DB 12A registers model management information 12B of each of the trained model 30A and the generated untrained model 30B.
[0084] Returning to FIG. 1, the description will continue. The output control unit 20F outputs model information for each of a plurality of learning models 30 of different sizes. Output of model information means at least one of displaying, outputting as voice, storing, and transmitting the model information to an external information processing device. In this embodiment, the output control unit 20F will be described as an example of a form in which the model information for each of a plurality of learning models 30 is displayed on the display unit 14.
[0085] 8A is a schematic diagram of an example of a display screen 40A. The display screen 40A is an example of a display screen 40 displayed on the display unit 14. The output control unit 20F displays the display screen 40 including a plurality of pieces of model information 42 on the display unit 14. In detail, the output control unit 20F displays, on the display unit 14, the model information 42 of each of a plurality of learning models 30 including a learned model 30A and an unlearned model 30B.
[0086] The model information 42 is information including the accuracy and performance of the learning model 30. The output control unit 20F reads each of the multiple model management information 12B registered in the model management DB 12A, and displays a display screen 40A of the model information 42 including each of the model management information 12B on the display unit 14. That is, the output control unit 20F outputs the model information 42 including the accuracy and performance of the learned model 30A, and the model information 42 including the estimated accuracy and performance of the unlearned model 30B.
[0087] For example, the output control unit 20F displays on the display screen 40 a list of text information representing each of the multiple pieces of model information .
[0088] FIG. 8A shows a display screen 40A including model information 42 of model information 42A to model information 42E as an example. When the flag included in the model management information 12B indicates that the model has not been learned, the output control unit 20F displays the model information 42 on the display screen 40A with the accuracy included in the model management information 12B set as the “estimated accuracy”. When the flag included in the model management information 12B indicates that the model has been learned, the output control unit 20F displays the model information 42 on the display screen 40A with the accuracy included in the model management information 12B simply set as the “accuracy”. Therefore, the user can check whether the learning model 30 represented by the model information 42 is the learned model 30A or the unlearned model 30B by checking whether the accuracy included in the model information 42 included in the display screen 40 is the “accuracy” or the “estimated accuracy”.
[0089] The user operates the input unit 16 while viewing the display unit 14 to select model information 42 with the desired accuracy and performance from the multiple pieces of model information 42 included in the display screen 40. For example, the user selects the desired model information 42 from the multiple pieces of model information 42 included in the display screen 40 and operates the learning execution button. Through this selection and operation, the user selects model information 42 with the desired accuracy and desired performance. By the output control unit 20F displaying the multiple pieces of model information 42, the user can select model information 42 while checking the displayed performance and accuracy. Therefore, the user can easily select model information 42 of the learning model 30 with the desired performance and accuracy.
[0090] Returning to FIG. 1, the explanation will be continued. The reception unit 20G receives an input from a user. When the user operates the input unit 16 to select one of the multiple pieces of model information 42 included in the display screen 40 and operate the learning execution button, the reception unit 20G receives input of the selected model information 42 and a learning execution instruction. The learning execution button is a predetermined display area provided on the display screen 40. For example, the user can operate the learning execution button by operating an image area of the learning execution button included in the display screen 40.
[0091] The learning unit 20H learns the learning model 30 represented by the model information 42 selected by the user from the multiple pieces of model information 42 displayed. In detail, the learning unit 20H learns the learning model 30 represented by the model information 42 received by the receiving unit 20G together with a learning execution instruction signal representing a learning execution instruction.
[0092] When the learning model 30 represented by the selected model information 42 is an unlearned model 30B, the learning unit 20H learns the unlearned model 30B using a pre-stored learning dataset. For example, the learning unit 20H pre-stores a plurality of learning data consisting of input data and a correct classification result in the storage unit 12 as a learning dataset. Then, the learning unit 20H learns the unlearned model 30B by a known method using the selected unlearned model 30B and the learning dataset, thereby generating a trained model 30A from the unlearned model 30B.
[0093] The accuracy evaluation unit 20I evaluates the accuracy of the trained model 30A trained by the learning unit 20H. The accuracy evaluation unit 20I may evaluate the accuracy of the trained model 30A by a known method. Then, the accuracy evaluation unit 20I stores the trained model 30A trained by the learning unit 20H in the storage unit 12. In addition, the accuracy evaluation unit 20I registers the model management information 12B of the trained model 30A trained by the learning unit 20H in the model management DB 12A.
[0094] This will be described with reference to FIG. 3. In detail, the accuracy evaluation unit 20I registers the model management information 12B of the trained model 30A in the model management DB 12A in association with the model ID of the untrained model 30B, which is the training model 30 before training of the trained trained model 30A. The accuracy evaluation unit 20I overwrites the accuracy, which is the estimated accuracy estimated by the accuracy estimation unit 20E, with the accuracy evaluated by the accuracy evaluation unit 20I. In addition, the accuracy evaluation unit 20I updates the flag indicating that the model is untrained, which corresponds to the model ID, to a flag indicating that the model is trained. Through these processes, the accuracy evaluation unit 20I registers the model management information 12B of the trained model 30A in the model management DB 12A.
[0095] Therefore, the model management information 12B of the unlearned model 30B registered in the model management DB 12A is updated to the model management information 12B of the trained model 30A generated by training the unlearned model 30B.
[0096] There are cases where the model information 42 displayed on the display screen 40 does not include model information 42 of the user's desired performance. In this case, the user inputs the desired performance by operating the input unit 16. The receiving unit 20G receives the desired performance input by the user.
[0097] The following description will be given with reference to FIG. 8A. For example, the display screen 40A includes a setting field 44. The setting field 44 is a setting field for receiving input of the model's performance. FIG. 8A shows an example of a setting field 44 including an input field 44A for the number of parameters, which is the size of the model, among the parameters included in the model's performance. The output control unit 20F may display the display screen 40 including the setting field 44 on the display unit 14. Note that the setting field 44 may be a setting field for receiving input of parameters included in the model's performance, and may be capable of receiving input of at least one of parameters representing performance, such as the number of parameters, the amount of calculation, and the processing time.
[0098] When the user's desired performance is input via the display screen 40, the model generation unit 20A may generate an unlearned model 30B of the performance for which the input has been received. The model generation unit 20A may generate the unlearned model 30B in the same manner as described above, using the trained model 30A, based on information representing the performance for which the input has been received.
[0099] For example, assume that the user operates the input unit 16 to input a desired number of parameters into the input field 44A. In this case, the model generation unit 20A generates an untrained model 30B of the size desired by the user, that is, the number of parameters that have been input. In detail, the morphing unit 20C of the model generation unit 20A enlarges or reduces the layer L included in the trained model 30A so that the size is the size that has been input, thereby generating an untrained model 30B of the size desired by the user.
[0100] Then, the performance measurement unit 20D and the accuracy estimation unit 20E perform the same process as described above on the generated unlearned model 30B. Therefore, the unlearned model 30B having the performance input by the user is stored in the storage unit 12. Also, the model management DB 12A registers the model management information 12B of the unlearned model 30B having the performance input by the user.
[0101] When the model management information 12B is updated, the output control unit 20F displays on the display unit 14 a display screen 40 including model information 42 for each of the multiple pieces of model management information 12B registered in the model management information 12B.
[0102] For example, by inputting the user's desired performance, such as the number of parameters, in an input field 44A shown in Fig. 8A, a display screen 40B further including model information 42F of an unlearned model 30B having the user's desired performance is displayed on the display unit 14, as shown in Fig. 8B. The display screen 40B is an example of the display screen 40. This allows the user to easily and flexibly select model information 42 of a learning model 30 having the desired performance and accuracy.
[0103] The output control unit 20F may display a plurality of pieces of model information 42 in a graph format.
[0104] 8C is a schematic diagram of an example of a display screen 40C of model information 42. Display screen 40C is an example of the display screen 40.
[0105] For example, the output control unit 20F displays a graph showing the relationship between accuracy and performance included in each of the multiple model information 42. Fig. 8C shows an example of a form in which each of the model information 42A to 42E is represented by a graph showing the relationship between accuracy and calculation amount, a graph showing the relationship between accuracy and processing time, and a graph showing the relationship between accuracy and data transfer amount. As shown in Fig. 8C, the output control unit 20F may display a graph showing the relationship between accuracy and performance included in each of the multiple model information 42.
[0106] The output control unit 20F displays a plurality of pieces of model information 42 in a graph format, allowing the user to intuitively select model information 42 with the desired performance and accuracy.
[0107] Furthermore, the output control unit 20F may display the model information 42 of the trained model 30A and the model information 42 of the untrained model 30B in different display forms. For example, the output control unit 20F may display on the display screen 40 a graph in which the plot of the model information 42 of the trained model 30A and the plot of the model information 42 of the untrained model 30B are represented in different colors.
[0108] By displaying the model information 42 of the trained model 30A and the model information 42 of the untrained model 30B in different display formats, the user can easily confirm whether the displayed accuracy is an estimated accuracy or not.
[0109] Furthermore, the output control unit 20F may display each parameter included in the performance for each type of calculation.
[0110] Fig. 8D is a schematic diagram of an example of a display screen 40D. The display screen 40D is an example of the display screen 40. Fig. 8D shows one example of model information 42 included in the display screen 40D. As shown in Fig. 8D, the output control unit 20F may display the amount of calculation, which is the performance included in the model information 42, for each type of calculation. In addition, when there are multiple types of calculations, the output control unit 20F may also display other parameters included in the performance for each type of calculation.
[0111] The output control unit 20F displays each parameter included in the performance for each type of calculation, so that the amount of calculation for each type of calculation with different calculation efficiency can be easily provided. Therefore, the user can more easily select the model information 42 of the learning model 30 with the desired performance.
[0112] Furthermore, the output control unit 20F may further output detailed information of the model information .
[0113] An explanation will be given with reference to Fig. 8A. For example, the user operates input unit 16 while viewing display unit 14 to select model information 42 of which the user wishes to confirm details from among a plurality of pieces of model information 42 included in display screen 40, and operates a details confirmation button. The details confirmation button is a predetermined display area provided on display screen 40. For example, the user may operate the details confirmation button by operating an image area of the details confirmation button included in display screen 40.
[0114] When model information 42 is selected and the details confirmation button is operated, the reception unit 20G receives the model information 42 and a details display signal for the model information 42. Upon receiving the details display signal, the output control unit 20F displays detailed information of the selected model information 42 on the display unit 14.
[0115] For example, a description will be given assuming a scene in which model information 42C in FIG. 8A is selected and the details confirmation button is operated.
[0116] In this case, for example, the output control unit 20F displays on the display unit 14 the number of channels and performance of each of the multiple layers L that make up the learning model 30 defined by the selected model information 42C.
[0117] For example, the output control unit 20F displays a display screen 40H shown in Fig. 5 on the display unit 14. The output control unit 20F reads the model management information 12B corresponding to the model ID of the selected model information 42C from the model management DB 12A. Then, the output control unit 20F displays the model structure, accuracy, performance, and the like included in the read model management information 12B on the display screen 40H. Fig. 5 shows an example of a display screen 40H including the number of channels and the amount of calculation for each of the layers L1 to L4, which are multiple layers L, of the learning model 30 represented by the selected model information 42C.
[0118] In this manner, the output control unit 20F may display, as detailed information of the model information 42, the number of channels and performance of each of the multiple layers L that constitute the learning model 30 represented by the model information 42.
[0119] By the output control unit 20F displaying the detailed information of the model information 42, the user can easily and flexibly select the desired model information 42.
[0120] There may be cases where the user desires to change the model information 42 displayed on the display screen 40H. In this case, the user operates the input unit 16 to change at least one of the multiple parameters included in the model structure and performance included in the desired model information 42. The receiving unit 20G receives the changed model information 42 input by the user.
[0121] For example, the user operates the input unit 16 to change the ratio of the number of channels among the multiple layers L represented by the model structure. For example, the user changes at least a part of the number of channels of each of the multiple layers L displayed while viewing the display screen 40H shown in Fig. 5, thereby changing the ratio of the number of channels among the multiple layers L. The receiving unit 20G receives the model information 42 input by the user, in which the number of channels included in the layers L has been changed.
[0122] In this case, the model generation unit 20A may generate an unlearned model 30B defined by the changed model information 42. Then, the performance measurement unit 20D and the accuracy estimation unit 20E perform the same process as described above on the generated unlearned model 30B. That is, the accuracy estimation unit 20E re-estimates the accuracy of the learning model 30 according to the changed model information 42, and registers it in the model management DB 12A.
[0123] Therefore, the unlearned model 30B having the performance or model configuration changed by the user is stored in the storage unit 12. Also, the model management DB 12A registers model management information 12B of the unlearned model 30B having the performance or model configuration changed by the user.
[0124] The output control unit 20F displays detailed information about the model information 42 and accepts fine adjustments by the user to the ratio of the number of channels, etc., allowing the user to easily and flexibly select the desired model information 42.
[0125] Continuing the description by returning to Fig. 1, the output control unit 20F may output, for each of the multiple learning models 30, the amount of change in the inference result before and after the size change for the evaluation data, and the evaluation data.
[0126] In other words, the output control unit 20F may output the change in the inference result for the evaluation data using the learning model 30 before resizing and the inference result for the evaluation data using the learning model 30 after resizing, as well as the evaluation data.
[0127] The evaluation data is, for example, input data included in the learning data used when learning the learning model 30. The evaluation data is not limited to input data included in the learning data used when learning. For example, the evaluation data may be data with a correct answer that is not used in learning. The data with a correct answer is, for example, validation data.
[0128] For example, the output control unit 20F reads input data included in each of a plurality of learning data included in the learning data set used when learning the learned model 30A. Through this process, the output control unit 20F reads a plurality of input data. For example, a form in which the input data is image data including a subject will be described as an example. Hereinafter, the image data may be referred to as an evaluation image.
[0129] For each of the multiple evaluation images that have been read, the output control unit 20F derives an inference result for the evaluation image using the trained model 30A before pruning, and an inference result for the evaluation image using the trained model 30A after pruning.
[0130] The inference result is represented by an inference probability for each class, which is the type of subject included in the evaluation image. That is, for each evaluation image, the output control unit 20F derives, for each class, the inference result of the evaluation image by the trained model 30A before pruning and the inference result of the evaluation image by the trained model 30A after pruning. The output control unit 20F may derive the inference result for each class by acquiring these inference results from the learning unit 20H.
[0131] In addition, the output control unit 20F may derive an inference result of an evaluation image using the unlearned model 30B before pruning and an inference result of an evaluation image using the unlearned model 30B after pruning for the learning model 30 represented by the model information 42 selected by the user.
[0132] For example, a case will be described in which model information 42D is selected via display screen 40A shown in FIG. 8A and the details confirmation button is operated.
[0133] In this case, for example, the output control unit 20F displays on the display unit 14 the display screen 40 including the evaluation image used in learning the learning model 30 defined by the selected model information 42A.
[0134] FIG. 8E is a schematic diagram of an example of a display screen 40E. The display screen 40E is an example of the display screen 40. For example, the output control unit 20F displays a display screen 40E in which a predetermined number of evaluation images are arranged in order of the amount of change, which is the difference between the evaluation results of the inference result of the evaluation image by the unlearned model 30B before pruning and the evaluation result of the evaluation image by the unlearned model 30B after pruning, in descending order of the amount of change. FIG. 8E shows an example in which the evaluation images are photographed images of animals such as dogs. FIG. 8E also shows an example in which four evaluation images are displayed in descending order of the amount of change in the evaluation results for the class "dog", which is an example of a class.
[0135] Then, for example, assume a scene in which the user selects one of the displayed evaluation images by operating the input unit 16. In this case, the reception unit 20G receives the selection of the evaluation image. The output control unit 20F displays, for the evaluation image for which the selection has been received, an inference result of the evaluation image by the trained model 30A before pruning and an inference result of the evaluation image by the trained model 30A after pruning. The explanation will be continued assuming a scene in which, for example, evaluation image 1 has been selected.
[0136] 8F is a schematic diagram showing an example of a display screen 40F of the inference results of the evaluation images before and after pruning. The display screen 40F is an example of the display screen 40. For example, the output control unit 20F displays, for each class such as the class "dog" and the class "cat", an inference probability that is an example of the inference result by the learning model 30 before pruning, and an inference probability that is an example of the inference result by the learning model 30 after pruning.
[0137] In this case, the output control unit 20F can provide the user with information that allows the user to easily understand what type of input data is likely to cause an inference result to change due to pruning.
[0138] The output control unit 20F may display the inference result of the evaluation image by the trained model 30A before pruning, the inference result of the evaluation image by the trained model 30A after pruning, and the inference result of the evaluation image by the untrained model 30B after morphing. For example, the output control unit 20F estimates the probability of the inference result of the evaluation image by the untrained model 30B after morphing by interpolating and extrapolating from the difference in performance parameters from the multiple trained models 30A, similar to the estimation of accuracy by the accuracy estimation unit 20E. Also, for example, the output control unit 20F may create a resized model in which the number of channels is reduced in a pseudo manner by filling the channels of low importance of one trained model 30A with zeros and performing inference, and obtain the inference result of the inference as the inference result of the evaluation image by the untrained model 30B after morphing. The explanation will be continued assuming a scene in which the evaluation image 1 is selected.
[0139] 8G is a schematic diagram showing an example of a display screen 40G of the inference results of the evaluation image before and after pruning and after morphing. The display screen 40G is an example of the display screen 40. For example, the output control unit 20F displays, for each class such as the class "dog" and the class "cat", an inference probability that is an example of the inference result by the learning model 30 before pruning, an inference probability that is an example of the inference result by the learning model 30 after pruning, and an inference probability that is an example of the inference result by the learning model 30 after morphing.
[0140] In this case, the output control unit 20F can provide the user with information on which input data is likely to change the inference result due to pruning and morphing in a manner that allows the user to easily understand the information. Also, the output control unit 20F can easily provide the inference result of the unlearned model 30B, which is an unlearned model.
[0141] Next, an example of the flow of information processing executed by the learning device 10 of this embodiment will be described.
[0142] FIG. 9 is a flowchart showing an example of the flow of information processing executed by the learning device 10 of this embodiment.
[0143] The model generation unit 20A generates a plurality of learning models 30 having different sizes (step S100). The model generation unit 20A generates one or a plurality of unlearned models 30B having different sizes using the learned model 30A (step S100).
[0144] The performance measurement unit 20D measures the performance of the unlearned model 30B generated by the model generation unit 20A (step S102). The accuracy estimation unit 20E estimates the accuracy of the unlearned model 30B whose performance has been measured in step S102 (step S104). The accuracy estimation unit 20E stores the unlearned model 30B whose performance has been estimated and the model management information 12B of the pruning unit 20B in the storage unit 12 (step S106).
[0145] The output control unit 20F displays the model information 42 of each of the multiple learning models 30 of different sizes on the display unit 14 (step S108). For example, the output control unit 20F displays a display screen 40A shown in FIG. 8A on the display unit 14.
[0146] The reception unit 20G determines whether or not input of the user's desired performance has been received (step S110). For example, there are cases where the model information 42 displayed on the display screen 40 does not include model information 42 of the user's desired performance. In this case, the user inputs the desired performance by operating the input unit 16. The reception unit 20G receives the desired performance input by the user.
[0147] If the input of the user's desired performance is accepted (step S110: Yes), the process proceeds to step S112. In step S112, the model generation unit 20A generates an unlearned model 30B of the performance input accepted in step S110 (step S112). Then, the process returns to step S102.
[0148] If the determination in step S110 is negative (step S110: No), the process proceeds to step S114. In step S114, the reception unit 20G determines whether or not a detail display instruction has been received (step S114). For example, the user operates the input unit 16 while viewing the display unit 14 to select the model information 42 of which the user wishes to confirm details among the multiple pieces of model information 42 included in the display screen 40, and operates the detail confirmation button. When the model information 42 is selected and the detail confirmation button is operated, the reception unit 20G receives the model information 42 and a detail display signal for the model information 42. The reception unit 20G may determine whether or not a detail display instruction has been received by determining whether or not the model information 42 and the detail display signal for the model information 42 have been received.
[0149] When it is determined that the detailed display instruction has been received (step S114: Yes), the process proceeds to step S116. In step S116, the output control unit 20F displays detailed information of the selected model information 42 on the display unit 14 (step S116). For example, as shown in FIG. 5, the output control unit 20F displays a display screen 40 including the number of channels and performance of each of a plurality of layers L constituting the learning model 30 defined by the selected model information 42C on the display unit 14. Also, for example, the output control unit 20F displays the display screen 40 of FIG. 8E to FIG. 8G, etc. on the display unit 14 in response to an operation instruction of the input unit 16 by the user. Then, the process returns to the above step S110.
[0150] If a negative judgment is made in step S114 (step S114: No), the process proceeds to step S118. In step S118, the reception unit 20G judges whether or not a selection of the model information 42 to be learned has been received (step S118). For example, the user operates the input unit 16 while viewing the display unit 14 to select model information 42 with a desired accuracy and performance from the multiple pieces of model information 42 included in the display screen 40, and operates the learning execution button. The reception unit 20G may judge whether or not a selection of the model information 42 to be learned has been received by determining whether or not the selected model information 42 and a learning execution instruction signal representing an instruction to execute learning have been received.
[0151] If the determination in step S118 is affirmative (step S118: Yes), the process proceeds to step S120. In step S120, the learning unit 20H learns the learning model 30 represented by the model information 42 selected in step S118 (step S120).
[0152] The accuracy evaluation unit 20I evaluates the accuracy of the trained model 30A generated by the learning in step S120 (step S122). Then, the accuracy evaluation unit 20I stores the trained model 30A generated by the learning in step S120 and the model management information 12B of the trained model 30A in the storage unit 12 (step S124).
[0153] The output control unit 20F displays, on the display unit 14, the model information 42 of the trained model 30A stored in the storage unit 12 in step S124 (step S126).
[0154] The output control unit 20F determines whether the trained model 30A of the model information 42 displayed in step S126 is a model with the accuracy and performance desired by the user (step S128).
[0155] For example, the user visually checks the model information 42 displayed in step S126 to determine whether the learning model 30 represented by the model information 42 has the desired performance and accuracy. If the model information 42 has the desired performance and accuracy, the user operates the input unit 16 to input information indicating that the learning model 30 is the desired one. On the other hand, if the model information 42 does not have the desired performance and accuracy, the user operates the input unit 16 to input information indicating that the learning model 30 is not the desired one. If the receiving unit 20G receives information indicating that the model information is not the desired performance and accuracy, the output control unit 20F makes a negative judgment (step S128: No). Then, the process proceeds to step 130.
[0156] In step S130, the model generation unit 20A generates a new unlearned model 30B having a size different from that of the learning model 30 stored in the storage unit 12 (step S130). Then, the process returns to step S102.
[0157] On the other hand, when the receiving unit 20G receives information indicating that the performance and accuracy are the desired ones, the output control unit 20F makes an affirmative judgment (step S128: Yes). Then, the process proceeds to step 132. In step S132, the output control unit 20F outputs the learning model 30 trained in step S120 (step S132). For example, the output control unit 20F transmits the learning model 30 trained in step S120 to an information processing device managed by the user. In addition, the output control unit 20F stores the learning model 30 trained in step S120 in the storage unit 12 as the determined model. In addition, the output control unit 20F may display the model information 42 of the learning model 30 trained in step S120 on the display unit 14 as the determined model. Then, the routine ends.
[0158] As described above, the learning device 10 of this embodiment includes an output control unit 20F, a receiving unit 20G, and a learning unit 20H. The output control unit 20F outputs a plurality of pieces of model information 42 including the accuracy and performance of each of a plurality of learning models 30 of different sizes. The receiving unit 20G receives an input by a user. The learning unit 20H learns the learning model 30 represented by the model information 42 selected by the user from the plurality of pieces of model information 42.
[0159] Here, in the conventional technology, in order to provide the trained model 30A with the accuracy and performance desired by the user, the user had to specify various performance-related parameters such as the amount of calculation, processing time, power consumption, size, and data transfer amount. For example, when the size of the trained model 30A is reduced according to the edge device, the accuracy of the trained model 30A may decrease. For this reason, in the conventional technology, the user had to set various performance-related parameters such as the amount of calculation, processing time, power consumption, data transfer amount, and size so as to achieve the desired accuracy. In addition, in the conventional technology, learning had to be performed for each model in order to derive the accuracy of the model, which resulted in a high processing load. In other words, in the conventional technology, it was difficult to easily provide a trained model with the accuracy and performance desired by the user.
[0160] On the other hand, the learning device 10 of the present embodiment outputs model information 42 for each of a plurality of learning models 30 of different sizes, and learns the learning model 30 represented by the model information 42 selected by the user.
[0161] Therefore, the user can select model information 42 of a desired learning model 30 by selecting model information 42 with desired performance and accuracy from the multiple output model information 42. In addition, the learning model 30 can generate a learned model 30A by learning the learning model 30 represented by the model information 42 selected by the user. Since the selected learning model 30 is learned without learning all unlearned models 30B of different sizes, the learning device 10 of this embodiment can efficiently learn the learning model 30.
[0162] Therefore, the learning device 10 of this embodiment can easily provide a trained model 30A with the accuracy and performance desired by the user.
[0163] Next, an example of the hardware configuration of the learning device 10 of the above embodiment will be described.
[0164] FIG. 10 is a diagram showing an example of a hardware configuration of the learning device 10 of the above embodiment.
[0165] The learning device 10 of the above embodiment is equipped with a control device such as a CPU (Central Processing Unit) 90D, storage devices such as a ROM (Read Only Memory) 90E, a RAM (Random Access Memory) 90F, and a HDD (Hard Disk Drive) 90G, an I / F unit 90B that interfaces with various devices, an output unit 90A that outputs various information, an input unit 90C that accepts operations by the user, and a bus 90H that connects each unit, and has a hardware configuration that utilizes a normal computer.
[0166] In the learning device 10 of the above embodiment, the CPU 90D reads a program from the ROM 90E onto the RAM 90F and executes it, thereby realizing each of the above units on the computer.
[0167] The programs for executing the above-mentioned processes executed by the learning device 10 of the embodiment may be stored in the HDD 90G. Also, the programs for executing the above-mentioned processes executed by the learning device 10 of the embodiment may be provided by being pre-installed in the ROM 90E.
[0168] The program for executing the above-mentioned processing executed by the learning device 10 of the above-mentioned embodiment may be stored in a computer-readable storage medium such as a CD-ROM, CD-R, memory card, DVD (Digital Versatile Disc), or flexible disk (FD) in an installable or executable format file and provided as a computer program product. The program for executing the above-mentioned processing executed by the learning device 10 of the above-mentioned embodiment may be stored on a computer connected to a network such as the Internet and provided by downloading the program via the network. The program for executing the above-mentioned processing executed by the learning device 10 of the above-mentioned embodiment may be provided or distributed via a network such as the Internet.
[0169] Although the embodiment of the present invention has been described above, the embodiment is presented as an example and is not intended to limit the scope of the invention. This new embodiment can be implemented in various other forms, and various omissions, substitutions, and modifications can be made without departing from the gist of the invention. This embodiment and its modifications are included in the scope and gist of the invention, and are included in the scope of the invention and its equivalents described in the claims. [Explanation of symbols]
[0170] 1. Learning System 10 Learning Device 20A Model Generation Unit 20B Pruning section 20C Morphing section 20D Performance measurement section 20E Accuracy Estimation Section 20F Output control section 20G Reception 20H Learning Section 20I Accuracy Evaluation Section
Claims
1. A model generation unit that generates one or more first unlearned models of different sizes using the trained model; an output control unit that outputs model information of each of a plurality of learning models including the learned model and the first unlearned model; A reception unit that receives an input from a user; a learning unit that learns the first unlearned model corresponding to the model information selected by a user input from among the plurality of pieces of model information output by the output control unit, or a second unlearned model that is generated using the learned model based on the model information input by the user; A learning device comprising:
2. A model generation unit that generates one or more first unlearned models of different sizes using the trained model; an output control unit that outputs model information of each of a plurality of learning models including the learned model and the first unlearned model; A reception unit that receives an input from a user; A learning unit that learns a second unlearned model generated using the trained model based on the model information input by the user and accepted by the accepting unit; A learning device comprising:
3. A model generation unit that generates one or more first unlearned models of different sizes using the trained model; an output control unit that outputs model information of each of a plurality of learning models including the learned model and the first unlearned model; A reception unit that receives an input from a user; a learning unit that learns the first unlearned model corresponding to the model information selected by a user input from among the plurality of pieces of model information output by the output control unit; A learning device comprising:
4. The model generation unit generating a plurality of the first unlearned models of different sizes by performing pruning to determine a ratio of the number of channels among a plurality of layers constituting the trained model, and morphing to expand or reduce the number of channels included in the plurality of layers while maintaining the determined ratio among the plurality of layers; The learning device according to any one of claims 1 to 3.
5. The model generation unit Adjusting the number of channels of each of the multiple layers constituting the generated first unlearned model to a value that satisfies a predetermined setting condition; The learning device according to claim 4.
6. An accuracy estimation unit that estimates accuracy of the first unlearned model using the trained model, The output control unit is outputting the model information including the accuracy and performance of the trained model and the model information including the estimated accuracy and performance of the first untrained model; The learning device according to any one of claims 1 to 3.
7. The accuracy estimation unit is estimating the accuracy of the first untrained model by interpolation and extrapolation using a plurality of the trained models; The learning device according to claim 6.
8. The accuracy estimation unit is Estimating accuracy of the first unlearned model based on accuracy of the trained model and the importance of each of a plurality of channels included in a layer constituting the trained model, and the importance of each of a plurality of channels included in a layer of the first unlearned model generated by deleting a channel included in the trained model; The learning device according to claim 6.
9. The accuracy estimation unit is estimating accuracy of the first unlearned model using one or more of the trained models whose size difference with the first unlearned model of which accuracy is to be estimated is within a threshold value; The learning device according to claim 6.
10. The accuracy estimation unit is Among the plurality of trained models generated by resizing, the trained models whose change amount from before the resizing is equal to or less than a threshold are excluded from the trained models to be used for estimating the accuracy of the first untrained model. The learning device according to claim 6.
11. The accuracy estimation unit is When a change to the output model information is received, the accuracy of the learning model is re-estimated in accordance with the changed model information. The learning device according to claim 6.
12. The output control unit is outputting a graph showing the relationship between accuracy and performance included in each of the plurality of pieces of model information; The learning device according to any one of claims 1 to 3.
13. The output control unit is outputting the number of channels and performance of each of a plurality of layers constituting the learning model defined by the model information; The learning device according to any one of claims 1 to 3.
14. The output control unit is outputting the amount of calculation, which is the performance included in the model information, for each type of calculation; The learning device according to any one of claims 1 to 3.
15. The output control unit is outputting the evaluation data and an amount of change between an inference result of the evaluation data by the learning model before resizing and an inference result of the evaluation data by the learning model after resizing; The learning device according to any one of claims 1 to 3.
16. A generation step of generating one or more first unlearned models of different sizes using the trained model; An output step of outputting model information of each of a plurality of learning models including the learned model and the first unlearned model; a receiving step of receiving an input from a user; a learning step of learning the first unlearned model corresponding to the model information selected by a user input from among the plurality of pieces of model information output by the output step, or a second unlearned model generated using the trained model based on the model information input by the user; Learning methods including:
17. A learning program to be executed by a computer, A generation step of generating one or more first unlearned models of different sizes using the trained model; An output step of outputting model information of each of a plurality of learning models including the learned model and the first unlearned model; a receiving step of receiving an input from a user; a learning step of learning the first unlearned model corresponding to the model information selected by a user input from among the plurality of pieces of model information output by the output step, or a second unlearned model generated using the trained model based on the model information input by the user; A study program that includes:
18. A display unit; A model generation unit that generates one or more first unlearned models of different sizes using the trained model; an output control unit that outputs model information of each of a plurality of learning models including the learned model and the first unlearned model; A reception unit that receives an input from a user; a learning unit that learns the first unlearned model corresponding to the model information selected by a user input from among the plurality of pieces of model information output by the output control unit, or a second unlearned model that is generated using the learned model based on the model information input by the user; A learning system comprising:
19. an output control unit that outputs a plurality of model information including the accuracy and performance of each of a plurality of learning models of different sizes; A reception unit that receives an input from a user; a learning unit that learns the learning model represented by the model information selected by a user from among the plurality of model information; A model generation unit that generates one or more unlearned models of different sizes using the trained model; Equipped with The output control unit is outputting the model information for each of the plurality of learning models including the learned model and the unlearned model; Learning device.
Citation Information
Patent Citations
Search program, search method, and search device
JP2019159769A
Ai (artificial intelligence) execution support device, method, and program
JP2020052514A
Learning model generation device, learning model generation method, and program
JP2020107042A
Analysis support device for personnel item, analysis support method, program, and recording medium
JP2020160551A
Learning device, learning system, and learning method
JP2021039640A