1. Trang chủ
  2. » Cao đẳng - Đại học

Bài giảng Tối ưu hóa nâng cao - Chương 9: Stochastic gradient descent

10 19 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 211,21 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Khoa Toán - Cơ - Tin học, Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội... Step sizes t k chosen to be fixed and small, or via backtracking..[r]

Trang 1

Stochastic Gradient Descent

Hoàng Nam Dũng

Khoa Toán - Cơ - Tin học, Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội

Trang 2

Last time: proximal gradient descent

Consider the problem

min

x g(x) + h(x) with g, h convex, g differentiable, and h “simple” in so much as

proxt(x) = argminz 1

2tkx − zk22+ h(z)

is computable

x(k)= proxtk(x(k−1)− tk∇g(x(k−1))), k = 1, 2, 3,

Step sizes tk chosen to be fixed and small, or via backtracking

If∇g is Lipschitz with constant L, then this has convergence rate O(1/ε) Lastly we canaccelerate this, to optimal rate O(1/√

ε)

Trang 3

Today:

I Stochastic gradient descent

I Convergence rates

I Mini-batches

I Early stopping

Trang 4

Stochastic gradient descent

Consider minimizing an average of functions

min x

1 m

m X

i=1

fi(x)

As∇Pmi=1fi(x) =Pmi=1∇fi(x), gradient descent would repeat

x(k)= x(k−1)− tk · 1

m

m X

i=1

∇fi(x(k−1)), k = 1, 2, 3,

In comparison,stochastic gradient descentor SGD (or incremental gradient descent) repeats:

x(k)= x(k−1)− tk· ∇fik(x(k−1)), k= 1, 2, 3,

where ik ∈ {1, , m} is some chosen index at iteration k

Trang 5

Stochastic gradient descent

Two rules for choosing index ik at iteration k:

Randomized rule is more common in practice For randomized rule, note that

E[∇fik(x)] =∇f (x),

so we can view SGD as using anunbiased estimateof the gradient

at each step

Main appeal of SGD:

I Iteration cost is independent of m (number of functions)

I Can also be a big savings in terms of memory usage

Trang 6

Example: stochastic logistic regression

Given(xi, yi)∈ Rp× {0, 1}, i = 1, , n, recall logistic regression

min

β f(β) = 1

n

n X

i=1



−yixiTβ + log(1 + exp(xiTβ))

f i (β)

Gradient computation∇f (β) = 1

n

Pn i=1(yi− pi(β))xi is doable when n is moderate, butnot when n is huge

Full gradient (also called batch) versus stochastic gradient:

I One batch update costs O(np)

I One stochastic update costs O(p)

Clearly, e.g., 10K stochastic steps are much more affordable

Trang 7

Batch vs stochastic gradient descent

Small example with n= 10, p = 2 to show the “classic picture” for batch versus stochastic methods:

Small example with n = 10, p = 2 to show the “classic picture” for batch versus stochastic methods:

*

● Batch Random

Blue: batch steps, O(np)

Red: stochastic steps, O(p) Rule of thumb for stochastic methods:

• generally thrive far from optimum

• generally struggle close

to optimum

Blue: batch steps, O(np)

Red: stochastic steps, O(p) Rule of thumb for stochastic methods:

I generally thrive far from optimum

I generally struggle close

to optimum

6

Trang 8

Step sizes

Standard in SGD is to usediminishing step sizes, e.g., tk = 1/k, for k= 1, 2, 3,

Why not fixed step sizes? Here’s some intuition

Suppose we take cyclic rule for simplicity Set tk = t for m updates

in a row, we get

x(k+m) = x(k)− t

m X

i=1

∇fi(x(k+i−1))

Meanwhile, full gradient with step size t would give

x(k+1) = x(k)− t

m X

i =1

∇fi(x(k))

The difference here: tPmi=1[∇fi(x(k+i−1))− ∇fi(x(k))], and if we hold t constant, this difference will not generally be going to zero

Trang 9

Convergence rates

Recall: for convex f , (sub)gradient descent with diminishing step sizes satisfies

f(x(k))− f∗ = O(1/√

k)

When f is differentiable with Lipschitz gradient, there holds for

gradient descent with suitable fixed step sizes

f(x(k))− f∗ = O(1/k)

What about SGD? For convex f , SGD with diminishing step sizes satisfies1

E[f (x(k))]− f∗ = O(1/√

k)

Unfortunately thisdoes not improvewhen we further assume f has Lipschitz gradient

1 E.g., Nemirosvki et al (2009), “Robust stochastic optimization approach to stochastic programming”

Trang 10

Convergence rates

Even worse is the following discrepancy!

When f is strongly convex and has a Lipschitz gradient, gradient descent satisfies

f(x(k))− f∗= O(ck) where c < 1 But under same conditions, SGD gives us2

E[f (x(k))]− f∗ = O(1/k)

So stochastic methods do not enjoy thelinear convergence rateof gradient descent under strong convexity

What can we do to improve SGD?

2

E.g., Nemirosvki et al (2009), “Robust stochastic optimization approach to stochastic programming”

Ngày đăng: 09/03/2021, 03:45

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm