Machine learning method, machine learning program, and machine learning device

JPWO2024218892A5Pending Publication Date: 2026-01-22
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025514952
Authority / Receiving Office
JP · JP
Patent Type
Applications
Priority Date
2023-04-19
Filing Date
2023-04-19
Publication Date
2026-01-22

AI Technical Summary

Technical Problem

Conventional machine learning methods face challenges in efficiently completing learning tasks using inexpensive GPUs, often resulting in wasted processing time due to incomplete convergence or unnecessary continuation of learning processes, leading to decreased performance and increased costs associated with high-performance hardware.

Method used

A machine learning method that calculates a determination index indicating learning convergence and its change, allowing for dynamic decision-making to continue or terminate the learning process based on these indices, ensuring efficient execution without relying on predetermined time or epoch limits.

Benefits of technology

This approach enables machine learning to be performed quickly and efficiently using inexpensive hardware, reducing unnecessary processing time and maintaining high performance by accurately determining when learning has converged, thus optimizing resource utilization.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

The present invention provides a machine learning method capable of efficiently performing machine learning. The machine learning method comprises a learning determination step for at least calculating a determination index indicating training convergence and the degree of change in the determination index, and determining whether to continue to execute machine learning on the basis of the calculated determination index and degree of change in the determination index.
Need to check novelty before this filing date? Find Prior Art

Description

Machine learning method, machine learning program, and machine learning device

[0001] The present disclosure relates to a machine learning method, a machine learning program, and a machine learning device.

[0002] In recent years, machine learning has been used and put to practical use in various fields. In machine learning, large amounts of image data, audio data, video data, text data, etc. are provided as training data to a machine learning device to perform tasks such as object recognition, voice recognition, and character recognition. As a machine learning device that performs machine learning, it is preferable to use, for example, a GPU (Graphics Processing Unit, GPGPU: General-Purpose computing on Graphics Processing Units) with high computing power, and depending on the difficulty of the task, it may take a considerable amount of time.

[0003] Here, the learning time can be shortened to some extent by using a high-spec GPU as a machine learning device, but the higher the GPU's specs, the higher its cost, so there is a problem that it is not easy to introduce a high-spec GPU. In other words, the problem to be solved is how to use an inexpensive GPU to perform machine learning in a short time and generate a trained model with high performance.

[0004] Conventional machine learning often continues to execute machine learning until, for example, a predetermined learning time or number of learning epochs is reached. However, when machine learning is executed in this manner, even if the target learning time or number of learning epochs is reached, the learning may be terminated (completed) before convergence, resulting in poor performance. Furthermore, even if the learning has already converged at an early stage, the learning may continue unnecessarily because the target learning time or number of learning epochs has not been reached, resulting in wasted processing time.

[0005] Conventionally, various techniques have been proposed for efficiently performing machine learning.

[0006] JP 2021-070136 A JP 2018-194919 A ​​JP 2021-091022 A

[0007] As mentioned above, it is possible to shorten the learning time to some extent by using a high-performance GPU device (hardware) as a machine learning device, but high-performance hardware devices incur increased costs depending on their performance, making them difficult to introduce easily.

[0008] Furthermore, if machine learning is performed until a predetermined learning time or number of learning epochs is reached, the learning may be completed before convergence has occurred, or the learning may be continued unnecessarily even though it has already converged at an earlier stage, wasting processing time. In other words, it is difficult to complete machine learning in a timely manner, which may result in a decrease in performance or a waste of processing time.

[0009] Therefore, there is a demand for a machine learning method, a machine learning program, and a machine learning device that can perform machine learning efficiently.

[0010] According to one embodiment of the present disclosure, there is provided a machine learning method including a learning judgment step of calculating a judgment index and a change in the judgment index that indicate learning convergence, and determining whether to continue executing machine learning based on the calculated judgment index and the change in the judgment index.

[0011] FIG. 1 is a diagram schematically illustrating an example of a robot system including an example of a machine learning device according to the present embodiment. FIG. 2 is a flowchart illustrating an example of processing in a first example of a machine learning method (machine learning program) according to the present embodiment. FIG. 3 is a flowchart illustrating an example of processing in a second example of a machine learning method according to the present embodiment. FIG. 4 is a flowchart illustrating an example of processing in a third example of a machine learning method according to the present embodiment. FIG. 5 is a diagram illustrating the relationship between the number of learning attempts and the accuracy rate in an example of machine learning. FIG. 6 is a diagram illustrating the relationship between the number of learning attempts and the accuracy rate and loss in an example of the machine learning method according to the present embodiment. FIG. 7 is a diagram illustrating an example of a workpiece in a robot system in which an example of a machine learning device according to the present embodiment is used.

[0012] Hereinafter, examples of the machine learning method, machine learning program, and machine learning device according to the present embodiment will be described in detail with reference to the accompanying drawings. In each drawing, identical or similar components are assigned identical or similar reference numerals. Furthermore, the embodiments described below do not limit the technical scope and meaning of the terms of the invention described in the claims.

