WO2022195691A1 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents

情報処理装置、情報処理方法及び情報処理プログラム Download PDF

Info

Publication number
WO2022195691A1
WO2022195691A1 PCT/JP2021/010452 JP2021010452W WO2022195691A1 WO 2022195691 A1 WO2022195691 A1 WO 2022195691A1 JP 2021010452 W JP2021010452 W JP 2021010452W WO 2022195691 A1 WO2022195691 A1 WO 2022195691A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
deep learning
learning model
label
loss
Prior art date
Application number
PCT/JP2021/010452
Other languages
English (en)
French (fr)
Inventor
裕也 大日方
琢麿 山本
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to EP21931445.7A priority Critical patent/EP4310734A4/en
Priority to JP2023506415A priority patent/JPWO2022195691A1/ja
Priority to PCT/JP2021/010452 priority patent/WO2022195691A1/ja
Publication of WO2022195691A1 publication Critical patent/WO2022195691A1/ja
Priority to US18/458,363 priority patent/US20230409911A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0895Weakly supervised learning, e.g. semi-supervised or self-supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Definitions

  • the present invention relates to an information processing device, an information processing method, and an information processing program.
  • One is a technique for acquiring feature extraction ability, which is the ability to extract image features used for recognition from unlabeled data. Specifically, features are extracted from unlabeled data using a deep learning model, and based on the extracted features, the data are grouped together and divided into multiple clusters. Acquire feature extraction ability by assigning labels and performing learning.
  • the other is a technology that gives the deep learning model the ability to extract features that have been acquired in advance, and then performs learning with labeled data, limited to the ability to identify data based on the extracted features.
  • This technology is called Transfer Learning.
  • the feature extraction ability and discrimination ability of the deep learning model are different from each other. Individually learned and optimized. That is, the ability to extract features from unlabeled data optimizes the ability to extract features, and the learning limited to the ability to identify data based on the extracted features optimizes the ability to discriminate. For this reason, when each process is performed in order, it becomes difficult to tune the feature quantity extraction ability in accordance with the identification ability, resulting in a local optimum solution. As a result, the overall recognition performance of the deep learning model is low.
  • the disclosed technology has been made in view of the above, and aims to provide an information processing device, an information processing method, and an information processing program that improve the recognition performance of a deep learning model.
  • the storage unit stores a plurality of labeled data in which a label representing a correct answer and target data are associated with each other, A plurality of unlabeled data, which are target data without , and a deep learning model are stored.
  • a pseudo label generator generates a pseudo label based on the unlabeled data and the deep learning model.
  • the loss calculation unit identifies the unlabeled data and the labeled data using the deep learning model based on the pseudo label and the label included in the labeled data. Calculate the loss of
  • the updating unit updates the deep learning model based on the loss calculated by the loss calculating unit.
  • the information processing device information processing method, and information processing program disclosed in the present application, it is possible to improve the recognition performance of the deep learning model.
  • FIG. 1 is a block diagram of a learning device according to the first embodiment.
  • FIG. 2 is a diagram for explaining the learning method according to the first embodiment.
  • FIG. 3 is an overall flowchart of learning processing according to the first embodiment.
  • FIG. 4 is a flow chart of simultaneous learning using labeled data and unlabeled data.
  • FIG. 5 is a block diagram of a learning device according to the second embodiment.
  • FIG. 6 is a diagram for explaining the learning method according to the second embodiment.
  • FIG. 7 is a diagram showing an example of learning data used in the third embodiment.
  • FIG. 8 is a diagram illustrating an example of a hardware configuration of a learning device;
  • FIG. 1 is a block diagram of the learning device according to the first embodiment.
  • a learning device 1 which is an information processing device according to the present embodiment, learns a deep learning model 110 that recognizes image data.
  • image data is specifically data represented as a set of RGB (Red Green Blue) values in each pixel displayed on the screen.
  • the learning device 1 includes a storage unit 11, a pseudo label generation unit 12, a model output unit 13, a loss calculation unit 14, and an update unit 15, as shown in FIG.
  • the storage unit 11 stores a deep learning model 110, an unlabeled DB (Data Base) 111, and a labeled DB 112.
  • the deep learning model 110 is a learning model that performs image recognition in this embodiment.
  • the deep learning model 110 has a feature amount extraction layer for extracting features of image data and an identification layer for identifying an object appearing in the image data from the feature amount of the image data.
  • the unlabeled DB 111 is a database that stores unlabeled data 201, which is image data.
  • the unlabeled DB 111 stores unlabeled data 201 input by a user using an external terminal device or the like.
  • the unlabeled data 201 is learning data that does not have a correct label indicating what the object in the image data is.
  • the labeled DB 112 is a database that stores labeled data 202, which is image data.
  • the labeled DB 112 stores labeled data 202 input by a user using an external terminal device or the like.
  • the labeled data 202 is learning data with a correct label.
  • the pseudo label generation unit 12 acquires the deep learning model 110 stored in the storage unit 11. Also, the pseudo-label generator 12 reads a plurality of unlabeled data 201 from the unlabeled DB 111 . At this time, the pseudo-label generator 12 preferably reads all unlabeled data 201 . Next, the pseudo-label generation unit 12 inputs each unlabeled data 201 included in the loaded image group to the deep learning model 110 to acquire outputs corresponding to each of the unlabeled data 201 .
  • the pseudo-label generating unit 12 collects each unlabeled data 201 included in the read image group according to the output value from the deep learning model 110 and divides them into a predetermined number of clusters. For example, the pseudo-label generator 12 performs clustering using k-means clustering.
  • the pseudo-label generation unit 12 assigns pseudo-labels that are pseudo-correct answers to each cluster. For example, if there are k classes, the pseudo-label generator 12 assigns pseudo-labels such as class #1, class #2, class #3, . . . , class #k. After that, the pseudo-label generating unit 12 outputs the information of the unlabeled data 201 included in each cluster and the pseudo-label assigned to each cluster to the loss calculating unit 14 .
  • the model output unit 13 acquires outputs from the deep learning models 110 of the unlabeled data 201 and the labeled data 202, respectively.
  • the model output section 13 has a first model output section 131 and a second model output section 132 .
  • the loss calculation unit 14 compares the output value from the deep learning model 110 with the pseudo label or the label given to the labeled data 202, and calculates each loss.
  • the loss calculator 14 has a first loss calculator 141 and a second loss calculator 142 . Details of the operations of the model output unit 13 and the loss calculation unit 14 will be described below.
  • the first model output unit 131 acquires the deep learning model 110 stored in the storage unit 11.
  • the first model output unit 131 also reads a plurality of unlabeled data 201 used for learning the deep learning model 110 from the unlabeled DB 111 .
  • the first model output unit 131 inputs each unlabeled data 201 included in the read image group to the feature amount extraction layer of the deep learning model 110, and the deep learning model 110 corresponding to each unlabeled data 201. get the output from For example, when the read image group is D u and the unlabeled data 201 included in D u is x u , the first model output unit 131 uses the following formula (1) to output the deep learning model 110 Get y u that is
  • f represents the feature amount extraction layer of the deep learning model 110 . That is, f(x u ) represents the output from the feature quantity extraction layer.
  • h unsup represents a discrimination layer for unlabeled data of the deep learning model 110 . That is, h unsup (f(x u )) is an output obtained by inputting the output from the feature quantity extraction layer to the discrimination layer.
  • the first model output unit 131 outputs the output value of the deep learning model 110 for each unlabeled data 201 to the first loss calculation unit 141 of the loss calculation unit 14 .
  • the first model output unit 131 outputs yu , which is the output of the deep learning model 110 , to the first loss calculation unit 141 .
  • the first loss calculator 141 calculates the loss when the unlabeled data 201 is used. Below, a loss may be called Loss.
  • the first loss calculation unit 141 receives the input of the output value from the deep learning model 110 for the unlabeled data 201 from the first model output unit 131 . Further, the first loss calculation unit 141 receives from the pseudo label generation unit 12 input of a pseudo label for each cluster created by clustering the unlabeled data 201 together with information of the unlabeled data 201 included in each cluster.
  • the first loss calculation unit 141 compares the acquired output value and the pseudo label, and the unlabeled data that is the error between the estimation result using the deep learning model 110 and the pseudo label that is the correct answer here Calculate Loss when 201 is used.
  • the first loss calculator 141 calculates LossL unsup , which is the Loss when the unlabeled data 201 is used, using the following formula (2) for yu representing the acquired output value.
  • CE represents a general cross-entropy loss
  • the first loss calculator 141 outputs the calculated loss when using the unlabeled data 201 to the updating unit 15 .
  • the first loss calculator 141 outputs the calculated L_unsup to the updater 15 .
  • the second model output unit 132 acquires the deep learning model 110 stored in the storage unit 11.
  • the second model output unit 132 also reads the labeled data 202 used for learning the deep learning model 110 from the labeled DB 112 .
  • the second model output unit 132 inputs each labeled data 202 included in the read image group to the feature amount extraction layer of the deep learning model 110, and the deep learning model 110 corresponding to each labeled data 202. get the output from For example, if the read image group is D i and the unlabeled data 202 included in D i is xi , the second model output unit 132 uses the following formula (3) to output the deep learning model 110 Get y i where .
  • f represents the feature amount extraction layer of the deep learning model 110 . That is, f(x i ) represents the output from the feature quantity extraction layer.
  • h sup represents a discrimination layer for labeled data of the deep learning model 110 . That is, h sup (f(x i )) is the output obtained by inputting the output from the feature quantity extraction layer to the discrimination layer.
  • the discrimination layer for the unlabeled data 201 and the discrimination layer for the unlabeled data 202 are individually learned.
  • the second model output unit 132 outputs the output value of the deep learning model 110 for each labeled data 202 to the second loss calculation unit 142 .
  • the second model output unit 132 outputs y i that is the output of the deep learning model 110 to the second loss calculation unit 142 .
  • the second loss calculation unit 142 receives the input of the output value from the deep learning model 110 for the labeled data 202 from the second model output unit 132 . Further, the second loss calculation unit 142 acquires the label assigned to each labeled data 202 read by the model output unit 13 from the labeled DB 112 .
  • the second loss calculation unit 142 compares the acquired output value with the label assigned to each labeled data 202, and the error between the estimation result using the deep learning model 110 and the correct label is Loss is calculated when some labeled data 202 is used. For example, the second loss calculation unit 142 calculates L sup which is Loss when the labeled data 202 is used for y i representing the acquired output value using the following formula (4).
  • CE represents a general cross-entropy loss
  • the second loss calculator 142 outputs the calculated loss when using the labeled data 202 to the updating unit 15 .
  • the second loss calculator 142 outputs the calculated L sup to the updater 15 .
  • the updating unit 15 receives the input of the loss when using the unlabeled data 201 from the first loss calculating unit 141 .
  • the update unit 15 also receives an input of the loss when using the labeled data 202 from the second loss calculation unit 142 .
  • the update unit 15 performs predetermined weighting on the estimation result when using the unlabeled data 201 and the estimation result when using the labeled data 202, and calculates the final loss.
  • the update unit 15 uses the following formula (5) to obtain the final L total , which is a typical loss, is calculated.
  • is a parameter for adjusting the balance between L sup and L unsup , and is a constant that weights each. ⁇ takes a value greater than 0 and less than 1. The larger the value of ⁇ , the greater the influence of the estimation result when using the labeled data 202 on learning.
  • the update unit 15 updates the parameters of the feature amount extraction layer of the deep learning model 110, the parameters of the discrimination layer for the unlabeled data 201, and the discrimination Find the layer parameters. Then, the update unit 15 updates the deep learning model 110 held by the model output unit 13 with the obtained parameters of the feature amount extraction layer of the deep learning model 110 and the parameters of the identification layer for the unlabeled data 201 . The update unit 15 also updates the deep learning model 110 held by the model output unit 13 with the obtained parameters of the feature amount extraction layer of the deep learning model 110 and the parameters of the identification layer for the labeled data 202 . For example, the update unit 15 updates the model output unit 13 and the deep learning model 110 held by the model output unit 13 by f, L sup and L unsup that minimize L total .
  • the deep learning model 110 for the unlabeled data 201 and the deep learning model 110 for the labeled data 202 are trained separately and concurrently.
  • the deep learning model 110 for the unlabeled data 201 and the deep learning model 110 for the labeled data 202 have the same feature extraction layer and different identification layers. Then, in the recognition phase after learning, unknown image data is recognized using the deep learning model 110 for the trained labeled data 202 held by the model output unit 13 .
  • FIG. 2 is a diagram for explaining the learning method according to the first embodiment. Next, the overall flow of learning in this embodiment will be described with reference to FIG.
  • a plurality of unlabeled data 201 and a plurality of labeled data 202 are prepared and stored in the unlabeled DB 111 and labeled DB 112, respectively.
  • the unlabeled data is not given the correct answer, but the labeled data 202 is given labels such as flower, car, and fish.
  • the first model output unit 131 and the second model output unit 132 perform feature extraction on the labeled data 201 and the labeled data 202, respectively, using the feature extraction layer of the deep learning model 110 (step S1).
  • the pseudo-label generator 12 performs classification by clustering and addition of pseudo-labels.
  • the first loss calculation unit 141, the second loss calculation unit 142, and the update unit 15 simultaneously perform learning using the unlabeled data 201 using the pseudo-label and learning using the labeled data 202 using the label ( steps S2 and S3).
  • the feature extraction layer of the deep learning model 110, the discrimination layer for the unlabeled data 201, and the discrimination layer for the labeled data 202 are learned simultaneously.
  • FIG. 3 is an overall flowchart of the learning process according to the first embodiment. Next, with reference to FIG. 3, the overall flow of learning processing according to the first embodiment will be described.
  • the learning device 1 acquires the unlabeled data 201 and stores it in the unlabeled DB 111. Further, the learning device 1 acquires the labeled data 202 and stores it in the labeled DB 112 (step S11).
  • the update unit 15 acquires the number of times threshold input from an external terminal device or the like (step S12).
  • the update unit 15 initializes the number of times of learning and sets it to 0 (step S13).
  • the pseudo-label generation unit 12 reads a plurality of unlabeled data 201 from the unlabeled DB 111, classifies them, generates a pseudo-label for each class, and assigns a pseudo-label to each class (step S14).
  • the first model output unit 131 and the second model output unit 132, the first loss calculation unit 141 and the second loss calculation unit 142, and the update unit 15 perform simultaneous learning using the labeled data 202 and the unlabeled data 201. Execute (step S15).
  • the update unit 15 determines whether or not the number of times of learning exceeds the number of times threshold (step S16). When the number of times of learning is equal to or less than the number of times threshold (step S16: No), the update unit 15 adds 1 to the number of times of learning and increments the number of times of learning (step S17). After that, the learning process returns to step S14.
  • step S16 affirmative
  • the updating unit 15 terminates the learning process in the learning device 1.
  • FIG. 4 is a flowchart of simultaneous learning using labeled data and unlabeled data. Next, the flow of simultaneous learning using labeled data and unlabeled data will be described with reference to FIG. Each process shown in FIG. 4 corresponds to an example of the process executed in step S15 in FIG.
  • the second model output unit 132 reads a plurality of labeled data 202 from the labeled DB 112 . Then, the second model output unit 132 inputs the read labeled data 202 to the feature amount extraction layer of the deep learning model 110 . After that, the second model output unit 132 acquires the output from the deep learning model 110 (step S101).
  • the second loss calculation unit 142 acquires the label given to the labeled data 202 read by the second model output unit 132 from the labeled DB 112 . Then, the second loss calculation unit 142 compares the output value corresponding to each labeled data 202 acquired from the second model output unit 132 with the label given to the labeled data 202, and converts the labeled data 202 to Loss when using is calculated (step S102).
  • the first model output unit 131 reads a plurality of unlabeled data 201 from the labeled DB 111 . Then, the first model output unit 131 inputs each read unlabeled data 201 to the feature amount extraction layer of the deep learning model 110 . After that, the first model output unit 131 acquires the output from the deep learning model 110 (step S103).
  • the first loss calculator 141 compares the output value corresponding to each unlabeled data 201 acquired from the first model output unit 131 with the pseudo label acquired from the pseudo label generator 12, and uses the unlabeled data 201. Loss is calculated in the case where there is an error (step S104).
  • the update unit 15 acquires the Loss when using the labeled data 202 from the second loss calculation unit 142 . Also, the update unit 15 acquires the Loss when the unlabeled data 201 is used from the first loss calculation unit 141 . Then, the updating unit 15 calculates the overall Loss using the respective weights of the Loss when using the labeled data 202 and the Loss when using the unlabeled data 201 (step S105).
  • the update unit 15 updates the deep learning models 110 of the first model output unit 131 and the second model output unit 132 so as to minimize the overall loss (step S106).
  • the learning apparatus divides unlabeled data into a plurality of clusters, assigns pseudo labels to each cluster, and performs deep learning using labeled data, unlabeled data, and pseudo labels. Run model training.
  • the learning device can simultaneously learn the feature quantity extraction layer and the identification layer of the deep learning model using both labeled data and unlabeled data. Therefore, even when learning is performed using a large amount of unlabeled data and a small amount of labeled data, optimum recognition performance can be obtained, and the recognition performance of the deep learning model can be improved.
  • FIG. 5 is a block diagram of a learning device according to the second embodiment.
  • the learning device 1 according to the present embodiment differs from the first embodiment in that it performs single-task learning using one discrimination layer.
  • descriptions of the functions of the same units as in the first embodiment will be omitted.
  • the pseudo-label generation unit 12 performs clustering using the unlabeled data 201 in the same manner as in Example 1, and divides the unlabeled data 201 into a plurality of clusters. At this time, the pseudo-label generator 12 classifies the unlabeled data 201 into the same number of clusters as the number of labels represented by the labeled data 202 . Then, the pseudo label generator 12 assigns a pseudo label to each cluster. After that, the pseudo-label generator 12 outputs the generated pseudo-label to the loss calculator 14 .
  • the model output unit 13 reads a plurality of unlabeled data 201 from the unlabeled DB 111.
  • the model output unit 13 also reads a plurality of labeled data 202 from the labeled DB 112 .
  • the model output unit 13 integrates the read unlabeled data 201 and labeled data 202 into integrated data.
  • the model output unit 13 inputs the integrated data to the deep learning model 110 to obtain an output.
  • the model output unit 13 acquires y, which is the output from the deep learning model 110 represented by the following formula (6).
  • f represents the feature quantity extraction layer of the deep learning model 110. That is, f(x) is the output from the feature quantity extraction layer.
  • h represents the discrimination layer of the deep learning model 110 . That is, h(f(x)) is the output obtained by inputting the output value from the feature quantity extraction layer to the discrimination layer.
  • model output unit 13 outputs the output value for each integrated data to the loss calculation unit 14.
  • the loss calculation unit 14 receives the input of the output value from the deep learning model 101 for each integrated data from the model output unit 13 . Further, the loss calculation unit 14 acquires from the labeled DB 112 a label representing each labeled data 201 stored in the labeled DB 112 . The loss calculation unit 14 also receives an input of a pseudo label for each class from the pseudo label generation unit 12 .
  • the loss calculation unit 14 generates an integrated label by integrating the label acquired from the labeled DB 112 and the pseudo label. For example, since the number of labels acquired from the labeled DB 112 and the number of pseudo labels are the same, the loss calculation unit 14 replaces each of the pseudo labels with a label determined to indicate the same label to generate an integrated label.
  • the loss calculation unit 14 compares the output value from the feature amount extraction layer of the deep learning model 101 for each integrated data with the integrated label corresponding to each integrated data, and calculates the loss when using the integrated data. do.
  • the loss calculation unit 14 uses the following formula (7) to calculate L Calculate where CE is the general cross-entropy loss.
  • the loss calculator 14 outputs the calculated loss to the updater 15 .
  • the loss calculation unit 14 outputs to the update unit 15 L, which is Loss when integrated data is used, which is calculated using Equation (7).
  • the updating unit 15 receives the loss input from the loss calculating unit 14 .
  • the updating unit 15 determines the parameters of the deep learning model 110 that minimize the loss. After that, the update unit 15 updates the deep learning model 110 of the model output unit 13 using the determined parameters.
  • the update unit 15 when the update unit 15 acquires L, which is Loss when integrated data is used, from the loss calculation unit 14, the update unit 15 updates the feature amount extraction layer f and the identification layer h so as to minimize L. do. That is, in this embodiment, both the unlabeled data 201 and the labeled data 202 are trained using one deep learning model 110 having similar feature extraction layers and identification layers.
  • FIG. 6 is a diagram for explaining the learning method according to the second embodiment. Details of the learning device 1 according to the present embodiment will be described with reference to FIG.
  • the model output unit 13 reads the unlabeled data 201 and the labeled data 202 to generate integrated data. Next, the model output unit 13 inputs the integrated data to the deep learning model 101 and acquires the output from the deep learning model 101 corresponding to each integrated data (step S201).
  • the pseudo-label generation unit 12 performs clustering using the unlabeled data 201 in the same manner as in the first embodiment, and divides the unlabeled data 201 into the same number of clusters as the labels representing the labeled data 202 stored in the labeled DB 112. . Then, the pseudo label generator 12 assigns a pseudo label to each cluster (step S202).
  • the loss calculation unit 14 integrates the pseudo label and the label representing the labeled data 202 stored in the labeled DB 112 to generate an integrated label. Then, the loss calculation unit 14 compares the output value corresponding to each integrated data with the integrated label to calculate the loss.
  • the update unit 15 performs learning by updating the feature amount extraction layer and the identification layer of the deep learning model 110 of the model output unit 13 so as to minimize the loss calculated by the loss calculation unit 14 (step S203). .
  • the learning device classifies unlabeled data into the same number of clusters as the number of labels representing labeled data. Then, the learning device generates integrated data by integrating the labeled data and the labeled unlabeled data, generates an integrated label by integrating the label of the labeled data and the pseudo label, and uses the integrated data and the integrated label do the learning.
  • Example 3 will be described.
  • Embodiments 1 and 2 the case of using image data as learning data has been described as an example, but it is possible to perform learning using unlabeled data and labeled data in the same way for data other than this. is.
  • the learning device 1 can also learn the deep learning model 110 using moving images as learning data.
  • a moving image is a set of RGB values in each pixel on the screen over time. In that case, using the trained deep learning model 110 makes it possible to identify the type of unknown moving image.
  • FIG. 7 is a diagram showing an example of learning data used in the third embodiment.
  • Joint data is data representing the spatial positions of joints of the human body such as wrists and elbows, as represented by points in the image 300 of FIG. For example, in a three-dimensional space, it is data represented by xyz coordinates, and in a two-dimensional plane, it is data represented by xy coordinates.
  • sensor data such as acceleration information at each point when the person moves and information from a gyro sensor are added. In that case, by using the learned deep learning model 110, it is possible to identify what kind of human motion is.
  • the learning device can learn a deep learning model using other data such as moving image data and joint data in addition to image data. And even when data other than image data is used, it is possible to obtain optimal recognition performance by learning using a large number of unlabeled data and a small number of labeled data, and the recognition of the deep learning model. Performance can be improved.
  • FIG. 8 is a diagram illustrating an example of a hardware configuration of a learning device;
  • the learning device 1 shown in FIGS. 1 and 5 is implemented by the computer 90 shown in FIG.
  • computer 90 is a server.
  • the computer 90 has a processor 901 , a main storage device 902 , an auxiliary storage device 203 , an input device 904 , an output device 905 , a media drive device 906 , an input/output interface 907 and a communication control device 908 .
  • Each component of computer 90 is connected to each other by bus 909 .
  • a processor 901 for example, a CPU (Central Processing Unit).
  • the computer 90 may have multiple processors 901 .
  • the computer 90 may have a GPU (Graphics Processing Unit) or the like as the processor 901 .
  • Processor 901 loads the program into main memory 902 and executes the program.
  • the main storage device 902 is, for example, RAM (Random Access Memory).
  • the auxiliary storage device 903 is a non-volatile storage device such as a HDD (Hard Disk Drive) or SSD (Solid-State Drive).
  • HDD Hard Disk Drive
  • SSD Solid-State Drive
  • the auxiliary storage device 903 implements the functions of the storage unit 11 in FIGS.
  • the input device 904 is, for example, a keyboard, a pointing device, or a combination thereof.
  • a pointing device may be, for example, a mouse, a touch pad, or a touch screen.
  • Output device 905 is a display, speakers, or a combination thereof.
  • the display may be a touch screen.
  • the input/output interface 907 is connected to a PCIe (Peripheral Component Interconnect express) device or the like, and transmits and receives data to and from the connected device.
  • PCIe Peripheral Component Interconnect express
  • the communication control device 908 is, for example, a wired LAN (Local Area Network) interface, a wireless LAN interface, or a combination thereof.
  • the computer 90 is connected to a network such as a wireless LAN or wired LAN via a communication control device 908 .
  • the communication control device 908 may be an external NIC (Network Interface Card) or an onboard network interface controller.
  • the storage medium 91 is an optical disc such as a CD (Compact Disc) or a DVD (Digital Versatile Disk), a magneto-optical disc, a magnetic disc, a semiconductor memory card such as a flash memory, or the like.
  • the media drive device 906 is a device that writes data to and reads data from the inserted storage medium 91 .
  • the program executed by the processor 901 may be installed in the auxiliary storage device 903 in advance.
  • the program may be provided by being stored in the storage medium 91 , read from the storage medium 91 by the medium drive device 906 , copied to the auxiliary storage device 903 , and then loaded into the main storage device 902 .
  • the program may be downloaded to the computer 90 via the network and communication control device 908 from a program provider on the network and installed.
  • the processor 901 implements the functions of the pseudo-label generation unit 12, the model output unit 13, the loss calculation unit 14, and the update unit 15 illustrated in FIGS. 1 and 5 by executing programs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

