From 02d0eedd68e75b437e38c32c3f52022a73a62ccc Mon Sep 17 00:00:00 2001 From: lewwang Date: Wed, 9 Jun 2021 18:21:16 +0800 Subject: [PATCH] update --- examples/benchmarks/TCTS/TCTS.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/benchmarks/TCTS/TCTS.md b/examples/benchmarks/TCTS/TCTS.md index b0389dc9b..f500fc155 100644 --- a/examples/benchmarks/TCTS/TCTS.md +++ b/examples/benchmarks/TCTS/TCTS.md @@ -1,17 +1,18 @@ # Temporally Correlated Task Scheduling for Sequence Learning -We provide the code for reproducing the stock trend forecasting experiments in [Temporally Correlated Task Scheduling for Sequence Learning](https://www.overleaf.com/project/5eb8efb42dcf710001d781d6). +We provide the code for reproducing the stock trend forecasting experiments in [Temporally Correlated Task Scheduling for Sequence Learning](https://github.com/microsoft/qlib/blob/main/qlib/contrib/model/pytorch_nn.py). ### Background Sequence learning has attracted much research attention from the machine learning community in recent years. In many applications, a sequence learning task is usually associated with multiple temporally correlated auxiliary tasks, which are different in terms of how much input information to use or which future step to predict. In stock trend forecasting, as demonstrated in Figure1, one can predict the price of a stock in different future days (e.g., tomorrow, the day after tomorrow). In this paper, we propose a framework to make use of those temporally correlated tasks to help each other. -
![Temporally Correlated Tasks.](task_description.png)
+ +

![Temporally Correlated Tasks.](task_description.png)

### Method Given that there are usually multiple temporally correlated tasks, the key challenge lies in which tasks to use and when to use them in the training process. In this work, we introduce a learnable task scheduler for sequence learning, which adaptively selects temporally correlated tasks during the training process. The scheduler accesses the model status and the current training data (e.g., in current minibatch), and selects the best auxiliary task to help the training of the main task. The scheduler and the model for the main task are jointly trained through bi-level optimization: the scheduler is trained to maximize the validation performance of the model, and the model is trained to minimize the training loss guided by the scheduler. The process is demonstrated in Figure2. -
![The optimization workflow of one episode.](workflow.png)
+

![The optimization workflow of one episode.](workflow.png)

At step , with training data , the scheduler chooses a suitable task (green solid lines) to update the model (blue solid lines). After steps, we evaluate the model on the validation set and update the scheduler (green dashed lines).