[0013] The machine learning method, machine learning program, and machine learning device according to the present embodiment can be widely implemented in various machine learning fields, such as supervised learning, unsupervised learning, reinforcement learning, deep reinforcement learning, and semi-supervised learning. Furthermore, the machine learning method, machine learning program, and machine learning device according to the present embodiment can be applied when performing various types of machine learning on various data, such as image data, audio data, and character data. Note that, while the following description will discuss, as an example, a case where machine learning is performed on image data handled by robot vision, the machine learning method, machine learning program, and machine learning device according to the present embodiment are of course not limited to cases where machine learning is performed on image data handled by robot vision.

[0014] 1 is a diagram schematically illustrating an example of a robot system including an example of a machine learning device according to this embodiment. As shown in FIG. 1, the robot system 100 includes a robot 1, a control unit (robot control device) 2, a machine learning device 3, and a camera 4. The robot 1 includes a robot mechanism unit 10, an arm 11, and an end effector (hand unit) 12.

[0015] The robot 1 is configured as, for example, a multi-axis robot, and an end effector 12 is provided at the tip of an arm 11. In Fig. 1, the end effector 12 is a suction device (an air suction hand equipped with a suction pad), but it goes without saying that this can be changed to various other devices depending on the workpiece (object) and work content used by the robot system 100. The robot mechanism unit 10 is for causing the robot 1 to perform predetermined operations based on control commands from the control unit 2.

[0016] The machine learning device 3, for example, receives multiple images capturing the presence areas of multiple workpieces and generates teaching data including area information (information regarding the shape areas of the workpieces) of the workpieces D1 to D9 in each image. Furthermore, the machine learning device 3 processes, for example, the generated teaching data and the corresponding images as learning data. Here, the machine learning device 3 receives two-dimensional image data of the workpieces D1 to D9 captured by the camera 4. However, the image data provided to the machine learning device 3 is not limited to images captured by the camera 4 of the robot system 100 and may be various image data, such as images of workpieces captured in advance or images obtained by other robot systems. Furthermore, the images input to the machine learning device 3 are not limited to two-dimensional images and may also include, for example, three-dimensional data (three-dimensional images, three-dimensional point cloud data, three-dimensional measurement data).

[0017] The machine learning device 3 can be configured, for example, as a dedicated workstation installed near the control unit 2, or as a host computer or general-purpose computer installed in a location remote from the robot system 100. When a large amount of data is input into a learning model for learning, a general-purpose computer or processor may be used. However, for example, a GPU (GPGPU) or a large-scale PC cluster with high computing power may also be used to achieve high-speed processing. However, since the machine learning device according to this embodiment can perform machine learning efficiently, it is also possible, for example, to incorporate the machine learning device 3 into the control unit 2. Alternatively, only the inference execution unit 34 of the machine learning device 3 may be incorporated into the control unit 2.

[0018] The camera 4 is used to acquire two-dimensional images of the area where multiple workpieces (e.g., multiple cardboard boxes) D1 to D9 are present, or two-dimensional images and three-dimensional data (three-dimensional images, three-dimensional point cloud data, three-dimensional measurement data, etc.), and includes two cameras 4a and 4b and a projector 4c. The projector 4c projects a predetermined pattern onto the area where the multiple workpieces D1 to D9 are present, and the two cameras 4a and 4b capture images of the area where the multiple workpieces are present onto which the predetermined pattern is projected by the projector 4c, thereby measuring the three-dimensional shapes of the workpieces D1 to D9. In this way, the camera 4 may be configured to measure the three-dimensional shapes of the area where the multiple workpieces D1 to D9 are present and acquire three-dimensional point cloud data, but it may also be configured, for example, as a single stereo camera.

[0019] The machine learning device 3 includes a data acquisition unit 31, a learning execution unit 32, and a learning determination unit 33. The data acquisition unit 31 acquires learning data, and the learning execution unit 32 executes machine learning based on the learning data acquired by the data acquisition unit 31. The learning determination unit 33 calculates a judgment index and an amount of change in the judgment index that indicate the convergence of learning based on the learning result by the learning execution unit 32, and at least determines whether to continue executing the machine learning based on the calculated judgment index and the amount of change in the judgment index.

[0020] Here, if the determination result by the learning determination unit 33 is, for example, that the learning is insufficient and that the machine learning needs to be continued, the learning execution unit 32 continues the execution of the machine learning. Conversely, if the determination result by the learning determination unit 33 is, for example, that the learning is sufficient and that the machine learning does not need to be continued, the learning execution unit 32 ends (completes) the execution of the machine learning. In other words, the learning execution unit 32 controls the completion (termination) of the execution of the machine learning based on the determination result (continuation determination result) by the learning determination unit 33.

[0021] The machine learning device 3 may further include an inference execution unit 34, a display unit 35, and a reception unit 36. Here, the data acquisition unit 31 acquires, for example, test data including correct answer data, and the inference execution unit 34 calculates and outputs an inference result based on the test data and the learning result from the learning execution unit 32. The learning determination unit 33 calculates a determination index based on the inference result output from the inference execution unit 34 and the learning result from the learning execution unit 32, and outputs a determination result. The learning execution unit 32 then completes the execution of machine learning (controls the completion of the execution of machine learning) based on the determination result from the learning determination unit 33. That is, when one calculated value of the determination index, multiple calculated values ​​of the determination index, or a combination of multiple calculated values ​​of the determination index satisfies a predetermined threshold (first condition), the learning determination unit 33 outputs a signal (determination result) indicating the completion of the execution of machine learning to the learning execution unit 32.