記憶部(11)は、正解を表すラベルと対象データとが対応付けられた複数のラベルありデータ、正解との対応付けがない対象データである複数のラベルなしデータ、及び、深層学習モデル(110)を記憶する。疑似ラベル生成部(12)は、ラベルなしデータ及び前記深層学習モデルを基に疑似ラベルを生成する。損失算出部(14)は、疑似ラベル及び前記ラベルありデータに含まれる前記ラベルを基に、深層学習モデル(110)を用いてラベルなしデータの識別を行った場合及びラベルありデータの識別を行った場合の損失を算出する。更新部(15)は、損失算出部(14)により算出された損失を基に、深層学習モデル(110)を更新する。

Description

情報処理装置、情報処理方法及び情報処理プログラム
 本発明は、情報処理装置、情報処理方法及び情報処理プログラムに関する。
 近年、深層学習分野の進展に伴い、認識性能の高い深層学習モデルが登場している。深層学習モデルの学習では、人手で正解が付けられたデータであるラベルありデータを大量に用いることで効率的に学習が進められる。例えば、画像認識の分野では物体を認識する場合、1つの物体について最低でも数百のラベルありデータが用いられる。
 一方、学習データを実際に取得する環境において提供される学習データの大半は正解の付けられていないラベルなしデータであり、ラベルありデータは少数である。例えば、学習データが全体で数百個ある場合、そのうちラベルありデータは数十程度しかないことが多い。ラベルありデータが少ない場合、深層学習モデルは学習するデータに過剰に適合し、学習していないデータに対する性能が低下する。このような事象は過学習と呼ばれる。そのため、ラベルなしデータも用いて認識性能の高い深層学習モデルを学習する手法が求められている。
 従来、深層学習において以下のような技術が提供されている。1つは、ラベルなしデータから認識に用いる画像特徴を抽出する能力である特徴抽出能力を獲得する技術である。具体的には、ラベル無しデータから深層学習モデルを用いて特徴量を抽出し、抽出した特徴量に基づいてデータ同士をまとめて複数のクラスタに分割し、クラスタ毎に疑似的な正解である疑似ラベルを割り当てて学習を行うことで特徴量抽出能力を獲得する。
 他の1つは、事前に獲得した特徴抽出能力を深層学習モデルに与えてから、抽出された特徴を基にデータを識別する能力に限定してラベルありデータで学習を行う技術である。この技術は、Transfer Learningと呼ばれる。
 そして、上述した2つの技術を組み合わせて、ラベルなしデータから獲得した特徴抽出能力を基に、抽出された特徴を基にデータを識別する能力に限定してラベルありデータで学習を行う方法が考えられる。これにより、少量のラベルありデータでも認識性能の高い深層学習モデルが獲得できる。
