Thank you so much for the insightful comment.
The source code of TPP is provided at https://anonymous.4open.science/r/TPP-1B07/README.md, where we provide the implementations of TPP and OODCIL in "Baselines/tpp\_model" and "Baselines/ood\_model" respectively.
To explain why the proposed prototype-based methods can achieve higher task prediction accuracy than the OOD-based method, we'd like to clarify the key differences between them despite they share similar neighborhood aggregation strategies.
Given a sequence of connected graphs (tasks) $(\mathcal{G}^1, \ldots, \mathcal{G}^T)$, where each task contains a set of unique $C$ classes of graph data, TPP constructs task prototypes for each task at its training stage, denoted as $\mathcal{P} = (\mathbf{p}^1,\ldots,\mathbf{p}^T)$. During inference, the prototype $\mathbf{p}^{\text{test}}$ for the test task is constructed, and task prediction is performed by identifying the most similar prototype in $\mathcal{P}$. Note that **this process in TPP does NOT involve any training and data reply**. Despite the simplicity, the prototype-based task prediction can achieve surprisingly good performance. This is attributed to the discrimination of the graph structure and node attributes between different tasks, as shown in Figure 3 in the paper.
**Different from our training-free and reply-free method, OODCIL requires training an OOD detector for each task using data from the current task as in-distribution (ID) data and the rehearsal data from the other tasks as OOD data, and it then utilizes the OOD score to perform task prediction**. This means there are $T$ OOD detectors after learning $T$ tasks. During inference, a test graph is fed into all the $T$ detectors that obtain an OOD score for each task, and the test graph is predicted to belong to the task with the lowest OOD score. Specifically, let $f_o^t(\cdot)$ be an OOD detector trained for task $t$ and there will be $T$ detectors: $(\{ f_o^1(\cdot), \ldots, f_o^T(\cdot)\})$ after sequentially learning $T$ tasks. Then, for a test graph $\mathcal{G}^{\text{test}}$, ideally, the learned OOD detector $f_o^t(\cdot)$ should yield the lowest OOD score if $\mathcal{G}^{\text{test}}$ comes from task $t$ and output a high OOD score if otherwise. To endow OOD detector $f_o^t(\cdot)$ with such an ability, the ideal case is that we have ID data from task $t$ and the OOD data from all other tasks. However, due to the sequential emergence of graph tasks and the restriction of access to previous tasks, we treat the current graph at task $t$ as ID data and construct the OOD data by a data replay approach (i.e., sampling subgraphs from all previous $t-1$ tasks) in our experiments. The detector $f_o^t(\cdot)$ is then optimized to perform a $(C+1)$-way classification, where the first $C$ entries of the classification probabilities are for ID classes at task $t$ and the $(C+1)$-th probability output is used to define the OOD score.
However, the OOD detector $f_o^t(\cdot)$ can get only limited access to the graph data from all $(t-1)$ previous tasks (i.e., having access to the replay data only). Moreover, when training $f_o^t(\cdot)$, we also do not have any access to graph data of unseen task $j\in(t, T]$. Thus, *due to the lack of sufficient training samples for seen tasks and the absence of the samples of unseen task $j$*, the trained $f_o^t(\cdot)$ can yield a lower score for the task $j$ than the OOD score yielded by $f_o^j(\cdot)$. This means that $f_o^j(\cdot)$ can often produce a lower OOD score for task $j$ than for the other tasks, but the lowest OOD score yielded by $f_o^j(\cdot)$ is still smaller than the OOD score yielded by the other detectors for the same task $j$, leading to incorrect task prediction. For example, in Table A4 below, the OOD score for task 3 yielded by $f_o^1(\cdot)$ is lower than that yielded by $f_o^3(\cdot)$ (note that task $3$ has the lowest OOD score among the OOD scores yielded by $f_o^3(\cdot)$), and the OOD scores for task 4 and task 5 yielded by $f_o^1(\cdot)$ is lower than that yielded by $f_o^4(\cdot)$ and $f_o^5(\cdot)$ respectively. As a result, the OOD scores yielded by OOD detectors trained at earlier tasks are generally very low, e.g., the OOD scores in columns "$f_o^1(\cdot)$" and "$f_o^2(\cdot)$" in Table A4, leading to incorrect prediction of the tasks 3, 4 and 5 to be task 1.
```
Table A4. OOD scores of each test task which are yielded by all OOD detectors on the Arxiv dataset with 5 tasks. The test graph is predicted to be the task ID whose OOD detector yields the smallest OOD score.
```
|Test Graph|$f_o^1$|$f_o^2$|$f_o^3$|$f_o^4$|$f_o^5$|
|---|---|---|---|---|---|
|Task 1|**0.08**|0.92|0.90|0.89|0.94|
|Task 2|0.16|**0.07**|0.86|0.87|0.89|
|Task 3|**0.13**|0.31|0.17|0.92|0.85|
|Task 4|**0.16**|0.42|0.82|0.34|0.96|
|Task 5|**0.10**|0.37|0.48|0.93|0.29|