[0022] The judgment index calculated by the learning judgment unit 33 to obtain the judgment result may be at least one of, for example, accuracy rate, precision rate, recall (True Positive Rate, TPR), specificity (True Negative Rate, TNR), false positive rate (FPR), false negative rate (FNR), F-measure, average precision (AP), mean average precision (mAP), intersection over union (IoU), area under the curve (AUC), area under the ROC curve (AUC), loss, gradient change, etc. It goes without saying that the judgment index calculated by the learning judgment unit 33 to obtain the judgment result is not limited to the above-mentioned ones.

[0023] The display unit 35 displays the determination result by the learning determination unit 33. The reception unit 36 ​​receives, for example, an execution completion command (stop command) input by a user (operator) while viewing the determination result displayed on the display unit 35. Furthermore, the learning execution unit 32 controls the machine learning execution to be completed in accordance with the execution completion command received by the reception unit 36. Note that the execution completion command received by the reception unit 36 ​​may be configured to be input to the learning execution unit 32 via the learning determination unit 33, for example, rather than being input directly to the learning execution unit 32. In this case, the learning determination unit 33 outputs a signal (determination result) indicating the completion of the machine learning execution to the learning execution unit 32 in accordance with the execution completion command received by the reception unit 36. Here, in the machine learning device 3, for example, the learning execution unit 32, the learning determination unit 33, and the inference execution unit 34 constitute a processing device that executes each example of the machine learning program according to this embodiment.

[0024] However, in conventional machine learning techniques, for example, learning to execute difficult tasks requires a long processing time, and therefore there is a challenge in how to execute learning quickly in a short time without degrading learning performance using an inexpensive GPU. Here, difficult tasks include various machine learning tasks, such as machine learning tasks with large amounts of data, machine learning tasks with a large number of parameters, or machine learning tasks in which objects (workpieces) in images cannot be easily identified correctly or are often misrecognized.

[0025] Furthermore, even if the learning process converges, if a predetermined target learning time or number of learning epochs has not been reached, the learning process may continue in vain, wasting processing time.Furthermore, even if the target learning time or number of learning epochs has been reached, the learning process may be completed before convergence, resulting in insufficient performance.

[0026] In the aforementioned Patent Document 1, the value function is used in reinforcement learning, and the value function is a single scalar value calculated by substituting two images into a neural network. A value function calculated in this manner is an index limited to a specific neural network and is difficult to apply to various machine learning tasks. Furthermore, the aforementioned Patent Document 2 uses the accuracy rate of the training data to determine the convergence of learning, but a determination using the accuracy rate alone is insufficient. That is, even if a high accuracy rate is obtained to achieve a predetermined goal, other quality / indicators may still be low, resulting in errors in cases that have not been trained, and a robust learning result (trained model) that can also handle untrained cases may not be obtained. Furthermore, the aforementioned Patent Document 3 cannot automatically and appropriately complete machine learning execution as needed without user instructions, resulting in unnecessary waste of training processing time.

[0027] In contrast, in the machine learning method, machine learning program, and machine learning device according to this embodiment, the learning determination unit 33 (learning determination step) calculates a judgment index and a change in the judgment index that indicate the convergence of learning based on the learning results by the learning execution unit 32 (learning execution step), and at least determines whether to continue the execution of machine learning based on the calculated judgment index and the change in the judgment index.The learning execution unit 32 (learning execution step) then completes the execution of machine learning based on the determination result by the learning determination unit 33 (learning determination step).This enables learning to be performed quickly in a short time using inexpensive hardware (GPU), enabling efficient machine learning.

[0028] FIG. 2 is a flowchart illustrating an example of processing in a first example of a machine learning method (machine learning program) according to this embodiment, showing an example of processing when the learning execution unit 32 receives a determination result from the learning determination unit 33 and completes the execution of learning. As shown in FIG. 2, when an example of processing in the machine learning program (machine learning method) of the first example begins (START), in step ST11, the camera 4 captures a two-dimensional image of the presence area of ​​the workpieces D1 to D9. That is, as described with reference to FIG. 1, the camera 4 captures a two-dimensional image of the presence area of ​​the workpieces D1 to D9 and outputs it to the machine learning device 3 (data acquisition unit 31). The two-dimensional image from the camera 4 is output to the data acquisition unit 31 and the inference execution unit 34.

[0029] Next, the process proceeds to step ST12, where the data acquisition unit 31 uses the two-dimensional image to output learning data to the learning execution unit 32, and then the process proceeds to step ST13. As will be described later with reference to FIG. 4, the data acquisition unit 31 outputs test data to the inference execution unit 34. In step ST13, the learning execution unit 32 performs machine learning based on the learning data from the data acquisition unit 31 and outputs the learning result. Here, the learning result from the learning execution unit 32 is output to the learning determination unit 33, the inference execution unit 34, and the display unit 35. Further, the process proceeds to step ST14, where the inference execution unit 34 calculates the position of the workpiece based on the two-dimensional image and the learning result from the learning execution unit 32, outputs the calculated workpiece position, and then the process proceeds to step ST15. Note that information on the workpiece position from the inference execution unit 34 is output to the learning determination unit 33 and the control unit 2.