Self-labelling via simultaneous clustering and representation learning, Yuki M. Asano, Christian Rupprecht, Andrea Vedaldi, ICLR2020, 20 August 2020.
 しかしながら、ラベルなしデータからの特徴抽出能力の獲得を行った後に、抽出した特徴に基づきデータを識別する能力に限定して学習を行った場合、深層学習モデルの特徴抽出能力と識別能力とがそれぞれ個別に学習され最適化される。すなわち、ラベルなしデータからの特徴抽出能力の獲得により特徴量抽出能力が最適化され、抽出した特徴に基づきデータを識別する能力に限定した学習により識別能力が最適化される。このため、各処理を順番に実施した場合、識別能力に合わせた特徴量抽出能力のチューニングが困難となり、局所最適解に陥る。そのため、深層学習モデルの認識全体での性能が低くなる。
 開示の技術は、上記に鑑みてなされたものであって、深層学習モデルの認識性能を向上させる情報処理装置、情報処理方法及び情報処理プログラムを提供することを目的とする。
 本願の開示する情報処理装置、情報処理方法及び情報処理プログラムは、一つの態様において、記憶部は、正解を表すラベルと対象データとが対応付けられた複数のラベルありデータ、正解との対応付けがない対象データである複数のラベルなしデータ、及び、深層学習モデルを記憶する。疑似ラベル生成部は、前記ラベルなしデータ及び前記深層学習モデルを基に疑似ラベルを生成する。損失算出部は、前記疑似ラベル及び前記ラベルありデータに含まれる前記ラベルを基に、前記深層学習モデルを用いて前記ラベルなしデータの識別を行った場合及び前記ラベルありデータの識別を行った場合の損失を算出する。更新部は、前記損失算出部により算出された前記損失を基に、前記深層学習モデルを更新する。
 本願の開示する情報処理装置、情報処理方法及び情報処理プログラムの一つの態様によれば、深層学習モデルの認識性能を向上させることができる。
