Object classification method and apparatus, computer device and storage medium

By conducting multiple rounds of model training and confidence analysis, the classification confidence of unlabeled objects is determined, which solves the problem of low classification accuracy in traditional object classification methods and achieves higher classification accuracy and efficiency.

CN115238820BActive Publication Date: 2025-11-11TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210973941.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-15
Publication Date
2025-11-11
Estimated Expiration
2042-08-15

AI Technical Summary

Technical Problem

Traditional object classification methods suffer from low accuracy in predicting classification labels due to the limited number of initial training samples for the classification model.

Method used

By training the model in multiple rounds, we obtain the stage model corresponding to each training round for each target. We then perform confidence analysis on each candidate unlabeled object in the unlabeled object set to determine the target object whose candidate classification confidence meets the conditions and classify it to ensure the accuracy of the classification label.

Benefits of technology

It improves the accuracy of candidate classification confidence, ensures the accuracy of classification labels for unlabeled objects, and takes into account classification processing efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115238820B_ABST
    Figure CN115238820B_ABST
Patent Text Reader

Abstract

The application relates to an object classification method and device, computer equipment, a computer readable storage medium and a computer program product, which can be applied to various scenes such as cloud technology, artificial intelligence, intelligent transportation and auxiliary driving. The method comprises the following steps: acquiring an initial classification model, a set of unlabeled objects and a set of training objects; performing multi-round model training on the initial classification model based on each training object in the set of training objects, and obtaining a stage model corresponding to each target training round; performing confidence analysis on each candidate unlabeled object in the set of unlabeled objects based on the stage model, and obtaining a candidate classification confidence corresponding to each candidate unlabeled object; and using the stage model to classify target unlabeled objects in which the candidate classification confidence meets a confidence condition, and determining a classification label corresponding to each target unlabeled object. The above method can improve the accuracy of the classification result.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to an object classification method, apparatus, computer device, computer-readable storage medium, and computer program product. Background Technology

[0002] With the development of computer technology, machine learning is being applied in increasingly wider fields. For example, it can be used for object classification. Since machine learning-based object classification methods rely on a large number of training objects with classification labels, to save on manual labeling costs, classification labels are usually obtained through semi-supervised learning during the cold start and incremental data training phases.

[0003] Traditional object classification methods use an initial classification model trained on manually labeled training objects to predict the labels of unlabeled objects, thus obtaining predicted classification labels for these objects. Objects with predicted classification labels are then merged into a training set, and the model is trained again using this new set to obtain the target object classification model. However, in traditional methods, the accuracy of the predicted classification labels obtained from the initial model cannot be guaranteed due to the limited number of training samples. In other words, traditional object classification methods suffer from low accuracy. Summary of the Invention

[0004] Therefore, it is necessary to provide an object classification method, apparatus, computer device, computer-readable storage medium, and computer program product that can improve the accuracy of classification results in response to the above-mentioned technical problems.

[0005] Firstly, this application provides an object classification method. The method includes:

[0006] Obtain an initial classification model, an unlabeled object set, and a training object set; the training object set includes training objects carrying classification labels.

[0007] The initial classification model is trained in multiple rounds based on each of the training objects to obtain the stage model corresponding to each target training round; each target training round includes at least a portion of each training round in the multi-round model training process.

[0008] Based on the stage models described above, confidence analysis is performed on each candidate unlabeled object in the unlabeled object set to obtain the candidate classification confidence of each candidate unlabeled object.

[0009] Using the stage models described above, target unlabeled objects whose candidate classification confidence scores meet the confidence conditions are classified among the candidate unlabeled objects, and the corresponding classification labels for each target unlabeled object are determined.

[0010] Secondly, this application provides an object classification apparatus. The apparatus includes:

[0011] The acquisition module is used to acquire the initial classification model, the unlabeled object set, and the training object set; the training object set includes training objects carrying classification labels.

[0012] The model training module is used to perform multiple rounds of model training on the initial classification model based on each of the training objects to obtain the stage model corresponding to each target training round; each target training round includes at least a portion of each training round in the multiple rounds of model training.

[0013] The confidence analysis module is used to perform confidence analysis on each candidate unlabeled object in the unlabeled object set based on the stage model, and obtain the candidate classification confidence of each candidate unlabeled object.

[0014] The classification label determination module is used to classify the target unlabeled objects whose candidate classification confidence scores meet the confidence conditions among the candidate unlabeled objects using the stage models, and to determine the classification label corresponding to each of the target unlabeled objects.

[0015] Thirdly, this application also provides a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to perform the following steps:

[0016] Obtain an initial classification model, an unlabeled object set, and a training object set; the training object set includes training objects carrying classification labels.

[0017] The initial classification model is trained in multiple rounds based on each of the training objects to obtain the stage model corresponding to each target training round; each target training round includes at least a portion of each training round in the multi-round model training process.

[0018] Based on the stage models described above, confidence analysis is performed on each candidate unlabeled object in the unlabeled object set to obtain the candidate classification confidence of each candidate unlabeled object.

[0019] Using the stage models described above, target unlabeled objects whose candidate classification confidence scores meet the confidence conditions are classified among the candidate unlabeled objects, and the corresponding classification labels for each target unlabeled object are determined.

[0020] Fourthly, this application also provides a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, performs the following steps:

[0021] Obtain an initial classification model, an unlabeled object set, and a training object set; the training object set includes training objects carrying classification labels.

[0022] The initial classification model is trained in multiple rounds based on each of the training objects to obtain the stage model corresponding to each target training round; each target training round includes at least a portion of each training round in the multi-round model training process.

[0023] Based on the stage models described above, confidence analysis is performed on each candidate unlabeled object in the unlabeled object set to obtain the candidate classification confidence of each candidate unlabeled object.

[0024] Using the stage models described above, target unlabeled objects whose candidate classification confidence scores meet the confidence conditions are classified among the candidate unlabeled objects, and the corresponding classification labels for each target unlabeled object are determined.

[0025] Fifthly, this application also provides a computer program product. The computer program product includes a computer program that, when executed by a processor, performs the following steps:

[0026] Obtain an initial classification model, an unlabeled object set, and a training object set; the training object set includes training objects carrying classification labels.

[0027] The initial classification model is trained in multiple rounds based on each of the training objects to obtain the stage model corresponding to each target training round; each target training round includes at least a portion of each training round in the multi-round model training process.

[0028] Based on the stage models described above, confidence analysis is performed on each candidate unlabeled object in the unlabeled object set to obtain the candidate classification confidence of each candidate unlabeled object.

[0029] Using the stage models described above, target unlabeled objects whose candidate classification confidence scores meet the confidence conditions are classified among the candidate unlabeled objects, and the corresponding classification labels for each target unlabeled object are determined.

[0030] The aforementioned object classification methods, apparatus, computer devices, computer-readable storage media, and computer program products, based on the stage models corresponding to each training round of the target object in the multi-round model training process, perform confidence analysis on each candidate unlabeled object in the unlabeled object set, thereby determining the candidate classification confidence of each candidate unlabeled object. This is equivalent to combining the multi-stage learning capability of the model to determine the candidate classification confidence of each candidate unlabeled object, which is beneficial to improving the accuracy of the candidate classification confidence. Then, using the stage models, the target unlabeled objects whose candidate classification confidence meets the confidence conditions are classified, which can ensure that the candidate classification confidence of each target unlabeled object is relatively high, thereby ensuring the accuracy of the classification labels of the unlabeled objects obtained based on the stage models, which is beneficial to improving the accuracy of the classification results. Attached Figure Description

[0031] Figure 1 This is a diagram illustrating the application environment of the object classification method in some embodiments;

[0032] Figure 2 This is a flowchart illustrating the object classification method in some embodiments;

[0033] Figure 3 This is a schematic diagram of the multi-round model training process in some embodiments;

[0034] Figure 4 This is a schematic diagram illustrating the process of dividing multiple candidate object sets in some embodiments;

[0035] Figure 5 This is a schematic diagram illustrating the process of calculating the classification accuracy of the auxiliary object set in some embodiments;

[0036] Figure 6 This is a flowchart illustrating the object classification method in some other embodiments;

[0037] Figure 7 This is a flowchart illustrating the process of determining confidence conditions in some embodiments;

[0038] Figure 8 This is a schematic diagram illustrating the process of classifying unlabeled incremental samples in some embodiments;

[0039] Figure 9 This is a schematic diagram illustrating the process of selecting target unlabeled samples from the unlabeled object set Du and automatically labeling them in some embodiments;

[0040] Figure 10 This is a structural block diagram of the object classification device in some embodiments;

[0041] Figure 11 This is a diagram showing the internal structure of a computer device in some embodiments. Detailed Implementation

[0042] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.

[0043] The object classification method provided in this application embodiment can be applied to, for example... Figure 1 In the application environment shown, terminal 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated onto server 104, or it can be located in the cloud or on other servers. Terminal 102 includes, but is not limited to, mobile phones, computers, smart voice interaction devices, smart home appliances, and in-vehicle terminals. Server 104 can be implemented using a standalone server or a server cluster consisting of multiple servers.

[0044] Specifically, in the process of classifying unlabeled objects, server 104: acquires an initial classification model, a set of unlabeled objects, and a set of training objects including those carrying classification labels; performs multiple rounds of model training on the initial classification model based on each training object, obtaining the stage model corresponding to each target training round in each training round; performs confidence analysis on each candidate unlabeled object in the unlabeled object set based on each stage model, obtaining the candidate classification confidence for each candidate unlabeled object; and uses each stage model to classify the target unlabeled objects whose candidate classification confidence meets the confidence condition, determining the classification label corresponding to each target unlabeled object.

[0045] The object classification method provided in this application can be applied to various scenarios, including but not limited to cloud technology, artificial intelligence, intelligent transportation, and assisted driving. For example, the object classification method proposed in this application can be used to obtain training samples for an object classification model used to classify users in map-based application software platforms, thereby ensuring the classification accuracy of the object classification model. This allows for the classification of users in map-based application software platforms, enabling the provision of more suitable map-related functional services based on user categories.

[0046] The object classification method provided in this application can be based on artificial intelligence (AI). For example, the initial classification model can be a neural network model. Artificial intelligence (AI) refers to the theories, methods, technologies, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, perceive the environment, acquire knowledge, and use that knowledge to obtain optimal results. In other words, AI is a comprehensive technology within computer science that attempts to understand the essence of intelligence and produce a new type of intelligent machine that can react in a way similar to human intelligence. AI also studies the design principles and implementation methods of various intelligent machines, enabling them to possess perception, reasoning, and decision-making capabilities.

