{'fraction_non_alphanumeric': 0.05557642842692408, 'fraction_numerical': 0.019045692321031184, 'mean_word_length': 4.242727272727273, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 15, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Guaranteed Sufficient Decrease for Stochastic Variance Reduced Gradient Optimization

In this paper, we propose a novel sufficient decrease technique for stochastic variance reduced gradient descent methods such as SVRG and SAGA. In order to make sufficient decrease for stochastic optimization, we design a new sufficient decrease criterion, which yields sufficient decrease versions of stochastic variance reduction algorithms such as SVRG-SD and SAGA-SD as a byproduct. We introduce a coefficient to scale current iterate and to satisfy the sufficient decrease property, which takes the decisions to shrink, expand or even move in the opposite direction, and then give two specific update rules of the coefficient for Lasso and ridge regression. Moreover, we analyze the convergence properties of our algorithms for strongly convex problems, which show that our algorithms attain linear convergence rates. We also provide the convergence guarantees of our algorithms for non-strongly convex problems. Our experimental results further verify that our algorithms achieve significantly better performance than their counterparts.


Introduction
Stochastic gradient descent (SGD) has been successfully applied to many large-scale machine learning problems [1,2], due to its low per-iteration cost, O(d).
However, standard SGD estimates the gradient from only one or a few samples, and thus the variance of the stochastic gradient estimator may be large [3,4], which leads to slow convergence and poor performance. In particular, even under the strongly convex (SC) condition, the convergence rate of standard SGD is only sub-linear [5,6]. Recently, the convergence rate of the standard SGD has been improved by various stochastic variance reduction gradient methods, such as SAG [7], SDCA [8], SVRG [3], SAGA [9], Finito [10], MISO [11], and their proximal variants, such as [12], [13] and [14]. Under the SC condition, these stochastic variance reduction algorithms achieve linear convergence rates.
Very recently, some acceleration techniques were proposed to further speed up the stochastic variance reduction methods mentioned above. These techniques include importance sampling [4], exploiting neighborhood structure in the training data to share and re-use information about past stochastic gradients [15], incorporating Nesterov's acceleration techniques [16,17] or momentum acceleration tricks [18], reducing the number of gradient computations in the early iterations [19,20,21,22], and the projection-free property of the conditional gradient method [23]. In particular, Katyusha [18] can attain the upper complexity bounds for both SC and non-strongly convex (non-SC) composite problems, respectively, as discussed in [24].
Challenges and Main Contributions. So far the two most popular stochastic gradient estimators are the SVRG estimator independently introduced by [3,21] and the SAGA estimator [9]. All the estimators may be very different from their full gradient counterparts, thus moving in the direction may not decrease the objective function anymore, as stated in [18]. To address this problem, inspired by the success of sufficient decrease methods for deterministic optimization such as [25,26], we propose a novel sufficient decrease technique for a class of stochastic variance reduction methods, including the widely-used SVRG and SAGA methods. Notably, our method with partial sufficient decrease achieves average time complexity per-iteration as low as the original SVRG and SAGA methods. We summarize our main contributions below.
• For making sufficient decrease for stochastic optimization, we design a sufficient decrease strategy to further reduce the cost function, in which we also introduce a coefficient to take the decision to shrink, expand or move in the opposite direction.
• We incorporate our sufficient decrease technique, together with momentum acceleration, into two representative SVRG and SAGA algorithms, which lead to SVRG-SD and SAGA-SD. Moreover, we give two specific update rules of the coefficient for Lasso and ridge regression problems as notable examples.
• Moreover, we analyze the convergence property of SVRG-SD, which shows that SVRG-SD converges linearly for SC composite minimization problems. Unlike most of the stochastic variance reduction methods such as SVRG, we also provide the convergence guarantee of SVRG-SD for non-SC composite minimization problems.
• Finally, we show by experiments that SVRG-SD and SAGA-SD achieve significantly better performance than SVRG [3] and SAGA [9]. Compared with the well-known accelerated method, Katyusha [18], our algorithms also have much better performance in most cases.

Notations
Throughout this paper, we use · to denote the ℓ 2norm (also known as the standard Euclidean norm), and · 1 is the ℓ 1 -norm, i.e., x 1 = d i=1 |x i |. ∇f (·) denotes the full gradient of the function f (·) if it is differentiable, or ∂f (·) the subgradient if f (·) is only Lipschitz continuous.
In this paper, we consider the following unconstrained composite convex optimization problem: where f i (x) : R d → R, i = 1, . . . , n are the smooth convex component functions, and r(x) is a relatively simple convex (but possibly non-differentiable) function.
We consider the problem (1) under the following standard assumptions.

Assumption 1.
Each convex function f i (·) is Lsmooth, iff there exists a constant L > 0 such that for any x, y ∈ R d , ∇f i (x) − ∇f i (y) ≤ L x − y . 3: x s 0 = x s−1 ;

SVRG and SAGA
Recently, many stochastic variance reduced methods [3,7,14,21] have been proposed for some special cases of Problem (1). Under smoothness and SC assumptions, and r(x) ≡ 0, SAG [7] achieves a linear convergence rate. A recent line of work, such as [3,14], has been proposed with similar convergence rates to SAG but without the memory requirements for all gradients. SVRG [3] begins with an initial estimate x 0 , sets x 1 0 = x 0 and then generates a sequence of x s k at the s-th epoch (k = 1, 2, . . . , m, where m is usually set to 2n, as suggested in [3,14]) using where η > 0 is the step size, is the full gradient of f (·) at the snapshot x s−1 , and i s k is chosen uniformly at random from {1, 2, . . . , n}. After every m stochastic iterations, we set x s = x s m , and reset k = 1 and x s+1 0 = x s (see Algorithm 1 for details).
In particular, the stochastic gradient estimator in Line 6 of Algorithm 1, i.e., the SVRG estimator independently introduced in [3,21], is a popular choice for stochastic gradient estimators. Unfortunately, most of the stochastic variance reduction methods [8,10,14], including SVRG, only have convergence guarantees for smooth and SC problems. However, F (·) may be non-SC in many machine learning applications (e.g., Lasso) or non-smooth and SC problems, e.g., elastic-net. For solving the non-smooth problem (1), a proximal variant of SVRG, i.e., Prox-SVRG [14], has been proposed and relies on the use of the proximal operator, prox r η (·), which is defined as: [9] proposed SAGA, a fast incremental gradient method in the spirit of SAG and SVRG, which works for both SC and non-SC objective functions, as well as in the proximal setting. Unlike SVRG and Prox-SVRG, both of which are two-stage algorithms, SAGA is a single-stage incremental gradient algorithm. Its main update rules are formulated as follows: where g k j is updated for all j = 1, . . . , n as follows: otherwise (see [9,27] for details). Here, the stochastic gradient estimator in (3a) is called as the SAGA estimator.

Sufficient Decrease for Deterministic Optimization
The technique of sufficient decrease (e.g., the wellknown line search technique [28]) has been studied for deterministic optimization [25,26]. For example, [25] proposed the following sufficient decrease condition: where δ > 0 is a small constant, and y k = prox r η k (x k−1 − η k ∇f (x k−1 )). Inspired by the strategy for deterministic optimization, in this paper we design a novel sufficient decrease technique for stochastic optimization, which is used to further reduce the cost function and speed up its convergence.

SVRG with Sufficient Decrease
In this section, we propose a novel sufficient decrease technique for stochastic variance reduction optimization methods, which include the widely-used SVRG method. To make sufficient decrease for stochastic optimization, we design an effective sufficient decrease strategy that can further reduce the cost function. Then a coefficient θ is introduced to satisfy the sufficient decrease condition, and takes the decisions to shrink, expand or move in the opposite direction. Moreover, we present a variant of SVRG with sufficient decrease and momentum acceleration (called SVRG-SD). We also give two specific schemes to compute θ for Lasso and ridge regression. Case of SC: Case of non-SC: for k = 1, 2, . . . , m do 6: Pick i s k uniformly at random from [n]; 7: Update y s k , θ k , and x s k by (8), (5), and (7); 9: end for 10: Case of non-SC:

Our Sufficient Decrease Technique
) for the s-th outer-iteration and the k-th inneriteration. Unlike the full gradient method, the stochastic gradient estimator is somewhat inaccurate (i.e., it may be very different from ∇f (x s k−1 )), then further moving in the updating direction may not decrease the objective value anymore [18]. That is, F (x s k ) may be larger than F (x s k−1 ) even for very small step length η > 0. Motivated by this observation, we design a factor θ to scale the current iterate x s k−1 for the decrease of the objective function. For SVRG-SD, the cost function with respect to θ is formulated as follows: where ζ = δη 1−Lη is a trade-off parameter between the two terms, δ is a small constant and set to 0.1. The second term in (5) involves the norm of the residual of stochastic gradients, and plays the same role as the second term of the right-hand side of (4). Different from existing sufficient decrease techniques including (4), a varying factor θ instead of a constant is introduced to scale x s k−1 and the coefficient of the second term of (5), and θ plays a similar role as the step-size parameter optimized via a line-search for deterministic optimization. However, line search techniques have a high computational cost in general, which limits their applicability to stochastic optimization [29].
Note that θ is a scalar and takes the decisions to shrink, expand x s k−1 or move in the opposite direction of x s k−1 . The detailed schemes to calculate θ for Lasso and ridge regression are given in Section 3.3. We first present the following sufficient decrease condition in the statistical sense for stochastic optimization.