図1は、実施例1に係る学習装置のブロック図である。 図2は、実施例1に係る学習方法を説明するための図である。 図3は、実施例1に係る学習処理の全体のフローチャートである。 図4は、ラベルありデータとラベルなしデータとを用いた同時学習のフローチャートである。 図5は、実施例2に係る学習装置のブロック図である。 図6は、実施例2に係る学習方法を説明するための図である。 図7は、実施例3で用いられる学習データの一例を示す図である。 図8は、学習装置のハードウェア構成の一例を示す図である。
 以下に、本願の開示する情報処理装置、情報処理方法及び情報処理プログラムの実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する情報処理装置、情報処理方法及び情報処理プログラムが限定されるものではない。
 図1は、実施例1に係る学習装置のブロック図である。本実施例に係る情報処理装置である学習装置1は、画像データの認識を行う深層学習モデル110の学習を行う。ここで、画像データとは、具体的には、画面上に表示される各画素におけるRGB(Red Green Blue)値の集合として表されるデータである。学習装置1は、図1に示すように、記憶部11、疑似ラベル生成部12、モデル出力部13、損失算出部14及び更新部15を有する。
 記憶部11は、深層学習モデル110、ラベルなしDB(Data Base)111及びラベルありDB112を格納する。
 深層学習モデル110は、本実施例では、画像認識を行う学習モデルである。深層学習モデル110は、画像データの特徴を抽出する特徴量抽出層と、画像データの特徴量からその画像データに写っている対象を識別する識別層とを有する。
 ラベルなしDB111は、画像データであるラベルなしデータ201を格納するデータベースである。ラベルなしDB111は、外部の端末装置などを用いて利用者から入力されたラベルなしデータ201を記憶する。ラベルなしデータ201は、その画像データに写っている対象が何かを示す正解のラベルが付与されていない学習データである。
 ラベルありDB112は、画像データであるラベルありデータ202を格納するデータベースである。ラベルありDB112は、外部の端末装置などを用いて利用者から入力されたラベルありデータ202を記憶する。ラベルありデータ202は、正解ラベルが付与された学習データである。
 疑似ラベル生成部12は、記憶部11が記憶する深層学習モデル110を取得する。また、疑似ラベル生成部12は、複数のラベルなしデータ201をラベルなしDB111から読み込む。この際、疑似ラベル生成部12は、全てのラベルなしデータ201を読み込むことが好ましい。次に、疑似ラベル生成部12は、読み込んだ画像群に含まれる各ラベルなしデータ201を深層学習モデル110に入力してラベルなしデータ201のそれぞれに対応する出力を取得する。
 次に、疑似ラベル生成部12は、読み込んだ画像群に含まれる各ラベルなしデータ201を深層学習モデル110からの出力値に応じてまとめて、予め決められた所定個数のクラスタに分割する。例えば、疑似ラベル生成部12は、k-meansクラスタリングを用いてクラスタ分けを行う。
 そして、疑似ラベル生成部12は、クラスタ毎に疑似的な正解である疑似ラベルを割り当てる。例えば、クラスがk個ある場合であれば、疑似ラベル生成部12は、クラス#1,クラス#2,クラス#3,・・・,クラス#kといった疑似ラベルを割り当てる。その後、疑似ラベル生成部12は、各クラスタに含まれるラベルなしデータ201の情報とともにクラスタ毎に割り当てた疑似ラベルを損失算出部14へ出力する。
 モデル出力部13は、ラベルなしデータ201及びラベルありデータ202のそれぞれの深層学習モデル110からの出力を取得する。モデル出力部13は、第1モデル出力部131及び第2モデル出力部132を有する。
 また、損失算出部14は、深層学習モデル110からの出力値と疑似ラベル又はラベルありデータ202に付与されたラベルを比較して、それぞれの損失を算出する。損失算出部14は、第1損失算出部141及び第2損失算出部142を有する。以下に、モデル出力部13及び損失算出部14の動作の詳細について説明する。
 第1モデル出力部131は、記憶部11が記憶する深層学習モデル110を取得する。また、第1モデル出力部131は、深層学習モデル110の学習に用いる複数のラベルなしデータ201をラベルなしDB111から読み込む。
 次に、第1モデル出力部131は、読み込んだ画像群に含まれる各ラベルなしデータ201を深層学習モデル110の特徴量抽出層に入力して、各ラベルなしデータ201に対応する深層学習モデル110からの出力を得る。例えば、読み込んだ画像群をDとし、Dに含まれるラベルなしデータ201をxとした場合、第1モデル出力部131は、次の数式(1)を用いて深層学習モデル110の出力であるyを取得する。
