Jaume Ivars

Research · ongoing · October 2026

Residual vision networks learn nearly autonomous flows

Integrating ConvNeXt, Swin and ResNet at any depth without fine-tuning, sharing one block across a whole stage, and the single channel that makes every trajectory look straighter than it is.

Jaume Ivars Grimalt · Mycrospace AI Research, Valencia · Trained on the Leonardo supercomputer (CINECA, EuroHPC)

In short

  • Pretrained ConvNeXt-T, Swin-T, ResNet-50 and ResNet-101 can be run with 2 to 128 times more residual steps in their longest stage, with no fine-tuning, as long as the total integration time is kept. Accuracy converges to a continuous limit that is only 0.6 to 0.9 points below the original network.
  • The networks are tuned to the error of a single Euler step: any more accurate solver at the training step size lands directly on that limit.
  • Interpolating weights linearly between consecutive blocks fails in every model, losing 6.6 to 23.3 points. Only piecewise-constant weights work.
  • A ConvNeXt-T whose nine stage-3 blocks are a single shared block reaches 80.34% on ImageNet against 80.96%, with roughly a third fewer parameters. Its accuracy depends almost only on the integration time, not on the number of steps.
  • Adding a zero-initialised delta per block on top of the shared block, and fine-tuning, gives 81.25%: above both the shared and the original network.
  • The straight, almost one-dimensional trajectories of ConvNeXt are an artefact of one massive channel that holds 98 to 99% of the state's energy. Without it the dynamics are rotational and multi-dimensional.

1. The idea

A residual block computes x+f(x)x + f(x) [1]. Read with a step size of one, that is exactly one step of the explicit Euler method for the ODE x˙=f(x,t)\dot x = f(x,t) [2, 3, 4]. Neural ODEs took the idea to its conclusion and replaced the stack of blocks with a solver [5]. Whether ordinary, discretely trained networks really behave like that discretisation is a separate question, and the answer depends on how they were trained [6].

The reading I use is that a residual stage is a sum of blocks, and each block is an integral of its own vector field. Write the residual of block ii as

fi(x)  =  blocki(x)−x.f_i(x) \;=\; \mathrm{block}_i(x) - x.
(1)

Then the native network is one Euler step of size 1 per block. The continuous object behind it is the sum of those integrals:

xN  =  x0+∑i=0N−1∫ii+1fi(x(t)) dt.x_N \;=\; x_0 + \sum_{i=0}^{N-1} \int_{i}^{i+1} f_i\bigl(x(t)\bigr)\,dt.
(2)

The sum is the stack of residual blocks. The integral is the interpolation of that block: instead of taking one Euler step of size 1, integrate fif_i over the unit interval [i,i+1][i,i+1] with a finer solver, keeping the horizon of each block equal to 1. Equivalently, block by block,

xi+1  =  xi+∫ii+1fi(x(t)) dt.x_{i+1} \;=\; x_i + \int_{i}^{i+1} f_i\bigl(x(t)\bigr)\,dt.
(3)

I test this on the long stage of pretrained networks, without retraining: stage 3 has N=9N=9 blocks in ConvNeXt-T [7], 6 in Swin-T [8], 5 in ResNet-50 and 22 in ResNet-101. If the network is an Euler discretisation of a smooth flow, refining the integral should converge. If each block is an arbitrary map that only works with its exact input, it should collapse. I also integrate with RK2 and RK4 [9] to locate the continuous limit of (2).

How the integral is discretised is the interpolation. Plain interpolation keeps the field piecewise constant on each block: RR Euler steps of size Δt=1/R\Delta t = 1/R,

∫ii+1fi(x(t)) dt  ≈  ∑r=0R−1Δt fi(xi+rΔt).\int_{i}^{i+1} f_i\bigl(x(t)\bigr)\,dt \;\approx\; \sum_{r=0}^{R-1} \Delta t\, f_i\bigl(x_{i+r\Delta t}\bigr).
(4)

Bilinear interpolation replaces fif_i by a blend of consecutive blocks, which is what most continuous-depth work assumes [10, 11]. In weight space that is

θ(t)  =  (1−α) θi+α θi+1,α=t−i.\theta(t) \;=\; (1-\alpha)\,\theta_i + \alpha\,\theta_{i+1},\qquad \alpha = t-i.
(5)

All accuracies are top-1 on the 50,000 ImageNet-1k validation images [12]. ConvNeXt-T (with and without drop path) is my own run, trained from scratch for 300 epochs with timm augmentation [13]. Swin-T and the ResNets use the torchvision weights [14].

2. Refining pretrained networks

All five networks behave like Euler discretisations. Accuracy decreases monotonically as the step shrinks and flattens out at a well-defined limit, the same one RK4 reaches. The limit is always slightly below the original network.

7778798081821248163264128R, Euler sub-steps per block (log scale)Top-1 (%)
  • ConvNeXt-T
  • ConvNeXt-T, no drop path
  • Swin-T
  • ResNet-50
  • ResNet-101
Figure 1. Top-1 accuracy when every stage-3 block is applied R times with step 1/R (Euler, plain weights, no fine-tuning). R = 1 is the original network.
ModelOriginalRK4 at step 1Euler R = 128ODE limitGap
ConvNeXt-T80.9680.2380.2480.23−0.73
ConvNeXt-T, no drop path79.2776.9877.0276.96−2.31
Swin-T81.0880.3380.3480.32−0.76
ResNet-5080.3479.4279.4579.43−0.91
ResNet-10181.6781.0681.0681.05−0.62

ODE limit: RK4 with R = 128. Gap: ODE limit minus original.

Two things stand out. First, the horizon is what matters. Repeating each block ten times without shrinking the step, which integrates ten times longer, destroys every network: 0.1% for ConvNeXt, 1% for Swin. Second, the networks are tuned to Euler's error. Swapping in RK2 or RK4 at the training step size gives the continuous limit straight away and loses between 0.15 and 2.5 points. A single Euler step of size one is not a poor approximation of the ODE. It is the function that was trained, and the ODE is a slightly worse approximation of it.

3. Plain versus bilinear interpolation

Interpolating weights between consecutive blocks fails in every model, and the more steps you take, the worse it gets.

5560657075801248163264128R, Euler sub-steps per block (log scale)Top-1 (%)
  • ConvNeXt-T
  • ConvNeXt-T, no drop path
  • Swin-T
  • ResNet-50
  • ResNet-101
Figure 2. Same experiment as Figure 1, with the weights inside each block blended linearly between block k and k + 1.

At R = 128, bilinear loses 6.58, 19.58, 8.20, 11.68, 23.33 points against plain, in the order of the table above. The cause is permutation symmetry. Two consecutive blocks are not aligned neuron by neuron, so the midpoint of their weights is not a functional block that lies between them [15, 16]. The damage also ranks the models by how similar consecutive blocks are: ConvNeXt with drop path and Swin are the smoothest, while ResNet-101 and ConvNeXt without drop path are the roughest.

You can see it in the residual field. Each curve below is one channel of h = Δx/Δt, averaged over space, along the nine blocks of ConvNeXt-T at R = 100, for a single validation image (a snow leopard).

Per-channel residual trajectories, ConvNeXt-T, plain interpolation
Per-channel residual trajectories, ConvNeXt-T, bilinear interpolation
Figure 3. Residual field per channel across stage 3 of ConvNeXt-T, R = 100. Top: plain weights. The field relaxes smoothly inside each block and jumps at block boundaries. Bottom: bilinear weights. The in-between blocks add high-frequency oscillation on top of the same path.

In numbers, measured over 500 images: bilinear keeps the global shape of the trajectory (its straightness and dimensionality barely change) but multiplies local curvature by 6 to 12 and angular speed by 4 to 7, and doubles the distance to the native trajectory.

