Title: PRECONDITIONER ON MATRIX LIE GROUP FOR SGD

Abstract: We study two types of preconditioners and preconditioned stochastic gradient descent (SGD) methods in a unified framework. We call the first one the Newton type due to its close relationship to the Newton method, and the second one the Fisher type as its preconditioner is closely related to the inverse of Fisher information matrix. Both preconditioners can be derived from one framework, and efficiently estimated on any matrix Lie groups designated by the user using natural or relative gradient descent minimizing certain preconditioner estimation criteria. Many existing preconditioners and methods, e.g., RMSProp, Adam, KFAC, equilibrated SGD, batch normalization, etc., are special cases of or closely related to either the Newton type or the Fisher type ones. Experimental results on relatively large scale machine learning problems are reported for performance study.

1. INTRODUCTION:

This paper investigates the use of preconditioner for accelerating gradient descent, especially in large scale machine learning problems. Stochastic gradient descent (SGD) and its variations, e.g., momentum (Rumelhart et al., 1986; Nesterov, 1983) , RMSProp and Adagrad (John et al., 2011) , Adam (Kingma & Ba, 2015) , etc., are popular choices due to their simplicity and wide applicability. These simple methods do not use well normalized step size, could converge slow, and might involve more controlling parameters requiring fine tweaking. Convex optimization is a well studied field (Boyd & Vandenberghe, 2004) . Many off-the-shelf methods there, e.g., (nonlinear) conjugate gradient descent, quasi-Newton methods, Hessian-free optimizations, etc., can be applied to small and middle scale machine learning problems without much modifications. However, these convex optimization methods may have difficulty in handling gradient noise and scaling up to problems with hundreds of millions of free parameters. For a large family of machine learning problems, natural gradient with the Fisher information metric is equivalent to a preconditioned gradient using inverse of the Fisher information matrix as the preconditioner (Amari, 1998) . Natural gradient and its variations, e.g., Kronecker-factored approximate curvature (KFAC) (Martens & Grosse, 2015) and the one in (Povey et al., 2015) , all use such preconditioners. Other less popular choices are the equilibrated preconditioner (Dauphin et al., 2015) and the one proposed in (Li, 2018) . Momentum or the heavy-ball method provides another independent way to accelerate converge (Nesterov, 1983; Rumelhart et al., 1986) . Furthermore, momentum and preconditioner can be combined to further accelerate convergence as shown in Adam (Kingma & Ba, 2015) . This paper groups the above mentioned preconditioners and preconditioned SGD methods into two classes, the Newton type and the Fisher type. The Newton type is closely related to the Newton method, and is suitable for general purpose optimizations. The Fisher type preconditioner relates to the inverse of Fisher information matrix, and is limited to a large subclass of stochastic optimization problems where the Fish information metric can be well defined. Both preconditioners can be derived from one framework, and estimated on any matrix Lie groups designated by the user with almost the same natural or relative gradient descent methods minimizing specific preconditioner estimation criteria.

where P P P -0.5 denotes the principal square root of P P P . Hence, (3) suggests that preconditioned SGD is equivalent to SGD in a transformed parameter domain. Within the considered trust region, let us write the stochastic gradient, ∂ f (θ θ θ)/∂θ θ θ, explicitly as (5) for updating θ θ θ within the assumed trust region, where I I I is the identity matrix. A properly determined P P P could significantly accelerate convergence of the locally linear system in (5).

We review a few facts shown in (Li, 2018) before introducing our main contributions. Let δθ θ θ be a random perturbation of θ θ θ, and be small enough such that θ θ θ + δθ θ θ still resides in the same trust region. Then, (4) suggests the following resultant perturbation of stochastic gradient,

δĝ g g def = ∂ f (θ θ θ + δθ θ θ)/∂θ θ θ -∂ f (θ θ θ)/∂θ θ θ = Ĥ H Hδθ θ θ = H H Hδθ θ θ + ε ε ε (6)

where ε ε ε accounts for the error due to replacing Ĥ H H with H H H. Note that by definition, δĝ g g is a random vector dependent on both z z z and δθ θ θ. The preconditioner in (Li, 2018) is pursued by minimizing criterion c(P P P ) = E z,δθ [δĝ g g T P P P δĝ g g + δθ θ θ T P P P -1 δθ θ θ] (7) where subscript δθ in E z,δθ denotes taking expectation over δθ θ θ. Under mild conditions, criterion (7) determines a unique positive definite P P P , which is optimal in the sense that it preconditions the stochastic gradient such that P P P E z,δθ [δĝ g gδĝ g g T ]P

EQUATION

which is comparable to relationship H H H -1 δg g gδg g g T H H H -1 = δθ θ θδθ θ θ T , where δg g g = H H Hδθ θ θ is the perturbation of noiseless gradient, and we assume that H H H is invertible, but not necessarily positive definite.

Clearly, this preconditioner is comparable to H H H -1 . It perfectly preconditions the gradient such that the amplitudes of parameter perturbations match that of the associated preconditioned gradient, regardless of the amount of gradient noise. Naturally, preconditioned SGD with this preconditioner inherits the scale-invariance property of the Newton method.

Note that in the presence of gradient noise, the optimal P P P and P P P -1 given by ( 8) are not unbiased estimates of H H H -1 and H H H, respectively. Actually, even if H H H is positive definite and available, H H H -1 may not always be a good preconditioner when H H H is ill-conditioned since it could significantly amplify the gradient noise along the directions of the eigenvectors of H H H associated with small eigenvalues, and lead to divergence. More specifically, it is shown in (Li, 2018) that

H H H -1 E z,δθ [δĝ g gδĝ g g T ]H H H -1 ≥ E δθ [δθ θ θδθ θ θ T ], where A A A ≥ B B B means that A A A -B B B is nonnegative definite.

3 TWO PRECONDITIONER ESTIMATION CRITERIA

3.1. THE NEWTON TYPE CRITERION:

Preconditioner estimation criterion (7) requires δθ θ θ to be small enough such that θ θ θ and θ θ θ + δθ θ θ reside in the same trust region. In practice, numerical error might be an issue when handling small numbers with floating point arithmetic. This concern becomes more grave with the popularity of single and even half precision math in large scale neural network training. Luckily, (6) relates δĝ g g to the Hessianvector product, which can be efficiently evaluated with automatic differentiation software tools. Let v v v be a random vector with the same dimension as θ θ θ. Then, (4) suggests the following method for Hessian-vector product evaluation,

EQUATION

Now, replacing (δθ θ θ, δĝ g g) in ( 7) with (v v v, Ĥ H Hv v v) leads to our following new preconditioner estimation criterion, c n (

EQUATION

where the subscript v in E z,v suggests taking expectation over v v v. We no longer have the need to assume v v v to be an arbitrarily small vector. It is important to note that this criterion only requires the Hessian-vector product. The Hessian itself is not of interest. We call (10) the Newton type preconditioner estimation criterion as the resultant preconditioned SGD method is closely related to the Newton method.

3.2. THE FISHER TYPE CRITERION:

We consider the machine learning problems where the empirical Fisher information matrix can be well defined by

EQUATION

where ĝ g g = ∂ f (θ θ θ)/∂θ θ θ is a shorthand for stochastic gradient, and λ ≥ 0 is a damping factor. Clearly, v v v is independent of ĝ g g. Let us further assume that v v v is drawn from standard multivariate normal distribution N (0 0 0,

I I I), i.e., E v [v v v] = 0 0 0 and E v [v v vv v v T ] = I I I.

Then, we could simplify c f (P P P ) as

c f (P P P ) = tr{P P P E z,v [(ĝ g g + λv v v)(ĝ g g + λv v v) T ] + P P P -1 E v [v v vv v v T ]} = tr{P P P [E z [ĝ g gĝ g g T ] + λ 2 I I I] + P P P -1 } (12)

By letting the derivative of c f (P P P ) with respect to P P P be zero, the optimal positive definite solution for c f (P P P ) is readily shown to be

P P P = {E z [ĝ g gĝ g g T ] + λ 2 I I I} -0.5 (13)

When ĝ g g is a gradient estimation obtained by taking average over B independent samples, E z [ĝ g gĝ g g T ] is related to the Fisher information matrix by

E z [ĝ g gĝ g g T ] = F F F /B + (B -1)g g gg g g T /B (14)

We call this preconditioner the Fisher type one due to its close relationship to the Fisher information matrix. One can easily modify this preconditioner to obtain an unbiased estimation of F F F -1 . Let s s s be an exponential moving average of ĝ g g. Then, after replacing the ĝ g g in ( 13) with ĝ g g -s s s + s s s/ √ B and setting λ = 0, P P P 2 /B will be an unbiased estimation of F F F -1 . Generally, it might be acceptable to keep the bias term, (B -1)g g gg g g T /B, in (14) for two reasons: it is nonnegative definite and regularizes the inversion in (13); it vanishes when the parameters approach a stationary point. Actually, the Fisher information matrix could be singular for many commonly used models, e.g., finite mixture models, neural networks, hidden Markov models. We might not be able to inverse F F F for these singular statistical models without using regularization or damping. A Fisher type preconditioner with λ > 0 loses the scale-invariance property of a Newton type preconditioner. Both P P P and P P P 2 can be useful preconditioners when the step size µ and damping factor λ are set properly.

3.3. PROPERTIES OF THE NEWTON TYPE PRECONDITIONER:

Following the ideas in (Li, 2018) , we can show that (10) determines a unique positive definite preconditioner if and only if

E v [v v vv v v T ] is positive definite and {E v [v v vv v v T ]} 0.5 E z,v [ Ĥ H Hv v vv v v T Ĥ H H]{E v [v v vv v v T ]} 0.

5 has distinct eigenvalues. Other minimum solutions of criterion ( 10) are either indefinite or negative definite, and are not interested for our purpose. The proof itself has limited novelty. We omit it here. Instead, let us consider the simplest case, where θ θ θ is a scalar parameter, to gain some intuitive understandings of criterion (10). For scalar parameter, it is trivial to show that the optimal solutions minimizing ( 10) are

EQUATION

where Ĥ H H, H H H, P P P , and v v v are replaced with their plain lower case letters, and we have used the fact that H H H -Ĥ H H and v v v are independent. For gradient descent, we choose the positive solution, although the negative one gives the global minimum of (10). With the positive preconditioner, eigenvalue of the locally linear system in (5) is

h/ h 2 + E z [(h -ĥ) 2 ] (16)

Now, it is clear that this optimal preconditioner damps the gradient noise when E z [(h-ĥ) 2 ] is large, and preconditions the locally linear system in (5) such that its eigenvalue has unitary amplitude when the gradient noise vanishes. Convergence is ensured when a normalized step size, i.e., 0 < µ < 1, is used. For θ θ θ with higher dimensions, eigenvalues of the locally linear system in ( 5) is normalized into range [-1, 1] as well, in a way similar to (16).

4. ESTIMATING PRECONDITIONERS ON MATRIX LIE GROUPS:



4.1. UPDATING RULE FOR THE NEWTON TYPE PRECONDITIONER:

Let us take the Newton type preconditioner as an example to derive its updating rule. Updating rule for the Fisher type preconditioner is the same except for replacing the Hessian-vector product with stochastic gradient. Here, Lie group always refers to the matrix Lie group.

It is inconvenient to optimize P P P directly as it must be a symmetric and positive definite matrix. Instead, we represent the preconditioner as

P P P = Q Q Q T Q Q Q, and estimate Q Q Q. Now, Q Q Q must be

a nonsingular matrix as both c n (P P P ) and c f (P P P ) diverge when P P P is singular. Invertible matrices with the same dimension form a Lie group. In practice, we are more interested in Lie groups with sparse representations. Examples of such groups are given in the next section. Let us consider a proper small perturbation of , 1998) .