Figure JPOXMLDOC01-appb-M000001
 ここで、fは、深層学習モデル110の特徴量抽出層を表す。すなわち、f(x)は、特徴量抽出層からの出力を表す。また、hunsupは、深層学習モデル110のラベルなしデータ用の識別層を表す。すなわち、hunsup(f(x))は、特徴量抽出層からの出力を識別層に入力して得られる出力である。
 その後、第1モデル出力部131は、各ラベルなしデータ201に対する深層学習モデル110の出力値を損失算出部14の第1損失算出部141へ出力する。例えば、第1モデル出力部131は、深層学習モデル110の出力であるyを第1損失算出部141へ出力する。
 第1損失算出部141は、ラベルなしデータ201を用いた場合の損失を計算する。以下では、損失をLossと呼ぶ場合がある。
 第1損失算出部141は、ラベルなしデータ201に対する深層学習モデル110からの出力値の入力を第1モデル出力部131から受ける。さらに、第1損失算出部141は、ラベルなしデータ201をクラスタリングして作成されたクラスタ毎の疑似ラベルの入力を各クラスタに含まれるラベルなしデータ201の情報とともに疑似ラベル生成部12から受ける。
 次に、第1損失算出部141は、取得した出力値と疑似ラベルとを比較して、深層学習モデル110を用いた推定結果とここでの正解である疑似ラベルとの誤差であるラベルなしデータ201を用いた場合のLossを計算する。例えば、第1損失算出部141は、取得した出力値を表すyに対して次の数式(2)を用いてラベルなしデータ201を用いた場合のLossであるLossLunsupを算出する。
Figure JPOXMLDOC01-appb-M000002
 ここで、tは、疑似ラベルである。また、CEは、一般的なクロスエントロピーロスを表す。
 その後、第1損失算出部141は、算出したラベルなしデータ201を用いた場合の損失を更新部15へ出力する。例えば、第1損失算出部141は、算出したLunsupを更新部15へ出力する。
 第2モデル出力部132は、記憶部11が記憶する深層学習モデル110を取得する。また、第2モデル出力部132は、深層学習モデル110の学習に用いるラベルありデータ202をラベルありDB112から読み込む。
 次に、第2モデル出力部132は、読み込んだ画像群に含まれる各ラベルありデータ202を深層学習モデル110の特徴量抽出層に入力して、各ラベルありデータ202に対応する深層学習モデル110からの出力を得る。例えば、読み込んだ画像群をDとし、Dに含まれるラベルなしデータ202をxとした場合、第2モデル出力部132は、次の数式(3)を用いて深層学習モデル110の出力であるyを取得する。
Figure JPOXMLDOC01-appb-M000003
 ここで、fは、深層学習モデル110の特徴量抽出層を表す。すなわち、f(x)は、特徴量抽出層からの出力を表す。また、hsupは、深層学習モデル110のラベルありデータ用の識別層を表す。すなわち、hsup(f(x))は、特徴量抽出層からの出力を識別層に入力して得られる出力である。以上のように、本実施例に係る学習装置1では、ラベルなしデータ201用の識別層と、ラベルなしデータ202用の識別層はそれぞれ個別に学習が行われる。
 その後、第2モデル出力部132は、各ラベルありデータ202に対する深層学習モデル110の出力値を第2損失算出部142へ出力する。例えば、第2モデル出力部132は、深層学習モデル110の出力であるyを第2損失算出部142へ出力する。
 第2損失算出部142は、ラベルありデータ202に対する深層学習モデル110からの出力値の入力を第2モデル出力部132から受ける。さらに、第2損失算出部142は、モデル出力部13により読み込まれた各ラベルありデータ202に付与されたラベルをラベルありDB112から取得する。
 次に、第2損失算出部142は、取得した出力値と各ラベルありデータ202に付与されたラベルとを比較して、深層学習モデル110を用いた推定結果と正解であるラベルとの誤差であるラベルありデータ202を用いた場合のLossを計算する。例えば、第2損失算出部142は、取得した出力値を表すyに対して次の数式(4)を用いてラベルありデータ202を用いた場合のLossであるLsupを算出する。
Figure JPOXMLDOC01-appb-M000004
 ここで、tは、正解である。また、CEは、一般的なクロスエントロピーロスを表す。
 その後、第2損失算出部142は、算出したラベルありデータ202を用いた場合の損失を更新部15へ出力する。例えば、第2損失算出部142は、算出したLsupを更新部15へ出力する。
 更新部15は、ラベルなしデータ201を用いた場合の損失の入力を第1損失算出部141から受ける。また、更新部15は、ラベルありデータ202を用いた場合の損失の入力を第2損失算出部142から受ける。そして、更新部15は、ラベルなしデータ201を用いた場合の推定結果とラベルありデータ202を用いた場合の推定結果とに予め決められた重みづけをして、最終的な損失を算出する。例えば、更新部15は、ラベルなしデータ201を用いた場合のLossであるLunsupと、ラベルありデータ202を用いた場合のLossであるLsupとから、次の数式(5)を用いて最終的なLossであるLtotalを算出する。