Figure 4. Mean of h per channel as the state moves through stage 3. Left: plain. Right: bilinear. In both, channel 195 separates from the other 383 as depth grows. That channel is the subject of section 7.

4. One block for the whole stage

If stage 3 really integrates a smooth flow, one block should be able to define the vector field for the whole stage. So I trained a ConvNeXt-T in which the nine stage-3 blocks are the same block applied nine times, with the same recipe as the baseline: 300 epochs on ImageNet-1k. Weight sharing across depth is not new [17, 18], but here it is a direct test of the ODE reading.

020406080050100150200250300EpochTop-1 (%)
  • ConvNeXt-T
  • ConvNeXt-T, no drop path
  • Shared stage 3 (1 block × 9)
Figure 5. ImageNet validation accuracy over 300 epochs of training from scratch, same recipe for all three.

The shared network reaches 80.34% against 80.96%, a cost of 0.62 points. Stage 3 goes from nine blocks to one, which removes about 9.6M of ConvNeXt-T's 28.6M parameters.

Accuracy depends on the integration time, not on the number of steps

With a single field, depth D and step Δt can be chosen freely at inference, and the integration time is T = D · Δt. The network was trained with D = 9 and Δt = 1, so T = 9. Keeping T = 9 and changing D:

0204060801101001k10ktrained (D = 9) 80.34%D, number of steps (log scale)Top-1 (%)
  • Euler (RK1)
  • RK2
  • RK4
Figure 6. Shared network, integration time fixed at T = 9, step 9/D. Any D ≥ 7 gives 80.1 to 80.4%. All three solvers converge to the same continuous limit, 80.12%.

The gap from Euler to the continuous limit is −0.22 points, three times smaller than in the unshared ConvNeXt (−0.73): sharing weights produces a more genuine ODE. With large steps the order of the solver matters a lot. At D = 4, RK4 gets 78.9% and Euler 67.8%, and Euler with two steps of 4.5 is unstable (5.9%). RK4 reaches the limit from D ≈ 5, RK2 from about 18 and Euler only from about 256.

0204060800.113930100T, total integration time (log scale)Top-1 (%)
  • Fixed step 1, more steps (T = D)
  • 9 steps, varying step size (T = 9 · step)
Figure 7. The horizon behaves like a learned integration time. Red: step fixed at 1, more steps, so T grows with D. Purple: nine steps, step size varied, so T = 9 · Δt. Both peak at T = 9.

Integrating too short or too long degrades smoothly near T = 9 and collapses far from it: 49% at T = 32 with unit steps, and 0.3% at T = 128. The classification head expects the state reached after exactly that much time.

5. Shared block plus per-block deltas

Sharing costs 0.6 points. The question that gives the project its name is whether that gap can be closed without giving up the shared structure. Each block k gets its own offset on top of the shared weights:

θi  =  θshared+δi,δi=0 at initialisation.\theta_i \;=\; \theta_{\mathrm{shared}} + \delta_i,\qquad \delta_i = 0 \text{ at initialisation.}
(6)

The deltas cover every parameter of the block: depthwise convolution, LayerNorm, both pointwise layers and the layer scale. They start at zero from the shared checkpoint, so epoch 0 is exactly the shared network, and they have their own weight decay pulling them back towards it. Then the whole model is fine-tuned.

727476788082020406080100ConvNeXt-T 80.96%shared 80.34%Fine-tuning epochTop-1 (%)
  • Δ, 9 steps, peak LR 1e-3, 50 epochs
  • Δ, 9 steps, peak LR 1e-4, 100 epochs
  • Δ, unrolled to 27 steps of 1/3, LR 1e-5 (running)
Figure 8. Fine-tuning the shared network with per-block deltas. Dashed lines: the shared network the runs start from, and the original unshared ConvNeXt-T. The 27-step run unrolls the shared block to 27 steps of 1/3 (same T = 9) and is still training (66 of 100 epochs).

With a peak learning rate of 10⁻³ for 50 epochs, the delta model reaches 81.25%, +0.91 over the shared network and +0.29 over the original. A gentler schedule (10⁻⁴, 100 epochs) stays at 80.57%. The deltas do not stay small. By the end of the best run they average 27% of the norm of the shared weights.

00.10.20.301020304050Fine-tuning epoch‖δ‖ / ‖θ_shared‖
  • mean ‖δₖ‖ / ‖θ_shared‖ over blocks and layers
Figure 9. Relative size of the deltas during the best run, averaged over blocks and layers.

Two caveats, to be fair to the baseline. The delta model has as many stage-3 parameters as the original plus one block, so it is a reparametrisation, not a compression. And it has seen 50 more epochs than the original. What it shows is that a shared field plus per-block corrections is a better starting point than nine independent blocks. Whether the deltas can be made sparse or low-rank, recovering the parameter savings, is the next step.

6. What the trajectories look like

To compare networks beyond accuracy I measure the geometry of the path the state takes through stage 3: norms of xx and h=fi(x)h = f_i(x), angular speed of hh, tangential and normal acceleration, curvature, straightness R=N/LR = N/L (net displacement over path length; 1 for a straight line), and the participation ratio of the trajectory, its effective number of dimensions. Everything was first computed on one image (ImageNet val #644, a snow leopard), then repeated on a suite of 500 validation images, one from each of 500 random classes (seed 0; the same 500 images in every run).

The single image was representative. Every metric of that image falls within about 1.5 standard deviations of the 500-image mean, and the spread between images is small (σ(R)≤0.025\sigma(R) \le 0.025). The geometry belongs to the network, not to the input. The numbers in the tables below are that N=500 mean.

Input image: snow leopard from the ImageNet validation set
Per-channel residual trajectories for the shared network
Figure 10. Shared network, 100 Euler steps over T = 9, for the validation image on the left. Per-channel residual field. One channel dominates the plot, rising and falling while every other channel stays close to zero.

With all channels included, every ConvNeXt looks like an almost perfectly straight, one-dimensional flow, and there is a clear ranking: shared, then ConvNeXt, then Swin, then the ResNets. ResNet-101 follows a very tortuous path in about 20 effective dimensions. The unshared ConvNeXt shows a sawtooth pattern: inside each block h contracts, and at each block boundary it jumps by 10² to 10⁴ times the within-block acceleration.

Dynamics and geometry

Write v=hv = h for the residual velocity and a=(ht+Δt−ht)/Δta = (h_{t+\Delta t}-h_t)/\Delta t for its acceleration. The tangential and normal parts are

at=⟨v,a⟩∥v∥,an=∥a∥2−at2,κ=an∥v∥2.a_t = \frac{\langle v, a\rangle}{\|v\|},\qquad a_n = \sqrt{\|a\|^2 - a_t^2},\qquad \kappa = \frac{a_n}{\|v\|^2}.
(7)

ata_t is signed: negative means the trajectory is braking (∥h∥\|h\| shrinks). ana_n is a norm, so always positive, and ∥a∥2=at2+an2\|a\|^2 = a_t^2 + a_n^2. Angular speed is ω=arccos⁡(h^t⋅h^t+Δt)/Δt\omega = \arccos(\hat h_t\cdot\hat h_{t+\Delta t})/\Delta t. The panels below drop the single step between blocks, so they show the intra-block flow; the panel that keeps those steps is labelled as such.

Acceleration decomposition, shared network
Curvature, shared network
Angular speed, shared network
Relative field norm, shared network
Figure 11. Shared network, all channels, one image. Left to right, top to bottom: acceleration decomposition (accelerate, then brake around t≈4t\approx 4); curvature; angular speed of hh; relative field size ∥h∥/∥x∥\|h\|/\|x\|, which fades from 1.6 to 0.05. This is the massive-channel picture: almost straight, almost 1-D.
Normalized acceleration decomposition, ConvNeXt-T
Angular speed with inter-block jumps, ConvNeXt-T
Intra-block curvature, ConvNeXt-T
Angular speed, ConvNeXt-T bilinear interpolation
Figure 12. ConvNeXt-T, R=100R=100, all channels. Left: fraction of acceleration that is tangential versus normal inside each block; the trajectory brakes at the start of a block (at/∥a∥≈−0.5a_t/\|a\|\approx -0.5) while most of aa stays normal. Middle: angular speed including block boundaries — the spikes are 75–85° turns in a single step. Right: intra-block curvature, high in the first blocks, then almost flat. Bottom: bilinear interpolation on the same network; ω\omega chatters through the whole interval instead of only at the boundaries.

7. Massive activations and the ignore path

The straight lines are mostly one channel: a massive activation [19]. At the exit of stage 3 in the shared network, channel 236 has a norm of 3,570; the next largest has 140. It is the same channel in all 200 images I checked, and it holds a median 98% of the energy of the state.

Bar chart of channel norms with one outlier at channel 236
Figure 13. Norm of each of the 384 channels at the exit of stage 3, shared network, one image.

The same phenomenon appears in all three ConvNeXts (channels 236, 195 and 225, with 97 to 99% of the energy). Swin has a moderate one, at about 15%, and the ResNets have none: their top channel changes from image to image and carries about 1%. They are close relatives of the high-norm tokens in vision transformers [20]. One difference: in the shared network the channel dominates hh from the first step, while in the unshared ConvNeXt it emerges with depth, from 5% of hh at the start to 96% at the end.

Histograms of the dominant channel per image for eight networks
Figure 14. Top-1 channel by norm of h, per image, over 200 validation images. ConvNeXt variants and Swin always pick the same channel; ResNets do not.

The ignore path: drop the channel from the metric, not from the ODE

The ignore path (_ignore1 in the experiment suite) leaves the network untouched and only removes the massive channel when the trajectory metrics are computed. That is not the same as zeroing the channel inside the residual step, which I come back to below. On N=500, ignoring it changes ConvNeXt completely and Swin almost not at all.

ModelIgnoreRσ(R)PR depthPR spatialκωaₙ/‖a‖aₜ/‖a‖cos(x₀,x_T)cos(h₀,h_T)
Shared stage 3—0.9700.0081.091.030.00050.150.58-0.070.670.73
Shared stage 3ch 2360.7760.0201.946.240.00750.410.95-0.060.31-0.06
ConvNeXt-T—0.9380.0101.191.130.00980.340.87-0.380.480.17
ConvNeXt-Tch 1950.5020.0113.4632.000.02100.610.97-0.210.210.02
ConvNeXt-T, no drop path—0.9340.0101.048.760.02000.560.960.040.330.27
ConvNeXt-T, no drop pathch 2250.4380.0123.2029.500.02800.840.980.100.170.01
Swin-T—0.8250.0141.176.150.00420.500.89-0.390.090.04
Swin-Tch 3220.8120.0161.177.310.00440.510.89-0.390.080.03
ResNet-50—0.3960.0124.945.840.00240.630.90-0.410.60-0.08
ResNet-101—0.1690.00519.6612.100.00220.540.93-0.310.48-0.04

N=500, one ImageNet validation image per class, same 500 images in every run. Fine Euler (R=100 or D=100). R is straightness (N/L). κ and ω are intra-block means. ResNets have no massive channel, so there is no ignore path for them.

With every channel, the ranking in straightness is shared 0.97 > ConvNeXt 0.94 ≈ no-drop-path 0.93 > Swin 0.83 > ResNet-50 0.40 > ResNet-101 0.17. After the ignore path it becomes Swin 0.81 > shared 0.78 > ConvNeXt 0.50 > no-drop-path 0.44 > ResNet-50 0.40 > ResNet-101 0.17. The unshared ConvNeXt without its channel is almost as tortuous as ResNet-50; Swin is the unshared network whose straightness is real. In the shared network more than 90% of the acceleration becomes normal: hh rotates until it ends up orthogonal to where it started (cos⁡(h0,hT)=−0.06±0.04\cos(h_0,h_T) = -0.06 \pm 0.04), while ∥h∥/∥x∥\|h\|/\|x\| fades from 0.42 to 0.09. A drift that turns and dies out.

Acceleration decomposition, shared network, ignore path
Field alignment versus start, shared network, ignore path
Curvature, shared network, ignore path
Angular speed, shared network, ignore path
Figure 15. Shared network after the ignore path (channel 236 removed from the metric). Top: ana_n sits on top of ∥a∥\|a\|, so almost all acceleration is a turn; ata_t is small. Bottom: curvature and angular speed both have a U shape (ω\omega from 0.74 down to 0.31 and back), and cos⁡(h0,ht)\cos(h_0,h_t) falls through zero — the field ends orthogonal to where it started.
Acceleration decomposition, ConvNeXt-T, ignore path
Intra-block angular speed, ConvNeXt-T, ignore path
Figure 16. ConvNeXt-T, R=100R=100, ignore path (channel 195 removed). Left: inside each block an≈∥a∥a_n \approx \|a\| and ata_t is a modest brake. Right: angular speed is high and almost constant inside a block (0.55–0.70), not the decay the all-channel plot suggested — that decay was the massive channel masking the turn.
Per-channel residual trajectories for the shared network without channel 236
Figure 17. Shared network, same image and integration as Figure 10, with channel 236 removed. What was hidden underneath is a family of smooth, curved trajectories.
Figure 18. Per-channel mean of h while integrating the shared network. Left: all channels, where channel 236 sets the scale. Right: without it.
Figure 19. Spatial map of ‖h‖ over the 14 × 14 feature grid during integration. Left: shared network, one smooth flow. Right: ConvNeXt-T at R = 100, where each block boundary is visible as a jump.

Zeroing versus ignoring

Zeroing writes the channel to 0 after every residual step of the shared network, so the ODE itself changes. That drops accuracy from 80.34% to 67.81%. Zeroing a random channel instead costs nothing (mean 80.25% over 20 channels). The same holds at ten times the resolution (from 80.14% to 67.59%).

The ignore path and this zeroing agree on the other 383 channels to within 0.5% on every metric (straightness 0.7944 vs 0.7947, path length, participation ratios, mean curvature). The channel does not feed back into the rest of the stage-3 field, so it is not an internal clock that ff reads. Its effect is downstream: holding 98% of the energy, it sets the variance that the LayerNorm before downsampling divides by. Remove it and the scale of everything else changes about 7×, a distribution shift for stage 4. Whether it carries information about the image, or acts as a near-constant bias and scale, is still open.

8. Is drop path the reason?

Stochastic depth [21] randomly skips blocks during training, so every block has to be optional. That should push towards small updates that agree with their neighbours, which is what an ODE needs. Residual networks are already known to tolerate dropped and reordered layers [22, 23, 24]. ConvNeXt-T trained without drop path tests the idea directly:

With drop path 0.1WithoutDifference
Original accuracy80.9679.27−1.69
ODE limit (RK4)80.2376.96−3.27
Gap to the limit−0.73−2.313.2× larger
Bilinear, R = 12873.6657.44−16.2

Without drop path, the gap to the continuous limit triples, bilinear interpolation collapses, and the blocks stop contracting. It is the only network whose trajectory accelerates inside each block and whose ‖h‖/‖x‖ grows with depth, from 0.39 to 0.65. But drop path is not a necessary condition, since Swin and both ResNets converge with similar gaps. The Euler-like behaviour seems to be generic to deep residual networks, and drop path strengthens it.

9. Open questions

The training framework and the from-scratch ConvNeXt run this builds on are written up in ConvNeXt-V1 from scratch on Leonardo. If you work on continuous-depth models or massive activations and want to compare notes, write to jaume@jaumeivars.com.

References

  1. [1]K. He, X. Zhang, S. Ren, J. Sun. Deep Residual Learning for Image Recognition. CVPR, 2016.
  2. [2]W. E. A Proposal on Machine Learning via Dynamical Systems. Communications in Mathematics and Statistics 5(1), 2017.
  3. [3]E. Haber, L. Ruthotto. Stable Architectures for Deep Neural Networks. Inverse Problems 34(1), 2017.
  4. [4]Y. Lu, A. Zhong, Q. Li, B. Dong. Beyond Finite Layer Neural Networks: Bridging Deep Architectures and Numerical Differential Equations. ICML, 2018.
  5. [5]R. T. Q. Chen, Y. Rubanova, J. Bettencourt, D. Duvenaud. Neural Ordinary Differential Equations. NeurIPS, 2018.
  6. [6]M. E. Sander, P. Ablin, G. Peyré. Do Residual Neural Networks discretize Neural Ordinary Differential Equations? NeurIPS, 2022.
  7. [7]Z. Liu, H. Mao, C.-Y. Wu, C. Feichtenhofer, T. Darrell, S. Xie. A ConvNet for the 2020s. CVPR, 2022.
  8. [8]Z. Liu, Y. Lin, Y. Cao, H. Hu, Y. Wei, Z. Zhang, S. Lin, B. Guo. Swin Transformer: Hierarchical Vision Transformer using Shifted Windows. ICCV, 2021.
  9. [9]E. Hairer, S. P. Nørsett, G. Wanner. Solving Ordinary Differential Equations I: Nonstiff Problems (2nd ed.). Springer, 1993.
  10. [10]B. Chang, L. Meng, E. Haber, F. Tung, D. Begert. Multi-level Residual Networks from Dynamical Systems View. ICLR, 2018.
  11. [11]A. F. Queiruga, N. B. Erichson, D. Taylor, M. W. Mahoney. Continuous-in-Depth Neural Networks. arXiv preprint, 2020.
  12. [12]J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, L. Fei-Fei. ImageNet: A Large-Scale Hierarchical Image Database. CVPR, 2009.
  13. [13]R. Wightman. PyTorch Image Models. GitHub repository, 2019.
  14. [14]TorchVision maintainers and contributors. TorchVision: PyTorch's Computer Vision library. GitHub repository, 2016.
  15. [15]R. Entezari, H. Sedghi, O. Saukh, B. Neyshabur. The Role of Permutation Invariance in Linear Mode Connectivity of Neural Networks. ICLR, 2022.
  16. [16]S. K. Ainsworth, J. Hayase, S. Srinivasa. Git Re-Basin: Merging Models modulo Permutation Symmetries. ICLR, 2023.
  17. [17]M. Dehghani, S. Gouws, O. Vinyals, J. Uszkoreit, Ł. Kaiser. Universal Transformers. ICLR, 2019.
  18. [18]Z. Lan, M. Chen, S. Goodman, K. Gimpel, P. Sharma, R. Soricut. ALBERT: A Lite BERT for Self-supervised Learning of Language Representations. ICLR, 2020.
  19. [19]M. Sun, X. Chen, J. Z. Kolter, Z. Liu. Massive Activations in Large Language Models. COLM, 2024.
  20. [20]T. Darcet, M. Oquab, J. Mairal, P. Bojanowski. Vision Transformers Need Registers. ICLR, 2024.
  21. [21]G. Huang, Y. Sun, Z. Liu, D. Sedra, K. Q. Weinberger. Deep Networks with Stochastic Depth. ECCV, 2016.
  22. [22]A. Veit, M. Wilber, S. Belongie. Residual Networks Behave Like Ensembles of Relatively Shallow Networks. NeurIPS, 2016.
  23. [23]K. Greff, R. K. Srivastava, J. Schmidhuber. Highway and Residual Networks learn Unrolled Iterative Estimation. ICLR, 2017.
  24. [24]S. Jastrzębski, D. Arpit, N. Ballas, V. Verma, T. Che, Y. Bengio. Residual Connections Encourage Iterative Inference. ICLR, 2018.