[0047] Artificial intelligence (AI) is a comprehensive discipline encompassing a wide range of fields, including both hardware and software technologies. Fundamental AI technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, big data processing, operating / interactive systems, and mechatronics. AI software technologies primarily include computer vision, speech processing, natural language processing, as well as machine learning / deep learning, autonomous driving, and intelligent transportation.

[0048] Machine Learning (ML) is a multidisciplinary field involving probability theory, statistics, approximation theory, convex analysis, and algorithm complexity theory. It specifically studies how computers can simulate or implement human learning behavior to acquire new knowledge or skills and reorganize existing knowledge structures to continuously improve their performance. Machine learning is the core of artificial intelligence and the fundamental way to endow computers with intelligence; its applications span all areas of artificial intelligence. Machine learning and deep learning typically include techniques such as artificial neural networks, belief networks, reinforcement learning, transfer learning, inductive learning, and instructional learning.

[0049] With the research and advancement of artificial intelligence (AI) technology, AI is being studied and applied in various fields, such as smart homes, smart wearable devices, virtual assistants, smart speakers, smart marketing, autonomous driving, drones, robots, smart healthcare, smart customer service, vehicle networking, and intelligent transportation. It is believed that with the development of technology, AI will be applied in more fields and play an increasingly important role.

[0050] It is understandable that in the early stages of machine learning modeling, the limited number of training objects with classification labels means that the accuracy of the object classification model obtained from these training objects cannot meet the needs of practical applications. Manually labeling to obtain sufficient training samples would lead to a significant increase in labor costs and a decrease in work efficiency. Therefore, this application proposes a method that alternates between object labeling and model training. By combining the model's multi-stage learning capabilities, it automatically classifies unlabeled objects with relatively high confidence levels, thereby improving labeling efficiency while ensuring the accuracy of the automatic classification results.

[0051] In some embodiments, such as Figure 2 As shown, an object classification method is provided. This method can be executed by a terminal or a server, or by both a terminal and a server. This method can be applied to... Figure 1 Taking server 104 as an example, the following steps are included:

[0052] Step S202: Obtain the initial classification model, the unlabeled object set, and the training object set.

[0053] In this context, "object" refers to anything that can be categorized during business processing. Objects include, but are not limited to, images, audio, text, and video. Object categories can be represented by classification labels. In a specific application, image classification labels might include face images and non-face images; audio classification labels might include human voices, knocking sounds, water sounds, etc.; text classification labels might include declarative sentences, interrogative sentences, imperative sentences, exclamatory sentences, etc.; and video classification labels might include food videos, beauty videos, travel videos, etc. The unlabeled object set includes candidate unlabeled objects without classification labels, while the training object set includes training objects with classification labels. These training objects are used to train the initial classification model to obtain a classification model with a certain object classification capability.

[0054] A classification model is used to classify objects; that is, it identifies the categories of objects. Classification models can be neural network models. An initial classification model refers to a model with the same structure as the object classification model used in the application stage, but with relatively lower accuracy. This initial classification model can be trained or untrained. The initial classification model can be a binary or multi-class model; multi-class means at least three-class. An example of an initial classification model is an LR (Logistic Regression) binary classification model. The logistic regression model transforms the linear regression model into a probabilistic prediction model by introducing the sigmoid function into the linear regression model, mapping the continuous output values ​​of the uncertain range of linear regression to the (0,1) range.

[0055] As mentioned above, the objects include, but are not limited to, images, audio, text, and video. Correspondingly, the classification models include, but are not limited to, image classification models, audio classification models, text classification models, and video classification models. Further, the classification model can be a target object detection model, used to determine whether the object to be classified contains a target object, or it can be an object type detection model, used to determine the object type of the object to be classified. Taking image classification models and audio classification models as examples: The image classification model can specifically be a target image detection model, used to detect whether an image contains a target image, such as a face image or an animal image; the image classification model can also be an image style recognition model, used to identify the style type of an image, such as animation, traditional Chinese painting, or watercolor. The audio classification model can specifically be a target speech detection model, used to determine whether the audio contains a target speech, such as a target human voice, a knocking sound, or a water flow sound; the audio classification model can also be a voiceprint classification model, used to identify the voiceprint type of the audio, such as broadband voiceprint, narrowband voiceprint, amplitude voiceprint, or contour line voiceprint.

[0056] Specifically, the server can obtain an initial classification model, an unlabeled object set, and a training object set. Furthermore, the server can obtain these resources either actively or passively.

[0057] Step S204: Based on each training object, perform multiple rounds of model training on the initial classification model to obtain the stage model corresponding to each training round of the target.

[0058] Each target training round includes at least a portion of the training rounds in a multi-round model training process. The stage model corresponding to the target training round reflects the learning ability of the model at that target training round. It can be understood that the later the target training round, the stronger the learning ability and the higher the classification accuracy of the stage model. Correspondingly, the processing time and storage space required for data processing based on the stage model also increase.

[0059] Specifically, the server performs multiple rounds of model training on the initial classification model based on each training object, and selects multiple target training rounds from each training round in the multi-round model training process, and then obtains the stage model corresponding to each target training round.

[0060] The specific method by which the server selects multiple target training epochs from the various training epochs in the multi-epoch model training process is not unique. In some embodiments, the server can obtain the number of target training epochs and divide the multi-epoch model training process into multiple training intervals based on this number of target training epochs. The number of training intervals is the same as the number of target training epochs. Then, a target training epoch is determined from each training interval to ensure that each target training epoch includes the training epochs from different training intervals in the model training process. In some embodiments, the server can round down the quotient obtained by dividing the total number of training epochs by the number of target training epochs to obtain the epoch difference between two adjacent target training epochs, and determine multiple target training epochs from each training epoch based on this epoch difference.

[0061] The specific method by which the server obtains the stage model corresponding to each training round for each target is not unique. In some embodiments, the server can obtain the stage model corresponding to each training round for each target by extracting the model data corresponding to each training round during the model training process. In some embodiments, the server can obtain the model weights corresponding to each training round and load the model weights corresponding to each training round for each target using the initial classification model to obtain the stage model corresponding to each training round for each target.

[0062] In some embodiments, step S204 includes: performing multiple rounds of model training on the initial classification model based on each training object to obtain the model weights corresponding to each training round during the multiple rounds of model training; obtaining the target number of training rounds and the total number of training rounds in the multiple rounds of model training, and rounding down the quotient obtained by dividing the total number of training rounds by the target number of training rounds to obtain the round difference between two adjacent target training rounds; determining multiple target training rounds from each training round based on the round difference; and loading the model weights corresponding to each target training round using the initial classification model to obtain the stage model corresponding to each target training round.

[0063] In this context, the model weights corresponding to each training epoch refer to the updated model weights obtained after each training epoch. Each training epoch corresponds to one period, meaning that during each training epoch, all training objects undergo a complete training cycle on the model. As the number of epochs increases, the number of weight updates in the neural network also increases. Although the set of training objects used is the same during each training epoch, the different number of weight updates results in different model weights after each training epoch. Figure 3In the model training, the first weight obtained after the first round of model training, the second weight obtained after the second round of model training, the N-1 weight obtained after the N-1 round of model training, and the Nth weight obtained after the Nth round of model training are all different.

[0064] The target number of training epochs refers to the total number of training epochs that need to be determined. This target number of training epochs can be defined by the user through the terminal and obtained by the server from the terminal, or it can be a pre-set number. The total number of training epochs refers to the total number of training epochs in the multi-epoch model training process. It can be understood that the target number of training epochs is less than or equal to the total number of training epochs. In some embodiments, to ensure that the target number of training epochs includes training epochs of multiple different training stages, the target number of training epochs is at least three, for example, it can be three, four, or five, etc.

[0065] Specifically, the server can perform multiple rounds of model training on the initial classification model based on each training object, obtaining the model weights corresponding to each training round during the multi-round model training process. Then, the server obtains the target number of training rounds and the total number of training rounds in the multi-round model training process, and rounds down the quotient obtained by dividing the total number of training rounds by the target number of training rounds to obtain the round difference between two adjacent target training rounds, and determines multiple target training rounds from each training round based on this round difference. Taking the case where the total number of training rounds in the multi-round model training process is 15 and the target number of training rounds is 5 as an example, the round difference between two adjacent target training rounds is 3, and the target training rounds can be rounds 1, 4, 7, 10, and 13, rounds 2, 5, 8, 11, and 14, or rounds 3, 6, 9, 12, and 15. Finally, the server uses the initial classification model to load the model weights corresponding to each target training round, obtaining the stage model corresponding to each target training round.

[0066] In this embodiment, the server obtains the target number of training rounds and the total number of training rounds in the multi-round model training process. The quotient obtained by dividing the total number of training rounds by the target number of training rounds is rounded down to obtain the round difference between two adjacent target training rounds. Based on this round difference, multiple target training rounds are determined from each training round. This ensures that the target training rounds are evenly distributed in different stages of the multi-round model training process, so that the model at each stage corresponding to each target training round can represent the learning ability of the model at different training stages, thereby ensuring the accuracy of the classification labels determined based on the stage models.

[0067] Step S206: Based on the models of each stage, perform confidence analysis on each candidate unlabeled object in the unlabeled object set to obtain the candidate classification confidence of each candidate unlabeled object.

[0068] Confidence level refers to the degree of reliability of the classification result obtained during object classification based on a classification model. This degree can be represented by probability; the higher the probability, the higher the reliability. Correspondingly, the candidate classification confidence level for a candidate unlabeled object refers to the degree of reliability of the classification label predicted by the classification model for the candidate unlabeled object. It can be understood that the higher the candidate classification confidence level, the higher the accuracy of the corresponding classification label.

[0069] Specifically, the server can perform confidence analysis on each candidate unlabeled object in the unlabeled object set based on the model at each stage, obtaining the stage classification confidence score corresponding to each candidate unlabeled object under the model conditions at each stage. The stage classification confidence score corresponding to a candidate unlabeled object under a certain stage model condition refers to the credibility of the classification label of the candidate unlabeled object determined by the weights corresponding to that stage model. This stage classification confidence score can be obtained by statistically calculating the confidence scores of each label corresponding to the candidate unlabeled object. For example, the stage classification confidence score can be the maximum value of the confidence scores of each label corresponding to the candidate unlabeled object, or the difference between the maximum and the second largest value of the confidence scores of each label corresponding to the candidate unlabeled object. Then, the server performs statistical calculations on multiple stage classification confidence scores corresponding to the same candidate unlabeled object to determine the candidate classification confidence score corresponding to the candidate unlabeled object. This statistical calculation includes, but is not limited to, one or more combinations of calculation methods such as summation, averaging, and taking the maximum value.

[0070] Step S208: Using the models of each stage, classify the target unlabeled objects whose candidate classification confidence meets the confidence condition among the candidate unlabeled objects, and determine the classification label corresponding to each target unlabeled object.

[0071] The confidence level condition can refer to a confidence level greater than or equal to a confidence threshold. This confidence threshold is the acceptable level of credibility during object classification. In other words, if the candidate classification confidence level of a candidate unlabeled object meets the confidence level condition, it means that the classification label determined by the stage model for that candidate unlabeled object has a high accuracy. Based on this, the server selects target unlabeled objects from the candidate unlabeled objects whose candidate classification confidence level meets the confidence level condition, and then uses the stage models to classify each target unlabeled object, determining the corresponding classification label for each target unlabeled object.

[0072] Furthermore, the server can use at least a portion of the stage models to classify each target unlabeled object. In some embodiments, the server can use all of the stage models to classify each target unlabeled object. In some embodiments, the server can use the stage models corresponding to the last set number of target training epochs in each target training epoch to classify each target unlabeled object, to ensure that the stage models used in the classification process all have relatively high classification accuracy. This set number can be, for example, 1, 2, or 3, etc.

[0073] In a specific application, the initial classification model is an image classification model. In this embodiment, the server obtains the initial image classification model, an unlabeled image set, and a training image set carrying image classification labels. Based on each training image, the initial image classification model is trained in multiple rounds to obtain the stage model corresponding to each target training round. Each target training round includes at least a portion of each training round in the multi-round model training process. Based on each stage model, confidence analysis is performed on each candidate unlabeled image in the unlabeled image set to obtain the candidate classification confidence for each candidate unlabeled image. Using each stage model, the target unlabeled images in each candidate unlabeled image whose candidate classification confidence meets the confidence condition are classified to determine the classification label corresponding to each target unlabeled image.

[0074] In a specific application, the initial classification model is an audio classification model. In this embodiment, the server obtains the initial audio classification model, an unlabeled audio set, and a training audio set carrying audio classification labels. Based on each training audio, the initial audio classification model is trained in multiple rounds to obtain the stage model corresponding to each target training round. Each target training round includes at least a portion of each training round in the multi-round model training process. Based on each stage model, confidence analysis is performed on each candidate unlabeled audio in the unlabeled audio set to obtain the candidate classification confidence for each candidate unlabeled audio. Using each stage model, the target unlabeled audio in each candidate unlabeled audio whose candidate classification confidence meets the confidence condition is classified to determine the classification label corresponding to each target unlabeled audio.

[0075] In a specific application, the initial classification model is a text classification model. In this embodiment, the server obtains the initial text classification model, an unlabeled text set, and a training text set carrying text classification labels. Based on each training text, the initial text classification model is trained in multiple rounds to obtain the stage model corresponding to each target training round. Each target training round includes at least a portion of the training rounds in the multi-round model training process. Based on each stage model, confidence analysis is performed on each candidate unlabeled text in the unlabeled text set to obtain the candidate classification confidence for each candidate unlabeled text. Using each stage model, the target unlabeled texts whose candidate classification confidence meets the confidence condition are classified to determine the classification label corresponding to each target unlabeled text.

[0076] In a specific application, the initial classification model is a video classification model. In this embodiment, the server obtains the initial video classification model, an unlabeled video set, and a training video set carrying video classification labels. Based on each training video, the initial video classification model is trained in multiple rounds to obtain the stage model corresponding to each target training round. Each target training round includes at least a portion of the training rounds in the multi-round model training process. Based on each stage model, confidence analysis is performed on each candidate unlabeled video in the unlabeled video set to obtain the candidate classification confidence for each candidate unlabeled video. Using each stage model, the target unlabeled videos in each candidate unlabeled video set whose candidate classification confidence meets the confidence condition are classified to determine the classification label corresponding to each target unlabeled video.

[0077] The object classification method described above is based on the stage model corresponding to each training round of the target object in the multi-round model training process. It performs confidence analysis on each candidate unlabeled object in the unlabeled object set, thereby determining the candidate classification confidence of each candidate unlabeled object. This is equivalent to combining the multi-stage learning capability of the model to determine the candidate classification confidence of each candidate unlabeled object, which helps to improve the accuracy of the candidate classification confidence. Then, the stage model is used to classify the target unlabeled objects whose candidate classification confidence meets the confidence conditions. This ensures that the candidate classification confidence of each target unlabeled object is relatively high, thereby ensuring the accuracy of the classification labels of unlabeled objects obtained based on the stage model. This method can improve the accuracy of the classification results while taking into account the classification processing efficiency.

[0078] In some embodiments, the process of obtaining an unlabeled object set and a training object set includes: dividing multiple unlabeled objects into object sets to obtain multiple candidate object sets; determining the target candidate object set with the fewest objects and the unlabeled object set with the smallest difference in the number of objects from each candidate object set; obtaining the auxiliary classification label for each target candidate object in the target candidate object set to obtain a training object set including training objects carrying classification labels.

[0079] Each candidate object set includes at least two unlabeled objects, and each unlabeled object exists in a unique candidate object set. The number of unlabeled objects in each candidate object set may be the same or different. The auxiliary classification label refers to the classification label determined by the auxiliary classification method. This auxiliary classification method refers to other classification methods used, distinct from the classification method in this application. For example, the auxiliary classification method may be a manual classification method, or an automatic classification method based on other classification algorithms, or other neural network models besides those used in each stage of the model.

[0080] Specifically, the server obtains multiple unlabeled objects and partitions each unlabeled object into multiple candidate object sets. Then, it determines the target candidate object set with the fewest objects from each candidate object set. Finally, from the remaining candidate object sets (excluding the target candidate object set), it determines the unlabeled object set with the smallest difference in the number of objects compared to the target candidate object set. Finally, the server obtains the auxiliary classification label for each target candidate object in the target candidate object set, resulting in a training object set that includes training objects carrying classification labels.

[0081] In the above embodiments, the candidate object set with the fewest objects is selected as the training object set, and the candidate object set with the smallest difference in the number of objects from the training object set is selected as the unlabeled object set. On the one hand, this can reduce the workload of auxiliary labeling, and on the other hand, it can ensure the matching degree of the number of objects in the training object set and the unlabeled object set, thereby ensuring the relative number of target unlabeled objects. This can effectively improve the data processing efficiency of the object classification process while ensuring the accuracy of the classification results.

[0082] Furthermore, the specific method by which the server partitions multiple unlabeled objects into multiple candidate object sets is not unique. For example, the server can divide multiple unlabeled objects equally to obtain multiple candidate object sets with the same number of objects. In some embodiments, partitioning multiple unlabeled objects into multiple candidate object sets includes: obtaining a set of objects to be classified containing multiple unlabeled objects; splitting the set of objects to be classified into two candidate object sets based on a binary search method; if the number of objects in a candidate object set meets the quantity condition, using that candidate object set as a new set of objects to be classified, and returning to the step of splitting the set of objects to be classified into two candidate object sets based on a binary search method, until the number of objects in the candidate object set obtained in the most recent partition no longer meets the quantity condition.

[0083] In this context, the difference in the number of objects between two candidate object sets is less than a predetermined threshold. This threshold can be 1, 2, or 3, etc. In a specific application, this threshold can be 1, meaning the number of objects in the two candidate object sets is equal. The quantity condition can mean that the number of objects is greater than a threshold, or that the number of objects is greater than or equal to a threshold. Since the number of objects in the training object set is equal to the minimum number of objects in each candidate object set, this threshold can be determined based on the minimum number of objects required for the training object set. For example, the threshold can be twice the minimum number of objects to ensure that the number of objects in the training object set is sufficient to train the initial classification model.

[0084] Specifically, the server obtains a set of objects to be classified, containing multiple unlabeled objects. Using a binary search method, it randomly splits each unlabeled object in the set into two groups, obtaining two candidate sets. If any candidate set contains an object with a sufficient number of objects, that set is selected as the new set to be classified. The server then returns to the step of splitting the set into two candidate sets using the binary search method, and continues this process until the number of objects in the most recently obtained candidate set no longer meets the requirement. At this point, the splitting of the candidate set stops. In other words, if the number of objects in both candidate sets meets the requirement, either one of the candidate sets can be used as the new set to be classified.

[0085] In a specific application, let's take the case where the difference is set to 1 and the quantity threshold is Q as an example. For example... Figure 4 As shown, the specific process of partitioning the object set involves multiple rounds of iterative partitioning, and the data processing involved includes:

[0086] Step S401: Determine whether the number of objects in the object set D to be classified is less than the threshold Q; if yes, end the object set division; if no, proceed to step S402.

[0087] Step S402: Divide the set of objects to be classified, D, into D0 and D1 on an average basis;

[0088] Step S403: Add D0 to data group G;

[0089] Step S404: Set D1 as the new set of objects to be classified, D; return to step S401.

[0090] For details, please refer to Figure 4 The server obtains a set of objects D containing n unlabeled objects to be classified. If the number of objects in set D is less than Q, it splits set D into two candidate sets D0 and D1 using a binary search method, meaning that the number of objects in both candidate sets D0 and D1 is n / 2. Then, the server places candidate set D0 into data group G (initially empty) and checks if the number of objects in candidate set D1 is less than Q. If the number of objects in candidate set D1 is less than Q, D1 is placed into data group G, ending the object set partitioning. If the number of objects in candidate set D1 is greater than or equal to Q, D1 is used as a new set to be classified, and this new set is further divided into two candidate sets, each with a number of objects of n / 4. This process continues until the number of objects in the most recently partitioned candidate set is less than Q, at which point the object set partitioning ends, and data group G is obtained. Assume n / (2 t If ) < Q, then the number of objects in each candidate object set in the final data set G are respectively: n / 2, n / 4, ..., n / (2 t ), n / (2 t ), where t is the number of rounds of iterative partitioning of the dataset.

[0091] In the above embodiments, multiple candidate object sets are obtained based on the binary division method. The algorithm is simple and is conducive to further improving the data processing efficiency of the object classification process.

[0092] In some embodiments, the object classification method further includes: obtaining auxiliary classification labels for other candidate unlabeled objects besides the target unlabeled object; merging the unlabeled object set with the training object set to obtain an updated training object set, and determining the stage model corresponding to the last training round in the multi-round model training process as the updated initial classification model; returning to step S202 until the classification labels corresponding to each unlabeled object have been determined.

[0093] The specific limitations regarding auxiliary classification labels are detailed above and will not be repeated here. Specifically, after determining the classification label corresponding to each target unlabeled object, the server obtains the auxiliary classification labels for the other candidate unlabeled objects besides the target unlabeled objects. At this point, all candidate unlabeled objects in the unlabeled object set have classification labels. Then, the server merges the unlabeled object set with the training object set to obtain an updated training object set. The stage model corresponding to the last training round in the multi-round model training process is determined as the updated initial classification model, and the process returns to step S202 to perform the next multi-round model training and classification prediction until the classification labels corresponding to all unlabeled objects have been determined.

[0094] Taking the case where the difference is set to 1 and the quantity threshold is Q as an example, the number of objects in each candidate object set in the final data group G are: n / 2, n / 4, ..., n / (2 t ), n / (2 t In the first round of model training and classification prediction, the number of objects in both the unlabeled object set and the training object set is n / (2^n). t In the second round of model training and classification prediction, the previous set of unlabeled objects and the training set are merged to obtain an object count of n / (2). t-1 The updated training object set, and then the number of objects in the data set G is n / (2 t-1 The candidate object set is determined as the updated unlabeled object set, and object classification is performed on the updated unlabeled object set based on the updated training object set. This process continues, with the number of objects in both the unlabeled object set and the training object set being n / 2 during the final multi-round model training and classification prediction. The server performs the final multi-round model training and classification prediction to determine the classification labels for a portion of the candidate unlabeled objects in the final unlabeled object set. Then, auxiliary classification labels are obtained for the remaining candidate unlabeled objects, thus completing the labeling of all unlabeled objects.

[0095] In the above embodiments, based on a balanced set of unlabeled objects and a training set of data, the classification label of each unlabeled object is determined through multiple iterations. The number of objects in the unlabeled object set and the learning ability of the initial classification model increase synchronously with the number of iterations, which can effectively increase the number of target unlabeled objects and reduce the iteration steps. This can further improve the data processing efficiency of the object classification process while ensuring the accuracy of the classification results.

[0096] In some embodiments, step S206 includes: performing confidence analysis on each candidate unlabeled object in the unlabeled object set based on the model at each stage, and obtaining the confidence score dataset corresponding to each stage model; and performing statistical calculation on the confidence scores of multiple labels corresponding to the same candidate unlabeled object, and obtaining the candidate classification confidence score corresponding to each candidate unlabeled object.

[0097] The confidence score dataset includes the confidence score of each candidate classification label for each candidate unlabeled object. The candidate classification label refers to the candidate classification label set for the candidate unlabeled object, used to represent the candidate category of the candidate unlabeled object. This candidate classification label can be determined according to the specific scenario of object classification. For example, in a promotional campaign scenario, candidate classification labels can include retention and churn, where retained objects have a higher probability of participating in the promotion, while churned objects have a lower probability of participating. As another example, in the scenario of classifying image styles, candidate classification labels can include various image styles such as animation, traditional Chinese painting, and watercolor. The confidence score of the candidate classification label for the candidate unlabeled object represents the degree of confidence that the predicted classification label of the candidate unlabeled object is the candidate classification label.

[0098] The target training rounds include l1, l2, ..., l m Candidate category labels include y1, y2, ..., y n Candidate unlabeled objects include x1, x2, ..., x q Taking the case of P1, P2, ..., P2 as an example, the confidence score datasets corresponding to each stage of the model are P1, P2, ..., P2. m Among them, P i It can be represented as:

[0099]

[0100] In the formula, p i (y k |x j Given the i-th stage model condition, the candidate classification label y k For candidate unlabeled object x j The label confidence scores are given by p, where i∈(1,m), j∈(1,q), and k∈(1,n). The multiple label confidence scores corresponding to the candidate unlabeled object x1 can be represented as p. i (y k |x1), j∈(1,q), k∈(1,n).

[0101] Specifically, based on the models at each stage, the server performs confidence analysis on each candidate unlabeled object in the unlabeled object set, obtaining a confidence score dataset corresponding to each stage model. Then, the server statistically calculates the confidence scores of multiple labels corresponding to the same candidate unlabeled object, obtaining the candidate classification confidence score for each candidate unlabeled object. The specific algorithm for this statistical calculation may include at least one of addition, subtraction, multiplication, or division.

[0102] In the above embodiments, the server first obtains the confidence score dataset corresponding to each stage of the model, and then performs statistical calculations on the confidence scores of multiple labels corresponding to the same candidate unlabeled object to obtain the candidate classification confidence score corresponding to each candidate unlabeled object. This is equivalent to combining the multi-stage learning ability of the model to determine the candidate classification confidence score of each candidate unlabeled object, which is conducive to improving the accuracy of the candidate classification confidence score and thus improving the accuracy of the classification result.

[0103] In some embodiments, statistical calculations are performed on the multiple label confidence scores corresponding to the same candidate unlabeled object to obtain the candidate classification confidence score corresponding to each candidate unlabeled object. This includes: for each candidate unlabeled object, calculating the difference between the maximum and the second largest value among the label confidence scores corresponding to each stage model; and averaging the multiple differences corresponding to the same candidate unlabeled object to obtain the candidate classification confidence score corresponding to the candidate unlabeled object.

[0104] As mentioned earlier, the label confidence score of a candidate unlabeled object represents the credibility of the predicted classification label for that unlabeled object. It can be understood that the larger the difference between the maximum and second-largest label confidence scores, the greater the relative credibility of the candidate classification label corresponding to the maximum confidence score; that is, the higher the relative confidence of the candidate classification label, the higher the accuracy of the classification result determined by the classification model. Based on this, the server calculates the difference between the maximum and second-largest label confidence scores for each unlabeled object at each stage of the model. Then, it averages the multiple differences corresponding to the same unlabeled object to obtain the candidate classification confidence score for that unlabeled object. It can be understood that in other embodiments, the candidate classification confidence score for an unlabeled object can also be the sum or square of the multiple differences corresponding to that unlabeled object, etc.

[0105] Similarly, the target training rounds include l1, l2, ..., l m Candidate category labels include y1, y2, ..., y n Candidate unlabeled objects include x1, x2, ..., x qTaking the case of candidate unlabeled object x as an example. j Corresponding candidate classification confidence AML(x) j This can be represented as:

[0106]

[0107] M i (x j ) = P i (y oi |x j )P i (y o2 |x j )

[0108] In the formula, M i (x j ) represents the candidate unlabeled object x j The corresponding multiple differences, p i (y o1 |x j ) represents the candidate unlabeled object x j The maximum value of each label confidence score under the model condition in the i-th stage, p i (y o2 |x j ) represents the candidate unlabeled object x j The second largest value among the label confidence scores under the model conditions of the i-th stage.

[0109] In the above embodiments, the server calculates the candidate classification confidence of the candidate unlabeled object based on the difference between the maximum and the second largest values ​​of the confidence of each label corresponding to each stage model. This ensures that the candidate classification confidence can accurately represent the accuracy of the predicted classification label of the candidate unlabeled object, thereby ensuring the accuracy of the classification label determined based on the stage model.

[0110] In some embodiments, step S208 includes: selecting target unlabeled objects from each candidate unlabeled object whose candidate classification confidence meets the confidence condition; for each target unlabeled object, statistically calculating the label confidence of the same candidate classification label in each stage model to obtain the confidence statistical value corresponding to each candidate classification label; and determining the candidate classification label with the largest confidence statistical value as the classification label of the target unlabeled object.

[0111] The specific limitations regarding the confidence level conditions are detailed above and will not be repeated here. Specifically, the server selects target unlabeled objects from among the candidate unlabeled objects whose candidate classification confidence levels meet the confidence level conditions. Then, for each target unlabeled object, the server statistically calculates the confidence level of the corresponding label for the same candidate classification label in each stage of the model, obtaining the confidence level statistical value for each candidate classification label. Finally, the candidate classification label with the highest confidence level statistical value is determined as the classification label for the target unlabeled object. The specific algorithm for this statistical calculation may include at least one of addition, subtraction, multiplication, or division.

[0112] In a specific application, targeting an unlabeled object x o Candidate category label y k The corresponding confidence statistic C k It can be represented as:

[0113]

[0114] In the above embodiments, for each target unlabeled object, the confidence scores of the corresponding labels in each stage of the model for the same candidate classification label are statistically calculated to obtain the confidence score statistics for each candidate classification label. The candidate classification label with the highest confidence score statistics is determined as the classification label of the target unlabeled object. This is equivalent to comprehensively considering the multi-stage learning ability of the classification model to determine the classification label of the target unlabeled object, which can suppress the influence of overfitting, thereby ensuring the accuracy of the classification label and the robustness under various application scenarios, and is conducive to further improving the accuracy of the classification results.

[0115] It is understandable that before selecting the target unlabeled object from the candidate unlabeled objects, it is necessary to determine the confidence level conditions. In some embodiments, the object classification method further includes: obtaining a set of verification objects; performing confidence analysis on each verification object based on the model at each stage to obtain the verification classification confidence level corresponding to each verification object; classifying each target verification object in the auxiliary object set based on the model at each stage to obtain the classification accuracy of the auxiliary object set; and determining the confidence level conditions based on the verification classification confidence level corresponding to each target verification object in the auxiliary object set whose classification accuracy meets the accuracy conditions.

[0116] The validation object set includes validation objects carrying classification labels, which can be relatively accurate labels determined by manual or automatic classification. The auxiliary object set includes at least a portion of the validation objects. The classification accuracy of the auxiliary object set reflects the accuracy of the predicted classification labels obtained by the classification model when classifying each target validation object in the auxiliary object set. That is, the classification accuracy reflects the accuracy of the predicted category relative to the true category; the higher the classification accuracy, the closer the predicted category obtained by the classification model is to the true category. Correspondingly, the accuracy condition can mean that the classification accuracy is greater than the accuracy threshold, or that the classification accuracy is greater than or equal to the accuracy threshold. The true category can be represented by the original classification label carried by the target validation object.

[0117] Furthermore, the classification accuracy can be determined by statistically calculating the consistency between the original classification labels and the predicted classification labels of the same target verification object. The original classification labels of the target verification object are denoted as the original classification labels. For example, the classification accuracy can be the proportion of target verification objects in the auxiliary object set whose predicted classification labels are the same as the original classification labels; or it can be the proportion of target verification objects carrying a certain original classification label whose predicted classification label is also that original classification label.

[0118] Specifically, the server obtains a set of verification objects and performs confidence analysis on each verification object based on the models at each stage, obtaining the corresponding verification classification confidence for each verification object. Then, the server selects multiple target verification objects from the set of verification objects and classifies each target verification object in the auxiliary object set based on the models at each stage, obtaining the classification accuracy of the auxiliary object set. Finally, the server determines a confidence threshold based on the verification classification confidence of each target verification object in the auxiliary object set whose classification accuracy meets the accuracy condition, and then determines the confidence condition corresponding to that threshold. The specific algorithm for the server to perform confidence analysis on each verification object based on the models at each stage to obtain the corresponding verification classification confidence for each verification object is described above in the algorithm for the server to perform confidence analysis on each candidate unlabeled object in the unlabeled object set based on the models at each stage to obtain the corresponding candidate classification confidence for each candidate unlabeled object; it will not be repeated here.

[0119] In the above embodiments, confidence analysis is performed on the verification objects based on the stage model to determine the confidence level of the verification classification. The confidence level conditions are determined based on the confidence level of each target verification object in the auxiliary object set whose classification accuracy meets the accuracy conditions. This is equivalent to combining the multi-stage learning ability of the model to determine the confidence level of the verification classification, which can ensure the rationality of the confidence level conditions determined based on the confidence level of the verification classification, and thus ensure the accuracy of the classification results.

[0120] It should be noted that the specific method by which the server selects multiple target verification objects from various verification objects is not unique. For example, the server can select multiple target verification objects that meet the classification confidence condition. This classification confidence condition can mean that the verification classification confidence is greater than a confidence threshold, or it can mean that the verification classification confidence is greater than or equal to the confidence threshold. Another example is that the server can sort the verification objects in descending order of their verification classification confidence and determine the verification objects whose sorting order falls within a set proportion range as target verification objects. This set proportion range could be the first 1 / 3, 1 / 4, or 1 / 5, and so on.

[0121] In some embodiments, based on the stage model, each target verification object in the auxiliary object set is classified to obtain the classification accuracy of the auxiliary object set, including: transferring the target verification object with the highest verification classification confidence in the verification object set to the auxiliary object set; classifying each target verification object in the auxiliary object set based on the stage model to obtain the predicted classification label corresponding to each target verification object; calculating the classification accuracy of the auxiliary object set based on the matching results obtained by matching the classification label corresponding to each target verification object with the predicted classification label; if the classification accuracy of the auxiliary object set meets the accuracy condition, returning to the step of transferring the target verification object with the highest verification classification confidence in the verification object set to the auxiliary object set, until the classification accuracy of the current auxiliary object set no longer meets the accuracy condition.

[0122] The matching process involves matching the classification labels and predicted classification labels for each target verification object. This can be done by determining whether the classification labels and predicted classification labels are consistent, or by calculating the label similarity between the classification labels and predicted classification labels based on the label features of each label. For example, in the image style classification scenario, the label similarity between gouache and traditional Chinese painting is relatively high, while the label similarity between animation and traditional Chinese painting is relatively low. Correspondingly, the matching result can be a judgment of whether the labels are consistent, or it can be the calculated label similarity. Furthermore, the classification accuracy of the auxiliary object set can be obtained by statistically calculating the matching results. For example, this classification accuracy can be obtained by statistically calculating the label similarity, which can include at least one of addition, subtraction, multiplication, or division. Taking the case where the matching result shows consistency between the classification label and the predicted classification label, the classification accuracy can be the proportion of target verification objects in the auxiliary object set whose predicted classification labels are the same; or it can be the proportion of target verification objects carrying a certain classification label whose predicted classification label is also that classification label.

[0123] In a specific application, such as Figure 5 As shown, the process of determining classification accuracy involves multiple rounds of iterative iterations, and the data processing involved includes:

[0124] Step S501, determine the auxiliary object set D h Does the classification accuracy meet the accuracy requirements? If not, end the process; if yes, proceed to step S502.

[0125] Step S502, the target verification object X h Migration to auxiliary object set D h ;

[0126] Step S503: Determine each target verification object X h Each corresponding predicted category label;

[0127] Step S504, calculate the auxiliary object set D h The classification accuracy is checked; return to step S401.

[0128] For details, please refer to Figure 5 In the first round of the loop, due to the auxiliary object set D h The initial state is an empty set, and the auxiliary object set D h The classification accuracy meets the accuracy condition. Therefore, the server will focus on verifying the target verification object X, which has the highest classification confidence. h Migration to auxiliary object set D h Then, based on the models at each stage, the auxiliary object set D is... hEach target verification object X in h Classify them separately to obtain each target verification object X. h Each corresponding predicted classification label, and verification object X for each target. h The corresponding classification labels and predicted classification labels are matched to calculate the auxiliary object set D. h The classification accuracy. If the current auxiliary object set D h If the classification accuracy meets the accuracy condition, then return the target verification object X with the highest classification confidence in the verification object set. h Migration to auxiliary object set D h The process continues until the classification accuracy of the current auxiliary object set no longer meets the accuracy condition.

[0129] Furthermore, the specific algorithm for determining the confidence threshold based on the validation classification confidence of each target validation object in the auxiliary object set that satisfies the accuracy condition is not unique. For example, the server can determine the average of the validation classification confidence as the confidence threshold. In some embodiments, determining the confidence condition based on the validation classification confidence of each target validation object in the auxiliary object set that satisfies the accuracy condition includes: removing the target validation objects that were last migrated to the current auxiliary object set to obtain the target auxiliary object set; and determining the confidence condition corresponding to the confidence threshold by using the minimum validation classification confidence of each target validation object in the target auxiliary object set as the confidence threshold.

[0130] Specifically, if the classification accuracy of the current auxiliary object set does not meet the accuracy condition, the server removes the last target verification object moved into the current auxiliary object set to obtain the target auxiliary object set. Then, it determines the minimum value of the verification classification confidence for each target verification object in the target auxiliary object set. Finally, it uses this minimum value as the confidence threshold to determine the confidence condition corresponding to the confidence threshold, so as to ensure the reliability of the confidence condition.

[0131] In the above embodiments, each target verification object is migrated to the auxiliary object set in descending order of verification classification confidence until the classification accuracy of the auxiliary object set no longer meets the accuracy condition. This ensures that each target verification object in the auxiliary object set has a high verification classification confidence, thereby ensuring the reliability of the confidence condition determined based on the verification classification confidence and improving the accuracy of the object classification results determined based on the confidence condition.

[0132] In some embodiments, such as Figure 6 As shown, object classification methods include:

[0133] Step S601: Obtain the initial classification model;

[0134] Step S602: Obtain a set of objects to be classified that contains multiple unlabeled objects;

[0135] Step S603: The set of objects to be classified is split into two candidate sets based on the binary search method; wherein the difference in the number of objects in the two candidate sets is less than a set difference.

[0136] Step S604: Determine whether there exists a candidate object set in the two candidate object sets whose number of objects meets the quantity condition; if yes, proceed to step S605; if no, proceed to step S606.

[0137] Step S605: Select the candidate object set whose number of objects meets the quantity condition as the new object set to be classified; return to step S603;

[0138] Step S606: Determine the target candidate object set with the fewest objects from each candidate object set, and obtain the auxiliary classification label of each target candidate object in the target candidate object set to obtain the training object set including the training objects carrying the classification label.

[0139] Step S607: Determine the set of unlabeled objects with the smallest difference in the number of objects compared to the target candidate object set from each candidate object set;

[0140] Step S608: Based on each training object, perform multiple rounds of model training on the initial classification model to obtain the model weights corresponding to each training round during the multiple rounds of model training.

[0141] Step S609: Obtain the target number of training rounds and the total number of training rounds in the multi-round model training process, and round down the quotient obtained by dividing the total number of training rounds by the target number of training rounds to obtain the round difference between two adjacent target training rounds, and determine multiple target training rounds from each training round based on the round difference.

[0142] Step S610: Use the initial classification model to load the model weights corresponding to each training round of each target, and obtain the stage model corresponding to each training round of each target.

[0143] Step S611: Obtain the set of verification objects, and combine the confidence analysis of each verification object with the confidence of the verification classification obtained by the model of each stage to determine the confidence conditions; wherein, the set of verification objects includes verification objects carrying classification labels;

[0144] Step S612: Based on the models of each stage, perform confidence analysis on each candidate unlabeled object in the unlabeled object set to obtain the first confidence score dataset corresponding to each stage model.

[0145] Step S613: For each candidate unlabeled object, calculate the difference between the maximum and the second largest value of the confidence scores of each label corresponding to each stage model, and average the multiple differences corresponding to the same candidate unlabeled object to obtain the candidate classification confidence score corresponding to the candidate unlabeled object.

[0146] Step S614: Select target unlabeled objects whose candidate classification confidence scores meet the confidence criteria from among the candidate unlabeled objects.

[0147] Step S615: For each target unlabeled object, the confidence scores of the corresponding labels in each stage of the model for the same candidate classification label are statistically calculated to obtain the confidence score statistics for each candidate classification label, and the candidate classification label with the highest confidence score is determined as the classification label of the target unlabeled object.

[0148] Step S616: Obtain the auxiliary classification labels of the other candidate unlabeled objects besides the target unlabeled object in each candidate unlabeled object;

[0149] Step S617: Determine whether the category labels corresponding to each unlabeled object have been determined; if yes, end the process; if no, execute steps S618 and S619.

[0150] Step S618: Determine the stage model corresponding to the last training round in the multi-round model training process as the updated initial classification model, and return to step S601;

[0151] Step S619: Merge the unlabeled object set with the training object set to obtain the updated training object set, and return to step S607.

[0152] In some embodiments, such as Figure 7 As shown, the specific process for determining the confidence level conditions includes:

[0153] Step S701: Obtain the verification object set;

[0154] Step S702: Based on the models of each stage, perform confidence analysis on each verification object in the verification object set to obtain the second confidence score dataset corresponding to each stage model.

[0155] Step S703: For each verification object, calculate the difference between the maximum and the second largest value of the confidence scores of each label corresponding to each stage model, and average the multiple differences corresponding to the same verification object to obtain the verification classification confidence score corresponding to the verification object.

[0156] Step S704: Transfer the target verification object with the highest verification classification confidence in the verification object set to the auxiliary object set;

[0157] Step S705: Based on the models of each stage, classify each target verification object in the auxiliary object set to obtain the predicted classification label corresponding to each target verification object.

[0158] Step S706: Based on the matching results obtained by matching the classification labels and predicted classification labels corresponding to each target verification object, the classification accuracy of the auxiliary object set is calculated.

[0159] Step S707: Determine if the classification accuracy of the auxiliary object set meets the accuracy condition; if yes, return to step S704; if no, proceed to step S708.

[0160] Step S708: Remove the target verification object that was last migrated to the current auxiliary object set to obtain the target auxiliary object set;

[0161] Step S709: The minimum confidence level of each target verification object in the target auxiliary object set is taken as the confidence threshold value, and the confidence condition corresponding to the confidence threshold value is determined.

[0162] In some embodiments, the object classification method provided in this application can be applied to the cold start phase of neural network model training. During the cold start phase of neural network model training, data samples need to be labeled to obtain labeled training samples, which are then used to train the neural network model to obtain a target neural network model. This target neural network model can be an image style classification model used to classify and predict the style of image samples. The candidate classification labels corresponding to this image style classification model can include various image styles such as animation, traditional Chinese painting, and watercolor. Specifically, during the process of classifying unlabeled images for image style and obtaining style labels for unlabeled images, the server acquires an initial classification model, a set of unlabeled images, and a training sample set including training samples carrying style labels. Then, based on each training sample, the initial classification model is trained in multiple rounds to obtain the stage model corresponding to each target training round in each training round. Next, based on each stage model, a confidence analysis is performed on each candidate unlabeled image in the unlabeled image set to obtain the candidate classification confidence for each candidate unlabeled image. Finally, using the models from each stage, the target unlabeled images whose candidate classification confidence scores meet the confidence conditions are classified among the candidate unlabeled images. This determines the style label corresponding to each target unlabeled image, thereby obtaining more image samples carrying style labels. These image samples can then be used for subsequent model training to obtain an image style classification model with higher classification accuracy. This ensures the accuracy of the style labels obtained from style prediction of target images using this image style classification model.

[0163] In some embodiments, the object classification method provided in this application can be applied to the incremental data training stage of neural network model training. During the incremental data training stage, incremental data samples need to be labeled to obtain labeled incremental training samples, so that the initial neural network model can be incrementally trained based on the incremental training samples to obtain the target neural network model.

[0164] Specifically, the server acquires multiple unlabeled incremental samples and uses a binary search method to divide each unlabeled incremental sample into multiple candidate sample sets. For specific constraints on sample set partitioning, please refer to the constraints on object set partitioning above; they will not be repeated here. Let's take the case where the difference is 1 and the quantity threshold is Q as an example. Assume n / (2 t If ) < Q, then the number of samples in each candidate sample set in the final data group G are respectively: n / 2, n / 4, ..., n / (2 t ), n / (2 t ), where t is the number of rounds of iterative partitioning of the sample set.

[0165] In a specific application, such as Figure 8 As shown, the specific process of classifying unlabeled incremental samples includes the following steps:

[0166] Step S801, sample set partitioning;

[0167] Step S802: Determine the target candidate object set Di from the sample set;

[0168] Step S803: Label the unlabeled samples in Di to obtain the training object set DI;

[0169] Step S804: Use DI to train the model and obtain the weights W1-Wm;

[0170] Step S805: Determine the unlabeled object set Du, which has the same number of objects as DI, from each unlabeled sample set;

[0171] Step S806: Select the target unlabeled sample from Du;

[0172] Step S807: Automatically label the target unlabeled samples;

[0173] Step S808: Manually label all unlabeled samples in Du except for the target unlabeled sample;

[0174] Step S809: Determine whether there are unlabeled samples in each sample set; if not, end the process; if yes, proceed to step S810.

[0175] Step S810: Merge DI and Du to obtain a new DI; return to step S804.

[0176] Specifically, on the one hand, the server will have n / (2) samples in the data group G. t Either of the two candidate sample sets is taken as the target candidate object set Di. After manually labeling each unlabeled incremental sample in the target candidate object set Di, a labeled training object set DI is obtained. The initial neural network model is trained using the training object set DI to obtain the model weights corresponding to each training round during the model training process, and the weights W1 to Wm of m target training rounds are selected from them. On the other hand, the server will take the sample size n / (2) from the data group G. t The other of the two candidate sample sets is taken as the unlabeled object set Du. Based on the stage model corresponding to the weights W1 to Wm, the confidence analysis of each candidate unlabeled sample in Du is carried out to obtain the candidate classification confidence of each candidate unlabeled sample. Then, the target unlabeled sample that meets the confidence condition of the candidate classification confidence is selected from Du.

[0177] Next, the server automatically labels each target unlabeled sample based on the stage model corresponding to weights W1 to Wm, determining the classification label for each target unlabeled sample. The classification labels for other candidate unlabeled samples in Du, excluding the target unlabeled samples, are determined manually. At this point, the number of samples in dataset G is n / (2^n). t The classification labels of all unlabeled samples in the two candidate sample sets have been determined. Since there are still unlabeled samples in the candidate sample sets, the server merges the samples in DI and Du to obtain a new training object set DI. The stage model corresponding to the last training round in the model training process is determined as the new initial neural network model. The server then returns to use the training object set DI to train the initial neural network model and obtain the weights W1 to Wm. This process continues until the classification labels of all unlabeled samples in the candidate sample sets have been determined.

[0178] Furthermore, such as Figure 9 As shown, the process of selecting target unlabeled samples from the unlabeled object set Du and automatically labeling them involves the following steps:

[0179] Step S901: Using the initial neural network model M, load weights W1-Wm respectively, and perform confidence analysis on the validation set to obtain E1-E. m ;

[0180] Step S902: Calculate the AML score of each validation sample in the validation set;

[0181] Step S903: Sort the AML scores of the validation samples and calculate the threshold S;

[0182] Step S904: Load weights W1-Wm using the initial neural network model M, perform confidence analysis on Du, and obtain P1-P m ;

[0183] Step S905: Calculate the AML score for each sample in Du;

[0184] Step S906: Select target unlabeled samples with AML scores greater than S from Du;

[0185] Step S907: Automatically label the target unlabeled samples.

[0186] Specifically, assuming that the initial neural network model is trained using the training object set DI, and N training phases are completed, then N model weights can be obtained. m weights (3≤m≤N) are selected at medium intervals. These m weights can reflect the knowledge information learned by the model from the training samples in different stages from the early, middle to late stages of training. The larger m is, the stronger the model's learning ability in the corresponding stage, the more accurate the model's prediction results will be, and the computation time and storage space will also increase.

[0187] Then, the server uses the initial neural network model M to load these m weights respectively, performs confidence analysis on the validation set, and obtains the confidence score datasets E1 to E1 for each of the m weights. m Among them, E i It can be represented as: E i ={p i (y k |X l )}, i∈(1,m), l∈(1,e), k∈(1,n). X l y represents the e labeled validation samples contained in the validation set. k p represents n candidate category labels. i (y k |x l ) represents the candidate classification label y under the i-th weight. k For validation sample X l The label confidence score. Based on the confidence score dataset E1~E m Each verification sample X can be calculated. l Each corresponds to an AML score, with higher AML scores indicating higher classification prediction accuracy. Specifically, the AML score is AML(X). l The calculation formula for ) is as follows:

[0188]

[0189] M i (Xl ) = p i (y o1 |X l )-p i (y o2 |X z )

[0190] In the formula, M i (X l To verify sample X l The corresponding multiple differences, p i (y o1 |X l To verify sample X l The maximum value of the confidence scores of each label under the i-th weight, p i (y o2 |x j To verify sample X l The second largest value among the confidence scores of each label under the i-th weight.

[0191] Next, the server adds each validation sample from the validation set to the auxiliary set sequentially, according to their AML scores from highest to lowest. For each added validation sample, the classification prediction accuracy of the current auxiliary set is calculated. When the accuracy drops to just above the user's acceptable lower limit P, the minimum AML score of all validation samples in the current auxiliary set is taken as the threshold S. It should be noted that the classification prediction accuracy of the current auxiliary set can be determined by matching the predicted class label determined based on the initial neural network model with the original class label carried by the validation sample, and based on the consistency between the two. For example, the classification prediction accuracy could be the proportion of target validation samples in the auxiliary set whose predicted class label and original class label are the same.

[0192] After determining the threshold S, please continue to refer to [the relevant documentation / reference]. Figure 9 The server uses the initial neural network model M to load the m weights respectively, performs confidence analysis on the unlabeled object set Du, and obtains the confidence score datasets P1 to P1 corresponding to each of the m weights. m Among them, P i It can be represented as: P i ={p i (y k |x j )}, i∈(1,m), j∈(1,q), k∈(1,n). x j y represents the q unlabeled samples contained in the unlabeled object set Du. k p represents n candidate category labels. i (y k |x j ) represents the candidate classification label y under the i-th weight.k For unlabeled sample x j The label confidence score. Based on the confidence score dataset P1~P m Each unlabeled sample x can be calculated. j Each corresponds to an AML score; the higher the AML score, the higher the classification prediction accuracy. AML score AML(x) j The calculation formula for ) is as follows:

[0193]

[0194] M i (x j ) = p i (y o1 |x j )-p i (y o2 |x j )

[0195] In the formula, M i (x j ) represents unlabeled sample x j The corresponding multiple differences, p i (y o1 |x j ) represents unlabeled sample x j The maximum value of the confidence scores of each label under the i-th weight, p i (y o2 |x j ) represents unlabeled sample x j The second largest value among the confidence scores of each label under the i-th weight.

[0196] Finally, the server automatically labels target unlabeled samples with AML scores greater than S from the unlabeled object set Du. Specifically, for each target unlabeled sample, the confidence score of the corresponding label under each weight for the same candidate classification label is statistically calculated to obtain the confidence score statistical value corresponding to each candidate classification label. Then, the candidate classification label with the highest confidence score statistical value is determined as the classification label of the target unlabeled sample.

[0197] In the above embodiments, the incremental sample labeling process is transformed into an iterative method, with sample labeling and model training alternating. In each iteration, the model is used to automatically label some of the unlabeled samples, and manual labeling is only required for the remaining samples. This reduces the number of samples that need to be manually labeled, and improves efficiency while ensuring the accuracy of the labeling results.

[0198] The following is a brief explanation of the object classification method involved in this application, using a specific application process as an example. Assume there are 320,000 data entries to be labeled. Following the binary division method described above (setting 0.5w as the initial training count): First, divide the 320,000 data entries into two groups of 160,000 each. Then, take one of these 160,000 data entries and divide it into two groups of 80,000 each. Next, take one of these 80,000 data entries and divide it into two groups of 40,000 each. Continue this process until the smallest data entry has no fewer than 0.5w data entries. After grouping, there are a total of 7 data entries, with counts of 0.5w, 0.5w, 1w, 2w, 4w, 8w, and 160,000 data entries respectively.

[0199] Manually label one of the 0.5w data packets to obtain the training set, and use this training set to train the model. Assume the training process includes 15 epochs, spaced at intervals of 3. In each epoch, the weights corresponding to the 3rd, 6th, 9th, 12th, and 15th epochs are selected to calculate the AML score. After training, the initial model is loaded with the weights from the selected 3rd, 6th, 9th, 12th, and 15th epochs, and confidence analysis is performed on another 0.5w data packet (denoted as Data B). The predicted confidence scores and predicted labels are saved, and the AML score for each sample in Data B is calculated using the formula described above.

[0200] Prepare an additional manually labeled auxiliary data package with 10,000 data entries. Set the acceptable automatic labeling accuracy P to 99%, and calculate the AML threshold S for automatic labeling. Label the samples in data B with AML scores exceeding the threshold S using the model's predicted labels, and label the remaining samples manually.

[0201] The machine-annotated data and manually annotated data from this round are merged, completing the first round of annotation and returning 10,000 labeled data points. Then, the model is trained using the data returned from the first round (denoted as data A). Afterwards, another set of 10,000 data points from the same dataset is annotated, following the same process as the first round, except for the initial data acquisition method. This iterative process is repeated until all data is labeled. After a total of 6 iterations, the annotation of all data is complete.

[0202] Using the above method, in a low-quality video annotation task with a total data volume of 320,000, the annotation task was completed through 6 rounds of iterations. In the first round of annotation, 4,058 out of 5,000 samples were automatically annotated by machine, while 942 were manually annotated, resulting in an automatic annotation rate of 81%. The overall automatic annotation rate during the 6 rounds of iterations was 77.98%, with an accuracy rate of 99.78% for the automatically annotated portion. In a low-quality video annotation task with a total data volume of 270,000, the overall automatic annotation rate was 81.52%, with an accuracy rate of 99.57% for the automatically annotated portion. Therefore, it is evident that the object classification method described in this application can significantly improve annotation efficiency while ensuring the accuracy of the annotation results.

[0203] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0204] Based on the same inventive concept, this application also provides an object classification apparatus for implementing the object classification method described above. The solution provided by this apparatus is similar to the implementation scheme described in the above method; therefore, the specific limitations in one or more object classification apparatus embodiments provided below can be found in the limitations of the object classification method described above, and will not be repeated here.

[0205] In some embodiments, such as Figure 10 As shown, an object classification device 1000 is provided, including: an acquisition module 1002, a model training module 1004, a confidence analysis module 1006, and a classification label determination module 1008, wherein:

[0206] The acquisition module 1002 is used to acquire the initial classification model, the unlabeled object set, and the training object set; the training object set includes training objects carrying classification labels.

[0207] The model training module 1004 is used to perform multiple rounds of model training on the initial classification model based on each training object to obtain the stage model corresponding to each target training round; each target training round includes at least a part of each training round in the multi-round model training process.

[0208] The confidence analysis module 1006 is used to perform confidence analysis on each candidate unlabeled object in the unlabeled object set based on the model at each stage, and obtain the candidate classification confidence of each candidate unlabeled object.

[0209] The classification label determination module 1008 is used to classify the target unlabeled objects whose candidate classification confidence scores meet the confidence conditions among the candidate unlabeled objects using the models at each stage, and to determine the classification label corresponding to each target unlabeled object.

[0210] In some embodiments, the confidence analysis module 1006 includes: a confidence score dataset determination unit, used to perform confidence analysis on each candidate unlabeled object in the unlabeled object set based on the model at each stage, to obtain a confidence score dataset corresponding to each stage model; the confidence score dataset includes the label confidence of each candidate classification label for each candidate unlabeled object; and a candidate classification confidence determination unit, used to perform statistical calculations on the multiple label confidences corresponding to the same candidate unlabeled object, to obtain the candidate classification confidence of each candidate unlabeled object.

[0211] In some embodiments, the candidate classification confidence determination unit is specifically used to: for each candidate unlabeled object, calculate the difference between the maximum and the second largest value of the confidence scores of each label corresponding to each stage model; and perform an averaging operation on multiple differences corresponding to the same candidate unlabeled object to obtain the candidate classification confidence score corresponding to the candidate unlabeled object.

[0212] In some embodiments, the classification label determination module 1008 is specifically used to: select target unlabeled objects whose candidate classification confidence scores meet the confidence conditions from each candidate unlabeled object; for each target unlabeled object, perform statistical calculations on the label confidence scores corresponding to the same candidate classification label in each stage model to obtain the confidence score statistical value corresponding to each candidate classification label; and determine the candidate classification label with the largest confidence score statistical value as the classification label of the target unlabeled object.

[0213] In some embodiments, the acquisition module 1002 is further configured to acquire a set of verification objects; the set of verification objects includes verification objects carrying classification labels. The confidence analysis module 1006 is further configured to perform confidence analysis on each verification object based on the model at each stage, and obtain the verification classification confidence level corresponding to each verification object. In this embodiment, the object classification device 1000 further includes: a classification accuracy determination module, configured to classify each target verification object in the auxiliary object set based on the model at each stage, and obtain the classification accuracy of the auxiliary object set; the auxiliary object set includes at least a portion of the verification objects; and a confidence condition determination module, configured to determine confidence conditions based on the verification classification confidence levels corresponding to each target verification object in the auxiliary object set whose classification accuracy satisfies the accuracy conditions.

[0214] In some embodiments, the classification accuracy determination module is specifically used for: migrating the target verification object with the highest verification classification confidence in the verification object set to the auxiliary object set; classifying each target verification object in the auxiliary object set based on the model at each stage to obtain the predicted classification label corresponding to each target verification object; calculating the classification accuracy of the auxiliary object set based on the matching result obtained by matching the classification label corresponding to each target verification object with the predicted classification label; if the classification accuracy of the auxiliary object set meets the accuracy condition, returning to the step of migrating the target verification object with the highest verification classification confidence in the verification object set to the auxiliary object set, until the classification accuracy of the current auxiliary object set no longer meets the accuracy condition.

[0215] In some embodiments, the confidence condition determination module is specifically used to: remove the target verification object that was last migrated to the current auxiliary object set to obtain the target auxiliary object set; and determine the confidence condition corresponding to the confidence threshold value by taking the minimum confidence value of the verification classification corresponding to each target verification object in the target auxiliary object set as the confidence threshold value.

[0216] In some embodiments, the acquisition module 1002 includes: an object set partitioning unit, configured to partition multiple unlabeled objects into object sets to obtain multiple candidate object sets; an unlabeled object set acquisition unit, configured to determine the target candidate object set with the fewest objects and the unlabeled object set with the smallest difference in the number of objects from the target candidate object set; and a training object set acquisition unit, configured to acquire the auxiliary classification label of each target candidate object in the target candidate object set to obtain a training object set including training objects carrying classification labels.

[0217] In some embodiments, the object set partitioning unit is specifically used for: obtaining a set of objects to be classified that contains multiple unlabeled objects; splitting the set of objects to be classified into two candidate sets based on a binary search method; the difference in the number of objects in the two candidate sets is less than a set difference; if the number of objects in a candidate set meets the quantity condition, using the candidate set as a new set of objects to be classified, and returning to the step of splitting the set of objects to be classified into two candidate sets based on a binary search method, until the number of objects in the candidate set obtained in the most recent partition does not meet the quantity condition.

[0218] In some embodiments, the object classification device 1000 further includes an auxiliary classification label acquisition module, used to acquire auxiliary classification labels for other candidate unlabeled objects besides the target unlabeled object among the candidate unlabeled objects. In this embodiment, the acquisition module 1002 is specifically used to merge the unlabeled object set with the training object set to obtain an updated training object set, and determine the stage model corresponding to the last training round in the multi-round model training process as the updated initial classification model, and return to the steps of acquiring the initial classification model, the unlabeled object set, and the training object set, until the classification labels corresponding to each unlabeled object have been determined.

[0219] In some embodiments, the model training module 1004 is specifically used for: performing multiple rounds of model training on the initial classification model based on each training object, obtaining the model weights corresponding to each training round during the multiple rounds of model training; obtaining the target number of training rounds and the total number of training rounds in the multiple rounds of model training, and rounding down the quotient obtained by dividing the total number of training rounds by the target number of training rounds to obtain the round difference between two adjacent target training rounds; determining multiple target training rounds from each training round based on the round difference; and loading the model weights corresponding to each target training round using the initial classification model to obtain the stage model corresponding to each target training round.

[0220] Each module in the aforementioned object classification device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.

[0221] In some embodiments, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 11As shown, this computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operating system and computer programs stored in the non-volatile storage media. The database stores data involved in the object classification method. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When the computer program is executed by the processor, it implements an object classification method.

[0222] Those skilled in the art will understand that Figure 11 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.

[0223] In some embodiments, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the object classification method described above.

[0224] In some embodiments, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps in the object classification method described above.

[0225] In some embodiments, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the object classification method described above.

[0226] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data shall comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0227] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0228] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0229] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. An object classification method, characterized in that, The method includes: Obtain an initial classification model, an unlabeled object set, and a training object set; the training object set includes training objects carrying classification labels; wherein, the objects include images, audio, text, or video. The initial classification model is trained in multiple rounds based on each of the training objects to obtain the stage model corresponding to each target training round; each target training round includes at least a portion of each training round in the multi-round model training process. Based on the stage models described above, confidence analysis is performed on each candidate unlabeled object in the unlabeled object set to obtain the candidate classification confidence of each candidate unlabeled object. Using the stage models described above, target unlabeled objects whose candidate classification confidence scores meet the confidence conditions are classified among the candidate unlabeled objects, and the corresponding classification labels for each target unlabeled object are determined.