Figure JPOXMLDOC01-appb-M000005
 ここで、αは、LsupとLunsupとのバランス調整用のパラメータであり、それぞれに重みづけをする定数である。αは、0より大きく1より小さい値をとる。αが大きいほど、ラベルありデータ202を用いた場合の推定結果による学習に対する影響が大きくなる。
 その後、更新部15は、算出した最終的な損失が最小となるように、深層学習モデル110の特徴量抽出層のパラメータ、ラベルなしデータ201用の識別層のパラメータ及びラベルありデータ202用の識別層のパラメータを求める。そして、更新部15は、求めた深層学習モデル110の特徴量抽出層のパラメータ及びラベルなしデータ201用の識別層のパラメータでモデル出力部13が保持する深層学習モデル110を更新する。また、更新部15は、求めた深層学習モデル110の特徴量抽出層のパラメータ及びラベルありデータ202用の識別層のパラメータでモデル出力部13が保持する深層学習モデル110を更新する。例えば、更新部15は、Ltotalを最小化するf、Lsup及びLunsupにより、モデル出力部13及びモデル出力部13のそれぞれが保持する深層学習モデル110を更新する。
 このように、本実施例に係る学習装置1では、ラベルなしデータ201用の深層学習モデル110とラベルありデータ202用の深層学習モデル110とがそれぞれ別個に、且つ、同時並行で学習が行われる。ただし、ラベルなしデータ201用の深層学習モデル110とラベルありデータ202用の深層学習モデル110とにおいて、特徴量抽出層は同じであり、識別層が異なる。そして、学習後の認識フェースでは、モデル出力部13が保持する学習済みのラベルありデータ202用の深層学習モデル110を用いて、未知の画像データに対する認識が行われる。
 図2は、実施例1に係る学習方法を説明するための図である。次に、図2を参照して、本実施例での学習の全体の流れを説明する。
 まず、複数のラベルなしデータ201及び複数のラベルありデータ202が用意され、それぞれラベルなしDB111及びラベルありDB112に格納される。図2に示すように、ラベルなしデータには正解が付与されていないが、ラベルありデータ202には、花、車、魚といったラベルが付与されている。
 次に、ラベルありデータ201及びラベルありデータ202のそれぞれについて、第1モデル出力部131及び第2モデル出力部132により、深層学習モデル110の特徴量抽出層を用いて特徴量抽出が行われる(ステップS1)。
 次に、ラベルなしデータ201を用いた学習は、図2における特徴量抽出層から識別層へ向かう紙面に向かって上側の矢印の方向に進む。そして、疑似ラベル生成部12によりクラスタリングによるクラス分け及び疑似ラベルの付加が行われる。その後、第1損失算出部141及び第2損失算出部142、並びに、更新部15により、疑似ラベルを用いたラベルなしデータ201による学習及びラベルを用いたラベルありデータ202による学習が同時に行われる(ステップS2及びS3)。この学習により、深層学習モデル110の特徴量抽出層、ラベルなしデータ201用の識別層及びラベルありデータ202用の識別層が同時に学習される。
 図3は、実施例1に係る学習処理の全体のフローチャートである。次に、図3を参照して、実施例1に係る学習処理の全体の流れを説明する。
 学習装置1は、ラベルなしデータ201を取得して、ラベルなしDB111に格納する。また、学習装置1は、ラベルありデータ202を取得して、ラベルありDB112に格納する(ステップS11)。
 更新部15は、外部の端末装置などから入力された回数閾値を取得する(ステップS12)。
 次に、更新部15は、学習回数を初期化して0に設定する(ステップS13)。
 疑似ラベル生成部12は、ラベルなしDB111から複数のラベルなしデータ201を読み出してクラス分けを行い、クラス毎に疑似ラベルを生成して各クラスに疑似ラベルを付与する(ステップS14)。
 第1モデル出力部131及び第2モデル出力部132、第1損失算出部141及び第2損失算出部142、並びに、更新部15は、ラベルありデータ202及びラベルなしデータ201を用いた同時学習を実行する(ステップS15)。
 その後、更新部15は、学習回数が回数閾値を上回ったか否かを判定する(ステップS16)。学習回数が回数閾値以下の場合(ステップS16:否定)、更新部15は、学習回数に1を加算して学習回数をインクリメントする(ステップS17)。その後、学習処理は、ステップS14へ戻る。
 これに対して、学習回数が回数閾値を上回った場合(ステップS16:肯定)、更新部15は、学習装置1における学習処理を終了させる。
 図4は、ラベルありデータとラベルなしデータとを用いた同時学習のフローチャートである。次に、図4を参照して、ラベルありデータとラベルなしデータとを用いた同時学習の流れを説明する。図4に示した各処理は、図3におけるステップS15において実行される処理の一例にあたる。
 第2モデル出力部132は、複数のラベルありデータ202をラベルありDB112から読み出す。そして、第2モデル出力部132は、読み出した各ラベルありデータ202を深層学習モデル110の特徴量抽出層へ入力する。その後、第2モデル出力部132は、深層学習モデル110からの出力を取得する(ステップS101)。
 第2損失算出部142は、第2モデル出力部132により読み込まれたラベルありデータ202に付与されたラベルをラベルありDB112から取得する。そして、第2損失算出部142は、第2モデル出力部132から取得した各ラベルありデータ202に対応する出力値とラベルありデータ202に付与されたラベルとを比較して、ラベルありデータ202を用いた場合のLossを計算する(ステップS102)。
 第1モデル出力部131は、複数のラベルなしデータ201をラベルありDB111から読み出す。そして、第1モデル出力部131は、読み出した各ラベルなしデータ201を深層学習モデル110の特徴量抽出層へ入力する。その後、第1モデル出力部131は、深層学習モデル110からの出力を取得する(ステップS103)。
 第1損失算出部141は、第1モデル出力部131から取得した各ラベルなしデータ201に対応する出力値と疑似ラベル生成部12から取得した疑似ラベルとを比較して、ラベルなしデータ201を用いた場合のLossを計算する(ステップS104)。
 更新部15は、ラベルありデータ202を用いた場合のLossを第2損失算出部142から取得する。また、更新部15は、ラベルなしデータ201を用いた場合のLossを第1損失算出部141から取得する。そして、更新部15は、ラベルありデータ202を用いた場合のLoss及びラベルなしデータ201を用いた場合のLossにそれぞれの重みを用いて全体のLossを計算する(ステップS105)。
 その後、更新部15は、全体のLossを最小化するように第1モデル出力部131及び第2モデル出力部132のそれぞれが有する深層学習モデル110を更新する(ステップS106)。
 以上に説明したように、本実施例に係る学習装置は、ラベルなしデータを複数のクラスタに分けて、それぞれに疑似ラベルを割り当て、ラベルありデータ、ラベルなしデータ及び疑似ラベルを用いて、深層学習モデルの学習を実行する。これにより、学習装置は、ラベルありデータ及びラベルなしデータの双方を用いて、深層学習モデルの特徴量抽出層及び識別層を同時に学習することができる。したがって、多数のラベルなしデータと少数のラベルありデータとを用いて学習を行った場合にも、最適な認識性能を獲得でき、深層学習モデルの認識性能を向上させることが可能となる。
 図5は、実施例2に係る学習装置のブロック図である。本実施例に係る学習装置1は、1つの識別層を用いたシングルタスクでの学習を行うことが実施例1と異なる。以下の説明では、実施例1と同様の各部の機能については説明を省略する。
 本実施例に係る学習装置1では、ラベルありデータ202で表されるラベル数と、ラベルなしデータをクラスタリングした場合のクラスタ数とが等しい。すなわち、本実施例に係る学習装置1では、ラベルありデータ202で表されるラベル数がt個あり、ラベルなしデータ201をt個のクラスタに分類する場合、t=tである。
 疑似ラベル生成部12は、ラベルなしデータ201を用いて実施例1と同様にクラスタリングを行って、ラベルなしデータ201を複数のクラスタに分ける。この時、疑似ラベル生成部12は、ラベルありデータ202で表されるラベルの個数と同数のクラスタにラベルなしデータ201を分類する。そして、疑似ラベル生成部12は、各クラスタに疑似ラベルを割り当てる。その後、疑似ラベル生成部12は、生成した疑似ラベルを損失算出部14へ出力する。
 モデル出力部13は、複数のラベルなしデータ201をラベルなしDB111から読み込む。また、モデル出力部13は、複数のラベルありデータ202をラベルありDB112から読み込む。そして、モデル出力部13は、読み込んだラベルなしデータ201とラベルありデータ202とを統合して統合データとする。そして、モデル出力部13は、統合データを深層学習モデル110に入力して出力を取得する。
 例えば、統合データをxとした場合、モデル出力部13は、次の数式(6)で表される深層学習モデル110からの出力であるyを取得する。
Figure JPOXMLDOC01-appb-M000006
 ここで、fは、深層学習モデル110の特徴量抽出層を表す。すなわち、f(x)は、特徴量抽出層からの出力である。hは、深層学習モデル110の識別層を表す。すなわち、h(f(x))は、特徴量抽出層からの出力値を識別層に入力した得られる出力である。
 その後、モデル出力部13は、各統合データに対する出力値を損失算出部14へ出力する。
 損失算出部14は、各統合データに対する深層学習モデル101からの出力値の入力をモデル出力部13から受ける。また、損失算出部14は、ラベルありDB112に格納された各ラベルありデータ201を表すラベルをラベルありDB112から取得する。また、損失算出部14は、クラス毎の疑似ラベルの入力を疑似ラベル生成部12から受ける。
 次に、損失算出部14は、ラベルありDB112から取得したラベルと、疑似ラベルとを統合して統合ラベルを生成する。例えば、ラベルありDB112から取得したラベルと疑似ラベルとは同数であるので、損失算出部14は、疑似ラベルのそれぞれを同じものを指すと判定されるラベルに置き換えることで統合ラベルを生成する。
 その後、損失算出部14は、各統合データに対する深層学習モデル101の特徴量抽出層からの出力値と各統合データに対応する統合ラベルとを比較して、統合データを用いた場合の損失を算出する。
 例えば、統合データであるxを全て含む集合をDとして、統合ラベルをtとした場合、損失算出部14は、次の数式(7)を用いて、統合データを用いた場合のLossであるLを算出する。ここで、CEは、一般的なクロスエントロピーロスである。