[0030] Here, the learning result processed in step ST13 is used not only in the processing by the inference execution unit 34 in step ST14 described above, but also in the processing in steps ST17 and ST18. That is, in step ST17, the display unit 35 receives and displays the learning result from the learning execution unit 32. Furthermore, in step ST18, the learning determination unit 33 determines convergence based on the learning result from the learning execution unit 32 (determines whether to continue learning because the convergence of the learning model is insufficient, or whether to complete (terminate) the execution of learning because the learning model has sufficiently converged).

[0031] In step ST15, the control unit 2 performs an operation plan and outputs a control command to the robot mechanism unit 10. Then, the process proceeds to step ST16, where the robot mechanism unit 10 controls the robot 1 to pick up the workpieces (D1 to D9), and the example of the processing of the machine learning program of the first embodiment is ended (END).

[0032] 3 is a flowchart for explaining an example of processing in a second example of the machine learning method according to this embodiment, showing an example of processing when the learning execution unit 32 receives a stop command (execution completion command) from the reception unit 36. As shown in FIG. 3, when an example of processing of the machine learning program in the second example starts (START), in step ST21, the camera 4 captures a two-dimensional image of the presence area of ​​the workpieces D1 to D9, and the process proceeds to step ST22. In step ST22, the data acquisition unit 31 outputs learning data using the two-dimensional image.

[0033] Next, the process proceeds to step ST23, where the learning execution unit 32 performs machine learning based on the learning data from the data acquisition unit 31, outputs the learning result, and then proceeds to step ST24. In step ST24, the inference execution unit 34 calculates the position of the workpiece based on the 2D image and the learning result from the learning execution unit 32, outputs the calculated workpiece position, and then proceeds to step ST25. Note that the learning result processed in step ST23 is not only output to the inference execution unit 34 in step ST24 described above, but is also output to the display unit 35 as in step ST27, and the learning result is displayed on the display unit 35. The processing of each of the above steps is substantially the same as that in the first embodiment described with reference to FIG. 2.

[0034] In step ST28, the reception unit 36 ​​receives a stop command from the user and outputs the stop command. In step ST23, as described above, the learning execution unit 32 not only executes machine learning based on the learning data from the data acquisition unit 31, but also completes the learning execution and outputs the learning result when the learning execution unit 32 receives a stop command from the reception unit 36. For example, if the user checks the judgment result displayed on the display unit 35 and determines that it is preferable to complete the machine learning execution at that point, the user outputs a stop command to the learning execution unit 32 via the reception unit 36. Note that when the learning execution unit 32 receives the stop command from the reception unit 36, it completes the machine learning execution.

[0035] In step ST25, the control unit 2 performs an operation plan and outputs a control command to the robot mechanism unit 10. Then, the process proceeds to step ST26, where the robot mechanism unit 10 controls the robot 1 to pick up the workpieces (D1 to D9), and the example of the processing of the machine learning program of the second embodiment is ended (END).

[0036] FIG. 4 is a flowchart illustrating an example of processing in a third example of the machine learning method according to this embodiment, showing an example of processing when the learning execution unit 32 uses the inference results from the inference execution unit 34. As shown in FIG. 4, when an example of processing of the machine learning program of the third example starts (START), in step ST31, the camera 4 captures a two-dimensional image of the area where the works D1 to D9 are present, and the process proceeds to step ST32. In step ST32, the data acquisition unit 31 uses the two-dimensional image to output learning data and test data. That is, the learning data from the data acquisition unit 31 is output to the learning execution unit 32, and the test data from the data acquisition unit 31 is output to the inference execution unit 34.

[0037] Next, the process proceeds to step ST33, where the learning execution unit 32 performs machine learning based on the learning data from the data acquisition unit 31, outputs the learning result, and then proceeds to step ST34. In step ST34, the inference execution unit 34 calculates the position of the workpiece based on the two-dimensional image and the learning result from the learning execution unit 32, outputs the calculated workpiece position, and then proceeds to step ST35. Note that the learning result processed in step ST33 is used not only in the processing of step ST34, but also in the processing of steps ST37, ST38, and ST39.

[0038] That is, in step ST37, the display unit 35 receives and displays the learning result from the learning execution unit 32. In step ST38, the learning determination unit 33 determines convergence based on the learning result from the learning execution unit 32 and the inference result from the inference execution unit 34. Furthermore, in step ST39, the inference execution unit 34 calculates an inference result based on the test data from the data acquisition unit 31 and the learning result from the learning execution unit 32, and outputs the inference result to the learning determination unit 33.

[0039] As described above, according to the machine learning program (machine learning method) of each example of this embodiment, it is not necessary to continue machine learning until a predetermined learning time or number of learning epochs is reached, and by completing machine learning at an appropriate time, it is possible to perform machine learning efficiently. In other words, it is possible to reduce the occurrence of completing learning before it has converged, or wasting processing time by continuing learning even though it has already converged, and further, it is possible to complete machine learning execution in a short time without using expensive hardware (GPU).

