Response to Reviewer QySF
Thank you for your review on our paper. Here are our response to your comments and questions.
> It is not clear whether this approach improves over direct multiple shooting (which is also applicable to GRUs). Is there some drawback to the linearization you introduce? Do you require more steps to converge?
In regards to the linearization we refer to in the appendix, we realise that we made a mistake: the direct multiple shooting layer (MSL) equation (eq. 17 in our paper) is actually already a linear equation ($b_{i+1}^{(k+1)}$ is linear w.r.t. $b_i^{(k+1)}$), so we didn’t actually do linearization over MSL because it’s already linear. We apologise for the mistake. As they are both linear and can use Newton’s method, the number of iterations to converge should be the same.
To show the advantage of our method over the multiple shooting layer (MSL), we ran the runtime comparisons between DEER, multiple shooting layers from torchdyn (maintained by the authors of the MSL paper: S. Massaroli, *et al.*, 2021), and our JAX implementation of MSL from torchdyn. In the comparison, we used a simple ODE case with 10,000 time points.
| Method | Device | Runtime | Notes |
|-|-|-|-|
| **DEER** | **GPU** | **1.62 ms** | |
| torchdyn's MSL | GPU | 12.47 s | 20 sections |
| torchdyn's MSL | GPU | 11.80 s | 200 sections |
| JAX MSL | GPU | 202 ms | 20 sections |
| JAX MSL | GPU | 117 ms | 200 sections |
| DEER | CPU | 105 ms | |
| torchdyn's MSL | CPU | 4.59 s | 20 sections |
| torchdyn's MSL | CPU | 3.60 s | 200 sections |
| JAX MSL | CPU | 8.39 ms | 20 sections |
| **JAX MSL** | **CPU** | **7.32 ms** | **200 sections** |
Although our method is slower in CPU, DEER can take more parallelization advantage with GPU. We will put this result in the paper.
> Are there important hyperparameters, methods that could impact the final results and convergence?
DEER has only one hyperparameter to tune: the tolerance for convergence. However, as the method has quadratic convergence rate, the effect of the tolerance value is not significant to the number of iterations to reach the convergence.
> You mention mid-point in passing in Sec 3.3, could you elaborate on the choice of other interpolation methods that you have tried?
Yes, we explored other kinds of interpolation methods, including: (1) left value, (2) right value, (3) linear interpolation, and (4) quadratic interpolation with Simpson’s rule. Interpolation (1) and (2) gives a quadratic error ($O(\Delta t^2)$). Interpolation (3) gives cubic error ($O(\Delta t^3)$), but the analytical expression of equation (8) becomes complicated. Interpolation (4) gives a fifth-power error ($O(\Delta t^5)$), but it gives a very complicated analytical expression of equation (8). We end up with midpoint interpolation because it gives reasonably low error (cubic error) with a very simple expression of equation (8). We will put the details on the interpolations in the paper.
> How is the recurrent step baseline implemented here?
Yes, we used jax.lax.scan and jit-compile (which I believe includes operator fusion) for the sequential method.
> Although the scaling of the proposed method in with state dimension is quite unfavourable, many existing state-of-the-art sequence models (S4, H3, Hyena, RWKV) take a specific "multi-SISO" (single-input, single-output) form, where each channel of the model (in width) is assigned its own state. ... Can the authors commend on whether DEER would be applicable in this case (and ideally show some preliminary result on a simple task?)
We agree with the reviewer’s suggestion on having multiple independent states. We can group the channel dimension into several “heads”, thus avoiding the cubic scaling for DEER. We ran an experiment with this idea on sequential CIFAR-10 where we elaborate in the "Response to all reviewers" section 1 above.
> How many steps do you need to converge with DEER? How much higher is the latency of one DEER evaluation vs one step of a corresponding GRU?
With a typical untrained GRU, it usually takes about 4 iterations, but during the training it can take more steps to converge. For a GRU of input and hidden sizes of 16, batch size 16, sequence length 10K, a DEER iteration typically takes 5.4 ms, while one step of GRU (from one sequence point to another sequence point) takes 22 μs. Although one DEER iteration takes much longer than one sequential step, the number of required iterations is usually much less than the number of sequence steps.
> Can you comment on the different rates of approximation of this linearized version of multiple shooting, and regular multiple shooting?
This is related to our earlier comment regarding linearization. We made a mistake by saying that we do linearization over direct multiple shooting Newton’s method update step, while the direct multiple shooting update step is actually already linear.