Figure JPOXMLDOC01-appb-M000007
 その後、損失算出部14は、算出した損失を更新部15へ出力する。例えば、損失算出部14は、数式(7)を用いて算出した、統合データを用いた場合のLossであるLを更新部15へ出力する。
 更新部15は、損失の入力を損失算出部14から受ける。そして、更新部15は、損失を最小化する深層学習モデル110のパラメータを決定する。その後、更新部15は、決定したパラメータを用いてモデル出力部13が有する深層学習モデル110を更新する。
 例えば、更新部15は、統合データを用いた場合のLossであるLを損失算出部14から取得した場合、Lを最小化するように特徴量抽出層であるf及び識別層であるhを更新する。すなわち、本実施例では、ラベルなしデータ201及びラベルありデータ202のいずれについても、同様の特徴量抽出層及び識別層を有する1つの深層学習モデル110を用いて学習を行う。
 図6は、実施例2に係る学習方法を説明するための図である。図6を参照して、本実施例に係る学習装置1の詳細について説明する。
 モデル出力部13は、ラベルなしデータ201及びラベルありデータ202を読み出して統合データを生成する。次に、モデル出力部13は、深層学習モデル101に統合データを入力して、各統合データに対応する深層学習モデル101からの出力を取得する(ステップS201)。
 疑似ラベル生成部12は、ラベルなしデータ201を用いて実施例1と同様にクラスタリングを行って、ラベルなしデータ201をラベルありDB112に格納されたラベルありデータ202を表すラベルと同数のクラスタに分ける。そして、疑似ラベル生成部12は、各クラスタに疑似ラベルを割り当てる(ステップS202)。
 損失算出部14は、疑似ラベルとラベルありDB112に格納されたラベルありデータ202を表すラベルとを統合して統合ラベルを生成する。そして、損失算出部14は、各統合データに対応する出力値と統合ラベルとを比較して、損失を算出する。更新部15は、損失算出部14により算出された損失を最小化するように、モデル出力部13が有する深層学習モデル110の特徴量抽出層及び識別層を更新して学習を行う(ステップS203)。
 以上に説明したように、本実施例に係る学習装置は、ラベルありデータを表すラベルの数と同数のクラスタにラベルなしデータを分類する。そして、学習装置は、ラベルありデータ及びラベルラベルなしデータを統合した統合データを生成し、ラベルありデータのラベルと疑似ラベルとを統合して統合ラベルを生成し、統合データ及び統合ラベルを用いて学習を行う。これにより、単一の識別層を用いたシングルタスクの学習により深層学習モデルの学習を行うことが可能となる。この方法でも、多数のラベルなしデータと少数のラベルありデータとを用いて学習を行った場合であっても、最適な認識性能を獲得でき、深層学習モデルの認識性能を向上させることが可能となる。
 次に、実施例3について説明する。実施例1及び2では、学習データとして画像データを用いる場合を例に説明したが、これ以外のデータであっても同様に、ラベルなしデータとラベルありデータとを用いて学習を行うことが可能である。
 例えば、学習装置1は、学習データとして動画像を用いて深層学習モデル110の学習を行うことも可能である。動画像とは、画面上の各画素における時間経過に応じたRGB値の集合である。その場合、学習済みの深層学習モデル110を用いることで、未知の動画像の種類を識別することが可能となる。
 他にも、学習装置1は、学習データとして関節データを用いて深層学習モデル110の学習を行うことも可能である。図7は、実施例3で用いられる学習データの一例を示す図である。関節データとは、図7の画像300の各点で表されるような手首、肘など人体の関節の空間的な位置を表すデータである。例えば、3次元空間であればxyz座標で表されるデータであり、2次元平面であればxy座標で表されるデータである。さらに、人の動きが加わった関節データの場合、人が動作したときの各点の加速度の情報やジャイロセンサの情報といったセンサデータが加えられる。その場合、学習済みの深層学習モデル110を用いることで、人の動作がどの様な動作であるかを識別することが可能となる。
 以上に説明したように、各実施例に係る学習装置は、画像データ以外にも、動画像のデータや関節データなどの他のデータを用いて深層学習モデルの学習を行うことが可能である。そして、画像データ以外の他のデータを用いた場合にも、多数のラベルなしデータと少数のラベルありデータとを用いて学習を行うことで、最適な認識性能を獲得でき、深層学習モデルの認識性能を向上させることが可能となる。
(ハードウェア構成)
 図8は、学習装置のハードウェア構成の一例を示す図である。図1及び5に示した学習装置1は、図8のコンピュータ90により実現される。例えば、コンピュータ90は、サーバである。
 コンピュータ90は、プロセッサ901、主記憶装置902、補助記憶装置203、入力装置904、出力装置905、媒体駆動装置906、入出力インタフェース907及び通信制御装置908を有する。コンピュータ90の各構成要素は、バス909によって互いに接続される。
 プロセッサ901、例えば、CPU(Central Processing Unit)である。コンピュータ90は、複数のプロセッサ901を有していてもよい。さらに、コンピュータ90は、プロセッサ901としてGPU(Graphics Processing Unit)などを有していてもよい。プロセッサ901は、プログラムを主記憶装置902にロードしてプログラムを実行する。
 主記憶装置902は、例えば、RAM(Random Access Memory)である。補助記憶装置903は、例えばHDD(Hard Disk Drive)やSSD(Solid-State Drive)などの不揮発性の記憶装置である。例えば、補助記憶装置903は、図1及び5の記憶部11の機能を実現する。
 入力装置904は、例えば、キーボード、ポインティングデバイス、またはその組み合わせである。ポインティングデバイスは、例えば、マウスでもよいしタッチパッドでもよいしタッチスクリーンでもよい。出力装置905は、ディスプレイ、スピーカ、またはその組み合わせである。ディスプレイはタッチスクリーンであってもよい。
 入出力インタフェース907は、PCIe(Peripheral Component Interconnect express)デバイスなどが接続され、接続されたデバイスとの間でデータの送受信を行う。
 通信制御装置908は、例えば、有線LAN(Local Area Network)インタフェース、無線LANインタフェース、またはその組み合わせである。コンピュータ90は、通信制御装置908を介して無線LANや有線LANといったネットワークに接続される。通信制御装置908は、具体的には、外付けのNIC(Network Interface Card)でもよいし、オンボード型のネットワークインタフェイスコントローラでもよい。
 記憶媒体91は、CD(Compact Disc)やDVD(Digital Versatile Disk)などの光ディスクや、光磁気ディスク、磁気ディスク、フラッシュメモリなどの半導体メモリカードなどである。媒体駆動装置906は、挿入された記憶媒体91に対するデータの書き込み及び読み出しを行う装置である。
 プロセッサ901が実行するプログラムは、予め補助記憶装置903にインストールされていてもよい。あるいは、プログラムは、記憶媒体91に格納されて提供され、記憶媒体91から媒体駆動装置906により読み取られて補助記憶装置903にコピーされ、その後、主記憶装置902にロードされてもよい。または、ネットワーク上のプログラム提供者から、ネットワークと通信制御装置908を介して、プログラムがコンピュータ90にダウンロードされ、インストールされてもよい。
 例えば、プロセッサ901は、プログラムを実行することで、図1及び5に例示した疑似ラベル生成部12、モデル出力部13、損失算出部14及び更新部15の機能を実現する。
 1 学習装置
 11 記憶部
 12 疑似ラベル生成部
 13 モデル出力部
 14 損失算出部
 15 更新部
 131 第1モデル出力部
 132 第2モデル出力部
 141 第1損失算出部
 142 第2損失算出部