2. The method according to claim 1, characterized in that, Based on the stage models, a confidence analysis is performed on each candidate unlabeled object in the unlabeled object set to obtain the candidate classification confidence for each candidate unlabeled object, including: Based on each stage model, a confidence analysis is performed on each candidate unlabeled object in the unlabeled object set to obtain a confidence score dataset corresponding to each stage model; the confidence score dataset includes the label confidence of each candidate classification label for each candidate unlabeled object; Statistical calculations are performed on the confidence scores of multiple labels corresponding to the same candidate unlabeled object to obtain the candidate classification confidence score for each candidate unlabeled object.

3. The method according to claim 2, characterized in that, The step of statistically calculating the confidence scores of multiple labels corresponding to the same candidate unlabeled object to obtain the candidate classification confidence score for each candidate unlabeled object includes: For each candidate unlabeled object, calculate the difference between the maximum and the second largest value of the confidence scores of each label in each stage model; The candidate classification confidence score is obtained by averaging the differences of multiple candidate unlabeled objects.

4. The method according to claim 2, characterized in that, The step of using each of the aforementioned stage models to classify the target unlabeled objects whose candidate classification confidence scores meet the confidence conditions among the candidate unlabeled objects, and determining the classification label corresponding to each of the target unlabeled objects, includes: From each of the candidate unlabeled objects, select the target unlabeled objects whose candidate classification confidence scores meet the confidence score conditions; For each unlabeled target object, the confidence scores of the corresponding labels in each stage model for the same candidate classification label are statistically calculated to obtain the confidence score statistics for each candidate classification label. The candidate classification label with the highest confidence score is determined as the classification label of the target unlabeled object.

5. The method according to claim 1, characterized in that, The method further includes: Obtain a set of verification objects; the set of verification objects includes verification objects carrying classification labels; Based on the stage models described above, confidence analysis is performed on each of the verification objects to obtain the verification classification confidence of each verification object. Based on the stage models described above, each target verification object in the auxiliary object set is classified to obtain the classification accuracy of the auxiliary object set; the auxiliary object set includes at least a portion of the verification objects described above. The confidence level conditions are determined based on the verification classification confidence level of each target verification object in the auxiliary object set whose classification accuracy meets the accuracy conditions.

6. The method according to claim 5, characterized in that, The step of classifying each target verification object in the auxiliary object set based on the stage models to obtain the classification accuracy of the auxiliary object set includes: The target verification object with the highest confidence level in the verification object set is migrated to the auxiliary object set; Based on each stage model, each target verification object in the auxiliary object set is classified to obtain the predicted classification label corresponding to each target verification object. Based on the matching results obtained by matching the classification labels and predicted classification labels corresponding to each of the target verification objects, the classification accuracy of the auxiliary object set is calculated. If the classification accuracy of the auxiliary object set meets the accuracy condition, return to the step of migrating the target verification object with the highest verification classification confidence in the verification object set to the auxiliary object set, until the classification accuracy of the current auxiliary object set no longer meets the accuracy condition.