Property 1.
For given x s k−1 and the solution θ k of Problem (5), then the following inequality holds where It is not hard to verify that F (·) can be further decreased via our sufficient decrease technique, when the current iterate x s k−1 is scaled by the coefficient θ k . Indeed, for the special case when θ k = 1 for some k, the inequality in (6) can be still satisfied. Unlike the sufficient decrease condition for deterministic optimization [25,26], θ k may be a negative number, which means to move in the opposite direction of x s k−1 .

Momentum Acceleration
In this part, we first design the update rule for the key variable x s k with the coefficient θ k as follows: where x s k = θ k x s k−1 , σ ∈ [0, 1] is a constant and can be set to σ = 1/2 which also works well in practice. In fact, the second term of the right-hand side of (7) plays a momentum acceleration role as in stochastic and deterministic optimization [17,18,30,31,32,33,34]. That is, by introducing this term, we can utilize the previous information of gradients to update x s k . Then the update rule of y s k is given by where η = 1/(Lα), L > 0 is a Lipschitz constant (see Assumption 1), and α ≥ 1 denotes a constant. From the update rule in (8), it is clear that SVRG-SD can tackle the non-smooth minimization problem (1) directly as Prox-SVRG [14] and SAGA [9]. In addition, ∇f i s k (x s k−1 ) can be the two most popular choices for stochastic gradient estimators: the SVRG estimator [3,21] and the SAGA estimator [9]. For SVRG-SD, ∇f i s k (x s k−1 ) is defined as follows: In summary, we propose a novel variant of SVRG with sufficient decrease (called SVRG-SD) to solve both SC and non-SC problems, as outlined in Algorithm 2.
For the case of SC, x s 0 = x s 0 = x s−1 , while x s 0 = x s 0 = y s−1 and y s = [x s m −(1 − σ) x s m ]/σ are set for the case of non-SC. Note that when θ k ≡ 1 and σ = 1, the proposed SVRG-SD degenerates to the original SVRG or its proximal variant, Prox-SVRG [14]. In this sense, SVRG and Prox-SVRG can be seen as the special cases of the proposed SVRG-SD algorithm.

