In the development process of machine learning, human learning methods often inspire the design of various algorithms. As an important paradigm of human learning, learning through courses has been borrowed from machine learning to form a research direction called Curriculum Learning.
Generally speaking, human education is completed through highly organized courses. Each course or subject will start with simple content and gradually present students with more complex concepts. For example, before accepting the concepts of calculus in college, a student should first learn arithmetic in elementary school, functions in middle school, and derivatives in high school. However, unlike human education, the training of traditional machine learning models involves randomly inputting data samples into the model, ignoring the different complexities between data samples and the current learning status of the model. Therefore, curriculum learning was proposed in the field of machine learning precisely to imitate human learning from easy to difficult, provide better training strategies for the model, and thereby improve the performance of the model.
Course Learning Concept Map
Currently Curriculum learning has been widely used in various tasks of machine learning, including image classification, target detection, semantic segmentation, machine translation, audio recognition, audio enhancement, video question and answer, etc. It is also used in supervised, unsupervised and semi-supervised learning and Reinforcement learning and other scenarios have received a lot of attention and research.
As the applications and scenarios of course learning become increasingly rich, it is particularly necessary to conduct a detailed sorting and summary in this field, so as to promote in-depth exploration by researchers and improve the application experience of users. .
Therefore, based on the accumulation and foundation of publishing a number of academic papers on course learning, the Media and Network Big Data Laboratory led by Professor Zhu Wenwu of Tsinghua University, laboratory member Wang Xin IEEE TPAMI published a review paper on curriculum learning, and the laboratory further released the world's first open source library for curriculum learning, CurML (Curriculum Machine Learning).
Professor Zhu Wenwu and Assistant Researcher Wang Xin’s curriculum learning research work includes curriculum meta-learning method applied to urban interest location recommendation, curriculum decoupling product recommendation based on noisy multiple feedback information , Shared parameter neural architecture search based on course learning, and combinatorial optimization problem solving based on course difficulty adaptation, etc. Research results have been published in high-level international machine learning conferences such as SIGKDD, NeurIPS, and ACM MM.
##Framework diagram of some research results
The course learning review paper comprehensively reviews all aspects of course learning, such as the emergence, definition, theory and application, designs a unified course learning framework, and divides course learning algorithms into two major categories and multiple categories based on the core components within the framework. This subcategory distinguishes the differences and connections between curriculum learning and other machine learning concepts, and points out the challenges faced by this field and possible future research directions.
Course Learning Method Classification
Course The learning open source library CurML is a support platform for course learning algorithms. It has integrated more than ten course learning algorithms and supports both noisy and non-noisy application scenarios, making it easier for researchers and users to reproduce, evaluate, compare and select course learning. algorithm.
The main module of CurML is CL Trainer, which consists of two sub-modules Model Trainer and CL Algorithm. The two interact through five interface functions to realize a machine for course learning guidance. learning process.
CurML framework diagram
This module is the main part of the entire open source library. By calling this module, users can implement the course learning algorithm with just a few lines of code. After given the data set, model and hyperparameters, the module will train for a certain period of time and output the trained model parameters and test results of the task. This module is mainly designed to meet the requirements of ease of use, so it is highly encapsulated and provided to users who want to use the course learning algorithm but do not care about the specific implementation details.
Sub-module 1: Model Trainer
This module is used to complete the general machine learning process, such as training An image classifier or a language model. At the same time, it reserves positions for five interface functions for interacting with the second sub-module CL Algorithm, and also supports custom input functions.
Sub-module 2: CL Algorithm
This module encapsulates all course learning algorithms supported by CurML. As shown in the following table:
The module is implemented through five interface functions, which are used to obtain data and model information from the machine learning process. and the learning strategy to guide the model, as shown in the figure below.
##CurML flow chart
Interface function: data_prepare
This function is used to provide data set information from the Model Trainer module to the CL Algorithm module. Many course learning algorithms require an overall understanding of the data set in order to better judge the difficulty of the data sample, so this interface function is necessary.
Interface function: model_prepare
This function is very similar to data_prepare, the difference is that it does not transfer data set information It is information related to model training, such as model architecture, parameter optimizer, learning rate adjuster, etc. Many course learning algorithms guide machine learning by adjusting these elements.
Interface function: data_curriculum
This function is used to calculate the difficulty of the data sample, and based on the difficulty of the data and the current Model state provides the model with appropriate data, and most courses have similar ideas.
Interface function: model_curriculum
This function is used to update the model and adjust the model’s accuracy obtained from the data sample. The amount of information indirectly guides the learning of the model. Currently, the number of such algorithms is still small, but CurML also supports the implementation of such algorithms.
Interface function: loss_curriculum
This function is used to reweight the loss function value, and the indirect adjustment is different The impact of data on the model. This type of algorithm is more common in course learning, because the weighting of the loss value is essentially a soft sampling of the data.
Through a summary of more than ten course learning methods in recent years, different types of course learning algorithms can be unified and implemented using the above modules and interface parameters, so that they can be used in fair scenarios and Evaluate, compare and select course learning algorithms under the task.
CurML’s R&D team stated that they will continue to update this open source library in the future to provide further support for the development and application of course learning.
Related links:
The above is the detailed content of Tsinghua University releases CurML, the first open source library for course learning. For more information, please follow other related articles on the PHP Chinese website!