WO2025018010A1 - 機械学習装置、機械学習方法、および機械学習プログラム - Google Patents
機械学習装置、機械学習方法、および機械学習プログラム Download PDFInfo
- Publication number
- WO2025018010A1 WO2025018010A1 PCT/JP2024/017617 JP2024017617W WO2025018010A1 WO 2025018010 A1 WO2025018010 A1 WO 2025018010A1 JP 2024017617 W JP2024017617 W JP 2024017617W WO 2025018010 A1 WO2025018010 A1 WO 2025018010A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- class
- classification
- weights
- base
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
Definitions
- the present invention relates to machine learning technology.
- CNN Convolutional Neural Network
- a more efficient and practical approach is incremental learning, or continual learning, which reuses previously acquired knowledge while learning new tasks.
- incremental learning in classification tasks is a technique that enables a system to learn and classify new classes (new classes) after first being able to classify base classes (classes learned in the past).
- class incremental learning has been proposed, which allows for the classification of new classes by additionally learning base classes to an already-trained model.
- CIL class incremental learning
- tasks are continuously added to an already-trained model for class classification, and classification performance for new and past classes is required for new tasks.
- the learning data for new tasks is usually big data.
- FSCIL Few-Shot Class Incremental Learning
- Non-Patent Document 1 Continually evolved classifiers (CEC) has been proposed as a continuous few-shot learning method.
- CEC constructs a pseudo continuous learning task by rotating the original image into a base class image, which becomes a pseudo new class image, and learns a graph attention network (GAT).
- GAT graph attention network
- Non-Patent Document 1 the feature representations for classifying images into basic classes have already been trained, so simply using trained images that have only been rotated can result in insufficient training of the graph model. This poses the problem that it may not be possible to obtain sufficient classification accuracy.
- This embodiment has been made in consideration of these circumstances, and its purpose is to provide a machine learning technique that can improve classification accuracy by optimizing feature representation using linguistic information that includes the visual concepts of basic classes.
- a machine learning device that continuously learns a smaller number of new class images compared to base class images, and includes a new class image generation unit that processes the base class images to generate new class images, an image feature output unit that has been pre-trained with the base class images and that outputs image features using the base class images or the new class images as input, a language classification weight output unit that has been pre-trained with the base class images and a sentence describing the base class images and that outputs a language classification weight using the sentence describing the base class images as input, an image classification weight output unit that receives the image feature as input, calculates an average value of the image feature for each class, and outputs it as an image classification weight for each class, an optimization unit that receives the image classification weight and the language classification weight as input, optimizes the image classification weight, and outputs a reconstructed classification weight, and a classification unit that uses the reconstructed classification weight as a class classification weight, and outputs a
- This method is a machine learning method for continuously learning a small number of new class images compared to base class images, and includes a new class image generation step of processing the base class images to generate new class images, an image feature output step of outputting image features using an image feature output module pre-trained with the base class images and taking the base class images or the new class images as input, and outputting language classification weights using a language classification weight output module pre-trained with the base class images and a sentence describing the base class images, an image classification weight output step of inputting the image feature values, calculating an average value of the image feature values for each class, and outputting the average value as the image classification weight for each class, an optimization step of inputting the image classification weights and the language classification weights, optimizing the image classification weights, and outputting reconstructed classification weights, and a classification step of using the reconstructed classification weights as class classification weights and outputting class classifications from the image feature values output by the image feature output step and the class classification weights
- FIG. 1 is a diagram for explaining a conventional CEC technique.
- 2(a) and 2(b) are diagrams showing classification accuracy of basic classes used for training GAT with respect to the rotation angle of images in a conventional CEC.
- FIG. 13 is a diagram showing an example of classification weights input to a GAT in conventional pseudo continuous learning.
- 11 is a diagram showing an example of class classification weights and language classification weights input to a GAT in pseudo continuous learning according to the present embodiment.
- FIG. 5(a) and 5(b) are diagrams comparing the output of the GAT in pseudo continuous learning between the conventional technique and this embodiment.
- FIG. 1 is a functional block diagram for explaining a configuration of a pseudo continuous learning module of a conventional machine learning device that uses CEC.
- FIG. 1 is a functional block diagram for explaining a configuration of a pseudo continuous learning module of a conventional machine learning device that uses CEC.
- FIG. 2 is a functional block diagram for explaining the configuration of a pseudo continuous learning module of the machine learning device of the present embodiment that uses CEC.
- FIG. 11 is a functional block diagram for explaining another configuration of the pseudo continuous learning module of the machine learning device of the present embodiment that uses CEC.
- CEC is a method to improve FSCIL's issues of forgetting base classes and overfitting to new classes by separating the feature extractor and classifier and propagating contextual information between classifiers using a graph model.
- FIG. 1 is a diagram for explaining a conventional CEC technique. As shown in FIG. 1, CEC is composed of stages 1 to 3.
- a conventional machine learning device 100 includes a pre-training module 30 used in stage 1, a pseudo continuous learning module 40 used in stage 2, and a new class learning module 50 used in stage 3.
- Stage 1 is a pre-learning stage.
- a large amount of base class data set (hereinafter, base data set) 10 is used in the pre-training module 30 to pre-learn the weights of the backbone CNN 32 of the pre-training module 30 by standard supervised learning.
- the base data set 10 includes N data samples.
- An example of a data sample is image data, but is not limited to this.
- the base data set 10 includes 60 classes x 500 images of image data.
- the base data set 10 may include data sets of multiple different classes.
- the backbone CNN 32 is a convolutional neural network pre-trained with the base data set 10.
- the backbone CNN 32 has a weight of the feature extractor R and a base class classification weight W0, which is a weight vector of the base class classifier.
- the base class classification weight W0 indicates the average feature amount of the data samples of the base data set 10.
- Stage 2 is the pseudo continuous learning stage.
- the pseudo continuous learning module 40 learns the weights of the GAT 44 to propagate the contextual information of each class and generate a classifier adapted to all classes.
- the GAT 44 is trained in an episodic format by constructing a pseudo continuous learning task from a dataset of rotated images generated by rotating images of the base dataset 10.
- the dataset generated based on the base dataset 10 in the pseudo continuous learning stage is referred to as the pseudo dataset 15.
- base class classification weights are learned based on feature vectors generated by inputting pseudo dataset 15, which is another dataset of base classes, to feature extractor R of backbone CNN 32 pre-trained in stage 1.
- pseudo dataset 15 which is another dataset of base classes
- feature extractor R of backbone CNN 32 pre-trained in stage 1.
- these base class classification weights are adapted and reconstructed in GAT 44, and reconstructed classification weights 45 of W'0 are output.
- the reconstructed classification weights output from GAT are referred to as reconstructed classification weights.
- each episode is composed of a support set and a query set.
- both the support set and the query set are composed of the base dataset 10 and the pseudo dataset 15.
- stage 2 in each episode, based on the support samples of the given support set, the query samples of both the base dataset 10 and the pseudo dataset 15 included in the query set are classified, and the parameters of GAT 44 are updated so as to minimize the classification loss.
- Stage 3 is a classifier learning and adaptation stage.
- the new class learning module 50 learns classifiers using a small number of new class datasets (hereinafter, new datasets) 20 given per session, and all classifiers learned in the current session and previous sessions are input to the GAT 53 of the new class learning module 50, where all classifiers are adapted.
- the GAT 53 of the new class learning module 50 is the GAT learned in the pseudo-continuous learning stage. Query inference is performed by the classifiers adapted by the GAT 53.
- the new dataset 20 includes k data samples, which is smaller than the base dataset 10.
- the new dataset 20 may include datasets of multiple different classes.
- stage 3 new class classification weights are learned for each session based on the feature vectors generated by inputting the new dataset 20 to the feature extractor R of the backbone CNN 32 pre-trained in stage 1.
- the base class classification weight W0 learned in stage 1 and all the new class classification weights ⁇ W1, ..., Wi ⁇ learned in each session up to the i-th session in stage 3 to the GAT 53 of the new class learning module 50, the classification weights of all classes input to the GAT 53 are adapted and reconstructed, and the reconstructed classification weights 54 of ⁇ W'0, W'1, ..., W'i ⁇ are output from the GAT 53.
- the pseudo-continuous learning module 40 is improved with a focus on the pseudo-continuous learning in stage 2.
- the rest of the configuration is the same as that of the conventional machine learning device 100.
- FIG. 2(a) and 2(b) are diagrams showing the classification accuracy versus rotation angle of images of the base class used in GAT training in a conventional CEC.
- FIG. 2(a) shows the average classification accuracy versus rotation angle
- FIG. 2(b) shows the rate of decline in average classification accuracy versus rotation angle from the initial session to the final session. From FIG. 2(a), it can be seen that classification accuracy is high when the rotation angles are 90°, 180°, and 270°. Also, from FIG. 2(b), it can be seen that the rate of decline in average classification accuracy from the initial session to the final session is small when the rotation angles are 90°, 180°, and 270°, and forgetting of the base class is suppressed. From this, it is considered desirable to use images that are visually far removed from images of the base class in pseudo-continuous learning from the perspective of improving classification accuracy.
- FIG 3 shows an example of classification weights input to the GAT in conventional pseudo-continuous learning.
- classification weights of each class in the feature space are visualized in two-dimensional space.
- Classification weights are also called "prototypes.”
- GAT is input with 5 randomly selected prototypes of base classes (B1-B5) and 5 prototypes of new classes (N1-N5) that are artificially generated by rotating the images of the base classes.
- the new classes N1, N2, N3, N4, and N5 are the rotated versions of the base classes B1, B2, B3, B4, and B5, respectively.
- the prototype obtained by averaging the image features of the base class and the prototype of the new class obtained by averaging the features of the rotated image of that base class are visually similar and close in feature space, which may result in insufficient learning of the GAT. Furthermore, the learning of the GAT parameters is optimized only by the cross-entropy loss, which may limit the adjustment of the prototype.
- Figure 4 shows an example of prototypes and language classification weights input to the GAT in the pseudo-continuous learning of this embodiment.
- the prototypes and language classification weights of each class in the feature space are visualized in two-dimensional space.
- the contrastive loss described in non-patent document 3 is used to learn the parameters of the GAT.
- the GAT parameters are pseudo-continuously trained so that the prototype of the base class is closer to the language classification weights that include the visual concept of the base class, and the prototype of the new class is farther away from the language classification weights of the base class that was rotated.
- Figures 5(a) and 5(b) are diagrams comparing the output of the GAT in pseudo-continuous learning between the conventional technology and this embodiment.
- the output of the GAT is a prototype after being adjusted by pseudo-continuous learning.
- the adjusted prototype of the base class approaches the language classification weight of the base class, and the adjusted prototype of the new class moves away from the language classification weight of the base class from which it was rotated.
- the GAT can be effectively trained by optimization using the language classification weight, which increases the amount of movement of the prototype and improves the classification accuracy of each class.
- FIG. 6 is a functional block diagram for explaining the configuration of a pseudo-continuous learning module 40 of a conventional machine learning device 100 that uses CEC.
- the pseudo-continuous learning module 40 includes a new class image generation unit 61, an image feature output unit 62, an image classification weight output unit 64, an optimization unit 66, and a classification unit 67.
- the new class image generation unit 61 generates a pseudo dataset 15 of new class images by rotating the images of the basic classes of the basic dataset 10 used in the pre-training module 30, and supplies it to the image feature output unit 62.
- the image feature output unit 62 receives the pseudo dataset 15 of the new class image as input, extracts a feature vector of the pseudo dataset 15 of the new class image, and supplies the extracted image feature to the image classification weight output unit 64.
- the image feature output unit 62 corresponds to the feature extractor R of the backbone CNN 32 that pre-trained the basic class classification weights in stage 1.
- the image classification weight output unit 64 calculates the image classification weight of the pseudo dataset 15 of the new class image by averaging the feature vectors of the pseudo dataset 15 of the new class image for each class, and supplies it to the optimization unit 66.
- the optimization unit 66 corresponds to the GAT 44, and receives as input the basic class classification weights W0 of the backbone CNN 32 in which the classification weights of the basic classes have been pre-trained in stage 1, and the basic class classification weights of the pseudo dataset 15 supplied from the image classification weight output unit 64, and outputs reconstructed classification weights by meta-learning the dependency between the basic dataset 10 and the pseudo dataset 15 and adapting all the input class classification weights.
- meta-learning of the GAT which is a meta-module, is performed in an episode format.
- the optimization method of the optimization unit 66 uses the method of minimizing the cross-entropy loss described in Non-Patent Document 1.
- the optimization unit 66 supplies the reconstructed classification weights obtained in this manner to the classification unit 67.
- the classification unit 67 uses the reconstructed classification weights as weights for class classification, and outputs a class classification from the image features output by the image feature output unit 62 and the weights for class classification.
- FIG. 7 is a functional block diagram for explaining the configuration of the pseudo continuous learning module 40 of the machine learning device 200 of this embodiment that uses CEC.
- the pseudo continuous learning module 40 includes a new class image generation unit 61, an image feature output unit 62, an image classification weight output unit 64, a language classification weight output unit 65, an optimization unit 66, and a classification unit 67.
- configurations and operations that are common to the functional blocks of the pseudo continuous learning module 40 of the conventional machine learning device 100 in FIG. 6 are omitted as appropriate, and different configurations and operations are explained.
- the language classification weight output unit 65 is pre-trained with base class images and text describing the base class images (called “captions”), and generates language classification weights, which are language features of the base class images, using the captions of the base class images as input, and supplies these to the optimization unit 66.
- the optimization unit 66 receives the image classification weights and the language classification weights as input, optimizes the image classification weights, calculates the reconstructed classification weights, and supplies them to the classification unit 67. Specifically, the optimization unit 66 calculates the reconstructed classification weights by minimizing the constructive loss so as to bring the image classification weights of the base class closer to the language classification weights and move the image classification weights of the new class away from the language classification weights.
- the distance between classes is increased compared to conventional techniques, thereby improving classification accuracy.
- FIG. 8 is a functional block diagram for explaining another configuration of the pseudo continuous learning module 40 of the machine learning device 200 of this embodiment that uses CEC.
- the pseudo continuous learning module 40 includes a new class image generation unit 61, an image feature output unit 62, a language feature output unit 63, an image classification weight output unit 64, a language classification weight output unit 65, an optimization unit 66, and a classification unit 67.
- a language feature output unit 63 is further provided.
- the language feature output unit 63 extracts language features from each of the multiple captions and supplies them to the language classification weight output unit 65.
- the language classification weight output unit 65 calculates a language classification weight by averaging the language features and supplies it to the optimization unit 66. The rest of the configuration and operation are the same as in Figure 7.
- the various processes of the machine learning device 200 described above can of course be realized as a device using hardware such as a CPU and memory, but can also be realized by firmware stored in a ROM (read only memory) or flash memory, or by software on a computer, etc.
- the firmware and software programs can be provided by recording them on a recording medium readable by a computer, or can be transmitted and received with a server via a wired or wireless network, or can be transmitted and received as data broadcasting on terrestrial or satellite digital broadcasting.
- an image of the new class may be generated by processing the image of the base class in a manner other than rotating the image of the base class.
- an image of the new class may be generated by dividing the image of the base class into multiple regions and swapping the divided regions with each other.
- This invention can be used in machine learning technology.
- Base dataset 15 Pseudo dataset, 20 New dataset, 30 Pre-training module, 32 Backbone CNN, 40 Pseudo continuous learning module, 44, 53 GAT, 45, 54 Reconstructed classification weights, 50 New class learning module, 61 New class image generation unit, 62 Image feature output unit, 63 Language feature output unit, 64 Image classification weight output unit, 65 Language classification weight output unit, 66 Optimization unit, 67 Classification unit, 100, 200 Machine learning device.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
新規クラス画像生成部(61)は、基本クラスの画像を加工して、新規クラスの画像を生成する。画像特徴量出力部(62)は、基本クラスの画像によって事前学習されており、基本クラスの画像または新規クラスの画像を入力として画像特徴量を出力する。言語分類重み出力部(65)は、基本クラスの画像と、基本クラスの画像を説明する文章とによって事前学習されており、基本クラスの画像を説明する文章を入力として言語分類重みを出力する。画像分類重み出力部(64)は、画像特徴量を入力とし、クラス毎に画像特徴量の平均値を算出し、クラス毎の画像分類重みとして出力する。最適化部(66)は、画像分類重みと言語分類重みとを入力とし、画像分類重みを最適化し、再構築分類重みを出力する。
Description
本発明は、機械学習技術に関する。
人間は長期にわたる経験を通して新しい知識を学習することができ、昔の知識を忘れないように維持することができる。一方、畳み込みニューラルネットワーク(Convolutional Neural Network(CNN))の知識は学習に使用したデータセットに依存しており、データ分布の変化に適応するためにはデータセット全体に対してCNNのパラメータの再学習が必要となる。
より効率的で実用的な手法として、既に獲得した知識を再利用しつつ、新たなタスクを学習する継続学習(incremental learningまたはcontinual learning)という手法がある。特に、クラス分類タスクにおける継続学習は基本クラス(過去に学習したクラス)が分類できる状態から新しいクラス(新規クラス)を学習して分類できるようにする手法である。
一方、深層学習では、過去に獲得した知識を大幅に喪失し、タスクの能力が大幅に低下する致命的忘却(catastrophic forgetting)という現象があるが、継続学習ではこれが特に問題となる。クラス分類タスクにおける継続学習では、致命的忘却を抑制して基本クラスの分類性能を維持しつつ、新規クラスの分類性能を獲得することが最大の課題となる。
他方、新しいタスクは数少ないサンプルデータしか利用できないことが多いため、少ない教師データで効率的に学習する手法として、少数ショット学習(few-shot learning)が提案されている。通常であれば学習には数千以上のサンプルが必要であるが、少数ショット学習では少数サンプル(例えば数個のサンプル)で学習が行われる。
また、基本(ベース)クラスを学習済みのモデルに対して追加で学習させ、新たなクラス(新規クラス)の分類を可能にするクラスインクリメンタル学習(Class Incremental Learning:CIL、継続学習)が提案されている。CILでは、クラス分類の学習済みモデルに対してタスクが継続的に追加され、新規タスクでは新規のクラス及び過去のクラスの分類性能が求められる。なお、通常、新規タスクの学習データはビッグデータである。
基本(ベース)クラスの学習結果に対して致命的忘却を伴わずに新規クラスを学習する継続学習と、基本クラスに比べて少数しかない新規クラスを学習する少数ショット学習とを組み合わせたインクリメンタル少数ショット学習(Few-Shot Class Incremental Learning (FSCIL))と呼ばれる手法が提案されている(非特許文献1)。継続少数ショット学習は、基本クラスについては大規模なデータセットから学習し、新規クラスについては少数のサンプルデータから学習することができる。FSCILはCILに近いクラス分類のインクリメンタル学習シナリオだが、新規タスクの学習データが少数(スモールデータ)である点が大きく異なる。
継続少数ショット学習手法としてCEC(Continually Evolved Classifiers)が提案されている(非特許文献1)。CECは、元の画像を回転させた基本クラスの画像を疑似的に新しい新規クラスの画像とすることにより、疑似継続学習タスクを構築し、グラフアテンションネットワーク(graph attention network(GAT))を学習する。
Zhang, C., Song, N., Lin, G., Zheng, Y., Pan, P., & Xu, Y. (2021). Few-shot incremental learning with continually evolved classifiers. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 12455-12464).
Nishida, K., Nishida, K., & Nishioka, S. (2022). Improving Few-Shot Image Classification Using Machine-and User-Generated Natural Language Descriptions. arXiv preprint arXiv:2207.03133.
Chen, T., Kornblith, S., Norouzi, M., & Hinton, G. (2020, November). A simple framework for contrastive learning of visual representations. In International conference on machine learning (pp. 1597-1607). PMLR.
非特許文献1に記載の手法では、基本クラスの画像を分類するための特徴表現は既に学習済みであるため、回転させただけの学習済み画像を使用するだけでは、グラフモデルの学習が不十分になる可能性がある。そのため、十分な分類精度を得ることができない場合があるという課題があった。
本実施形態はこうした状況に鑑みてなされたものであり、その目的は、基本クラスの視覚的概念を含む言語情報を用いて特徴表現を最適化することによって、分類精度の向上を図ることができる機械学習技術を提供することにある。
上記課題を解決するために、本実施形態のある態様の機械学習装置は、基本クラスの画像に比べて少数の新規クラスの画像を継続学習する機械学習装置であって、前記基本クラスの画像を加工して、新規クラスの画像を生成する新規クラス画像生成部と、前記基本クラスの画像によって事前学習された画像特徴量出力部であって、前記基本クラスの画像または前記新規クラスの画像を入力として画像特徴量を出力する画像特徴量出力部と、前記基本クラスの画像と、前記基本クラスの画像を説明する文章とによって事前学習された言語分類重み出力部であって、前記基本クラスの画像を説明する文章を入力として言語分類重みを出力する言語分類重み出力部と、前記画像特徴量を入力とし、クラス毎に前記画像特徴量の平均値を算出し、クラス毎の画像分類重みとして出力する画像分類重み出力部と、前記画像分類重みと前記言語分類重みとを入力とし、前記画像分類重みを最適化し、再構築分類重みを出力する最適化部と、前記再構築分類重みをクラス分類の重みとして用い、前記画像特徴量出力部が出力した画像特徴量と前記クラス分類の重みとから、クラス分類を出力する分類部とを備える。
本実施形態の別の態様は、機械学習方法である。この方法は、基本クラスの画像に比べて少数の新規クラスの画像を継続学習する機械学習方法であって、前記基本クラスの画像を加工して、新規クラスの画像を生成する新規クラス画像生成ステップと、前記基本クラスの画像によって事前学習された画像特徴量出力モジュールを用いて、前記基本クラスの画像または前記新規クラスの画像を入力として画像特徴量を出力する画像特徴量出力ステップと、前記基本クラスの画像と、前記基本クラスの画像を説明する文章とによって事前学習された言語分類重み出力モジュールを用いて、前記基本クラスの画像を説明する文章を入力として言語分類重みを出力する言語分類重み出力ステップと、前記画像特徴量を入力とし、クラス毎に前記画像特徴量の平均値を算出し、クラス毎の画像分類重みとして出力する画像分類重み出力ステップと、前記画像分類重みと前記言語分類重みとを入力とし、前記画像分類重みを最適化し、再構築分類重みを出力する最適化ステップと、前記再構築分類重みをクラス分類の重みとして用い、前記画像特徴量出力ステップが出力した画像特徴量と前記クラス分類の重みとから、クラス分類を出力する分類ステップとを備える。
なお、以上の構成要素の任意の組合せ、本実施形態の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本実施形態の態様として有効である。
本実施形態によれば、基本クラスの視覚的概念を含む言語情報を用いて特徴表現を最適化することによって、分類精度の向上を図ることができる機械学習技術を提供することができる。
CECはFSCILの課題である基本クラスの忘却、新規クラスへのオーバーフィッティングを特徴抽出器と分類器の分離、グラフモデルによる分類器間の文脈情報の伝播によって改善する手法である。
図1は、従来のCECの手法を説明するための図である。図1に示すように、CECはステージ1~3で構成される。従来の機械学習装置100は、ステージ1で用いられる事前トレーニングモジュール30と、ステージ2で用いられる疑似継続学習モジュール40と、ステージ3で用いられる新規クラス学習モジュール50と、を含む。
ステージ1は、事前学習ステージである。ステージ1では、大量の基本クラスのデータセット(以下、基本データセット)10を使用して、事前トレーニングモジュール30において標準的な教師あり学習で事前トレーニングモジュール30のバックボーンCNN32の重みが事前学習される。基本データセット10はN個のデータサンプルを含む。データサンプルの一例は画像データであるが、これに限定されない。例えば、CIFAR100データセットの場合、基本データセット10は60クラス×500枚の画像データを含む。基本データセット10は、複数の異なるクラスのデータセットを含んでもよい。バックボーンCNN32は、基本データセット10を事前学習した畳み込みニューラルネットワークである。バックボーンCNN32は、特徴抽出器Rの重みと基本クラスの分類器の重みベクトルである基本クラス分類重みW0とを有する。基本クラス分類重みW0は、基本データセット10のデータサンプルの平均特徴量を示す。事前学習したバックボーンCNN32の特徴抽出器Rのパラメータを以降のステージで固定することにより、基本クラスの忘却が抑制される。
ステージ2は、疑似継続学習ステージである。ステージ2では、疑似継続学習モジュール40において、各クラスの文脈情報を伝播させて全てのクラスに適応した分類器を生成するためにGAT44の重みが学習される。GAT44の学習は、基本データセット10の画像を回転させることによって生成した回転画像のデータセットから疑似継続学習タスクを構築することにより、エピソード形式で行う。以下、疑似継続学習ステージにおいて基本データセット10に基づいて生成されたデータセットを疑似データセット15という。
ステージ2では、基本クラスの別のデータセットである疑似データセット15をステージ1で事前学習したバックボーンCNN32の特徴抽出器Rに入力することにより生成された特徴ベクトルに基づいて、基本クラス分類重みが学習される。ステージ1で学習された基本クラス分類重みW0とステージ2で学習された基本クラス分類重みとを疑似継続学習モジュールのGAT44に入力することにより、GAT44においてこれらの基本クラス分類重みが適応されて再構築されることにより、W’0の再構築分類重み45が出力される。以下、GATから出力される再構築された分類重みを再構築分類重みという。
エピソード形式について説明する。各エピソードは、サポートセットとクエリセットから構成される。疑似継続学習ステージにおいて、サポートセット及びクエリセットはいずれも基本データセット10と疑似データセット15とで構成される。ステージ2では、各エピソードにおいて、与えられたサポートセットのサポートサンプルに基づいて、クエリセットに含まれる基本データセット10と疑似データセット15の両方のクエリサンプルをクラス分類し、クラス分類の損失を最小化するようにGAT44のパラメータを更新する。
ここで、疑似継続学習タスクにおいて基本クラスの回転画像が使用されるのは、バックボーンCNN32はステージ1で既に基本クラスの画像をうまく分類するための特徴表現を学習していることから、仮に基本クラスの画像をそのまま利用するとGAT44がうまく学習されないためである。学習後のGAT44のパラメータは、以降のステージでは固定される。
ステージ3は、分類器学習及び適応ステージである。ステージ3では、新規クラス学習モジュール50において、セッション毎に与えられた少数の新規クラスのデータセット(以下、新規データセット)20を使用して分類器を学習し、現在のセッションと以前のセッションで学習された全ての分類器を新規クラス学習モジュール50のGAT53に入力することにより、全ての分類器が適応される。新規クラス学習モジュール50のGAT53は、疑似継続学習ステージで学習したGATである。GAT53によって適応された分類器によってクエリの推論が行われる。新規データセット20は、基本データセット10よりも少数のk個のデータサンプルを含む。新規データセット20は、複数の異なるクラスのデータセットを含んでもよい。
ステージ3では、新規データセット20をステージ1で事前学習したバックボーンCNN32の特徴抽出器Rに入力することにより生成された特徴ベクトルに基づいて、セッション毎に新規クラス分類重みが学習される。ステージ1で学習された基本クラス分類重みW0と、ステージ3のi番目のセッションまでの各セッションで学習された全ての新規クラス分類重み{W1,…, Wi}とを新規クラス学習モジュール50のGAT53に入力することにより、GAT53に入力された全てのクラスの分類重みが適応されて再構築され、GAT53から{W’0, W’1,…, W’i}の再構築分類重み54が出力される。
本実施の形態の機械学習装置200では、ステージ2の疑似継続学習に着目し、疑似継続学習モジュール40に改良を加える。それ以外の構成については従来の機械学習装置100と同じである。
図2(a)、図2(b)は、従来のCECにおいて、GATの学習に使用する基本クラスの画像の回転角度に対する分類精度を示す図である。図2(a)は回転角度に対する平均分類精度を示し、図2(b)は回転角度に対する初期セッションから最終セッションまでの平均分類精度の低下率を示す。図2(a)から、回転角度が90°、180°、270°の場合に分類精度が高いことが確認できる。また、図2(b)から、回転角度が90°、180°、270°の場合に初期セッションから最終セッションまでの平均分類精度の低下率が小さく、基本クラスの忘却が抑制されることがわかる。このことから疑似継続学習では、基本クラスの画像から視覚的にかけ離れた画像を使用することが分類精度向上の観点から望ましいと考えられる。
図3は、従来の疑似継続学習におけるGATに入力されるクラス分類重みの例を示す図である。ここでは、特徴空間における各クラスの分類重みを2次元空間に視覚化したものを図示している。クラス分類重みは「プロトタイプ」とも呼ばれる。
GATにはランダムに選択された基本クラスの5クラスのプロトタイプ(B1~B5)と、その基本クラスの画像を回転させて疑似的に生成した新規クラスの5クラスのプロトタイプ(N1~N5)が入力される。新規クラスN1、N2、N3、N4、N5はそれぞれ基本クラスB1、B2、B3、B4、B5を回転させたものである。
図3に示されるように、基本クラスの画像特徴を平均したプロトタイプとその基本クラスの回転画像の特徴を平均した新規クラスのプロトタイプでは、視覚的に大きな差がなく特徴空間上で近い位置となるため、GATの学習が不十分となる可能性がある。さらに、GATのパラメータの学習は、クロスエントロピー損失のみで最適化されているためプロトタイプの調整が限定的になる可能性がある。
図4は、本実施の形態の疑似継続学習におけるGATに入力されるプロトタイプと言語分類重みの例を示す図である。ここでは、特徴空間における各クラスのプロトタイプと言語分類重みを2次元空間に視覚化したものを図示している。
GATにはランダムに選択された基本クラスの5クラスのプロトタイプ(B1~B5)と、その基本クラスの画像を回転させて疑似的に生成した新規クラスの5クラスのプロトタイプ(N1~N5)と、基本クラスの5クラス(B1~B5)の言語分類重み(T1~T5)が入力される。新規クラスN1、N2、N3、N4、N5はそれぞれ基本クラスB1、B2、B3、B4、B5を回転させたものである。言語分類重みT1、T2、T3、T4、T5はそれぞれ基本クラスB1、B2、B3、B4、B5の言語分類重みである。
ここで、言語分類重みは、一例として非特許文献2に記載されるように、画像と言語をペアにしたビッグデータで十分に学習した学習済Text Encoderモデルによって生成される基本クラスの視覚的概念を含む特徴表現を用いる。具体的には、Text Encoderを用いて基本クラスの画像を説明する文章から基本クラスの言語分類重みを生成する。なお、言語分類重みは非特許文献2ではtext representation、text featureとされているものである。
GATのパラメータの学習には従来のクロスエントロピー損失に加えて、非特許文献3に記載されるコントラスティブ(対照的)損失(Contrastive Loss)を使用する。具体的には、基本クラスのプロトタイプは、基本クラスの視覚的概念を含む言語分類重みに近づけ、新規クラスのプロトタイプは、回転元の基本クラスの言語分類重みから遠ざけるようにGATのパラメータを疑似継続学習させる。
図5(a)、図5(b)は、疑似継続学習におけるGATの出力について従来技術と本実施の形態を比較した図である。GATの出力は、疑似継続学習によって調整された後のプロトタイプである。
図5(a)に示すように、従来技術ではプロトタイプの移動量が小さく、そのため分離精度が限定的である。
図5(b)に示すように、本実施の形態では、基本クラスの調整後のプロトタイプは、基本クラスの言語分類重みに近づき、新規クラスの調整後のプロトタイプは、回転元の基本クラスの言語分類重みから遠ざかる。このようにして言語分類重みを用いた最適化によりGATを効果的に学習することができるため、プロトタイプの移動量が増し、各クラスの分類精度が向上する。
図6は、CECを利用する従来の機械学習装置100の疑似継続学習モジュール40の構成を説明するための機能ブロック図である。疑似継続学習モジュール40は、新規クラス画像生成部61、画像特徴量出力部62、画像分類重み出力部64、最適化部66、および分類部67を含む。
新規クラス画像生成部61は、事前トレーニングモジュール30で用いられた基本データセット10の基本クラスの画像を回転させることによって新規クラス画像の疑似データセット15を生成し、画像特徴量出力部62に供給する。
画像特徴量出力部62は、新規クラス画像の疑似データセット15を入力として、新規クラス画像の疑似データセット15の特徴ベクトルを抽出し、抽出した画像特徴量を画像分類重み出力部64に供給する。画像特徴量出力部62は、ステージ1で基本クラス分類重みを事前学習したバックボーンCNN32の特徴抽出器Rに対応する。
画像分類重み出力部64は、新規クラス画像の疑似データセット15の特徴ベクトルをクラス毎に平均化することにより、新規クラス画像の疑似データセット15の画像分類重みを算出し、最適化部66に供給する。
最適化部66は、GAT44に対応し、ステージ1で基本クラスの分類重みを事前学習済みのバックボーンCNN32の基本クラス分類重みW0と、画像分類重み出力部64から供給される疑似データセット15の基本クラス分類重みとを入力とし、基本データセット10と疑似データセット15との間の依存関係をメタ学習して、入力した全てのクラス分類重みを適応させることにより、再構築分類重みを出力する。疑似継続学習モジュール40では、メタモジュールであるGATをエピソード形式でメタ学習する。基本データセット10と疑似データセット15で構成されるクエリセットを用いて、エピソード毎に、最適化部66のパラメータが最適化されて更新される。最適化部66の最適化方法は非特許文献1に記載されるクロスエントロピー損失を最小化する方法を用いる。最適化部66はこのようにして得られた再構築分類重みを分類部67に供給する。
分類部67は、再構築分類重みをクラス分類の重みとして用い、画像特徴量出力部62が出力した画像特徴量とクラス分類の重みとからクラス分類を出力する。
図7は、CECを利用する本実施の形態の機械学習装置200の疑似継続学習モジュール40の構成を説明するための機能ブロック図である。疑似継続学習モジュール40は、新規クラス画像生成部61、画像特徴量出力部62、画像分類重み出力部64、言語分類重み出力部65、最適化部66、および分類部67を含む。ここでは、図6の従来の機械学習装置100の疑似継続学習モジュール40の機能ブロックと共通する構成と動作については適宜省略して、異なる構成と動作について説明する。
言語分類重み出力部65は、基本クラス画像と基本クラスの画像を説明する文章(「キャプション」と呼ぶ)とによって事前学習されており、基本クラスの画像のキャプションを入力として基本クラスの画像の言語特徴量である言語分類重みを生成し、最適化部66に供給する。
最適化部66は、画像分類重みと言語分類重みとを入力として、画像分類重みを最適化して再構築分類重みを算出し、分類部67に供給する。具体的には、最適化部66は、基本クラスの画像分類重みは言語分類重みに近づけ、新規クラスの画像分類重みは言語分類重みから遠ざけるようにコンストラスティブ損失を最小化することにより、再構築分類重みを算出する。
本実施の形態の機械学習装置200の疑似継続学習モジュール40では、言語分類重みを基準とするコンストラスティブ損失を最小化することにより、従来技術よりもクラス間の距離が離れるため、分類精度が向上する。
図8は、CECを利用する本実施の形態の機械学習装置200の疑似継続学習モジュール40の別の構成を説明するための機能ブロック図である。疑似継続学習モジュール40は、新規クラス画像生成部61、画像特徴量出力部62、言語特徴量出力部63、画像分類重み出力部64、言語分類重み出力部65、最適化部66、および分類部67を含む。ここでは、図7の機械学習装置200の疑似継続学習モジュール40の機能ブロックとは、言語特徴量出力部63がさらに設けられる点が異なる。
基本クラスの画像1つに対して複数のキャプションがある場合、言語特徴量出力部63は複数のキャプションのそれぞれから言語特徴量を抽出し、言語分類重み出力部65に供給する。言語分類重み出力部65は、言語特徴量を平均化することにより言語分類重みを算出し、最適化部66に供給する。それ以外の構成と動作は図7と同一である。
以上説明した機械学習装置200の各種の処理は、CPUやメモリ等のハードウェアを用いた装置として実現することができるのは勿論のこと、ROM(リード・オンリ・メモリ)やフラッシュメモリ等に記憶されているファームウェアや、コンピュータ等のソフトウェアによっても実現することができる。そのファームウェアプログラム、ソフトウェアプログラムをコンピュータ等で読み取り可能な記録媒体に記録して提供することも、有線あるいは無線のネットワークを通してサーバと送受信することも、地上波あるいは衛星ディジタル放送のデータ放送として送受信することも可能である。
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
基本クラスの画像から新規クラスの画像を生成する方法として、基本クラスの画像を回転させる以外の方法で基本クラスの画像を加工して新規クラスの画像を生成してもよい。たとえば、基本クラスの画像を複数の領域に分割し、分割した領域を互いに入れ替えることで新規クラスの画像を生成してもよい。
本発明は、機械学習技術に利用できる。
10 基本データセット、 15 疑似データセット、 20 新規データセット、 30 事前トレーニングモジュール、 32 バックボーンCNN、 40 疑似継続学習モジュール、 44、53 GAT、 45、54 再構築分類重み、 50 新規クラス学習モジュール、 61 新規クラス画像生成部、 62 画像特徴量出力部、 63 言語特徴量出力部、 64 画像分類重み出力部、 65 言語分類重み出力部、 66 最適化部、 67 分類部、 100、200 機械学習装置。
Claims (4)
- 基本クラスの画像に比べて少数の新規クラスの画像を継続学習する機械学習装置であって、
前記基本クラスの画像を加工して、新規クラスの画像を生成する新規クラス画像生成部と、
前記基本クラスの画像によって事前学習された画像特徴量出力部であって、前記基本クラスの画像または前記新規クラスの画像を入力として画像特徴量を出力する画像特徴量出力部と、
前記基本クラスの画像と、前記基本クラスの画像を説明する文章とによって事前学習された言語分類重み出力部であって、前記基本クラスの画像を説明する文章を入力として言語分類重みを出力する言語分類重み出力部と、
前記画像特徴量を入力とし、クラス毎に前記画像特徴量の平均値を算出し、クラス毎の画像分類重みとして出力する画像分類重み出力部と、
前記画像分類重みと前記言語分類重みとを入力とし、前記画像分類重みを最適化し、再構築分類重みを出力する最適化部と、
前記再構築分類重みをクラス分類の重みとして用い、前記画像特徴量出力部が出力した画像特徴量と前記クラス分類の重みとから、クラス分類を出力する分類部とを備えることを特徴とする機械学習装置。 - 前記最適化部は、
前記基本クラスの画像分類重みは前記言語分類重みに近づけ、前記新規クラスの画像分類重みは前記言語分類重みから遠ざけるように学習することを特徴とする請求項1に記載の機械学習装置。 - 基本クラスの画像に比べて少数の新規クラスの画像を継続学習する機械学習方法であって、
前記基本クラスの画像を加工して、新規クラスの画像を生成する新規クラス画像生成ステップと、
前記基本クラスの画像によって事前学習された画像特徴量出力モジュールを用いて、前記基本クラスの画像または前記新規クラスの画像を入力として画像特徴量を出力する画像特徴量出力ステップと、
前記基本クラスの画像と、前記基本クラスの画像を説明する文章とによって事前学習された言語分類重み出力モジュールを用いて、前記基本クラスの画像を説明する文章を入力として言語分類重みを出力する言語分類重み出力ステップと、
前記画像特徴量を入力とし、クラス毎に前記画像特徴量の平均値を算出し、クラス毎の画像分類重みとして出力する画像分類重み出力ステップと、
前記画像分類重みと前記言語分類重みとを入力とし、前記画像分類重みを最適化し、再構築分類重みを出力する最適化ステップと、
前記再構築分類重みをクラス分類の重みとして用い、前記画像特徴量出力ステップが出力した画像特徴量と前記クラス分類の重みとから、クラス分類を出力する分類ステップとを備えることを特徴とする機械学習方法。 - 基本クラスの画像に比べて少数の新規クラスの画像を継続学習する機械学習プログラムであって、
前記基本クラスの画像を加工して、新規クラスの画像を生成する新規クラス画像生成ステップと、
前記基本クラスの画像によって事前学習された画像特徴量出力モジュールを用いて、前記基本クラスの画像または前記新規クラスの画像を入力として画像特徴量を出力する画像特徴量出力ステップと、
前記基本クラスの画像と、前記基本クラスの画像を説明する文章とによって事前学習された言語分類重み出力モジュールを用いて、前記基本クラスの画像を説明する文章を入力として言語分類重みを出力する言語分類重み出力ステップと、
前記画像特徴量を入力とし、クラス毎に前記画像特徴量の平均値を算出し、クラス毎の画像分類重みとして出力する画像分類重み出力ステップと、
前記画像分類重みと前記言語分類重みとを入力とし、前記画像分類重みを最適化し、再構築分類重みを出力する最適化ステップと、
前記再構築分類重みをクラス分類の重みとして用い、前記画像特徴量出力ステップが出力した画像特徴量と前記クラス分類の重みとから、クラス分類を出力する分類ステップとをコンピュータに実行させることを特徴とする機械学習プログラム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2023-117326 | 2023-07-19 | ||
| JP2023117326A JP2025014621A (ja) | 2023-07-19 | 2023-07-19 | 機械学習装置、機械学習方法、および機械学習プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025018010A1 true WO2025018010A1 (ja) | 2025-01-23 |
Family
ID=94281784
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2024/017617 Pending WO2025018010A1 (ja) | 2023-07-19 | 2024-05-13 | 機械学習装置、機械学習方法、および機械学習プログラム |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP2025014621A (ja) |
| WO (1) | WO2025018010A1 (ja) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2023048171A (ja) * | 2021-09-28 | 2023-04-07 | 株式会社Jvcケンウッド | 機械学習装置、機械学習方法、および機械学習プログラム |
| JP2023094215A (ja) * | 2021-12-23 | 2023-07-05 | 株式会社Jvcケンウッド | 機械学習装置、機械学習方法、および機械学習プログラム |
| JP2024033903A (ja) * | 2022-08-31 | 2024-03-13 | 株式会社Jvcケンウッド | 機械学習装置、機械学習方法、および機械学習プログラム |
| JP2024045006A (ja) * | 2022-09-20 | 2024-04-02 | 株式会社Jvcケンウッド | 機械学習装置、機械学習方法、および機械学習プログラム |
-
2023
- 2023-07-19 JP JP2023117326A patent/JP2025014621A/ja active Pending
-
2024
- 2024-05-13 WO PCT/JP2024/017617 patent/WO2025018010A1/ja active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2023048171A (ja) * | 2021-09-28 | 2023-04-07 | 株式会社Jvcケンウッド | 機械学習装置、機械学習方法、および機械学習プログラム |
| JP2023094215A (ja) * | 2021-12-23 | 2023-07-05 | 株式会社Jvcケンウッド | 機械学習装置、機械学習方法、および機械学習プログラム |
| JP2024033903A (ja) * | 2022-08-31 | 2024-03-13 | 株式会社Jvcケンウッド | 機械学習装置、機械学習方法、および機械学習プログラム |
| JP2024045006A (ja) * | 2022-09-20 | 2024-04-02 | 株式会社Jvcケンウッド | 機械学習装置、機械学習方法、および機械学習プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2025014621A (ja) | 2025-01-30 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11941527B2 (en) | Population based training of neural networks | |
| US11144831B2 (en) | Regularized neural network architecture search | |
| DeVries et al. | Dataset augmentation in feature space | |
| WO2016037350A1 (en) | Learning student dnn via output distribution | |
| CN111241287A (zh) | 用于生成对抗文本的生成模型的训练方法及装置 | |
| WO2017205125A1 (en) | Self-learning technique for training a pda component and a simulated user component | |
| CN114881169A (zh) | 使用随机特征损坏的自监督对比学习 | |
| WO2024024217A1 (ja) | 機械学習装置、機械学習方法、および機械学習プログラム | |
| EP3971782A2 (en) | Neural network selection | |
| CN111008689B (zh) | 使用softmax近似来减少神经网络推理时间 | |
| JP2023048171A (ja) | 機械学習装置、機械学習方法、および機械学習プログラム | |
| WO2023119733A1 (ja) | 機械学習装置、機械学習方法、および機械学習プログラム | |
| WO2024047957A1 (ja) | 機械学習装置、機械学習方法、および機械学習プログラム | |
| CN111723203A (zh) | 一种基于终生学习的文本分类方法 | |
| WO2023119742A1 (ja) | 機械学習装置、機械学習方法、および機械学習プログラム | |
| WO2023053569A1 (ja) | 機械学習装置、機械学習方法、および機械学習プログラム | |
| WO2025018010A1 (ja) | 機械学習装置、機械学習方法、および機械学習プログラム | |
| CN116882471B (zh) | 参数高效训练方法、装置及存储介质 | |
| JP2019021218A (ja) | 学習装置、プログラムパラメータ、学習方法およびモデル | |
| US20240070456A1 (en) | Corrective Reward Optimization for Sequential Labeling | |
| JP7778466B2 (ja) | データ処理方法、プログラム、データ処理装置 | |
| WO2020003450A1 (ja) | データ処理システムおよびデータ処理方法 | |
| JP2025077196A (ja) | 画像分類装置、画像分類方法、および画像分類プログラム | |
| Ye | The Versatility of Autoencoders | |
| JP2025077197A (ja) | 画像分類装置、画像分類方法、および画像分類プログラム |
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: 24842807 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |