# On a Conjecture Regarding
the Adam Optimizer

Mohamed Akrout  Douglas Tweed M. Akrout is with AIP Labs, Budapest, Hungary.D.
Tweed is with the Department of Physiology, University of Toronto, Toronto,
Canada.Correspondence to: Douglas Tweed<EMAIL_ADDRESS>
###### Abstract

Why does the Adam optimizer work so well in deep-learning applications? Adam’s
originators, Kingma and Ba, presented a mathematical argument that was meant
to help explain its success, but Bock and colleagues have since reported that
a key piece is missing from that argument — an unproven lemma which we will
call Bock’s conjecture. Here we show that this conjecture is false, but we
prove a modified version of it — a generalization of a result of Reddi and
colleagues — which can take its place in analyses of Adam.

##  1 Introduction

Kingma and Ba [1] tried to prove that their Adam optimizer zeroed the error-
measure known as average regret, in a learning task called online convex
optimization [2]. Rubio [3] and Bock et al. [4] found mistakes in the proof,
and Bock et al. managed to repair most of them, but they could not verify one
key statement, called Lemma 10.4 in Kingma and Ba’s paper and Conjecture 4.2
in Bock’s. We will show that this conjecture is in fact false, but that a
modified version of it does hold. This modified version generalizes an earlier
result proven by Reddi and colleagues for their AMSGrad optimizer [5], so our
result can replace Bock’s Conjecture in analyses of most common variants of
Adam.

For tractability, analyses of Adam typically use versions of the algorithm
that are slightly different from the one generally employed in deep learning.
Here, we will use the version laid out in Algorithm 1, which differs from that
of Kingma, Ba, and Bock et al. only in that they set
$\lambda_{m}=\lambda_{g}\in(0,1)$. We will explain the significance of this
difference where it becomes relevant.

Algorithm 1 Adam optimizer

1:$\eta>0;\beta_{1},\beta_{2}\in(0,1)$; $\lambda_{m},\lambda_{g}\in(0,1]$;
duration $T\in\mathbb{Z}^{+}$; initial parameter (weight and bias) vector
$\theta_{0}$; convex differentiable loss functions $f_{t}(\theta)$;
$m_{0},v_{0}=0$.

2:Return: updated parameter vector $\theta_{T}$.

3:for $t=1$ to $T$ do

4: $g_{t}=\nabla_{\theta}\,f_{t}(\theta_{t-1})$

5: $\triangleright$ COMMENTCompute biased moment estimates

6:
$m_{t}=\beta_{1}\,\lambda_{m}^{t-1}\,m_{t-1}+(1-\beta_{1}\lambda_{g}^{t-1})\,g_{t}$

7: $v_{t}=\beta_{2}\,v_{t-1}+(1-\beta_{2})\,g_{t}^{2}$

8: $\triangleright$ COMMENTBias-correct the moment estimates

9: $\widehat{m}_{t}={m_{t}}/{(1-\beta_{1}^{t})}$

10: $\widehat{v}_{t}={v_{t}}/{(1-\beta_{2}^{t})}$

11: $\triangleright$ COMMENTUpdate the parameters

12:
$\theta_{t}=\theta_{t-1}-(\eta/\sqrt{t})~{}\widehat{m}_{t}/\sqrt{\widehat{v}_{t}}$

13:end

In this algorithm, each of the variables $g_{t}$, $m_{t}$, $v_{t}$,
$\widehat{m}_{t}$, $\widehat{v}_{t}$, and $\theta_{t}$ is a real-valued
vector; for instance $g_{t}$ is the $g$-vector at time $t$. But the vector
operations in Adam are all element-wise, except possibly in line 4, and
therefore we can analyse the parts after that line element-wise, i.e. we can
assume throughout this paper that the vectors $g_{t}$ etc. have one element
each (except in Section 4, where calculations of regret depend on non-element-
wise operations outside Adam). We will write $g_{1:T}$ for the $T$-element
vector $[g_{1},g_{2},...,g_{T}]$. We also define

$x_{1}\triangleq 1-\beta_{1},~{}x_{2}\triangleq 1-\beta_{2},$ (1)

and

$s_{T}\triangleq\sum_{t=1}^{T}\frac{\widehat{m}_{t}^{2}}{\sqrt{t\,\widehat{v}_{t}}},$
(2)

