{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Lecture 9: Accelerating SGD with Preconditioning and Adaptive Learning Rates\n",
"\n",
"## CS4787 — Principles of Large-Scale Machine Learning Systems\n",
"\n",
"$\\newcommand{\\R}{\\mathbb{R}}$\n",
"$\\newcommand{\\norm}[1]{\\left\\|#1\\right\\|}$\n",
"$\\newcommand{\\Exv}[1]{\\mathbf{E}\\left[#1\\right]}$\n",
"$\\newcommand{\\Prob}[1]{\\mathbf{P}\\left(#1\\right)}$\n",
"$\\newcommand{\\Var}[1]{\\operatorname{Var}\\left(#1\\right)}$\n",
"$\\newcommand{\\Abs}[1]{\\left|#1\\right|}$"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"slideshow": {
"slide_type": "skip"
}
},
"outputs": [],
"source": [
"import numpy\n",
"import scipy\n",
"import matplotlib\n",
"from matplotlib import pyplot\n",
"import time\n",
"\n",
"matplotlib.rcParams.update({'font.size': 14, 'figure.figsize': (6.0, 6.0)})"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Announcements\n",
"\n",
"**We're still grading the prelim.** The solutions have been released on Canvas.\n",
"\n",
"Second pset with late days due **tonight**.\n",
"\n",
"Second programming assignment out **tonight**."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Recall\n",
"\n",
"Strongly convex optimization problems are poorly conditioned when the condition number $\\kappa$ is large.\n",
"\n",
"* The number of steps of gradient descent required to guarantee a certain objective gap $\\epsilon$ is proportional to the condition number.\n",
"\n",
"We said last time that intuitively, we’d like to **set the step size larger for directions with less curvature, and smaller for directions with more curvature**.\n",
"\n",
"* But we couldn't do this with plain GD or SGD, because there is only one step-size parameter.\n",
"\n",
"Last time: **momentum** \n",
"\n",
"* adds a momentum term that uses past steps to amplify the gradient in directions that are consistently the same sign and dampens the gradient in directions that are reversing sign.\n",
"\n",
"Today we'll talk about two other methods for addressing the issue of conditioning: **preconditioning**, and **adaptive learning rates**."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Preconditioning\n",
"\n",
"Motivation: One way to think about a large condition number is graphically/geometrically.\n",
"\n",
"* ...in terms of how it affects the **level sets** of the optimization problem.\n",
"\n",
"The \"level sets\" of a function $f: \\R^d \\rightarrow \\R$ are the sets $\\{ w \\mid f(w) = C \\}$ at which $f$ takes on one particular value. They are one way to visualize the curvature of the function.\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"Let's look at our poorly conditioned optimization problem example from last time, the two-dimensional quadratic\n",
"\n",
"$$f(w) = f(w_1, w_2) = \\frac{L}{2} w_1^2 + \\frac{\\mu}{2} w_2^2 = \\frac{1}{2} \\begin{bmatrix} w_1 \\\\ w_2 \\end{bmatrix}^T \\begin{bmatrix} L & 0 \\\\ 0 & \\mu \\end{bmatrix} \\begin{bmatrix} w_1 \\\\ w_2 \\end{bmatrix}.$$\n",
"\n",
"Here, the level sets of $f$ are the sets on which $f(w) = C$ for some constant $C$, which take the form\n",
"\n",
"$$2C = L w_1^2 + \\mu w_2^2.$$\n",
"\n",
"What is the geometric shape this equation represents?"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"These are **ellipses**! Let's plot some. We can parameterize this with $w_1 = \\sqrt{\\frac{2C}{L}} \\cdot \\cos(\\theta)$ and $w_2 = \\sqrt{\\frac{2C}{\\mu}} \\cdot \\sin(\\theta)$."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"slideshow": {
"slide_type": "-"
}
},
"outputs": [],
"source": [
"def plot_levelsets(L, mu):\n",
" t = numpy.linspace(0, 2*numpy.pi, 128)\n",
" for C in (((L + mu)/2) * numpy.linspace(0.1,1.9,8)**2):\n",
" x = numpy.cos(t) / numpy.sqrt(L / (2*C))\n",
" y = numpy.sin(t) / numpy.sqrt(mu / (2*C))\n",
" pyplot.plot(x, y, label=f\"C = {C:.3f}\")\n",
" pyplot.axis(\"square\")\n",
" pyplot.xlim([-2,2])\n",
" pyplot.ylim([-2,2])\n",
" pyplot.title(f\"Level Sets of $f(w_1, w_2) = \\\\frac{{{L}}}{{2}} w_1^2 + \\\\frac{{{mu}}}{{2}} w_2^2$\")\n",
" pyplot.xlabel(\"$w_1$\")\n",
" pyplot.ylabel(\"$w_2$\")\n",
" pyplot.legend(bbox_to_anchor=(1.04,1),loc=\"upper left\")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"