T HE
R OLE
OF
M OMENTUM
P ARAMETERS
IN
THE
O PTIMAL
C ONVERGENCE
OF
A DAPTIVE
P OLYAK ’ S
H EAVY - BALL M ETHODS
Anonymous authors
Paper under double-blind review
A BSTRACT
The adaptive stochastic gradient descent (SGD) with momentum has been widely adopted in deep learning as well as convex optimization.
In practice, the last iterate is commonly used as the ﬁnal solution to make decisions.
However, the available regret analysis and the setting of constant momentum parameters only guarantee the optimal convergence of the averaged solution.
In this paper, we ﬁll this theory-practice gap by investigating the convergence of the last iterate (referred to as individual convergence ), which is a more difﬁcult task than convergence analysis of the averaged solution.
Speciﬁcally, in the constrained convex cases, we prove that the adaptive Polyak’s Heavy-ball (HB) method, in which only the step size is updated using the exponential moving average strategy, attains an optimal individual convergence rate of O ( 1 √ t ) , as opposed to the optimality of
O ( log t √ t ) of SGD, where t is the number of iteration.
Our new analysis not only shows how the HB momentum and its time-varying weight help us to achieve the acceleration in convex optimization but also gives valuable hints how the momentum parameters should be scheduled in deep learning.
Empirical results on optimizing convex functions and training deep networks validate the correctness of our convergence analysis and demonstrate the improved performance of the adaptive HB methods.
I NTRODUCTION
One of the most popular optimization algorithms in deep learning is the momentum method (Krizhevsky et al., 2012).
The ﬁrst momentum can be traced back to the pioneering work of Polyak’s heavy-ball (HB) method (Polyak, 1964), which helps accelerate stochastic gradient descent (SGD) in the relevant direction and dampens oscillations (Ruder, 2016).
Recent studies also ﬁnd that the HB momentum has the potential to escape from the local minimum and saddle points (Ochs et al., 2014; Sun et al., 2019a).
From the perspective of theoretical analysis, HB enjoys a smaller convergence factor than SGD when the objective function is twice continuously differentiable and strongly convex (Ghadimi et al., 2015).
In nonsmooth convex cases, with suitably chosen step size, HB attains an optimal convergence rate of O ( 1 √ t ) in terms of the averaged output (Yang et al., 2016), where t is the number of iteration.
To overcome the data-independent limitation of predetermined step size rules, some adaptive gradient methods have been proposed to exploit the geometry of historical data.
The ﬁrst algorithm in this line is Adagrad (Duchi et al., 2011).
The intuition behind Adagrad is that the seldom-updated weights should be updated with a larger step size than the frequently-updated weights.
Typically,
Adagrad rescales each coordinate and estimates the predetermined step size by a sum of squared past gradient values.
As a result, Adagrad has the same convergence rate as vanilla SGD but enjoying a smaller factor especially in sparse learning problems.
The detailed analysis of Adagrad (Mukkamala & Hein, 2017) implies that one can derive similar convergence rates for the adaptive variants of the predetermined step size methods without additional difﬁculties.
Unfortunately, experimental results illustrate that Adagrad under-performed when applied to training deep neural newtworks (Wilson et al., 2017).
Practical experience has led to the development of adaptive methods that is able to emphasize the more recent gradients.
Speciﬁcally, an exponential moving average (EMA) strategy was proposed in RMSProp to replace the cumulative sum operation (Tieleman & Hinton, 2012).
Adam (Kingma & Ba, 2014), which remains one of the most popular optimization algorithms in deep learning till today, built upon RMSProp together with updating the search directions via the HB momentum.
Generally speaking, the gradient-based momentum algorithms that simultaneously update the search directions and learning rates using the past gradients are referred to as the Adam-type method (Chen et al., 2019).
This kinds of methods have achieved several state-of-the-art results on various learning tasks (Sutskever et al., 2013).
Compared with HB and Adagrad, the main novelty of Adam lies in applying EMA to gradient estimate (ﬁrst-order) and to element-wise square-of-gradients (second-order), with parameters β 1 t and β 2 t (Alacaoglu et al., 2020).
However, the use of EMA causes a lot of complexities to the convergence analysis.
For example, in the online setting, (Kingma & Ba, 2014) offered a proof that
Adam would converge to the optimum.
Despite its remarkable practicality, Adam suffers the nonconvergence issue .
To overcome its advantages, several variants such as AMSgrad and AdamNC were proposed (Reddi et al., 2018).
Unfortunately, the best regret bound of AMSgrad is only
O ( √ log t √ t ) for nonsmooth convex problems (Reddi et al., 2018), as opposed to the optimality of O ( √ t ) of SGD.
On the other hand, EMA uses only the current gradient in updating the search direction while the original HB can use the past gradients information (Zou et al., 2018).
This will lead the update to stagnate when β 1 t is very close to 1.
Fortunately, such a dilemma will not appear in Polyak’s HB method and a simple proof on the convergence of this kind of Adams in smooth cases has been provided (D ´ efossez et al., 2020).
In this paper we will focus on the adaptive Polyak’s HB method in which only the step size is updated using EMA.
Despite various practical performance reported for the Adam-type methods, there still exists gaps between theoretical guarantees and empirical success.
• First of all, some important regret bounds have been established to guarantee the performance of online Adam-type algorithms.
Nevertheless, the online-to-batch conversion can inevitably lead the solution of the induced stochastic algorithm to take the form of averaging of all the past iterates.
In practice, the last iterate is popularly used as the ﬁnal solution, which has the advantage of readily enforcing the learning structure (Chen et al., 2012).
For SGD, the convergence of the last iterate, which is referred to as individual convergence in (Tao et al., 2020b), was posed as an open problem (Shamir, 2012).
Only recently, its optimal individual convergence rate is proved to be O ( log t √ t ) and O ( log t t ) for general and strongly convex problems respectively (Harvey et al., 2019a; Jain et al., 2019).
Despite enjoying the optimal averaging convergence (Yang et al., 2016), as far as know, the individual convergence has not been discussed for the adaptive HB.
Secondly, the momentum technique is often claimed as an accelerated strategy in machine learning community.
However so far, almost all the theoretical analysis is only limited to the Nesterov’s accelerated gradient (NAG) (Nesterov, 1983) method especially in smooth cases (Hu et al., 2009; Liu & Belkin, 2020), which accelerates the rate of SGD from O ( 1 t ) to O ( 1 t 2 ) .
While the individual convergence of HBt is also concerned in some papers (Sebbouh et al., 2020; Sun et al., 2019b), the considered problem is limited to smooth and the derived rate is not optimal in convex cases.
Only recently, it was discovered that NAG is capable of accelerating the rate of individual convergence of SGD from O ( log t √ t ) to O ( 1 √ t )
(Tao et al., 2020a) in nonsmooth convex cases.
Nevertheless, as far as we know, there is still a lack of the report about the acceleration of the adaptive HB.
• Finally, in practice, almost all the momentum and Adam-type algorithms are often used with a constant momentum parameter β 1 t (typically between 0.9 and 0.99).
In theory, regret guarantees in the online Adam require a rapidly increasing β 1 t → 1 schedule, which is also considered in (Sutskever et al., 2013; Orvieto et al., 2019).
This gap is recently bridged by getting the same regret bounds as that in (Reddi et al., 2018) with a constant β 1 t .
In each state-of-the-art deep learning library (e.g. TensorFlow, PyTorch and Keras), HB is named as SGD with momentum and β 1 t is empirically set to 0.9 (Ruder, 2016).
Despite its intuition in controlling the number of forgotten past gradients and its guarantee in optimal averaging convergence (Yang et al., 2016), as far as we know, how β 1 t affects the optimal individual convergence has not been discussed (Gitman et al., 2019).
The goal of this paper is to close a theory-practice gap when using HB methods to train the deep neural networks as well as optimize the convex objective functions.
Speciﬁcally,
• By setting β 1 t =
t t +2 , we prove that the adaptive HB attains an optimal individual convergence rate of O ( 1 √ t ) (Theorem 5), as opposed to the optimality of O ( log t √ t ) of SGD.
Our proof is different from all the existing analysis of averaging convergence.
It not only provides a theoretical guarantee for the acceleration of HB but also clariﬁes how the momentum and its parameter β 1 t help us to achieve the optimal individual convergence.
• If 0 ≤ β 1 t ≡ β < 1 , we prove that the adaptive HB attains optimal averaging convergence (Theorem 6).
To guarantee the optimal individual convergence, Theorem 5 suggests that time-varying β 1 t can be adopted.
Note β 1 t =
t t +2 → 1 , thus our new convergence analysis not only offers an interesting explanation why we usually restrict β 1 t → 1 but also gives valuable hints how the momentum parameters should be scheduled in deep learning.
We mainly focus on the proof of optimal individual convergence of HB (Theorem 3, Appendix A).
The analysis of averaging convergence (Theorem 4) is simpler.
Their extensions to include adaptive strategy are slightly more complex (Theorem 5 and 6), but it is similar to the proof of Adagrad (Mukkamala & Hein, 2017) and the details can be found in supplementary material.
P ROBLEM S TATEMENT AND R ELATED W ORK
Consider the following optimization problem,
[Equation]
where Q ⊆ R d is a closed convex set and f ( w ) is a convex function.
Denote that w ∗ is an optimal solution and P is the projection operator on Q .
Generally, the averaging convergence is deﬁned as
[Equation]
where ¯w t = (cid:80) ti =1 w i and (cid:15) ( t ) is the convergence bound about t .
In contrast, the individual convergence is described as
[Equation]
Throughout this paper, we use g ( w t ) to denote the subgradient of f at w t .
Projected subgradient descent (PSG) is one of the most fundamental algorithms for solving problem (1) (Dimitri P. et al., 2003), and the iteration of which is
[Equation]
where α t > 0 is the step size.
To analyze the convergence, we need the following assumption.
Assumption 1 .
Assume that there exists a number M > 0 such that
[Equation]
It is known that the optimal bound for the nonsmooth convex problem (1) is O ( 1 √ t ) (Nemirovsky & Yudin, 1983).
PSG can attain this optimal convergence rate but in terms of the averaged output while its optimal individual rate is only O ( log t √ t )
(Harvey et al., 2019a; Jain et al., 2019).
When Q = R N , the regular HB for solving the unconstrained problem (1) is
[Equation]
If 0 ≤ β t ≡ β < 1 , the key property of HB is that it can be reformulated as (Ghadimi et al., 2015)
[Equation]
where
[Equation]
Thus its convergence analysis makes almost no difference to that of PSG.
Especially, if α t ≡ α √ T , its averaging convergence rate is O ( 1 √ T )
(Yang et al., 2016), where T is the total number of iteration.
Simply speaking, the regular Adam (Kingma & Ba, 2014) takes the form of
[Equation]
where ˆ g ( w t ) is a unbiased estimation of g ( w t ) , and ˆ
[Equation]
I NDIVIDUAL C ONVERGENCE OF HB
To solve the constrained problem (1), HB can be naturally reformulated as
[Equation]
We ﬁrst prove a key lemma, which extends (5) to the constrained and time-varying cases.
Lemma 1.
(Dimitri P. et al., 2003)
For w ∈ R d , w 0 ∈ Q ,
[Equation]
u
[Equation] for all u ∈ Q if and only if w 0 = P ( w ) . Lemma 2. Let { w t } ∞ t =1 be generated by HB (6).
Let
[Equation]
Then HB (6) can be reformulated as
[Equation]
Proof .
The projection operation can be rewritten as an optimization problem (Duchi, 2018), i.e., w t +1 =
P Q [ w t − α t g ( w t ) + β t ( w t − w t − 1 )] is equivalent to
[Equation]
Then, ∀ w ∈ Q , we have [Equation] [Equation] This is
[Equation]
Speciﬁcally,
[Equation]
[Equation]
From (9) and (10), [Equation] i.e [Equation]
[Equation]
Using Lemma 1, Lemma 2 is proved.
Due to the non-expansive property of P Q (Dimitri P. et al., 2003), Lemma 2 implies that the convergence analysis for unconstrained problems can be applied to analyze the constrained problems.
Theorem 3.
Assume that Q is bounded.
Let { w t } ∞ t =1 be generated by HB (6).
Set β t
[Equation]
t
[Equation]
and
[Equation]
Then
[Equation]
Proof .
According to Lemma 2, [Equation] [Equation] Note
[Equation]
Then
[Equation]
Summing this inequality from k = 1 to t , we obtain
[Equation]
Note
[Equation]
and t
[Equation]
Since Q is a bounded set, there exists a positive number M 0 > 0 such that
[Equation]
Therefore
[Equation] This completes the proof of Theorem 3. It is necessary to give some remarks about Theorem 3. • In nonsmooth convex cases, Theorem 3 shows that the individual convergence rate of SGD can be accelerated from O ( log t √ t ) to O ( 1 √ t ) via the HB momentum.
The proof here clariﬁes how the HB-type momentum w t − w t − 1 and its time-varying weight β t help us to derive the optimal individual convergence.
• The convergence analysis in Theorem 3 is obviously different from the regret analysis in all the available papers , this is because the connection between f ( w t ) − f ( w ∗ ) and f ( w t − 1 ) − f ( w ∗ ) should be established here.
It can be seen that seeking an optimal individual convergence is more difﬁcult than the analysis of averaging convergence in many papers such as (Zinkevich, 2003) and (Yang et al., 2016).
• We can get a stochastic HB by replacing the subgradient g ( w t ) in (6) with its unbiased estimation ˆ g ( w t ) .
Such substitution will not inﬂuence our convergence analysis.
This means that we can get E [ f ( w t ) − f ( w ∗ )] ≤ O ( 1 √ t ) under the same assumptions.
If β t remains a constant, we can get the averaging convergence rate, in which the proof of the ﬁrst part is similar to Lemma 2 and that of the second part is similar to online PSG (Zinkevich, 2003).
Theorem 4.
Assume that Q is bounded and 0 ≤ β t ≡ β < 1 .
Let { w t } ∞ t =1 be generated by HB (6).
Set
[Equation]
Then we have
[Equation]
If Q is not bounded, the boundness of sequence (cid:107) w ∗ − ( w t +1 + p t +1 ) (cid:107) can not be ensured, which may lead to the failure of Theorem 4.
Fortunately, like that in (Yang et al., 2016),
E [ f ( 1 T (cid:80) Tk =1 w k ) − f ( w ∗ )] ≤ O ( 1 √ T ) still holds, but we need to set α t ≡ α √ T , where T is the total number of iteration.
E XTENSION TO A DAPTIVE C ASES
It is easy to ﬁnd that HB (7) is in fact a gradient-based algorithm with predetermined step size α √ t .
Thus its adaptive variant with EMA can be naturally formulated as
[Equation]
where
[Equation]
The detailed steps of the adaptive HB are shown in Algorithm 1.
[Equation]
7: until t =
T Output: w T
Theorem 5.
Assume that Q is a bounded set.
Let { w t } ∞ t =1 be generated by the adaptive HB (Algorithm 1).
Denote p t = t ( w t − w t − 1 ) .
Suppose that β 1 t = t t +2 and 1 − 1 t ≤ β 2 t ≤ 1 − γt for some 0 <γ ≤ 1 .
Then
[Equation]
The proof of (12) is identical to that of Lemma 2.
It is easy to ﬁnd that (12) is an adaptive variant of (7).
This implies that the proof of the second part is similar to that of Adagrad (Mukkamala & Hein, 2017).
When 0 ≤ β 1 t ≡ β < 1 , the adaptive variant of HB (6) is [Equation]
[Equation]
where
[Equation]
Similar to the proof of Theorem 5, we can get the following averaging convergence.
Theorem 6.
Assume that Q is bounded and 0 ≤ β 1 t ≡ β < 1 in Algorithm 1.
Let { w t } ∞ t =1 be generated by the adaptive HB ((Algorithm 1)).
Suppose that 1 − 1 t ≤ β 2 t ≤ 1 − γt for some 0 <γ ≤ 1 .
Denote p t = β 1 − β ( w t − w t − 1 ) .
Then
[Equation]
It is necessary to give some remarks about Theorem 5 and Theorem 6.
• The adaptive HB is usually used with a constant β 1 t in deep learning.
However, according to Theorem 6, the constant β 1 t only guarantees the optimal data-dependent averaging convergence.
The convergence property of the last iterate still remains unknown.
• In order to guarantee the optimal individual convergence, according to Theorem 5, β 1 t has to be time-varying.
β 1 t =
t t +2 can explain why usually restrict β 1 t → 1 in practice.
It also offers a new schedule about the selection of momentum parameters in deep learning.
E XPERIMENTS
In this section, we present some empirical results to validate the correctness of our convergence analysis and demonstrate the improved performance of the adaptive HB methods.
The experiments on optimizing the constrained hinge loss problem are given in Appendix B. For fair comparison, we independently repeat the experiments ﬁve times and report the averaged the results.
5. T RAINING D EEP N EURAL N ETWORKS
This experiment is to show the improved performance of Adaptive HB on 4-layer CNN and ResNet18.
The experiments are conducted on a sever with 2 NVIDIA 2080Ti GPUs.
Datasets: MNIST (60000 training samples, 10000 test samples), CIFAR10 (50000 training samples, 10000 test samples), and CIFAR100 (50000 training samples, 10000 test samples).
Algorithms: Adam ( α , β 1 t ≡ 0 .
9 , β 2 t ≡ 0 .
999 , (cid:15) =
10 − 8 ) (Kingma & Ba, 2014), SGD ( α t ≡ α ),
SGD-momentum ( α t ≡ α , β t ≡ 0 . 9 ), Adagrad ( α t ≡ α ) (Duchi et al., 2011), RMSprop ( α t ≡ α , β 2 t ≡ 0 .
9 , (cid:15) =
10 − 8 ) (Tieleman & Hinton, 2012).
For our adaptive HB, γ = 0 .
1 and δ = 10 − 8 .
Different from the existing methods, we set β 1 t =
t t +2 and β 2 t = 1 − γt in Algorithm 1, where t is the number of the epoch.
Within each epoch, β 1 t and β 2 t remain unchanged.
Note that all methods have only one adjustable parameter α , we choose α from the set of { 0.1, 0.01, 0.001, 0.0001 } for all experiments.
Following (Mukkamala & Hein, 2017) and (Wang et al., 2020), we design a simple 4-layer CNN architecture that consists two convolutional layers (32 ﬁlters of size 3 × 3), one max-pooling layer (2 × 2 window and 0.25 dropout) and one fully connected layer (128 hidden units and 0.5 dropout).
We also use weight decay and batch normalization to reduce over-ﬁtting.
The optimal rate is always chosen for each algorithm separately so that one achieves either best training objective or best test performance after a ﬁxed number of epochs.
The loss function is the cross-entropy.
The training loss results are illustrated in Figure 1 and 3, and the test accuracy results are presented in Figure 2 and 4.
As can be seen, the adaptive HB achieves the improved training loss.
Moreover, this improvement also leads to good performance on test accuracy.
The experimental results show that although the last iterate of the adaptive HB is optimal for general convex functions, its schedule about the momentum parameters could gain improved practical performance even in deep learning tasks.
C ONCLUSION
In this paper, we prove that the adaptive HB method attains an optimal data-dependent individual convergence rate in the constrained convex cases, which bridges a theory-practice gap in using momentum methods to train the deep neural networks as well as optimize the convex functions.
Our new analysis not only clariﬁes how the HB momentum and its time-varying weight β 1 t =
t t +  help us to achieve the acceleration but also gives valuable hints how its momentum parameters should be scheduled in deep learning.
Empirical results on optimizing convex functions validate the correctness of our convergence analysis and several typical deep learning experiments demonstrate the improved performance of the adaptive HB.
A S UPPLEMENTARY M ATERIAL A. P ROOF FOR T HEOREM
Let { w t } ∞ t =1 be generated by HB (6) . Set
[Equation]
α
[Equation] √
[Equation]
Then, ∀ w ∈ Q , according to Lemma 1, we have
[Equation]
This is
[Equation]
i.e.,
[Equation]
Speciﬁcally,
[Equation]
From (14) and (15),
[Equation]
Using Lemma 1, we have
[Equation]
Then
[Equation]
Note
[Equation]
Then
[Equation]
Rearrange the inequality, we have
[Equation]
i
[Equation]
e.,
[Equation]
Summing this inequality from k = 1 to t , we obtain [Equation] i [Equation]
e.,
[Equation]
Note
[Equation]
and since Q is a bounded set, there exists a positive number M 0 > 0 such that
[Equation]
From (16)(17)(18) we have,
[Equation]
By convexity of f ( w ) , we obtain
[Equation]
This completes the proof of Theorem 4.
A. P ROOF FOR T HEOREM
Notation.
For a positive deﬁnite matrix H ∈ R d × d , the weighted (cid:96) 2 -norm is deﬁned by (cid:107) x (cid:107) 2 H
=
x (cid:62) H x .
The H -weighted projection P H Q ( x ) of x onto Q is deﬁned by P H Q ( x ) =
arg min y ∈ Q (cid:107)
y − x (cid:107) 2 H .
We use g ( w k ) to denote the subgradient of f k ( · ) at w k .
For the diagonal matrix sequence { M k } tk =1 , we use m k,i to denote the i -th element in the diagonal of M k .
We use g k,i to denote the i -th element of g ( w k ) .
Lemma 7.
(Mukkamala & Hein, 2017) Suppose that 1 − 1 t ≤ β 2 t ≤ 1 − γt for some 0 <γ ≤ 1 , and t ≥ 1 , then
[Equation]
Proof for Theorem 5.
Without loss of generality, we only prove Theorem 5 in the full gradient setting.
It can be extended to stochastic cases using the regular technique in (Rakhlin et al., 2011).
Note that the projection operation can be rewritten as an optimization problem (Duchi, 2018), i.e., w t
[Equation]
=
[Equation]
[Equation]
t − w t
[Equation]
1 )] is equivalent to
[Equation]
Then, ∀ u ∈ Q , we have
[Equation]
This is
[Equation]
Speciﬁcally,
[Equation]
From (20) and (21),
[Equation]
i
[Equation]
e.,
[Equation]
Using Lemma 1, we have
[Equation]
Then
[Equation]
Note
[Equation]
Then
[Equation]
≤
[Equation]
+
[Equation]
Summing this inequality from k = 1 to t , we obtain ( t + 1)( f ( w t ) − f ( w ∗ )) ≤ f
[Equation]
w 0 ) − f ( w ∗ )
+
[Equation]
Using Lemma 7, we have t
[Equation]
Note
[Equation]
and
[Equation] Since Q is a bounded set [Equation] there exists a positive number M 0 > 0 such that
[Equation]
and v k,i =
β 2 k v k − 1 ,i + (1 − β 2 k ) g 2 k,i as well as β 2 k ≥ 1 − 1 k which implies kβ 2 k ≥ k − 1 , we get
[Equation]
From (22) we have t
[Equation]
[Equation]
Therefore
[Equation]
This proves
[Equation]
A. E XPERIMENTS ON O PTIMIZING AN A RTIFICIAL C ONVEX F UNCTION
A constrained convex optimization problem was constructed in (Harvey et al., 2019b).
Let Q be unit ball in R T .
For i ∈ [ T ] and c ≥ 1 , deﬁne the positive scalar parameters a i
[Equation]
Deﬁne f : Q → R and h i ∈ R T for i ∈
[ T + 1] by
[Equation]
i ∈
[ T ]
[Equation]
(cid:62) i w where h i,j =   a j
[Equation]
[Figure]
Obviously, the minimum value of f on the unit ball is f (0) = 0 . It can be proved f ( w t ) − f ( w ∗ ) ≥ log T 32 c √ T . The relative function value f ( w t ) − f ( w ∗ ) v.s. iteration is illustrated in Figure 5, where the stepsize of GD is c √ t and the parameters of our constrained HB (6) are selected according to Theorem 3.
As expected, the individual convergence of HB is much faster than that of PSG.
We thus conclude that HB is an effective acceleration of GD in terms of the individual convergence.
A. E XPERIMENTS ON O PTIMIZING G ENERAL C ONVEX F UNCTIONS
We consider the hinge loss optimization problem with l 1 -ball constraints and use SLEP packagefor l 1 projection operation.
[Equation]
[Equation]
Datasets: A9a, W8a, Covtype, Ijcnn1, Rcv1, Realsim (available at LibSVM 2 website).
Algorithms: PSG ( α t ≡ α √ t ), HB ( α t ≡ α √ t , β t ≡ 0 . 9 ), NAG (Tao et al., 2020a) and adaptive HB (11) ( β 1 t = t t +2 ).
The relative function value f ( w t ) − f ( w ∗ ) v.s. epoch is illustrated in Figure 6.
As expected, the individual convergence of the adaptive HB has almost the same behavior as the averaging output of
PSG, and the individual output of HB and NAG.
Since the three stochastic methods have the optimal convergence, we conclude that the stochastic adaptive HB attains the optimal individual convergence for general convex regularized learning problems.
[Figure]
[Figure]
[Figure]
[Figure]
[Figure]