which is central to Bock’s conjecture. We assume $g_{1}\neq 0$ because
otherwise $s_{T}$ is undefined.

We can now state

Bock’s conjecture. In Algorithm 1, if $\lambda_{m}=\lambda_{g}\in(0,1)$ and
$\gamma=\beta_{1}^{2}/\sqrt{\beta_{2}}<1$ then for any $g_{1:T}$ we have

$s_{T}\leq\frac{2}{(1-\gamma)}\frac{1}{\sqrt{1-\beta_{2}}}\left\lVert
g_{1:T}\right\rVert_{2}.$ (3)

We will call the right-hand side of this inequality the Kingma-Ba or K-B
bound.

##  2 Counterexample to Bock’s conjecture

Consider vectors $g_{1:T}$ where $g_{t}>0~{}\forall t$. Set $\beta_{1}$ and
$\beta_{2}$ equal, i.e. $\beta_{1}=\beta_{2}=\beta$, and observe that $s_{T}$
and the K-B bound are right-continuous functions of $\beta$ at $\beta=0$. So
if we can find a counterexample where $\beta=0$ then there also exist
counterexamples where $\beta\in(0,1)$.

Letting $\beta\rightarrow 0$, we get $\widehat{m}_{t}=g_{t}$ and
$\widehat{v}_{t}=g_{t}^{2}$ (from lines 6–10 of Algorithm 1) and
$\gamma=\beta^{3/2}=0$. Bock’s conjecture then takes the form

$\sum_{t=1}^{T}\frac{g_{t}}{\sqrt{t}}\leq 2\left\lVert
g_{1:T}\right\rVert_{2}.$

If we choose $g_{t}=1/\sqrt{t}$ then this inequality becomes

$\sum_{t=1}^{T}\frac{1}{t}\leq 2\sqrt{\sum_{t=1}^{T}\frac{1}{t}},$

which is false when the left-hand side $>4$, as happens when $T>30$.

By continuity, (3) is also violated in cases where $\beta\in(0,1)$. This plot
shows an example:

Figure 1: We ran Algorithm 1 for 200 time steps using
$\beta_{1}=\beta_{2}=0.1$, $\lambda_{m}=\lambda_{g}=1-10^{-8}$, and
$g_{t}=1/\sqrt{t}$, and we computed the K-B bound and $s_{t}$ at each step.
$s_{t}$ surpassed the bound at $t=59$.

##  3 Modifying Bock’s conjecture

We want to replace the K-B bound on the right-hand side of (3) with a
different bound that we can verify, at least for values of $\beta_{1}$ and
$\beta_{2}$ that are typically used in AI applications of Adam.

Lemma 1. In Algorithm 1, if $\lambda_{m}=\lambda_{g}=1$,
$\rho=\beta_{2}/\beta_{1}^{2}\in(1,2)$, and $K=\rho/(\rho-1)$ then $\forall
t\in[1,\infty)$

$\frac{m^{2}_{t}}{v_{t}}<K\,\frac{x_{1}^{2}}{x_{2}}.$ (4)

###### Proof.

By induction:

$(i)$ At $t=1$, we have

$\frac{m_{1}^{2}}{v_{1}}=\frac{x_{1}^{2}\,g_{1}^{2}}{x_{2}\,g_{1}^{2}}=\frac{x_{1}^{2}}{x_{2}},$

and so

$\frac{m_{1}^{2}}{v_{1}}<K\,\frac{x_{1}^{2}}{x_{2}}$

because $K>1$.

$(ii)$ Next we show that if (4) holds at any time $t$ then it still holds at
$t+1$, i.e.:

$\frac{m^{2}_{t+1}}{v_{t+1}}-K\,\frac{x_{1}^{2}}{x_{2}}<0,$ (5)

or equivalently,

$m^{2}_{t+1}-K\,\frac{x_{1}^{2}}{x_{2}}v_{t+1}\ <0.$

If we substitute the formulas for $m_{t+1}$ and $v_{t+1}$ from lines 6 and 7
of Algorithm 1, and use the definitions in (1), the left-hand side becomes

$(\beta_{1}\,m_{t}+x_{1}g_{t+1})^{2}-K\,\frac{x_{1}^{2}}{x_{2}}\,(\beta_{2}\,v_{t}+x_{2}g_{t+1}^{2}).$
(6)