Q Q Q, δQ Q Q, such that Q Q Q + δQ Q Q still lives on the same Lie group. The distance between Q Q Q and Q Q Q + δQ Q Q can be naturally defined as dist(Q Q Q, Q Q Q + δQ Q Q) = tr(δQ Q QQ Q Q -1 Q Q Q -T δQ Q Q T ) (Amari

Intuitively, this distance is larger for the same amount of perturbation when Q Q Q is closer to a singular matrix. With the above tensor metric definition, natural gradient for optimizing

Q Q Q has form ∇ ∇ ∇Q Q Q = R R RQ Q Q (17)

For example, when Q Q Q lives on the group of invertible upper triangular matrices, R R R is given by

R R R = 2triu{E z,v [Q Q Q Ĥ H Hv v vv v v T Ĥ H H T Q Q Q T -Q Q Q -T v v vv v v T Q Q Q -1 ]} (18)

where triu takes the upper triangular part of a matrix. Another way to derive ( 17) is to let δQ Q Q = EQ Q Q, and consider the derivative with respect to E, where E is a proper small matrix such that Q Q Q + EQ Q Q still lives on the same Lie group. Gradient derived in this way is known as relative gradient (Cardoso & Laheld, 1996) . For our preconditioner learning problem, relative gradient and natural gradient have the same form. Now, Q Q Q can be updated using natural or relative gradient descent as

Q Q Q ← Q Q Q -µ q R R RQ Q Q (19)

In practice, it is convenient to use the following updating rule with normalized step size,

Q Q Q ← (I I I -µ 0 R R R/ R R R )Q Q Q (20)

where 0 < µ 0 < 1, and • takes the norm of a matrix. One simple choice for matrix norm is the maximum absolute value of a matrix.

Note that natural gradient can take different forms. One should not confuse the natural gradient on the Lie group derived from a tensor metric with the natural gradient for model parameter learning derived from a Fisher information metric.

4.2. SUMMARY OF THE NEWTON TYPE PRECONDITIONED SGD:

One iteration of the Newton type preconditioned SGD consists of the following steps.

1. Evaluate stochastic gradient ĝ g g.

2. Draw v v v from N (0 0 0, I I I), and evaluate Hessian-vector product Ĥ H Hv v v.

3.. Update preconditioners with:

Q Q Q ← (I I I -µ 0 R R R/ R R R )Q Q Q. 4. Update parameters with θ θ θ ← θ θ θ -µQ Q Q T Q Q Qĝ g g.

The two step sizes, µ and µ 0 , are normalized. They should take values in range [0, 1] with typical value 0.01. We usually initialize Q Q Q to a scaled identity matrix with proper dimension. The specific form of R R R depends on the Lie group to be considered. For example, for upper triangular

Q Q Q, we have R R R = 2triu[Q Q Q Ĥ H Hv v vv v v T Ĥ H H T Q Q Q T -Q Q Q -T v v vv v v T Q Q Q -1 ],

where Q Q Q -T v v v can be efficiently calculated with back substitution.

4.3. SUMMARY OF THE FISHER TYPE PRECONDITIONED SGD:

We only need to replace Ĥ H Hv v v in the Newton type preconditioned SGD with ĝ g g+λv v v to obtain the Fisher type one. Thus, we do not list its main steps here. Note that only its step size for the preconditioner updating is normalized. There is no simple way to jointly determine the proper ranges for step size µ and damping factor λ. Again, R R R may take different forms on different Lie groups. For upper triangular

Q Q Q, we have R R R = 2tiru[Q Q Q(ĝ g g + λv v v)(ĝ g g + λv v v) T Q Q Q T -Q Q Q -T v v vv v v T Q Q Q -1 ], where v v v ∼ N (0 0 0, I I I).

Here, it is important to note that the natural or relative gradient for c f (P P P ) with the form given in (12) involves explicit matrix inversion. However, matrix inversion can be avoided by using the c f (P P P ) in (11), which includes v v v as an auxiliary variable. It is highly recommended to avoid explicit matrix inversion for large Q Q Q.

4.4. VARIATIONS OF PRECONDITIONED SGD:

There are many ways to modify the above preconditioned SGD methods. Since curvatures typically evolves slower than gradients, one can update the preconditioner less frequently to save computations per iteration. With parallel computing available, one might update the preconditioner and model parameters simultaneously and asynchronously to save wall time per iteration. Combining preconditioner and momentum may further accelerate convergence. For recurrent neural network learning, we may need to clip the norm of preconditioned gradients to avoid excessively large parameter updates. In general, preconditioned gradient clipping relates to the trust region method by θ θ θ [new] -θ θ θ = µP P P ĝ g g/max(1, P P P ĝ g g /Ω) ≤ µΩ

where Ω > 0 is a clipping threshold, comparable to the size of trust region. One may set Ω to a positive number proportional to the square root of the number of model parameters. Most importantly, we can choose different Lie groups for estimating our preconditioners to achieve a good trade off between performance and complexity.

5. USEFUL LIE GROUPS WITH SPARSE REPRESENTATIONS:

In practice, we seldom consider the Lie group consisting of dense invertible matrices for preconditioner estimation when the problem size is large. Lie groups with sparse structures are of more interests. To begin with, let us recall a few facts about Lie group. If A A A and B B B are two Lie groups, then A A A T , A A A ⊗B B B, and A A A ⊕B B B all are Lie groups, where ⊗ and ⊕ denote Kronecker product and direct sum, respectively. Furthermore, for any matrix C C C with compatible dimensions, block matrix

EQUATION

still forms a Lie group. We do not show proofs of the above statements here as they are no more than a few lines of algebraic operations. These simple rules can be used to design many useful Lie groups for constructing sparse preconditioners. We already know that invertible upper triangular matrices form a Lie group. Here, we list a few useful ones with sparse representations.

5.1. DIAGONAL PRECONDITIONER:

Diagonal matrices with the same dimension and positive diagonal entries form a Lie group with reducible representation. Preconditioners learned on this group are called diagonal preconditioners.

5.2. KRONECKER PRODUCT PRECONDITIONER:

For matrix parameter Θ Θ Θ, we can flatten Θ Θ Θ into a vector, and precondition its gradient using a Kronecker product preconditioner with

Q Q Q having form Q Q Q = Q Q Q 2 ⊗ Q Q Q 1 . Clearly, Q Q Q is a Lie group as long as Q Q Q 1 and Q Q Q 2 are two Lie groups.

Let us check its role in learning the following affine transformation

y y y = [Θ Θ Θ weight , Θ Θ Θ bias ]x x x = Θ Θ Θx x x (22)

where x x x is the input feature vector augmented with 1, and y y y is the output feature vector. After reverting the flattened Θ Θ Θ back to its matrix form, the preconditioned SGD learning rule for Θ Θ Θ is

Θ Θ Θ ← Θ Θ Θ -µ Q Q Q T 1 Q Q Q 1 ∂ f (Θ Θ Θ) ∂Θ Θ Θ Q Q Q T 2 Q Q Q 2 (23) Similar to (3), we introduce coordinate transformation Θ Θ Θ = Q Q Q -T 1 Θ Θ ΘQ Q Q -1

2 , and rewrite (23) as

Θ Θ Θ ← Θ Θ Θ -µ ∂ f (Θ Θ Θ)/∂Θ Θ Θ (24)

Correspondingly, the affine transformation in ( 22) is rewritten as y y y = Θ Θ Θ x x x , where y y y = Q Q Q -T 1 y y y and x x x = Q Q Q 2 x x x are the transformed input and output feature vectors, respectively. Hence, the preconditioned SGD in ( 23) is equivalent to the SGD in (24) with transformed feature vectors x x x and y y y . We know that feature whitening and normalization could significantly accelerate convergence. A Kronecker product preconditioner plays a similar role in learning the affine transformation in (22).

5.3. SCALING AND NORMALIZATION PRECONDITIONER:

This is a special Kronecker product preconditioner by constraining Q Q Q 1 to be a diagonal matrix, and Q Q Q 2 to be a sparse matrix where only its diagonal and last column can have nonzero values. Note that Q Q Q 2 with nonzero diagonal entries forms a Lie group. Hence,

Q Q Q = Q Q Q 2 ⊗ Q Q Q 1 is a Lie group as well.

We call it a scaling and normalization preconditioner as it resembles a preconditioner that scales the output features and normalizes the input features. Let us check the transformed features y y y = Q Q Q -T 1 y y y and x x x = Q Q Q 2 x x x. It is clear that y y y is an element-wisely scaled version of y y y as Q Q Q 1 is a diagonal matrix. To make x x x a "normalized" feature vector, x x x needs to be an input feature vector augmented with 1.

Let us check a simple example to verify this point. We consider an input vector with two features, and write down its normalized features explicitly as below,

x 1 x 2 1 = 1/σ 1 0 -m 1 /σ 1 0 1/σ 2 -m 2 /σ 2 0 0 1 x 1 x 2 1 (25)

where m i and σ i are the mean and standard deviation of x i , respectively. It is straightforward to show that the feature normalization operation in (25) forms a Lie group with four freedoms. For the scaling-and-normalization preconditioner, we have no need to force the last diagonal entry of Q Q Q 2 to be 1. Hence, the group of feature normalization operation is a subgroup of Q Q Q 2 .

5.4. SCALING AND WHITENING PRECONDITIONER:

This is another special Kronecker product preconditioner by constraining Q Q Q 1 to be a diagonal matrix, and Q Q Q 2 to be an upper triangular matrix with positive diagonal entries. We call it a scaling-andwhitening preconditioner since it resembles a preconditioner that scales the output features and whitens the input features. Again, the input feature vector x x x must be augmented with 1 such that the whitening operation forms a Lie group represented by upper triangular matrices with 1 being its last diagonal entry. This is a subgroup of Q Q Q 2 as we have no need to fix Q Q Q 2 's last diagonal entry to 1.

It is not possible to enumerate all kinds of Lie groups suitable for constructing preconditioners. For example, Kronecker product preconditioner with form

Q Q Q = Q Q Q 3 ⊗ Q Q Q 2 ⊗ Q Q Q 1 could be used

for preconditioning gradients of a third order tensor. The normalization and whitening groups are just two special cases of the groups with the form shown in ( 21), and there are numerous more choices having sparsities between that of these two. Regardless of the detailed form of Q Q Q, all such preconditioners share the same form of learning rule shown in ( 20), and they all can be efficiently learned using natural or relative gradient descent without much tuning effort.

6. RELATIONSHIP TO EXISTING METHODS:



6.1. RELATIONSHIP TO ADAGRAD, RMSPROP AND ADAM:

Adagrad, RMSProp and Adam all use the Fisher type preconditioner living on the group of diagonal matrices with positive diagonal entries. This is a simple group. Optimal solution for c f (P P P ) has closed-form solution P P P = diag(1 E z [ĝ g g ĝ g g] + λ 2 ), where and denote element wise multiplication and division, respectively. In practice, simple exponential moving average is used to replace the expectation when using this preconditioner.

6.2. RELATIONSHIP TO EQUILIBRATED SGD:

For diagonal preconditioner, the optimal solution minimizing c n (P P P ) has closed-form solution

P P P = diag E v [v v v v v v] E z,v [ Ĥ H Hv v v Ĥ H Hv v v] . For v v v ∼ N (0 0 0, I I I), E v [v v v v v v]

reduces to a vector with unit entries. Then, this optimal solution gives the equilibration preconditioner in (Dauphin et al., 2015) .

6.3. RELATIONSHIP TO KFAC AND SIMILAR METHODS:

The preconditioners considered in (Povey et al., 2015) and (Martens & Grosse, 2015) are closely related to the Fisher type Kronecker product preconditioners. While KFAC approximates the Fisher metric of a matrix parameter as a Kronecker product to obtain its approximated inverse in closedform solution, our method turns to an iterative solution to approximate this same inverse. Theoretically, our method's accuracy is only limited by the expressive power of the Lie group since no intermediate approximation is made. In practice, one distinct advantage of our method over KFAC is that explicit matrix inversion is avoided by introducing auxiliary vector v v v and using back substitution, while KFAC typically requires inversion of symmetric matrices. On graphics processing units (GPU) and with large matrices, parallel back substitution is as computationally cheap as matrix multiplication, and could be several orders of magnitude faster than inversion of symmetric matrix. Another advantage is that our method is derived from a unified framework. There is no need to invent different preconditioner learning rules when we switch the Lie group representations. 

6.4. RELATIONSHIP TO BATCH NORMALIZATION:

Batch normalization can be viewed as preconditioned SGD using a specific scaling-andnormalization preconditioner with constraint Q Q Q 1 = I I I and Q Q Q 2 from the feature normalization Lie group. However, we should be aware that explicit input feature normalization is only empirically shown to accelerate convergence, and has little meaning in certain scenarios, e.g., recurrent neural network learning where features may not have any stationary first or second order statistic. Both the Newton and Fisher type preconditioned SGD methods provide a more general and principled approach to find the optimal preconditioner, and apply to a broader range of applications. Generally, a scaling-and-normalization preconditioner does not necessarily "normalize" the input features in the sense of mean removal and variance normalization.

7. EXPERIMENTAL RESULTS:

We use the square root Fisher type preconditioners in the following experiments since they are less picky on the damping factor, and seem to be more numerically robust on large scale problems. Still, as shown in our Pytorch implementation package, the original Fisher type preconditioners could perform better on small scale problems like the MNIST handwritten digit recognition task.

7.1. APPLICATION TO MATHEMATICAL OPTIMIZATION:

Let us consider the minimization of Rosenbrock function, f (θ θ θ) = 100(θ 2 -θ 2 1 ) 2 + (1 -θ 1 ) 2 , starting from initial guess θ θ θ = [-1, 1]. This is a well known benchmark problem for mathematical optimization. The compared methods use fixed step size. For each method, the best step size is selected from sequence {. . . , 1, 0.5, 0.2, 0.1, 0.05, 0.02, 0.01, . . .}. For gradient descent, the best step size is 0.002. For momentum method, the moving average factor is 0.9, and the best step size is 0.002. For Nesterov momentum, the best step size is 0.001. For preconditioned SGD, Q Q Q is initialized to 0.1I I I and lives on the group of triangular matrices. For the Fisher type method, we set λ = 0.1, and step sizes 0.01 and 0.001 for preconditioner and parameter updates, respectively. For the Newton type method, we set step sizes 0.2 and 0.5 for preconditioner and parameter updates, respectively. Figure 1 summarizes the results. The Newton type method performs the best, converging to the optimal solution using about 200 iterations. The Fisher type method does not fit into this problem, and performs poorly as expected. Mathematical optimization is not our focus. Still, this example shows that the Newton type preconditioned SGD works well for mathematical optimization.

7.2. IMAGENET EXPERIMENT:

We consider the ImageNet ILSVRC2012 database for the image classification task. The well known AlexNet is considered. We follow the descriptions in (Alex et al., 2012) as closely as possible to set up our experiment. One main difference is that we do not augment the training data. Another big difference is that we use a modified local response normalization (LRN). The LRN function from TensorFlow implementation is not second order differentiable. We have to approximate the local energy used for LRN with a properly scaled global energy to facilitate Hessian-vector product evaluation. Note that convolution can be rewritten as correlation between the flattened input image patches and filter coefficients. In this way, we find that there are eight matrices to be optimized in the AlexNet, and their shapes are: [96, 11 × 11 × 3 each matrix. Denser preconditioners, e.g., the Kronecker product one, require hundreds of millions parameters for representations, and are expensive to run on our platform. Each compared method is trained with 40 epochs, mini-batch size 128, step size µ for the first 20 epochs, and 0.1µ for the last 20 epochs. We have compared several methods with multiple settings, and only report the ones with reasonably good results here. For Adam, the initial step size is set to 0.00005. For batch normalization, initial step size is 0.002, and its moving average factors for momentum and statistics used for feature normalization are 0.9 and 0.99, respectively. The momentum method uses initial step size 0.002, and moving average factor 0.9 for momentum. Preconditioned SGD performs better with the scaling-and-normalization preconditioner. Its Q Q Q is initialized to 0.1I I I, and updated with normalized step size 0.01. For the Fisher type preconditioner, we set λ = 0.001 and initial step size 0.00005. For the Newton type preconditioner, its initial step size is 0.01. Figure 2 summarizes the results. Training loss for batch normalization is only for reference purpose as normalization alters the L2-regularization term. Batch normalization does not perform well under this setup, maybe due to its conflict with certain settings like the LRN and L2-regularization. We see that the scalingand-normalization preconditioner does accelerate convergence, although it is super sparse. The Newton type preconditioned SGD performs the best, and achieves top-1 validation accuracy about 56% when using only one crop for testing, while the momentum method may require 90 epochs to achieve similar performance.

7.3. WORD LEVEL LANGUAGE MODELING EXPERIMENT:

We consider the world level language modeling problem with reference implementation available from https://github.com/pytorch/examples. The Wikitext-2 database with 33278 tokens is considered. The task is to predict the next token from history observations. Our tested network consists of six layers, i.e., encoding layer, LSTM layer, dropout layer, LSTM layer, dropout layer, and decoding layer. For each LSTM layer, we put all its coefficients into a single matrix Θ Θ Θ by defining output and augmented input feature vectors as in

[i i i t ; f f f t ; g g g t ; o o o t ] = Θ Θ Θ [x x x t ; h h h t-1 ; 1] , c c c t = f f f t c c c t-1 + i i i t g g g t , h h h t = o o o t tanh(c c c t )

, where t is a discrete time index, x x x is the input, h h h is the hidden state, and c c c is the cell state. The encoding layer's weight matrix is the transpose of that of the decoding layer. Thus, we totally get three matrices to be optimized. With hidden layer size 200, shapes of these three matrices are respectively. For all methods, the step size is reduced to one fourth of the current value whenever the current perplexity on validation set is larger than the best one ever found. For SGD, the initial step size is 20, and the gradient is clipped with threshold 0.25. The momentum method diverges easily without clipping. We set momentum 0.9, initial step size 1, and clipping threshold 0.25. We set initial step size 0.005 and damping factor λ 2 = 10 -12 for Adam and sparse Adam. Sparse Adam updates its moments and model parameters only when the corresponding stochastic gradients are not zeros. We have tried diagonal, scaling-and-normalization and scaling-and-whitening preconditioners for each matrix. The encoding (decoding) matrix is too large to consider KFAC like preconditioner. The diagonal preconditioner performs the worst, and the other two have comparable performance. For both types of preconditioned SGD, the clipping threshold for preconditioned gradient is 100, the initial step size is 0.1, and Q Q Q is initialized to I I I. We set λ = 0 for the Fisher This saves considerable computations by avoiding update parameters with zero gradients. Again, both preconditioners accelerate convergence significantly despite their high sparsity.

7.4. COMPUTATIONAL COMPLEXITY AND IMPLEMENTATION:

Compared with SGD, the Fisher type preconditioned SGD adds limited computational complexity when sparse preconditioners are adopted. The Newton type preconditioned SGD requires Hessianvector product, which typically has complexity comparable to that of gradient evaluation. Thus, using SGD as the base line, the Newton type preconditioned SGD approximately doubles the computational complexity per iteration, while the Fisher type SGD has similar complexity. Wall time per iteration of preconditioned SGD highly depends on the implementations. Ideally, the preconditioners and parameters could be updated in a parallel and asynchronous way such that SGD and preconditioned SGD have comparable wall time per iteration.

We have put our TensorFlow and Pytorch implementations on https://github.com/ lixilinx. More experimental results comparing different preconditioners and optimization methods on diverse benchmark problems can be found there. For the ImageNet experiment, all compared methods are implemented in Tensorflow, and require two days and a few hours to finish 40 epochs on a GeForce GTX 1080 Ti GPU. The word level language modeling experiment is implemented in Pytorch. We have rewritten the word embedding function to enable second order derivative. For this task, SGD and the Fisher type preconditioned SGD have similar wall time per iteration, while the Newton type method requires about 80% more wall time per iteration than SGD when running on the same GPU.

8. CONCLUSIONS:

Two types of preconditioners and preconditioned SGD methods are studied. The one requiring Hessian-vector product for preconditioner estimation is suitable for general purpose optimization. We call it the Newton type preconditioned SGD due to its close relationship to the Newton method.

The other one only requires gradient for preconditioner estimation. We call it the Fisher type preconditioned SGD as its preconditioner is closely related to the inverse of Fisher information matrix. Both preconditioners can be efficiently learned using natural or relative gradient descent on any matrix Lie groups designated by the user. The Fisher type preconditioned SGD has lower computational complexity per iteration, but may require more tuning efforts on selecting its step size and damping factor. The Newton type preconditioned SGD has higher computational complexity per iteration, but is more user friendly due to its use of normalized step size and built-in gradient noise damping ability. Both preconditioners, even with very sparse representations, are shown to considerably accelerate convergence on relatively large scale problems.

:



Figures and Tables:

f (θ θ θ)/∂θ θ θ = Ĥ H Hθ θ θ + b b b (4) where Ĥ H H and b b b are estimates of H H H and b b b, respectively. Combining (4) and (2) gives the following linear system θ θ θ ← (I I I -µP P P Ĥ H H)θ θ θ -µP P P b b b

Figure 1: Convergence curves of compared methods on minimizing the Rosenbrock function.

Figure 2:Typical smoothed learning curves from compared methods for the ImageNet ILSVRC2012 image classification task with AlexNet. Note that batch normalization alters the L2regularization. Its training loss is not directly comparable with others.

[4 × 200, 2 × 200 + 1], [4 × 200, 2 × 200 + 1], and [33278, 200 + 1],

Figure3: Typical learning curves from compared methods for the Wikitext-2 database word level language modeling task with a LSTM neural network.

+ 1], [256, 5 × 5 × 96 + 1], [384, 3 × 3 × 256 + 1], [384, 3 × 3 × 384 + 1], [256, 3 × 3 × 384], [4096, 6 × 6 × 256 + 1], [4096, 4096 + 1],and [1000, 4096 + 1]. We have tried diagonal and scaling-and-normalization preconditioners for

Table content: <table><tr><td/><td>4</td><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/></tr><tr><td>Train loss</td><td>2.4 2.6 2.8 3 3.2 3.4 3.6 3.8</td><td/><td/><td colspan="5">Adam Momentum Batch normalization + momentum Fisher type scaling-and-normalization P Newton type scaling-and-normalization P</td><td>Top-1 validation classification error</td><td>0.56 0.46 0.48 0.5 0.52 0.54</td><td/><td/><td/><td/><td/><td/></tr><tr><td/><td>2.2</td><td/><td/><td/><td/><td/><td/><td/><td/><td>0.44</td><td/><td/><td/><td/><td/><td/></tr><tr><td/><td>2</td><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/><td/></tr><tr><td/><td>0</td><td>5</td><td>10</td><td>15</td><td>20</td><td>25</td><td>30</td><td>35</td><td>40</td><td>5</td><td>10</td><td>15</td><td>20</td><td>25</td><td>30</td><td>35</td><td>40</td></tr><tr><td/><td/><td/><td/><td/><td>Epochs</td><td/><td/><td/><td/><td/><td/><td/><td colspan="2">Epochs</td><td/><td/></tr></table>

2 database word level language modeling task with a LSTM neural network. type preconditioned SGD. With dropout rate 0.2, the best three test perplexities are 100.7 by SGD, 103.9 by Newton type preconditioned SGD, and 105.8 by Fisher type preconditioned SGD. With dropout rate 0.35, the best three test perplexities are 100.7 by Newton type preconditioned SGD, 102.3 by SGD, and 103.7 by Fisher type preconditioned SGD. Although SGD performs well on the test set, both types of preconditioned SGD have significantly lower training losses than SGD with either dropout rate. Figure3summarizes the results when the dropout rate is 0.35. Methods involving momentum, including Adam and sparse Adam, perform poorly. Note that our preconditioners preserve the sparsity property of gradients from the encoding and decoding layers (Appendix A).

Table content: <table/>

Peer review (iclr2019):
 Author proposes general framework to use gradient descent to learn a preconditioner related to inverse of the Hessian, or the inverse of Fisher Information matrix, where the inverse may take a particular form, ie, Kronecker-factored form like in KFAC. I have tracked down the implementation of this method by author from earlier paper Li 2018 and verified that it works and speeds up convergence of convolutional networks in terms of number of iterations needed. In particular, Kronecker Factored preconditioner using approach in the paper worked better in terms of wall-clock time on MNIST LeNet5, comparing against an existing PyTorch implementation of KFAC from César Laurent. Some comments on the paper: Section 2 The key seems to be equation 8. The author provides loss function, the minimum is what is achieved by inverse of the Hessian. Given the importance of the formula, it feels like proof should be included (perhaps in Appendix). Justification of the criterion is relegated to earlier work in Li (https://arxiv.org/pdf/1512.04202.pdf), but I failed to fully grasp the motivation. There are simpler criteria being introduced, such as criterion 1, equation 17, which simply minimizes the difference between predicted gradient delta and observed, why not use that criterion? The justification is given that using inverse Hessian may "amplify noise", which I don*t buy. When using SGD to solve least-square regression, dividing by Hessian does not have a problem of amplifying noise, so why is this a concern here? Section 3 The paper should make it clear that empirical Fisher matrix is used, unlike "unbiased estimate of true Fisher" which used in many natural gradient papers. Section 4 Is "Lie group" used anywhere in the derivations? It seems the same algebra holds even without that assumption. The motivation for using "natural gradient for learning Q" seems to come from Amari. I have not read that paper, how important it is to use the "natural" gradient for learning Q? What if we use regular gradient descent for Q? Section 7 Figure 1 showed that Fisher-type criterion didn*t work for toy problem, it would be more informative if it used square root of Fisher-type criterion. The square root comes out of regret-analysis (ie, AdaGrad uses square root of gradient covariance)