7. The method according to claim 6, characterized in that, The step of determining the confidence level conditions based on the verification classification confidence level of each target verification object in the auxiliary object set that meets the accuracy conditions includes: Remove the target verification object that was last migrated to the current auxiliary object set to obtain the target auxiliary object set; The confidence threshold is determined by taking the minimum confidence level of the verification classification corresponding to each target verification object in the target auxiliary object set as the confidence threshold value.

8. The method according to any one of claims 1 to 7, characterized in that, The process of obtaining the unlabeled object set and the training object set includes: Multiple unlabeled objects are divided into object sets to obtain multiple candidate object sets; From each of the candidate object sets, determine the target candidate object set with the smallest number of objects, and the unlabeled object set with the smallest difference in the number of objects from the target candidate object set; Obtain the auxiliary classification label of each target candidate object in the target candidate object set to obtain a training object set including training objects carrying classification labels.

9. The method according to claim 8, characterized in that, The process of partitioning multiple unlabeled objects into multiple candidate object sets includes: Retrieve a set of objects to be classified that contains multiple unlabeled objects; The set of objects to be classified is split into two candidate sets based on a binary classification method; the difference in the number of objects in the two candidate sets is less than a set difference. If the number of objects in the candidate object set meets the quantity condition, the candidate object set is taken as a new object set to be classified, and the step of splitting the object set to be classified into two candidate object sets based on the binary division method is returned until the number of objects in the candidate object set obtained in the most recent division does not meet the quantity condition.