We expand the squared sum, rearrange, and apply (4) to see that (6) is less
than

$\beta_{1}^{2}\,m_{t}^{2}+2\,\beta_{1}\,m_{t}\,x_{1}\,g_{t+1}-(K-1)\,x_{1}^{2}\,g_{t+1}^{2}-\beta_{2}\,m_{t}^{2}.$

We break up the first addend into a sum of two terms to get

$\displaystyle\frac{K}{K-1}\,\beta_{1}^{2}\,m_{t}^{2}-\frac{1}{K-1}\,\beta_{1}^{2}\,m_{t}^{2}+2\,\beta_{1}\,m_{t}\,x_{1}\,g_{t+1}$
$\displaystyle-(K-1)\,x_{1}^{2}\,g_{t+1}^{2}-\beta_{2}\,m_{t}^{2},$

which is

$\displaystyle\left(\frac{K}{K-1}\,\beta_{1}^{2}-\beta_{2}\right)m_{t}^{2}$
$\displaystyle-$
$\displaystyle\left(\frac{1}{\sqrt{K-1}}\,\beta_{1}\,m_{t}-\sqrt{K-1}\,x_{1}\,g_{t+1}\right)^{2}.$

By the definition of $K$, the top line here equals $0$, and the quantity as a
whole $\leq 0$, proving (5). ∎

Lemma 2. In Algorithm 1, if $\lambda_{m}=\lambda_{g}=1$ and $\beta_{2}\geq
2\,\beta_{1}-\beta_{1}^{2}$ then $\forall t\in[1,\infty)$

$\frac{\widehat{m}_{t}^{2}}{\widehat{v}_{t}}\leq\frac{m^{2}_{t}}{v_{t}}.$

###### Proof.

From lines 9 and 10 of Algorithm 1 we have

$\frac{\widehat{m}_{t}^{2}}{\widehat{v}_{t}}=c_{t}\,\frac{m_{t}^{2}}{v_{t}},~{}~{}\textrm{where}~{}~{}c_{t}\triangleq\frac{1-\beta_{2}^{t}}{(1-\beta_{1}^{t})^{2}}.$

Note that $c_{1}=x_{2}/x_{1}^{2}$, which is $\leq 1$ when $\beta_{2}\geq
2\,\beta_{1}-\beta_{1}^{2}$. To prove that $c_{t}\leq 1~{}\forall
t\in[1,\infty)$, we define this function of continuous time:

$h(t)\triangleq(1-\beta_{2}^{t})-(1-\beta_{1}^{t})^{2}.$ (7)

We will show that $\forall t\in[1,\infty)$

$\frac{dh}{dt}\leq 0~{}\textrm{whenever}~{}h(t)=0,$

because that means $h(t)$, starting at $h(1)=x_{2}-x_{1}^{2}\leq 0$, can never
cross over to any positive value, and therefore $c_{t}$ stays $\leq 1$.

We have

$\displaystyle\frac{dh}{dt}=-\log\beta_{2}+(1-\beta_{2}^{t})\,\log\beta_{2}+2\,\beta_{1}^{t}\,(1-\beta_{1}^{t})\,\log\beta_{1},$

and if $h(t)=0$,

$\displaystyle\frac{dh}{dt}-\log\beta_{2}+(1-\beta_{1}^{t})^{2}\,\log\beta_{2}+2\,\beta_{1}^{t}\,(1-\beta_{1}^{t})\,\log\beta_{1},$

because then $(1-\beta_{2}^{t})=(1-\beta_{1}^{t})^{2}$ by the definition in
(7).

We define $\alpha\triangleq 1-\beta_{1}^{t}$ to get,
$\forall\alpha\in[x_{1},1)$,

$\displaystyle\frac{dh}{dt}$
$\displaystyle=-\log\beta_{2}+\log\beta_{2}\,\alpha^{2}+2\,\log\beta_{1}\,\alpha\,(1-\alpha)$
(8)
$\displaystyle=\log\beta_{2}\,\underbrace{\Big{(}(1-r)\,\alpha^{2}+r\,\alpha-1\Big{)}}_{P(\alpha)},$