[0040] The above-described example of the machine learning program according to this embodiment may be provided by being recorded on a computer-readable non-transitory recording medium or a non-volatile semiconductor memory, or may be provided via a wired or wireless connection. Examples of the computer-readable non-transitory recording medium include optical disks such as CD-ROMs (Compact Disc Read Only Memory) and DVD-ROMs, or hard disk drives. Examples of the non-volatile semiconductor memory include PROMs (Programmable Read Only Memory) and flash memory. Furthermore, distribution from a server device may be via a wired or wireless local area network (LAN) or a wide area network (WAN) such as the Internet.

[0041] 5 and 6 are diagrams for explaining the effects of the machine learning method according to this embodiment. FIG. 5 is a diagram showing the relationship between the number of times of learning and the accuracy rate in an example of machine learning, and shows the results after 20,000 times (2.0×10 4 5 shows a graph in which the accuracy rate is calculated while learning is being carried out, with the goal of learning 100% of the total number of times the learning was performed. In the graph shown in Figure 5, the vertical axis represents the accuracy rate [%], and the horizontal axis represents the number of times the learning was performed.

[0042] As shown in Figure 5, when an example of machine learning was performed with a goal of 20,000 learning iterations, the learning rate was 1,000 (0.1 × 10 4), the accuracy rate stabilized at approximately 99.6% at the time of learning. Therefore, in the example of machine learning shown in FIG. 5 , it was found that learning up to 20,000 times was unnecessary; learning only 1,000 times was sufficient. In other words, it was found that the remaining 19,000 times were wasted learning. By applying an example of the machine learning method according to this embodiment to this example of machine learning, for example, by setting the accuracy rate and loss as the judgment index in the learning judgment step (learning judgment unit 33) as described below with reference to FIG. 6 , it was possible to reduce the number of wasted learning times and perform machine learning efficiently. In this way, by applying the machine learning method according to this embodiment to this example of machine learning, it was possible to reduce the learning time by more than 90% while maintaining performance.

[0043] That is, the learning judgment step calculates the accuracy rate (judgment index) and the change in the accuracy rate that indicate the convergence of learning based on the learning results of the learning execution step, and at least judges whether to continue the execution of machine learning based on the calculated judgment index and the change in the judgment index. Here, the accuracy rate that indicates the convergence of learning can also be, for example, the accuracy rate of pixels on an image. Note that the judgment index used in the learning judgment step is not limited to the accuracy rate, and various other indices can be used, such as precision, recall, specificity, false positive rate, false negative rate, F-measure, AP, mAP, IoU, AUC, loss, and gradient change.

[0044] 6A and 6B are diagrams showing the relationship between the number of training iterations and the accuracy rate and loss in another example of the machine learning method according to this embodiment. FIG. 6A is a diagram (graph) showing the relationship between the accuracy rate and the number of training iterations, and FIG. 6B is a diagram showing the relationship between loss and the number of training iterations. As shown in FIG. 6A, when the calculation results using only the accuracy rate as the judgment indicator are examined, it appears that the accuracy rate has already converged to 96.1% when the number of training iterations reaches approximately 600 to 800, i.e., learning has converged. At this point, one might decide to complete the machine learning execution, but when the calculation results for loss when the number of training iterations reaches approximately 600 to 800, it can be seen that the loss tends to decrease further.

[0045] In such a case, according to one example of the machine learning method of this embodiment, for example, a comprehensive judgment is made based on the two calculation results of the accuracy rate and the loss as a judgment index. This makes it possible to predict that the accuracy rate may be further increased. Specifically, by setting both the accuracy rate as shown in FIG. 6(a) and the loss as shown in FIG. 6(b) as judgment indexes, the highest accuracy rate of 99.6% was obtained after more than 800 learning runs (900 or more).

[0046] That is, for example, if the machine learning execution was completed when the number of learning iterations reached 800 based on the calculation result of only the accuracy rate as the judgment index, the accuracy rate would be 96.1%. However, by using the calculation results of both the accuracy rate and the loss as the judgment index and setting the time when the number of learning iterations reached 900, the accuracy rate could be further increased to 99.6%. As such, it can be seen that it is preferable to determine the completion of the learning execution (number of learning iterations) based on, for example, multiple judgment indexes calculated simultaneously, rather than determining the completion of the learning execution based on a single judgment index (evaluation index). In other words, issuing a command to complete the machine learning execution based on a comprehensive view of the calculation results using multiple judgment indexes makes it possible to generate a trained model with good performance.

[0047] Furthermore, when the judgment index changes, for example, when the calculated value of the amount of change in the judgment index satisfies a predetermined threshold (second condition), a determination can be made to complete the execution of machine learning. That is, when the calculated value of the amount of change in the judgment index satisfies the second condition, the learning determination unit 33 (learning determination step) determines to complete the execution of machine learning (outputs the determination result for terminating the machine learning to the learning execution unit 32).

[0048] Furthermore, when the judgment index repeatedly increases or decreases, i.e., when the calculated value of the change in the judgment index includes multiple periods of monotonically increasing (or multiple periods of monotonically decreasing), for example, the learning judgment unit 33 (learning judgment process) can also make a judgment to complete the execution of machine learning when the number of times the judgment index monotonically increases (or monotonically decreases) and the amplitude satisfy a predetermined threshold (third condition).

[0049] Here, if the decision index does not monotonically increase (or decrease), but instead repeatedly increases and decreases, it means that the decision index has not yet converged. Completing machine learning at this time will result in the generation of a trained model with poor performance. Furthermore, if the amplitude, which represents the magnitude of change in the decision index, is large, it indicates that the decision index has not yet converged and is in an unstable state in terms of quality. Therefore, completing machine learning at this time will result in the generation of a trained model with poor performance. By appropriately completing machine learning while calculating the decision index and its monotonic change (increase or decrease) and amplitude, it is possible to avoid completing machine learning in such an unconverged state and generating a trained model with poor performance.

[0050] For example, when detecting multiple workpieces in an image, consider the case where each pixel in the image can be tagged as either a "pixel within the area of ​​workpiece A," a "pixel within the area of ​​workpiece B," or a "pixel that does not belong to any workpiece area" (e.g., a "background area"). In this case, a score of "1" is assigned to each pixel determined by the machine learning learning results (trained model) as a "pixel within the area of ​​workpiece A," a "pixel within the area of ​​workpiece B," etc., and a score of "0" is assigned to each pixel determined as a "pixel that does not belong to any workpiece area." By comparing the determination results from the machine learning learning results with pre-given correct answer data, the accuracy rate for all pixels in the image can be calculated, which can be used as a judgment indicator of learning convergence. Using the judgment index calculated in this way, the ``work A area,'' ``work B area,'' ... ``background area'' on the image can be strictly divided for each pixel, making it possible to avoid mistakenly treating part of the work area as the background area, or mistakenly treating part of the background area as the work area, or mistakenly treating part of the work A area as the work B area, etc., and making it possible to accurately calculate the shape area of ​​each work appearing on the image.

[0051] For example, in a task of detecting multiple workpieces in an image, a score of "1" is assigned to each candidate area identified as a "workpiece A area," a "workpiece B area," etc. by the machine learning learning results (trained model), and a score of "0" is assigned to each candidate area identified as a "non-workpiece area." By comparing the results of the machine learning learning with pre-given correct answer data, the accuracy rate for all candidate areas in the image can be calculated and used as a single judgment index showing the convergence of the learning. Using the judgment index calculated in this way, it is possible to strictly separate the "workpiece A area," the "workpiece B area," etc., and the "background area" on the image. This prevents the mistaken treatment of part of the workpiece area as the background area, or the mistaken treatment of part of the background area as the workpiece area, or the mistaken treatment of part of the workpiece A area as the workpiece B area, thereby enabling the accurate calculation of the shape area of ​​each workpiece in the image.

[0052] FIG. 7 is a diagram illustrating an example of a workpiece in a robot system using an example of a machine learning device according to this embodiment. In a robot system using the machine learning device of this embodiment, the workpiece (object) D0 to be worked on is not limited to rectangular parallelepiped objects made of the same material, such as the cardboard boxes D1 to D9 shown in FIG. 1 , but various other objects are possible. Specifically, the workpiece D0 shown in FIG. 7 is an air coupling component, with regions Da, Db, and Dd formed from plastic (e.g., PTFE: polytetrafluoroethylene) and region Dc formed from metal (e.g., brass or stainless steel). Here, the metal forming region Dc has a higher specific gravity than the plastic forming regions Da, Db, and Dd. Furthermore, region Dc is configured to surround regions Db to Dd with a hexagonal plane to facilitate tightening operations using tools such as wrenches.

[0053] For example, in a task of detecting a certain feature on multiple workpieces shown in an image (e.g., a plane Dc having a large area on workpiece D0 shown in FIG. 7), a score of "1" is assigned to each candidate area determined as a "large planar area on workpiece A," "large planar area on workpiece B," etc. based on the machine learning learning results (trained model), and a score of "0" is assigned to each candidate area determined as an "area that is not a large planar area on the workpiece." By comparing the determination results from the machine learning learning results with pre-given correct answer data, the accuracy rate for all candidate areas on the image can be calculated, and this can also be used as a judgment index showing the convergence of learning. Using the judgment index calculated in this way, it is possible to strictly separate "large planar areas on workpiece A," "large planar areas on workpiece B," ... "areas on the workpiece that are not large planar areas," on the image, and it is possible to avoid mistakenly treating part of a large planar area on the workpiece as a background area, mistakenly treating part of a background area as a large planar area on the workpiece, or mistakenly treating part of a large planar area on workpiece A as a large planar area on workpiece B, etc., and it becomes possible to accurately calculate the shape area of ​​the large planar areas on each workpiece shown in the image.

[0054] 7 has a fairly complex shape, and when using a suction pad attached to an air suction hand (end effector) 12 mounted on the tip of the arm 11 of the robot 1 to suck in air and pick up the workpiece D0, if an attempt is made to pick up an area such as Dd with the suction pad 12, air will leak and the suction operation will fail. Therefore, since a planar area Dc having a large area that can maintain airtightness is preferred rather than an arbitrary area on the workpiece D0, it is possible to accurately detect Dc, which is a partial area on the workpiece D0, using the machine learning method according to the present embodiment described above.

[0055] As described above, according to the machine learning method, machine learning program, and machine learning device of this embodiment, the learning determination unit 33 calculates a determination index based on the inference result output from the inference execution unit 34 and the learning result from the learning execution unit 32, outputs the determination result to the learning execution unit 32, and completes the execution of machine learning. The determination index calculated by the learning determination unit 33 to obtain the determination result can be, for example, at least one selected from the accuracy rate, precision, recall, specificity, false positive rate, false negative rate, F-measure, AP, mAP, IoU, AUC, loss, and gradient change. As mentioned above, the determination index calculated by the learning determination unit 33 to obtain the determination result is not limited to the above-mentioned ones. Furthermore, the above-mentioned multiple determination indexes can be used in appropriate combination depending on the content and target of the machine learning, and further, the respective examples according to this embodiment described above can also be implemented in appropriate combination as needed.

[0056] As described above in detail, the machine learning method, machine learning program, and machine learning device according to the present embodiment make it possible to perform machine learning efficiently.

[0057] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values ​​or mathematical expressions are used in the description of the above-described embodiments.

[0058] The following supplementary notes are further disclosed regarding the above embodiments and variations. [Supplementary Note 1] A machine learning method comprising at least a learning judgment step of calculating a judgment index indicating learning convergence and an amount of change in the judgment index, and making a judgment on whether to continue executing the machine learning based on the calculated judgment index and amount of change in the judgment index. [Supplementary Note 2] The machine learning method according to Supplementary Note 1, further comprising a data acquisition step of acquiring learning data, and a learning execution step of executing machine learning based on the learning data, wherein the learning judgment step calculates the judgment index and the amount of change in the judgment index based on a learning result from the learning execution step, and the learning execution step completes the execution of the machine learning based on the judgment result from the learning judgment step. [Supplementary Note 3] The machine learning method according to Supplementary Note 1 or Supplementary Note 2, further comprising a display step of displaying the judgment result. [Supplementary Note 4] The machine learning method according to any one of Supplements 1 to 3, wherein the judgment index includes at least one of accuracy rate, precision, recall, specificity, false positive rate, false negative rate, F-measure, AP, mAP, IoU, AUC, loss, and change in gradient. [Supplementary Note 5] The machine learning method according to Supplementary Note 4, wherein the judgment index is calculated for at least one of pixels on an image or a partial region on an image. [Supplementary Note 6] The machine learning method according to Supplementary Note 5, wherein the partial region on an image is a region reflecting the range of all or part of a workpiece depicted on the image. [Supplementary Note 7] The machine learning method according to any one of Supplements 1 to 6, wherein the learning judgment step determines to complete the execution of the machine learning when one calculated value of the judgment index, multiple calculated values ​​of the judgment index, or a combination of multiple calculated values ​​of the judgment index satisfies a first condition. [Supplementary Note 8] The machine learning method according to any one of Supplementary Notes 1 to 7, wherein the learning determination step determines to complete the execution of the machine learning when the calculated value of the amount of change in the determination index satisfies a second condition. [Supplementary Note 9] The machine learning method according to any one of Supplementary Notes 1 to 8, wherein the learning determination step determines to complete the execution of the machine learning when the calculated value of the amount of change in the determination index includes a period during which it monotonically decreases, and the number and amplitude of the monotonous decreases satisfy a third condition.[Supplementary Note 10] The machine learning method according to Supplementary Note 2, wherein the data acquisition step acquires learning data including supervised data, and the learning determination step calculates the determination index based on the learning data including the supervised data and the learning result from the learning execution step, and determines whether to continue the execution of the machine learning. [Supplementary Note 11] The machine learning method according to Supplementary Note 2 or Supplementary Note 10, further comprising an inference execution step, wherein the data acquisition step acquires test data including supervised data, and the inference execution step calculates and outputs an inference result based on the test data and the learning result from the learning execution step, and the learning determination step calculates the determination index based on the inference result, and determines whether to continue the execution of the machine learning. [Supplementary Note 12] The machine learning method according to Supplementary Note 11, wherein the data acquisition step acquires two-dimensional images of areas where multiple workpieces exist and outputs learning data including the two-dimensional images, and the learning execution step performs machine learning on the learning data including the two-dimensional images. [Supplementary Note 13] The machine learning method is a method for machine learning a robot (1) that picks up workpieces (D1 to D9) using a control unit (2), wherein the robot (1) comprises a robot mechanism unit (10) whose operation is controlled based on a control command from the control unit (2), the inference execution process calculates at least the positions of the workpieces (D1 to D9) based on the learning result from the learning execution process and the two-dimensional image from the data acquisition process, the control unit (2) sets the calculated positions of the workpieces (D1 to D9) as target positions, performs an operation plan to pick up the workpieces (D1 to D9), and outputs a control command to the robot mechanism unit (10), and the robot mechanism unit (10) controls the robot (1) to pick up the workpieces (D1 to D9) based on the control command. This is the machine learning method described in Supplementary Note 12. [Supplementary Note 14] The machine learning method according to any one of Supplementary Note 1 to Supplementary Note 13, further comprising a receiving step, wherein the receiving step receives an execution completion command input based on the determination result displayed by the display step, and the learning execution step completes the execution of the machine learning in accordance with the execution completion command from the receiving step.[Supplementary Note 15] A machine learning program causing a processing device to execute the machine learning method according to any one of Supplementary Note 1 to Supplementary Note 14. [Supplementary Note 16] A machine learning device (3) comprising a learning determination unit (33) that calculates a judgment index indicating learning convergence and an amount of change in the judgment index, and at least determines whether to continue executing the machine learning based on the calculated judgment index and the amount of change in the judgment index. [Supplementary Note 17] The machine learning device according to Supplementary Note 16 further comprises a data acquisition unit (31) that acquires learning data, and a learning execution unit (32) that executes machine learning based on the learning data, wherein the learning determination unit (33) calculates the judgment index and the amount of change in the judgment index based on a learning result by the learning execution unit (32), and the learning execution unit (32) completes the execution of the machine learning based on the determination result by the learning determination unit.

[0059] 1 Robot 2 Control unit (robot control device) 3 Machine learning device 4 Camera 10 Robot mechanism unit 11 Arm 12 End effector (hand unit) 31 Data acquisition unit 32 Learning execution unit 33 Learning determination unit 34 Inference execution unit 35 Display unit 36 ​​Reception unit 100 Robot system D1 to D9 Work (object)

Claims

1. A machine learning method comprising at least a learning judgment step of calculating a judgment index indicating learning convergence and a change in the judgment index, and determining whether to continue executing machine learning based on the calculated judgment index and the change in the judgment index.

2. The method further comprises a data acquisition step of acquiring learning data, and a learning execution step of executing machine learning based on the learning data, the learning and judging step calculates the judgment index and a change amount of the judgment index based on the learning result of the learning execution step; The machine learning method according to claim 1 , wherein the learning execution step completes the execution of the machine learning based on a determination result in the learning determination step.

3. Further, a display step is provided, The machine learning method according to claim 1 or 2, wherein the display step displays the determination result.

4. 3. The machine learning method according to claim 1, wherein the determination metrics include at least one of accuracy rate, precision rate, recall rate, specificity rate, false positive rate, false negative rate, F-measure, AP, mAP, IoU, AUC, loss, and change in gradient.

5. The machine learning method according to claim 4 , wherein the judgment index is calculated for at least one of a pixel on an image or a partial region on an image.

6. The machine learning method according to claim 5 , wherein the partial area on the image is an area that reflects the range of all or part of the area of ​​the workpiece shown on the image.

7. 3. The machine learning method according to claim 1, wherein the learning determination step determines to complete the execution of the machine learning when one calculated value of the determination index, multiple calculated values ​​of the determination index, or a combination of multiple calculated values ​​of the determination index satisfies a first condition.

8. The machine learning method according to claim 1 , wherein the learning determination step determines to complete the execution of the machine learning when the calculated value of the change in the determination index satisfies a second condition.

9. 3. The machine learning method according to claim 1, wherein the learning determination step determines to complete the execution of the machine learning when the calculated value of the change amount of the determination index includes a period during which the calculated value monotonically decreases, and the number and amplitude of the monotonically decreasing values ​​satisfy a third condition.

10. The data acquisition step acquires learning data including correct answer data, The machine learning method according to claim 2 , wherein the learning determination step calculates the determination index based on the learning data including the correct answer data and the learning result obtained by the learning execution step, and determines whether to continue the execution of the machine learning.

11. Further, an inference execution step is provided, The data acquisition step acquires test data including correct answer data, the inference execution step calculates and outputs an inference result based on the test data and the learning result obtained by the learning execution step; The machine learning method according to claim 2 or 10, wherein the learning determination step calculates the determination index based on the inference result and determines whether to continue the execution of the machine learning.

12. The data acquisition step acquires two-dimensional images of areas where a plurality of workpieces are present, and outputs learning data including the two-dimensional images; The machine learning method according to claim 11 , wherein the learning execution step executes machine learning on the learning data including the two-dimensional image.

13. The machine learning method is a method for learning by machine learning a robot that picks up a workpiece using a control unit, the robot includes a robot mechanism unit whose operation is controlled based on a control command from the control unit, the inference execution step calculates at least a position of the workpiece based on the learning result obtained by the learning execution step and the two-dimensional image obtained by the data acquisition step; the control unit sets the calculated position of the workpiece as a target position, performs an operation plan to pick up the workpiece, and outputs a control command to the robot mechanism unit; The machine learning method according to claim 12 , wherein the robot mechanism unit controls the robot so as to pick up the workpiece based on the control command.

14. Furthermore, it has a reception process, the receiving step receives an execution completion command input based on the determination result displayed by the display step; The machine learning method according to claim 1 , wherein the learning execution step completes the execution of the machine learning in accordance with the execution completion command from the receiving step.

15. A machine learning program that causes a processing device to execute the machine learning method according to claim 1 or 2.

16. A machine learning device comprising: a learning judgment unit that calculates a judgment index indicating learning convergence and a change in the judgment index, and at least determines whether to continue executing machine learning based on the calculated judgment index and the change in the judgment index.

17. The system further includes a data acquisition unit that acquires learning data, and a learning execution unit that executes machine learning based on the learning data, the learning determination unit calculates the determination index and a change amount of the determination index based on the learning result by the learning execution unit; The machine learning device according to claim 16 , wherein the learning execution unit completes execution of the machine learning based on a determination result by the learning determination unit.