Learning Device
Patent Information
- Application Number
- JP2021080353
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-05-11
- Publication Date
- 2025-03-18
- Estimated Expiration
- 2041-05-11
Smart Images

Figure 0007647307000001 
Figure 0007647307000002 
Figure 0007647307000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a technique for training a learning model using a convolutional neural network. [Background technology]
[0002] Patent Document 1 discloses a learning processing device having an acquisition unit that acquires an input image, and a conversion unit that converts the input image into an output image by using some network parameters selected from among network parameters generated by learning in a convolutional neural network, based on a feature map obtained in an intermediate layer of the convolutional neural network. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2019-139713 A Summary of the Invention [Problem to be solved by the invention]
[0004] When the input data becomes large, the amount of data processed during learning may become too large, so it is preferable to reduce the amount of data processed at one time.
[0005] An object of the present invention is to provide a technique for improving learning accuracy while suppressing the amount of data processed at one time. [Means for solving the problem]
[0006] In order to solve the above problem, a learning device according to an embodiment of the present invention includes an acquisition unit that acquires target data to be learned, and a learning processing unit that generates a learning model that has learned the characteristics of the target data. The learning processing unit includes a model storage unit that stores a learning model of a convolutional neural network, a division unit that divides the target data into pieces of a predetermined size to generate a plurality of divided data, and a convolution unit that provides a padding section on the periphery of the divided data and convolves the divided data with the padding section to train the learning model. The division unit divides the divided data so that the peripheries of adjacent divided data overlap. The convolution unit corrects element values located at the outer periphery of the divided data. Each of the convoluted divided data is combined by averaging the overlapping portions of adjacent divided data. Another aspect of the present invention is a learning device. The learning device includes an acquisition unit that acquires target data to be learned, and a learning processing unit that generates a learning model that has learned the characteristics of the target data. The learning processing unit includes a model holding unit that holds a learning model of a convolutional neural network, a division unit that divides the target data into pieces of a predetermined size to generate a plurality of divided data, and a convolution unit that provides a padding section on the periphery of the divided data and convolves the divided data together with the padding section to learn the learning model. The division unit divides the divided data so that the peripheries of adjacent divided data overlap. The convolution unit corrects an element value located at the outer periphery of the divided data based on the average value of the element values surrounding the element value. Effect of the Invention
[0007] According to the present invention, it is possible to provide a technique for improving learning accuracy while suppressing the amount of data processed at one time. [Brief description of the drawings]
[0008] [Figure 1] 11 is a flowchart of a learning process according to an embodiment. [Diagram 2] FIG. 2 is a diagram illustrating a functional configuration of a learning device according to an embodiment. [Diagram 3] 11 is a diagram for explaining a division process performed by a division unit; FIG. [Figure 4] FIG. 13 is a diagram for explaining a convolution process. [Diagram 5] FIG. 13 is a diagram for explaining correction in the convolution process. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] The learning device of the embodiment uses a convolutional neural network technique to learn the characteristics of target data to be learned and generate a learning model. As a result, the learning model is a generator that can output data having the characteristics of the target data.
[0010] 1 is a flowchart of the learning process of the embodiment. The learning device acquires target data to be learned (S10). The target data may be, for example, a two-dimensional or three-dimensional figure, such as CAD data. The target data may also be three-dimensional spatial data for simulating fluid, temperature, heat flow rate, strain, and the like. In any case, the target data may be composed of elements separated by two-dimensional or three-dimensional coordinates.
[0011] The learning device inputs the acquired target data into a learning model (S12). For example, CAD data is converted into point cloud data in CSV (Comma Separated Value) format and input into the learning model. The learning model is a convolutional neural network model.
[0012] The learning device executes a learning process to make the learning model learn the characteristics of the target data (S14), and generates the learning model (S16). The learning model that has learned the characteristics of the target data can output data having the characteristics of the target data.
[0013] 2 shows the functional configuration of the learning device 10 of the embodiment. The various functions of the learning device 10 can be configured in hardware with circuit blocks, memory, and other LSIs, and are realized in software with programs loaded into memory, etc. Therefore, it will be understood by those skilled in the art that the various functions of the learning device 10 can be realized in various forms by hardware alone, software alone, or a combination of both, and are not limited to any one of them.
[0014] The learning device 10 includes a data acquisition unit 20, a learning processing unit 22, an execution unit 24, and an output unit 26. The learning processing unit 22 includes a division unit 30, a convolution unit 32, and a model holding unit .
[0015] The data acquisition unit 20 acquires target data to be learned. The data acquisition unit 20 acquires the target data as point cloud data divided by coordinates. The data acquisition unit 20 may convert target data such as CAD data into point cloud data divided by coordinates.
[0016] The dividing unit 30 of the learning processing unit 22 divides the target data into pieces of a predetermined size. For example, the dividing unit 30 divides the target data into pieces of a predetermined size in the vertical direction, horizontal direction, and height direction.
[0017] FIG. 3 is a diagram for explaining the division process by the division unit 30. FIG. 3 shows a three-dimensional figure as the target data 40. The division unit 30 divides the target data 40 into a plurality of divided data 42 by a predetermined size P. The predetermined size P is, for example, 32 pixels in 3D CAD data. Even when the target data is spatial data, the division unit 30 divides the target data into divided data of a predetermined size. Each of the divided data 42 is individually convoluted and then combined. By dividing the target data 40 and individually convolving the divided data 42, the amount of data processed at one time can be reduced compared to processing all at once.
[0018] The dividing section 30 may cut out the divided data 42 so that the outer peripheries of adjacent divided data 42 overlap. When combining the divided data 42 after convolution, the overlapping portions of the adjacent divided data 42 are averaged and combined.
[0019] Returning to Fig. 2, the model holding unit 34 holds a model of the convolutional neural network. The convolution unit 32 executes convolution multiple times for each divided data 42. The processing in the convolution unit 32 will be described with reference to a new drawing.
[0020] FIG. 4 is a diagram for explaining the convolution process. FIG. 4(a) shows the divided data 44a. This divided data 44a is two-dimensional and is composed of element values arranged at each coordinate of a 4×4 grid. The element value is, for example, the probability of the existence of an object, and is indicated between 0 and 1. If it is 1, it definitely exists, and if it is 0, it does not exist. There may be multiple element values in one cell. For example, in 3D CAD data, the element values include the probability of the existence of an object, pixel values, normal vectors, R values indicating the degree of curvature, values indicating unevenness, etc. The R value is included only in cells located at the edge of the figure. In three-dimensional spatial data, the element values may include density, viscosity, flow rate, temperature, etc.
[0021] In FIG. 4(b), the convolution unit 32 adds padding section 46 to the squares on the periphery of the divided data 44a. The padding section 46a surrounds the entire periphery of the divided data 44a and is provided for one square on the periphery. In this processing example, zero padding is performed, and zeros are input to the padding section 46a. Note that the value of the padding section 46 does not need to be limited to zero, and at least the same numerical value set in advance is input. By filling the periphery of the divided data 44, it is possible to easily reflect the element values located at the ends of the divided data 44a.
[0022] In FIG. 4(c), the convolution unit 32 executes convolution on the divided data 44a and the padding portion 46a shown in FIG. 4(b), and the divided data 44b and the padding portion 46b after the first convolution are generated. The divided data 44b and the padding portion 46b after the convolution are intermediate data and are also called feature maps. The parameters of a function for calculating the divided data 44b, which is the output data, from the divided data 44a, which is the input data, are learned. The divided data 44b after the convolution represents the relationship between cells, and the density indicating the relationship between the cells becomes higher by repeating the convolution. In the convolution, the element value of each cell is averaged with the element value of the surrounding cells, so that the element value located at the end of the divided data 44b is averaged including the padding portion 46a, and the apex cell 48 contains the most value of the padding portion 46a and is greatly affected by the padding.
[0023] Fig. 5 is a diagram for explaining correction in the convolution process. Fig. 5(a) is similar to Fig. 4(c) and shows the convoluted divided data 44b and the padding portion 46b. The convolution unit 32 corrects the element values of cells 48 and 50 located on the outer periphery of the convoluted divided data 44b.
[0024] The convolution unit 32 corrects each outer periphery of the divided data 44b, corrects the element values of the cells 48 and 50 located on the outer periphery, and increases the element values on the convolved outer periphery side. This makes it possible to interpolate the element values on the outer periphery side that have been undercalculated due to zero padding. The element values of the cells not located on the outer periphery side are not corrected and remain the same.
[0025] Since division data 44b is corrected for each perimeter, two corrections are made to the element values of vertex cells 48 in two dimensions, and a larger correction is made to the element values of cells 50 that are not positioned at vertices. For three-dimensional division data, convolution unit 32 makes corrections for each outer peripheral surface, and therefore makes three corrections to the element values of vertex cells.
[0026] The convolution unit 32 may correct the element values located at the outer periphery using the surrounding element values. For example, the convolution unit 32 corrects the element values located at the outer periphery based on the average value of the surrounding element values. The convolution unit 32 may also correct the element values located at the outer periphery by multiplying them by a correction value according to the padding value. When zero padding is performed, the convolution unit 32 multiplies the element values located at the outer periphery by a correction value greater than 1. When zero padding is performed, the correction value becomes the largest, and the correction value may be set to, for example, 1.5. In this way, the convolution unit 32 corrects the element values of the cells located at the outer periphery so as to interpolate the bias caused by the convolution including the padding portion. In particular, the convolution unit 32 corrects the element values of the cells located at the outer periphery so as to interpolate the decrease caused by the zero padding.
[0027] The element values located at the outer periphery of the divided data 44 are more important than the case where the target data 40 is not divided. By correcting the element values located at the outer periphery of the divided data 44 to reduce the influence of the padding, the learning accuracy can be improved.
[0028] Returning to FIG. 2, the convolution unit 32 completes the first layer of convolution by averaging and compressing, and then repeats convolution in multiple layers to generate a learning model that has learned the characteristics of the target data. The learning model is generated by learning the parameters of a function (also called a filter) that connects input data and output data. In other words, the parameters of the function held by the learning model are adjusted by learning. The convolution unit 32 may correct the element values located on the periphery every time convolution is performed, but may only do so at a specified timing. The specified timing is, for example, the first and last convolutions performed among the multiple convolutions performed. Also, the correction may be performed at least at the time of the convolution that compresses among the multiple convolutions performed.
[0029] 5 shows an example in which the convolution unit 32 corrects the outer periphery of the divided data 44b after performing convolution including zero padding, but the present invention is not limited to this example. For example, the convolution unit 32 may correct the element values located at the outer periphery edge before performing convolution. The convolution unit 32 pads the element values located at the outer periphery edge before convolution to compensate for the reduction that may occur due to zero padding.
[0030] The execution unit 24 executes data generation using a learning model that has learned the characteristics of the target data. The execution unit 24 generates an image having the characteristics learned using the learning model based on an input image. For example, if the learning model has learned the characteristics of a zebra, the execution unit 24 can generate an image of a horse with a zebra pattern from an image of a brown horse. The execution unit 24 may generate point cloud data using the learning model and convert the generated point cloud data into an image.
[0031] The output unit 26 is a display device, and outputs the data generated by the execution unit 24. In this manner, by generating a learning model that has learned the characteristics of the target model, it becomes possible to output data having the characteristics of the target model.
[0032] It should be understood that the embodiments are merely illustrative, that various modifications are possible in the combination of the components, and that such modifications are also within the scope of the present invention. [Explanation of symbols]
[0033] 10 learning device, 20 data acquisition unit, 22 learning processing unit, 24 execution unit, 26 output unit, 30 division unit, 32 convolution unit, 34 model holding unit, 40 target data, 42, 44 divided data, 46 padding unit.
Claims
1. An acquisition unit that acquires target data to be learned; A learning processing unit that generates a learning model that has learned the characteristics of the target data, The learning processing unit: A model storage unit that stores a learning model of a convolutional neural network; a division unit that divides the target data into pieces of a predetermined size to generate a plurality of divided data pieces; A convolution unit that provides a padding portion on the outer periphery of the divided data and convolves the divided data together with the padding portion to learn a learning model, the dividing unit divides the data such that the peripheries of adjacent divided data pieces overlap, The convolution unit corrects element values located at an outer periphery of the divided data, A learning device characterized in that each of the convoluted divided data is combined by averaging the overlapping portions of adjacent divided data.
2. An acquisition unit that acquires target data to be learned; A learning processing unit that generates a learning model that has learned the characteristics of the target data, The learning processing unit: a model storage unit that stores a learning model of a convolutional neural network; a division unit that divides the target data into pieces of a predetermined size to generate a plurality of divided data pieces; A convolution unit that provides a padding portion on the outer periphery of the divided data and convolves the divided data together with the padding portion to learn a learning model, the dividing unit divides the data such that the peripheries of adjacent divided data pieces overlap, The learning device is characterized in that the convolution unit corrects element values located at the outer edge of the divided data based on the average value of element values surrounding that element value.
Citation Information
Patent Citations
Image processing apparatus, imaging apparatus, image processing method, program and storage medium
JP2019139713A
Labeled image data creation method, inspection method, program, labeled image data creation device, and inspection device
JP2020013507A
JPP6818961B