Computing Coefficients for Lasso and Ridge Regression
In this part, we give the closed-form solutions of the coefficient θ for Lasso and ridge regression.
For Lasso problems and given x s k−1 , we have The closed-form solution of Problem (5) for SVRG-SD can be obtained as follows: where A = [a 1 , . . . , a n ] T is the data matrix containing n data samples, b = [b 1 , . . . , b n ] T , and S τ is the socalled soft thresholding operator [35] with the following threshold, For ridge regression problems, we have The closed-form solution of Problem (5) for SVRG-SD is given by We can compute the coefficient for other loss functions (e.g., logistic regression) using line search (e.g., Armijo's line search [36]) or their approximations [37].

Convergence Analysis
In this section, we provide the convergence analysis of SVRG-SD for solving both SC and non-SC minimization problems.

Convergence Property for SC Problems
In this part, we analyze the convergence property of SVRG-SD for solving the SC problem (1). The first main result is the following theorem, which provides the convergence rate of SVRG-SD. Theorem 1. Suppose Assumption 1 holds. Let x * be the optimal solution of Problem (1), and {(x s k , y s k , θ k )} be the sequence produced by SVRG-SD, η = 1/(Lα), and 2 α−1 < σ, then The proof of Theorem 1 and the definitions of c k and β k are given in the Supplementary Material. The linear convergence of SVRG-SD follows immediately.

The proof of Corollary 1 is given in the Supplementary
Material. From Corollary 1, we can see that SVRG-SD has a linear convergence rate for SC problems. As discussed in [14], ρ ≈ L/µ ν(1−4ν)m + 4ν 1−4ν for the proximal variant of SVRG [14], where ν = 1/α. For a reasonable comparison, we use the same parameter settings for SVRG and SVRG-SD, e.g., α = 19 and m = 57L/µ. Then we can see that ρ SVRG ≈ 31/45 for SVRG and ρ SVRG-SD ≈ 7/(14+36 β) < 1/2 for SVRG-SD, that is, ρ SVRG-SD is smaller than ρ SVRG . Note that setting α to 19 is for the analysis only and not necessary in practice. That is, α can be set to a much smaller value, e.g., α = 1, which means that SVRG-SD can use a much larger step size, e.g., η = 1/L for SVRG-SD vs. η = 1/(10L) for SVRG. Thus, SVRG-SD can significantly improve the convergence rate of SVRG and Prox-SVRG in practice, which will be confirmed by our experiments in Section 6.

Convergence Property for Non-SC Problems
Unlike most of the stochastic variance reduction methods [3,14], including SVRG and Prox-SVRG, which only have the convergence guarantees for some SC problems, the convergence result of SVRG-SD for the non-SC case is also provided, as shown below.

4:
Pick i s k uniformly at random from [n];

5:
Take φ k 10: end for 11: The proof of Theorem 2 is provided in the Supplementary Material. The constant β ≥ 0 is from the sufficient decrease strategy, which thus implies that the convergence bound in Theorem 2 can be further improved using our sufficient decrease strategy with an even larger β. Theorem 2 shows that SVRG-SD attains the convergence rate of O(1/S) for the non-strongly convex objective function (1). Although SVRG-SD is guaranteed to have a slower theoretical convergence rate than the accelerated stochastic variance reduction method, Katyusha [18], whose convergence rate is O(1/S 2 ), SVRG-SD usually converges much faster than Katyusha in practice (see Section 6.3 for details).
SVRG-SD and SAGA-SD are the stochastic gradient estimators in (9) and (3a), and the update rule of the sufficient decrease coefficient in (5). For the convergence analysis of SAGA-SD, we refer to [38]. Similar to Katyusha [18], SVRG-SD and SAGA-SD trivially extend to the mini-batch setting. As suggested in [39] and [16], we can add a proximal term into a non-strongly convex objective function F (x) as follows: where τ ≥ 0 is a constant that can be determined as in [16,39], and y ∈ R d is a proximal point. Then the condition number of this proximal function F τ (x, y) can be much smaller than that of the original function F (x), if τ is sufficiently large. However, adding the proximal term may degrade the performance of the involved algorithms both in theory and in practice [19]. Therefore, we directly use SVRG-SD and SAGA-SD to solve the nonstrongly convex objective function (1). If some component functions in (1) are non-smooth (e.g., support vector machine), we can use the proximal operator oracle [40] or the Nesterov's smoothing [41] technique to smoothen them, and thereby obtain the smoothed approximations of the functions f i (x).

Efficient Implementations
Both (10) and (11) require the calculation of b T A, thus we need to precompute and save b T A in the initial stage. To further reduce the computational complexity of Ax s k−1 2 in (10) and (11), we use the fast partial singular value decomposition (SVD) to obtain the best rank-r approximation U r S r V T r to A and save S r V T r . Then Ax s k−1 ≈ S r V T r x s k−1 . In practice, e.g., in our experiments, r can be set to a small number to capture 99.5% of the spectral energy of the data matrix A, e.g., r = 10 for the Covtype data set, similar to inexact line search methods [28] for deterministic optimization.
For high-dimensional sparse data A (e.g., Rcv1), we use the lazy computing trick for the calculation of Ax s k−1 , as well as b T A, instead of the partial SVD. That is, we calculate Ax s k−1 and b T A only for the non-zero dimensions of each sample, rather than all dimensions. In particular, we can introduce the lazy update tricks in [42] to our algorithms, and perform the update steps only for the non-zero dimensions of each example. That is, the average per-iteration complexity can be improved from The time complexity of each inter-iteration in SVRG-SD, as well as SAGA-SD, with full sufficient decrease is O(rd), which is a little higher than that of SVRG. In fact, we can just randomly select only a small fraction (e.g., 1/10 3 ) of stochastic gradient iterations in each epoch to update with sufficient decrease, while the re- maining iterations are executed without sufficient decrease technique, i.e., x s k = x s k−1 . Let m 1 be the number of iterations with our sufficient decrease technique in each epoch. By fixing m 1 = ⌊m/10 3 ⌋ and thus without increasing parameters tuning difficulties, SVRG-SD 1 can always converge much faster than its counterpart, SVRG, as shown in Figure 1 (similar results are also observed for SAGA-SD, as shown in the Supplementary Materials). It is easy to see that our algorithms are very robust with respect to the choice of m 1 , and achieve average per-iteration time complexity as low as the original SVRG and SAGA. Thus, we mainly consider SVRG-SD and SAGA-SD with partial sufficient decrease for real-world machine learning applications.

Experiments
In this section, we evaluate the performance of SVRG-SD and SAGA-SD, and compare their performance with their counterparts including SVRG [3], its proximal variant (Prox-SVRG) [14], and SAGA [9]. Moreover, we also report the performance of the wellknown accelerated stochastic variance reduction methods, Catalyst [16] and Katyusha [18].  Running time (sec) Running time (sec) Running time (sec) Running time (sec) website. Note that each sample of all the date sets was normalized so that they have unit length as in [14], which leads to the same upper bound on the Lipschitz constants L i , i.e., L = L i for all i = 1, . . . , n. This step is for comparison only and not necessary in practice. As suggested in [3,14,18], the epoch length is set to m = 2n for the stochastic variance reduced methods, SVRG [3], Prox-SVRG [14], Catalyst [16], and Katyusha [18], as well as SVRG-SD. In addition, unlike SAGA [9], we fixed m = n for each epoch of SAGA-SD. Then the only parameter we have to tune by hand is the step size, η. More specifically, we select step sizes from {10 j , 2.5 × 10 j , 5 × 10 j , 7.5 × 10 j , 10 j+1 } as in [18], where j ∈ {−2, −1, 0}. Each of these methods had its step size parameter chosen so as to give the fastest convergence. Since Katyusha has a much higher per-iteration complexity than SVRG, we compare their performance in terms of both the number of effective passes and running time (seconds), where computing a single full gradient or evaluating n component gradients is considered as one effective pass over the data. For fair comparison, we implemented all the methods in C++ with a Matlab interface (all codes are made available, see link in the Supplementary Materials), and performed all the experiments on a PC with an Intel i5-2400 CPU and 16GB RAM.

Ridge Regression
In this part, we focus on the following ridge regression (i.e., λ 2 ≡ 0) problem as the SC example:  where λ 1 , λ 2 ≥ 0 are the regularization parameters. Figure 2 shows how the objective gap, i.e., F (x s ) − F (x * ), of all these algorithms decreases for ridge regression problems with the regularization parameters λ 1 = 10 −4 and λ 2 ≡ 0 (more results are given in the Supplementary Material). For SVRG-SD and SAGA-SD, we set σ = 1/2 on the four data sets. As seen in Figure 2, SVRG-SD and SAGA-SD achieve consistent speedups for all the data sets, and significantly outperform their counterparts, SVRG and SAGA, in all the settings. This confirms that our stochastic sufficient decrease technique is able to accelerate SVRG and SAGA. Impressively, SVRG-SD and SAGA-SD usually converge much faster than the well-known accelerated methods, Catalyst and Katyusha, which further justifies the effectiveness of our sufficient decrease technique. As SVRG-SD and SAGA-SD have a much lower per-iteration complexity than Katyusha, they have more obvious advantage over Katyusha in terms of running time, especially for the case of sparse data (e.g., Rcv1), as shown in Fig. 2(b). We also compared the performance of all these methods, when the regularization parameter is relatively small, as shown in Figure 3. The result shows that Katyusha, SVRG-SD and SAGA-SD converge significantly faster than the other methods. In particular, SVRG-SD and SAGA-SD also outperform the wellknown accelerated methods, Catalyst and Katyusha, which further verifies the importance of our sufficient decrease technique for stochastic optimization.
We plot some representative results in Figure 4 (see the Supplementary Material for more results), which show that SVRG-SD and SAGA-SD significantly outperform their counterparts (i.e., Prox-SVRG and SAGA) in all the settings, and are considerably better than the accelerated methods, Catalyst and Katyusha, in most cases. This empirically verifies that our sufficient decrease technique allows us to take much larger step sizes for SVRG-SD and SAGA-SD than the original SVRG/Prox-SVRG and SAGA (e.g., η = 1 for SVRG-SD vs. η = 0.4 for SVRG), and can accelerate them for solving both SC and non-SC objective functions.

Conclusions & Future Work
To the best of our knowledge, this is the first work to design an efficient sufficient decrease technique for stochastic optimization. Moreover, we proposed two different schemes for Lasso and ridge regression to efficiently update the coefficient θ, which takes the important decisions to shrink, expand or move in the opposite direction. This is very different from adaptive learning rate methods, e.g., [43], and line search methods, e.g., [29], all of which cannot address the issue in Section 3.1 whatever value the step size is. Unlike most stochastic variance reduction methods [3,8,14], which only have convergence guarantees for SC problems 2 , we provided the convergence guarantees of our algorithm for both SC and non-SC objective functions. Experimental results verified the effectiveness of our sufficient decrease technique for stochastic optimization, especially for the case when the regularization parameter is relatively small (or the condition number κ := L/µ is relatively large). Naturally, it can also be used to further speed up accelerated methods such as [16,18,19,44].
As each component function f i (·) may have different degrees of smoothness, to select the random index i s k from a non-uniform distribution is a much better choice than simple uniform random sampling [4], as well as without-replacement sampling vs. withreplacement sampling [45]. On the practical side, both our algorithms tackle the non-SC and non-smooth problems directly, without using any quadratic regularizer as in [16,18], as well as the proximal setting. Note that some asynchronous parallel and distributed variants [46,47,48,49] of stochastic variance reduction methods have also been proposed for such stochastic settings. We leave these variations out from our comparison and consider similar extensions to our stochas-tic sufficient decrease method as future work.
[20] R. Babanezhad In this supplementary material, we give the detailed proofs for some lemmas, theorems and corollaries stated in the main paper. Moreover, we also report more experimental results for both of our algorithms on several dense and sparse data sets.

Notations
Throughout this paper, · denotes the standard Euclidean norm, and · 1 is the ℓ 1 -norm, i.e., x 1 = d i=1 |x i |. We denote by ∇f (x) the full gradient of f (x) if it is differentiable, or ∂f (x) the subdifferential of f (·) at x if it is only Lipschitz continuous. Note that Assumption 2 is the general form for the two cases when F (x) is smooth or non-smooth 3 . That is, if F (x) is smooth, the inequality in (12) in Assumption 2 becomes the following form: In the main paper, we assume that all component func- where I s k ⊂ [n] is a mini-batch of size b. 3 Strictly speaking, when the function F (·) is non- Using the above definition, our algorithms naturally generalize to the mini-batch setting.

Appendix A: Proof of Theorem 1
Although the proposed SVRG-SD algorithm is a variant of SVRG, it is non-trivial to analyze its convergence property. Before proving Theorem 1, we first give the following lemma.
Lemma 1. Let x * be the optimal solution of Problem (1), then the following inequality holds Lemma 1 provides the upper bound on the expected variance of the variance reduced gradient estimator in (9) (i.e., the SVRG estimator independently introduced in [3,21]), which satisfies E[ ∇f i s k (x s k−1 )] = ∇f (x s k−1 ). This lemma is essentially identical to Corollary 3.5 in [14] and Lemma A.2 in [50]. In addition, the upper bound on the variance of ∇f i s k (x s k ) can be extended to the mini-batch setting as in [42].
Using Lemma 1, we immediately get the following result, which is useful in our convergence analysis.
where the second equality holds due to the fact that E[ x−Ex 2 ] = E[ x 2 ]− Ex 2 ; the second inequality holds due to the fact that a − b 2 ≤ 2( a 2 + b 2 ); and the last inequality follows from Lemma 3.4 in [14] (i.e., Moreover, we also introduce the following lemmas [51,52], which are useful in our convergence analysis. Lemma 2. Let F (x, y) be the linear approximation of F (·) at y with respect to f , i.e., Then Lemma 3. Assume thatx is an optimal solution of the following problem, where g(x) is a convex function (but possibly non-differentiable). Then the following inequality holds for all x ∈ R d : Proof of Theorem 1: Then where the inequality follows from the Young's inequality, i.e., a T b ≤ a 2 /(2ρ) + ρ b 2 /2 for any ρ > 0. Substituting the inequality (14) into the inequality (13), we have The second inequality follows from Lemma 3 with g(x) := p i s k , x−x s k−1 + r(x), τ = Lα,x = y s k , x = w s k−1 and y = x s k−1 ; the third inequality holds due to the convexity of the component function ; and the last inequality holds due to the convexity of the function Using Property 1 with ζ = δη 1−Lη and η = 1/Lα, 4 we obtain where β k = min 1/α k , (θ k −1) 2 , and α k is defined below. Then there exists β k such that where , and β k < (α − 1)/2. Using the inequality (16), then we have 4 Note that our fast versions of SVRG-SD (i.e., SVRG-SD with randomly partial sufficient decrease) have the similar convergence properties as SVRG-SD because Property 1 still holds in the case when θ k = 1. That is, the main difference between their convergence properties is the different values of β k , as shown below.
There must exist a constant α k > 0 such that , and taking the expectation of both sides of (15), we have where the second inequality follows from Lemma 1 and Corollary 2. Here, Since 2 α−1 < σ with the suitable choices of α and σ, we have c k > α k − 2 α−1 > 1 − σ. Thus, (19) is rewritten as follows: Combining the above two inequalities (18) and (20), we have Taking the expectation over the random choice of i s 1 , i s 2 , . . . , i s m , summing up the above inequality over k = 1, . . . , m, and In addition, there exists β s for the s-th epoch such that where .

Appendix B: Proofs of Corollary 1
Proof. For µ-strongly convex problems, and let x s 0 = x s 0 = x s−1 and Due to the strong convexity of F (·), we have Using Theorem 1, we obtain Replacing α and σ in the above inequality with 19 and 1/2, respectively, we have This completes the proof.

Appendix C: Proofs of Theorem 2
Proof. For non-strongly convex problems, and using Theorem 1 with α = 19 and σ = 1/2, we have According to the settings of Algorithm 1 for the non-strongly convex case, and let Therefore, z s 0 = z s−1 m .
Using z 0 0 = x 0 , and summing up the inequality (25) over all s = 1, . . . , S, then Due to the settings of Algorithm 1 for the non-strongly convex case, we have (4 + 8 β)mS + 1 This completes the proof.

Appendix D: Experiment Details
The C++ code of SVRG [3] was downloaded from http://riejohnson.com/svrg_download.html. The code of of SAGA [9] was downloaded from http://www.aarondefazio.com/software.html. For fair comparison, we implemented the proposed SVRG-SD and SAGA-SD algorithms, SAGA [9], Prox-SVRG [14], Catalyst [16] (which is based on SVRG and has the following three important parameters: α k , κ, and the step size, η), and Katyusha [18] in C++ with a Matlab interface 5 , and performed all the experiments on a PC with an Intel i5-2400 CPU and 16GB RAM. Figure 5 shows the performance of SAGA [9] and SAGA-SD with different values of m 1 for solving ridge regression problems on the Covtype data set, where the regularization parameter is λ 1 = 10 −4 . From the result, we can observe that SAGA-SD significantly outperforms SAGA in terms of number of passes and running time. In particular, SAGA-SD, as well as SVRG-SD, has good robustness with respect to the number of iterations with sufficient decrease, which inspires us to use the partial sufficient decrease trick for both SVRG-SD and SAGA-SD.

Comparison of Results for Ridge Regression
In this part, we first report the experimental results of SVRG [3], SAGA [9], Catalyst [16], Katyusha [18], SVRG-SD and SAGA-SD for solving strongly convex (SC) ridge regression problems with the regularization parameter λ 1 = 10 −5 in Figure 6, where the horizontal axis denotes the number of effective passes over the data set (evaluating n component gradients, or computing a single full gradient is considered as one effective pass) or the running time (seconds). Moreover, we report the performance of all the stochastic variance reduction methods for solving ridge regression problems with relative small regularization parameters (e.g., λ 1 = 10 −7 ) in Figure 7, which shows that SVRG-SD and SAGA-SD, as well as Katyusha, converge significantly faster than SAGA, SVRG, and Catalyst. In particular, SVRG-SD and SAGA-SD usually outperform Katyusha in terms of both number of passes and running time, which further justifies the effectiveness of our sufficient decrease technique for stochastic optimization.  Figure 8 shows the performance of all the methods for solving ridge regression problems with different regularization parameters on the sparse data set, Rcv1. From the results, we can observe that SVRG-SD and SAGA-SD significantly outperform their counterparts: SVRG and SAGA in terms of both number of effective passes and running time. The accelerated method, Catalyst, usually outperforms the non-accelerated methods, SVRG and SAGA. Katyusha converges much faster than SAGA, SVRG, and Catalyst for the cases when the regularization parameter is relatively small (e.g., λ 1 = 10 −5 ), whereas it sometime achieves similar or inferior performance when the regularization parameter is relatively large (e.g., λ 1 = 10 −3 ), as shown in Figures 8(a). Moreover, SVRG-SD and SAGA-SD achieve at least comparable performance with the accelerated stochastic method, Katyusha [18], in terms of number of effective passes. Since SVRG-SD and SAGA-SD have much lower per-iteration complexities than Katyusha, they have more obvious advantage over Katyusha in terms of running time.

Comparison of Results for Lasso and Elastic-Net
Finally, we report the performance of Prox-SVRG [14], SAGA [9], Catalyst [16], Katyusha [18], SVRG-SD and SAGA-SD for solving Lasso and elastic-net problems with different regularization parameters in Figures 9 and  10, respectively, from which we can observe that SVRG-SD and SAGA-SD also achieve much faster convergence speed than their counterparts: Prox-SVRG and SAGA, respectively. In particular, they also have comparable or better performance than the accelerated methods, Catalyst and Katyusha for both strongly convex and nonstrongly convex problems. For the elastic-net problem, each component function f i (x) is defined as follows:     Figure 10: Comparison of all the stochastic methods for solving elastic-net (i.e., (λ 1 /2) · 2 +λ 2 · 1 ) problems on Ijcnn1 (the first column), Covtype (the second column), and SUSY (the last column). The vertical axis is the objective value minus the minimum, and the horizontal axis denotes the number of effective passes over the data (top) or the running time (seconds, bottom).