where $r\triangleq 2\,\log\beta_{1}/\log\beta_{2}$, which $>1$ when
$\beta_{2}\geq 2\,\beta_{1}-\beta_{1}^{2}$. Because $r>1$, the polynomial
$P(\alpha)$ is concave down. It follows that $P(\alpha)\geq 0$ on $[x_{1},1)$,
because $P(1)=0$ and $P(x_{1})\geq 0$ by the conditions on $\beta_{1}$ and
$\beta_{2}$ (see the Appendix). Therefore by (8), $dh/dt\leq 0$ at any
$t\in[1,\infty)$ where $h(t)=0$, which means $h$ can never cross $0$ and
$c_{t}$ can never exceed $1$. ∎

Result 1.  In Algorithm 1, if $\lambda_{g}=1$, $\beta_{2}<2\beta_{1}^{2}$,
$\beta_{2}\geq 2\,\beta_{1}-\beta_{1}^{2}$,
$K=\beta_{2}/(\beta_{2}-\beta_{1}^{2})$ as in Lemma 3.1, and $\tau=\lfloor-
log(2)/log(\beta_{1})\rfloor$ then $\forall T\in[1,\infty)$

$s_{T}<(2+\sqrt{\tau})\,\sqrt{1+K\,\frac{x_{1}^{2}}{x_{2}}\,\log
T}~{}~{}\left\lVert g_{1:T}\right\rVert_{2}.$ (9)

###### Proof.

We may assume that $\left\lVert g_{1:T}\right\rVert_{2}=1$, as $s_{T}$ is a
homogeneous function of degree $1$ of $g_{1:T}$; that is, if we multiply every
element of $g_{1:T}$ by a constant, $\zeta$, then the effect on $s_{T}$ is to
multiply it by $\zeta$ as well. We can also say that $g_{t}\geq 0~{}\forall
t\in[1,\infty)$, as we are seeking an upper bound for $s_{T}$, and given any
$g_{1:T}$ with negative elements, we could always increase $s_{T}$ by flipping
the signs of those negative $g_{t}$. And we can assume that $\lambda_{m}=1$,
because any $\lambda_{m}\in(0,1)$ would only shrink $s_{T}$, as is clear from
(2), lines 6 and 9 of Algorithm 1, and the non-negativity of all the $g_{t}$.

The definition of $s_{T}$ in (2) shows that it is the dot product of two
vectors:

$s_{T}=\widehat{m}_{1:T}\cdot\mu_{1:T},$ (10)

where $\mu_{1:T}$ is the vector with elements
$\mu_{t}=\widehat{m}_{t}/\sqrt{t\widehat{v}_{t}}$.

The first vector in this dot product has a bounded 2-norm. First of all,

$\left\lVert m_{1:T}\right\rVert_{2}\leq\left\lVert g_{1:T}\right\rVert_{2}=1$

because $m_{1:T}$ is an exponential moving average of $g_{1:T}$, and the
2-norm of such an average cannot exceed the 2-norm of its input. Then we get
each $\widehat{m}_{t}$ by multiplying $m_{t}$ by the factor
$1/(1-\beta_{1}^{t})$. For all $t>\tau$, those factors are $<2$, so
$\left\lVert\widehat{m}_{\tau+1:T}\right\rVert_{2}<2\left\lVert
m_{\tau+1:T}\right\rVert_{2}<2$. And
$\left\lVert\widehat{m}_{1:\tau}\right\rVert_{2}\leq\sqrt{\tau}$ because
$\widehat{m}_{t}\leq 1~{}\forall t\in[1,\infty)$. Therefore

$\left\lVert\widehat{m}_{1:T}\right\rVert_{2}<2+\sqrt{\tau}.$ (11)

The second vector in the dot product (10) also has a bounded 2-norm. Using the
definition of the norm and then Lemmas 3.1 and 3.2, we get

$\displaystyle\left\lVert\mu_{1:T}\right\rVert_{\textrm{2}}^{2}=\sum_{t=1}^{T}\frac{\widehat{m}_{t}^{2}}{t\,\widehat{v}_{t}}$
$\displaystyle\leq
1+\sum_{t=2}^{T}\frac{1}{t}\left(K\,\frac{x_{1}^{2}}{x_{2}}\right)$
$\displaystyle\leq
1+\left(K\,\frac{x_{1}^{2}}{x_{2}}\right)\int_{t=1}^{T}\,\frac{1}{t}\,dt$
$\displaystyle=1+K\,\frac{x_{1}^{2}}{x_{2}}\,\log T,$

and

$\left\lVert\mu_{1:T}\right\rVert_{2}\leq\sqrt{1+K\,\frac{x_{1}^{2}}{x_{2}}\,\log
T}.$ (12)

Therefore by (10), (11), (12), and the Cauchy-Schwarz inequality, we have (9).
∎

The range of $\beta$ values that is permissible, given the conditions in
Result 3.3, is shown in green in the next picture. For instance if
$\beta_{1}=0.9$ then we must have $\beta_{2}\in[0.99,1)$. This range includes
the $\beta$ values most commonly used in deep learning.

Figure 2: Green shows the range of $\beta$ values that guarantees the upper
bound on $s_{T}$ in (9).

##  4 Analysing Adam

Our Result 3.3 generalizes an earlier result proven by Reddi and colleagues,
namely Lemma 2 in [5]. Our methods of proof are quite different, but both
approaches lead to bounds involving the quantity $\log T$ under a square-root
sign. Reddi et al. proved their result for their AMSGrad optimizer, whereas
ours holds for AMSGrad and for most or all common varieties of Adam itself,
with or without bias correction (lines 9 and 10 of Algorithm 1) and with or
without $\lambda$ variables (line 6 of Algorithm 1) .

So Result 3.3 covers a wider range of optimizers than does Reddi and
colleagues’ Lemma 2, but both their result and ours are very generally
applicable in other ways. First, they both hold in a setting of online
optimization that places no conditions except boundedness on the sequence of
gradients, $g_{1:T}$. Second, they do not assume that the functions to be
learned are convex, which is important if we aim to derive any conclusions
about an optimizer’s performance in deep learning, where the loss landscape is
usually far from convex, even in a small local neighbourhood of the network’s
parameter vector. Third, both results concern processes that precede the
parameter adjustments in the network, and consequently they make no
assumptions about those adjustments. In particular, they do not require a
mechanism that shrinks the learning rate factor as a function of time, as in
line 12 of Algorithm 1. This point matters because even though most current
analyses of Adam do require that the learning rate factor shrink with time,
nonetheless in real deep-learning applications, performance is better without
shrinkage.

All of this generality may be valuable, as we are unlikely to understand Adam
or other Adam-type optimizers until we analyse them in settings other than
convex optimization. Recent analyses in that convex setting have revealed a
great many interesting properties of Adam-type optimizers, but nothing so far
that explains these optimizers’ outstanding performance in deep learning. For
example, one of the strongest results yet achieved is Reddi and colleagues’
proof [5] that AMSGrad zeroes average regret in the setting of online convex
optimization. But its proven rate of convergence is not as good as that of
simple gradient descent [2], so this finding does not yet explain why AMSGrad
works so much better than gradient descent in deep learning. For Adam, the
case is even worse, as Reddi et al. [5] and Bock and Weiss [6] have shown
examples where Adam fails to zero the average regret. Strictly, Reddi and
colleagues’ example was of a failure when network parameters are optimized not
by Adam alone but by Adam together with projection into a feasible set, but by
adding weight decay it is straightforward to create a version of their example
where pure Adam, without projection, also fails to zero the average regret.

Another recent positive result is the proof by Bock and Weiss [7] that Adam
converges locally, meaning roughly that if it ever gets inside a convex
neighbourhood of an optimum in parameter space then it will converge to that
optimum. But again, the same is true of simple gradient descent, so this
result shows only that Adam is as good as gradient descent in this respect,
not that it is better.

Overall, then, the message seems to be that Adam is inferior to gradient
descent in the setting of online convex optimization (OCO). The choice to
analyse Adam in that setting goes back to Kingma and Ba [1], and it was
reasonable because OCO shares with deep learning the crucial feature that the
gradients change unpredictably from moment to moment.

But there are disanalogies, because in deep learning the gradients vary for
two distinct reasons. First, they fluctuate from minibatch to minibatch. This
effect, known as gradient noise, is probably well modelled by the random
gradients of OCO. But second, the gradients of deep learning also drift as the
network moves into new regions of parameter space where the local geometry of
the loss function is different. So even without gradient noise — even with
whole-batch as opposed to minibatch learning — the gradients would still vary
unpredictably. This feature is not reflected in the OCO setting, and its
absence may be preventing Adam-type optimizers from displaying their true
worth. For instance, Reddi et al.[5] have shown that the reason Adam can fail
in OCO is that its memory for past gradients is, in a certain sense, too
short. But in deep learning, a short memory may let Adam discard gradient
information that is obsolete because it belongs to regions of parameter space
from which the network has already moved away.

##  5 Conclusion

Our upper bound on $s_{T}$ in (9) can replace the Kingma-Ba bound in analyses
of the Adam optimizer.

## Appendix

In our proof of Lemma 3.2, we said that $P(x_{1})\geq 0$, where $P$ was the
polynomial in (8), i.e.

$(1-r)\,x_{1}^{2}+r\,x_{1}-1\geq 0,$ (13)

where $r\triangleq 2\log\beta_{1}/\log\beta_{2}$. To verify (13), we observe
that it is equivalent to

$r\geq\frac{1-x_{1}^{2}}{x_{1}-x_{1}^{2}},$

which, by the definition of $r$, is in turn equivalent to

$\beta_{2}\geq\beta_{1}^{\left(1-\frac{\beta_{1}}{2-\beta_{1}}\right)}.$

Now given that $\beta_{2}\geq 2\,\beta_{1}-\beta_{1}^{2}$ in Lemma 3.2, it
will suffice to show that

$2\,\beta_{1}-\beta_{1}^{2}\geq\beta_{1}^{\left(1-\frac{\beta_{1}}{2-\beta_{1}}\right)},$

i.e.

$y(\beta_{1})\triangleq\beta_{1}^{\frac{\beta_{1}}{\beta_{1}-2}}+\beta_{1}-2\leq
0,$ (14)

for $\beta_{1}\in(0,1)$.

Straightforward calculations show that

$y(1)=0,~{}~{}\frac{dy}{d\beta_{1}}(1)=0,~{}~{}\frac{d^{2}y}{d\beta_{1}^{2}}(1)=-2,$

i.e. $y(1)$ is a strict local maximum.

To see that $y\leq 0$ in $(0,1)$, we compute

$\frac{dy}{d\beta_{1}}=\beta_{1}^{\frac{\beta_{1}}{\beta_{1}-2}}\left(\frac{-2\log\beta_{1}+\beta_{1}-2}{(2-\beta_{1})^{2}}\right)+1$
(15)

and observe that if $y$ were $0$ at any $\beta_{1}\in(0,1)$, then by (14) the
term

$\beta_{1}^{\frac{\beta_{1}}{\beta_{1}-2}}$

would $=2-\beta_{1}$, and (15) would become

$\frac{dy}{d\beta_{1}}=\frac{-2\log\beta_{1}}{2-\beta_{1}}>0.$

So if $y$ were $\geq 0$ at any $\beta_{1}^{\prime}\in(0,1)$ then it would stay
$\geq 0$ on $(\beta_{1}^{\prime},1)$, contradicting the fact that $y(1)$ is a
strict local maximum. Therefore $y$ must remain $\leq 0$ in $(0,1)$,
confirming (14) and (13).

## References

  * [1] Diederik P Kingma and Jimmy Ba.  Adam: A method for stochastic optimization.  arXiv preprint arXiv:1412.6980, 2014.
  * [2] Martin Zinkevich.  Online convex programming and generalized infinitesimal gradient ascent.  In Proceedings of the 20th international conference on machine learning (icml-03), pages 928–936, 2003.
  * [3] David Martínez Rubio.  Convergence analysis of an adaptive method of gradient descent.  University of Oxford, Oxford, M. Sc. thesis, 2017.
  * [4] Sebastian Bock, Josef Goppold, and Martin Weiß.  An improvement of the convergence proof of the adam-optimizer.  arXiv preprint arXiv:1804.10587, 2018.
  * [5] Sashank J Reddi, Satyen Kale, and Sanjiv Kumar.  On the convergence of adam and beyond.  arXiv preprint arXiv:1904.09237, 2019.
  * [6] Sebastian Bock and Martin Weiß.  Non-convergence and limit cycles in the adam optimizer.  In International Conference on Artificial Neural Networks, pages 232–243. Springer, 2019.
  * [7] Sebastian Bock and Martin Georg Weiß.  Local convergence of adaptive gradient descent optimizers.  arXiv preprint arXiv:2102.09804, 2021.