Claims (7)

  1.  正解を表すラベルと対象データとが対応付けられた複数のラベルありデータ、正解との対応付けがない対象データである複数のラベルなしデータ、及び、深層学習モデルを記憶する記憶部と、
     前記ラベルなしデータ及び前記深層学習モデルを基に疑似ラベルを生成する疑似ラベル生成部と、
     前記疑似ラベル及び前記ラベルありデータに含まれる前記ラベルを基に、前記深層学習モデルを用いて前記ラベルなしデータの識別を行った場合及び前記ラベルありデータの識別を行った場合の損失を算出する損失算出部と、
     前記損失算出部により算出された前記損失を基に、前記深層学習モデルを更新する更新部と
     を備えたことを特徴とする情報処理装置。
  2.  前記深層学習モデルは、特徴量抽出層及び識別層を有し、
     前記深層学習モデルを取得して第1深層学習モデルとして保持し、前記ラベルなしデータを前記第1深層学習モデルに入力して第1出力値を得る第1モデル出力部と、
     前記深層学習モデルを取得して第2深層学習モデルとして保持し、前記ラベルありデータを前記第2深層学習モデルに入力して第2出力値を得る第2モデル出力部と
     をさらに備え、
     前記損失算出部は、
     前記第1モデル出力部により得られた第1出力値と前記疑似ラベルとを用いて、第1損失を算出する第1損失算出部と、
     前記第2モデル出力部により得られた第2出力値と前記ラベルとを用いて、第2損失を算出する第2損失算出部とを有し、
     前記更新部は、前記第1損失及び前記第2損失の双方を基に、前記第1深層学習モデルに対する第1更新及び前記第2深層学習モデルに対する第2更新を行う
     ことを特徴とする請求項1に記載の情報処理装置。
  3.  前記更新部は、前記第1更新及び前記第2更新として、前記第1深層学習モデル及び前記第2深層学習モデルに含まれるそれぞれの前記特徴量抽出層については同様の更新を行い、前記第1深層学習モデルに含まれる第1識別層と前記第2深層学習モデルに含まれる第2識別層とは、それぞれ異なる更新を行うことを特徴とする請求項2に記載の情報処理装置。
  4.  前記疑似ラベル生成部は、複数の前記ラベルなしデータを前記深層学習モデルへ入力して得られる出力値を基に所定数のクラスタに分類し、前記クラスタ毎に前記疑似ラベルを割り当てることを特徴とする請求項1に記載の情報処理装置。
  5.  前記ラベルなしデータ及び前記ラベルありデータを統合して統合データを作成し、前記統合データを前記深層学習モデルに入力して出力値を得るモデル出力部をさらに備え、
     前記損失算出部は、前記ラベルありデータに含まれる前記ラベルと前記疑似ラベルとを統合して統合ラベルを生成し、前記モデル出力部により得られた前記出力値と前記統合ラベルとを基に前記損失を算出する
     ことを特徴とする請求項1に記載の情報処理装置。
  6.  正解を表すラベルと対象データとが対応付けられた複数のラベルありデータ、正解との対応付けがない対象データである複数のラベルなしデータ、及び、深層学習モデルを用いて学習を行う情報処理方法であって、
     前記ラベルなしデータ及び前記深層学習モデルを基に疑似ラベルを生成し、
     前記疑似ラベル及び前記ラベルありデータに含まれる前記ラベルを基に、前記深層学習モデルを用いて前記ラベルなしデータの識別を行った場合及び前記ラベルありデータの識別を行った場合の損失を算出し、
     算出した前記損失を基に、前記深層学習モデルを更新する
     ことを特徴とする情報処理方法。
  7.  正解を表すラベルと対象データとが対応付けられた複数のラベルありデータ、正解との対応付けがない対象データである複数のラベルなしデータ、及び、深層学習モデルを用いた学習をコンピュータに実行させる情報処理プログラムであって、
     前記ラベルなしデータ及び前記深層学習モデルを基に疑似ラベルを生成し、
     前記疑似ラベル及び前記ラベルありデータに含まれる前記ラベルを基に、前記深層学習モデルを用いて前記ラベルなしデータの識別を行った場合及び前記ラベルありデータの識別を行った場合の損失を算出し、
     算出した前記損失を基に、前記深層学習モデルを更新する
     処理を前記コンピュータに実行させることを特徴とする情報処理プログラム。
PCT/JP2021/010452 2021-03-15 2021-03-15 情報処理装置、情報処理方法及び情報処理プログラム WO2022195691A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP21931445.7A EP4310734A4 (en) 2021-03-15 2021-03-15 INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD AND INFORMATION PROCESSING PROGRAM
JP2023506415A JPWO2022195691A1 (ja) 2021-03-15 2021-03-15
PCT/JP2021/010452 WO2022195691A1 (ja) 2021-03-15 2021-03-15 情報処理装置、情報処理方法及び情報処理プログラム
US18/458,363 US20230409911A1 (en) 2021-03-15 2023-08-30 Information processing device, information processing method, and non-transitory computer-readable recording medium storing information processing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/010452 WO2022195691A1 (ja) 2021-03-15 2021-03-15 情報処理装置、情報処理方法及び情報処理プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/458,363 Continuation US20230409911A1 (en) 2021-03-15 2023-08-30 Information processing device, information processing method, and non-transitory computer-readable recording medium storing information processing program

Publications (1)

Publication Number Publication Date
WO2022195691A1 true WO2022195691A1 (ja) 2022-09-22

Family

ID=83320061

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/010452 WO2022195691A1 (ja) 2021-03-15 2021-03-15 情報処理装置、情報処理方法及び情報処理プログラム

Country Status (4)

Country Link
US (1) US20230409911A1 (ja)
EP (1) EP4310734A4 (ja)
JP (1) JPWO2022195691A1 (ja)
WO (1) WO2022195691A1 (ja)

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
DONG-HYUN LEE: "Pseudo-Label : The Simple and Efficient Semi-Supervised Learning Method for Deep Neural Networks", ICML 2013 WORKSHOP : CHALLENGES IN REPRESENTATION LEARNING (WREPL), ATLANTA, GEORGIA, USA, 16 June 2013 (2013-06-16), Atlanta, Georgia, USA , XP055716966, Retrieved from the Internet <URL:http://deeplearning.net/wp-content/uploads/2013/03/pseudo_label_final.pdf> [retrieved on 20200721] *
SAITO KUNIAKI, USHIKU YOSHITAKA, HARADA TATSUYA: "Asymmetric Tri-training for Unsupervised Domain Adaptation", ARXIV.ORG, 13 May 2017 (2017-05-13), pages 1 - 12, XP055972209, Retrieved from the Internet <URL:https://arxiv.org/pdf/1702.08400.pdf> [retrieved on 20221018] *
See also references of EP4310734A4
XIAOMENG XIN, JINJUN WANG, RUJXIE, SANPINZHOU, WENLI HUANG, NANNING ZHENG: "Semi-supervised person re- identification using multi-view clustering", PATTERN RECOGNITION, vol. 88, 19 November 2019 (2019-11-19), pages 285 - 297, XP055972201 *
YUKI M. ASANOCHRISTIAN RUPPRECHTANDREA VEDALDI: "Self-labelling via simultaneous clustering and representation learning", ICLR2020, 20 August 2020 (2020-08-20)

Also Published As

Publication number Publication date
EP4310734A1 (en) 2024-01-24
JPWO2022195691A1 (ja) 2022-09-22
EP4310734A4 (en) 2024-05-01
US20230409911A1 (en) 2023-12-21

Similar Documents

Publication Publication Date Title
US10452899B2 (en) Unsupervised deep representation learning for fine-grained body part recognition
US11023806B2 (en) Learning apparatus, identifying apparatus, learning and identifying system, and recording medium
CN112990054B (zh) 紧凑的无语言面部表情嵌入和新颖三元组的训练方案
EP3198373B1 (en) Tracking hand/body pose
CA2843343C (en) Systems and methods of detecting body movements using globally generated multi-dimensional gesture data
CN113139628B (zh) 样本图像的识别方法、装置、设备及可读存储介质
CN110619059B (zh) 一种基于迁移学习的建筑物标定方法
CN114841257B (zh) 一种基于自监督对比约束下的小样本目标检测方法
JPWO2018167900A1 (ja) ニューラルネットワーク学習装置、方法、およびプログラム
JPWO2004008392A1 (ja) 3次元物体モデルを用いた画像照合システム、画像照合方法及び画像照合プログラム
US20210110215A1 (en) Information processing device, information processing method, and computer-readable recording medium recording information processing program
WO2016095068A1 (en) Pedestrian detection apparatus and method
JP2011154501A (ja) 学習装置、学習方法、識別装置、識別方法、プログラム、及び情報処理システム
WO2019146057A1 (ja) 学習装置、実写画像分類装置の生成システム、実写画像分類装置の生成装置、学習方法及びプログラム
CN104915673A (zh) 一种基于视觉词袋模型的目标分类方法和系统
US11954755B2 (en) Image processing device and operation method thereof
CN111161314A (zh) 目标对象的位置区域确定方法、装置、电子设备及存储介质
CN115222007A (zh) 面向胶质瘤多任务一体化网络的改进粒子群参数优化方法
CN114298122A (zh) 数据分类方法、装置、设备、存储介质及计算机程序产品
CN111797705A (zh) 一种基于人物关系建模的动作识别方法
CN115063664A (zh) 用于工业视觉检测的模型学习方法、训练方法及系统
CN113902989A (zh) 直播场景检测方法、存储介质及电子设备
CN108537253A (zh) 一种基于概率成对约束的自适应半监督降维方法
WO2022195691A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
CN107341189A (zh) 一种辅助人工对图像进行筛查、分类和存储的方法及系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21931445

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023506415

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2021931445

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021931445

Country of ref document: EP

Effective date: 20231016