10. The method according to claim 9, characterized in that, The method further includes: Obtain auxiliary classification labels for the other candidate unlabeled objects besides the target unlabeled object from each of the candidate unlabeled objects; The unlabeled object set is merged with the training object set to obtain the updated training object set, and the stage model corresponding to the last training round in the multi-round model training process is determined as the updated initial classification model. Return to the steps of obtaining the initial classification model, the set of unlabeled objects, and the training set, until the classification labels corresponding to each of the unlabeled objects have been determined.

11. The method according to any one of claims 1 to 7, characterized in that, The step of training the initial classification model multiple times based on each of the training objects to obtain the stage model corresponding to each target training round includes: Based on each of the training objects, the initial classification model is trained in multiple rounds to obtain the model weights corresponding to each training round during the multiple rounds of model training. Obtain the target number of training rounds and the total number of training rounds in the multi-round model training process, and round down the quotient obtained by dividing the total number of training rounds by the target number of training rounds to obtain the round difference between two adjacent target training rounds; Multiple target training rounds are determined from each of the training rounds based on the round number difference; The initial classification model is used to load the model weights corresponding to each of the target training rounds to obtain the stage model corresponding to each of the target training rounds.

12. An object classification device, characterized in that, The device includes: The acquisition module is used to acquire the initial classification model, the unlabeled object set, and the training object set; the training object set includes training objects carrying classification labels; wherein, the objects include images, audio, text, or video. The model training module is used to perform multiple rounds of model training on the initial classification model based on each of the training objects to obtain the stage model corresponding to each target training round; each target training round includes at least a portion of each training round in the multiple rounds of model training. The confidence analysis module is used to perform confidence analysis on each candidate unlabeled object in the unlabeled object set based on the stage model, and obtain the candidate classification confidence of each candidate unlabeled object. The classification label determination module is used to classify the target unlabeled objects whose candidate classification confidence scores meet the confidence conditions among the candidate unlabeled objects using the stage models, and to determine the classification label corresponding to each of the target unlabeled objects.

13. The apparatus according to claim 12, characterized in that, The confidence analysis module includes: The confidence score dataset determination unit is used to perform confidence analysis on each candidate unlabeled object in the unlabeled object set based on each stage model, and obtain the confidence score dataset corresponding to each stage model; the confidence score dataset includes the label confidence of each candidate classification label for each candidate unlabeled object; The candidate classification confidence determination unit is used to perform statistical calculations on the multiple label confidence scores corresponding to the same candidate unlabeled object to obtain the candidate classification confidence score corresponding to each candidate unlabeled object.

14. The apparatus according to claim 13, characterized in that, The candidate classification confidence determination unit is specifically used for: For each candidate unlabeled object, calculate the difference between the maximum and the second largest value of the confidence scores of each label in each stage model; The candidate classification confidence score is obtained by averaging the differences of multiple candidate unlabeled objects.

15. The apparatus according to claim 13, characterized in that, The classification label determination module is specifically used for: From each of the candidate unlabeled objects, select the target unlabeled objects whose candidate classification confidence scores meet the confidence score conditions; For each unlabeled target object, the confidence scores of the corresponding labels in each stage model for the same candidate classification label are statistically calculated to obtain the confidence score statistics for each candidate classification label. The candidate classification label with the highest confidence score is determined as the classification label of the target unlabeled object.

16. The apparatus according to claim 12, characterized in that: The acquisition module is also used to acquire a set of verification objects; the set of verification objects includes verification objects carrying classification labels; The confidence analysis module is also used to perform confidence analysis on each of the verification objects based on the stage models of each stage, and obtain the verification classification confidence of each verification object. The device further includes: The classification accuracy determination module is used to classify each target verification object in the auxiliary object set based on the stage models, and obtain the classification accuracy of the auxiliary object set; the auxiliary object set includes at least a portion of the verification objects. The confidence condition determination module is used to determine the confidence condition based on the verification classification confidence of each target verification object in the auxiliary object set whose classification accuracy meets the accuracy condition.

17. The apparatus according to claim 16, characterized in that, The classification accuracy determination module is specifically used for: The target verification object with the highest confidence level in the verification object set is migrated to the auxiliary object set; Based on each stage model, each target verification object in the auxiliary object set is classified to obtain the predicted classification label corresponding to each target verification object. Based on the matching results obtained by matching the classification labels and predicted classification labels corresponding to each of the target verification objects, the classification accuracy of the auxiliary object set is calculated. If the classification accuracy of the auxiliary object set meets the accuracy condition, return to the step of migrating the target verification object with the highest verification classification confidence in the verification object set to the auxiliary object set, until the classification accuracy of the current auxiliary object set no longer meets the accuracy condition.

18. The apparatus according to claim 17, characterized in that, The confidence level condition determination module is specifically used for: Remove the target verification object that was last migrated to the current auxiliary object set to obtain the target auxiliary object set; The confidence threshold is determined by taking the minimum confidence level of the verification classification corresponding to each target verification object in the target auxiliary object set as the confidence threshold value.

19. The apparatus according to any one of claims 12 to 18, characterized in that, The acquisition module includes: The object set partitioning unit is used to partition multiple unlabeled objects into multiple candidate object sets. The unlabeled object set acquisition unit is used to determine, from each of the candidate object sets, the target candidate object set with the smallest number of objects and the unlabeled object set with the smallest difference in the number of objects from the target candidate object set; The training object set acquisition unit is used to acquire the auxiliary classification label of each target candidate object in the target candidate object set, so as to obtain a training object set including training objects carrying classification labels.

20. The apparatus according to claim 19, characterized in that, The object set partitioning unit is specifically used for: Retrieve a set of objects to be classified that contains multiple unlabeled objects; The set of objects to be classified is split into two candidate sets based on a binary classification method; the difference in the number of objects in the two candidate sets is less than a set difference. If the number of objects in the candidate object set meets the quantity condition, the candidate object set is taken as a new object set to be classified, and the step of splitting the object set to be classified into two candidate object sets based on the binary division method is returned until the number of objects in the candidate object set obtained in the most recent division does not meet the quantity condition.

21. The apparatus according to claim 20, characterized in that, The device further includes: The auxiliary classification label acquisition module is used to acquire auxiliary classification labels for other candidate unlabeled objects besides the target unlabeled object among the candidate unlabeled objects; The acquisition module is specifically used for: The unlabeled object set is merged with the training object set to obtain the updated training object set, and the stage model corresponding to the last training round in the multi-round model training process is determined as the updated initial classification model. Return to the steps of obtaining the initial classification model, the set of unlabeled objects, and the training set, until the classification labels corresponding to each of the unlabeled objects have been determined.

22. The apparatus according to any one of claims 12 to 18, characterized in that, The model training module is specifically used for: Based on each of the training objects, the initial classification model is trained in multiple rounds to obtain the model weights corresponding to each training round during the multiple rounds of model training. Obtain the target number of training rounds and the total number of training rounds in the multi-round model training process, and round down the quotient obtained by dividing the total number of training rounds by the target number of training rounds to obtain the round difference between two adjacent target training rounds; Multiple target training rounds are determined from each of the training rounds based on the round number difference; The initial classification model is used to load the model weights corresponding to each of the target training rounds to obtain the stage model corresponding to each of the target training rounds.

23. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 11.

24. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 11.

25. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • Active learning method and device for labeling platform

    CN110188197A

  • Cancer pathological image automatic detection method and system

    CN112767325A