# Difference between revisions of "GradientLess Descent"

(→Zeroth-Order Optimisation) |
|||

Line 41: | Line 41: | ||

===Zeroth-Order Optimisation=== | ===Zeroth-Order Optimisation=== | ||

+ | |||

+ | In zeroth-order optimisation, we are interested in minimising a function without computing its derivatives. This is important in many practical applications in which derivatives may not be available or they may be difficult to compute, such as: | ||

+ | |||

+ | * Combinatorial (i.e. discrete) optimisation | ||

+ | * Instances of non-analytic loss functions (e.g. hyperparameter tuning) | ||

+ | * Adversarial attacks | ||

+ | * Reinforcement learning | ||

+ | |||

+ | Curiously, a large amount of this approach focuses on approximating gradients and then using first-order optimisation algorithms | ||

==GradientLess Descent Algorithm== | ==GradientLess Descent Algorithm== | ||

==Proof of correctness== | ==Proof of correctness== |

## Revision as of 19:44, 31 October 2020

## Contents

## Introduction

### Motivation and Set-up

A general optimisation question can be formulated by asking to minimise an objective function [math]f : \mathbb{R}^n \to \mathbb{R}[/math], which means finding: \begin{align*} x^* = \mathrm{argmin}_{x \in \mathbb{R}^n} f(x) \end{align*}

Depending on the nature of [math]f[/math], different settings may be considered:

- Convex vs non-convex objective functions;
- Differentiable vs non-differentiable objective functions;
- Allowed function or gradient computations;
- Noisy/Stochastic oracle access.

For the purpose of this paper, we consider convex smooth objective noiseless functions, where we have access to function computations but not gradient computations. This class of functions is quite common in practice; for instance, they make special appearances in the reinforcement learning literature.

To be even more precise, in our context we let [math]K \subseteq \mathbb{R}^n[/math] be compact [math]f : K \to \mathbb{R}[/math] be [math]\beta[/math]-smooth and [math]\alpha[/math]-strongly convex.

**Definition 1**

A convex continuously differentiable function [math]f : K \to \mathbb{R}[/math] is [math]\alpha[/math]-strongly convex for [math]\alpha \gt 0[/math] if \begin{align*} f(y) \geq f(x) + \left\langle \nabla f(x), y-x\right\rangle + \frac{\alpha}{2} ||y - x||^2 \end{align*} for all [math] x,y \in K [/math]. It is called [math]\beta[/math]-smooth for [math]\beta \gt 0[/math] if \begin{align*} f(y) \leq f(x) + \left\langle \nabla f(x), y-x\right\rangle + \frac{\beta}{2} || y - x||^2 \end{align*} for all [math] x,y \in K [/math]

We remark that if [math]f[/math] is twice continuously differentiable, this is simply equivalent to the eigenvalues of the Hessian matrix [math]Hf[/math] being bounded between [math]\alpha[/math] and [math]\beta[/math]. Further intuition can be gained from the image below, showing how such a function can be contained within quadratic bounds.

In convex analysis, one usually says that a function has condition number [math]Q[/math] if it is both [math]\alpha[/math]-strongly convex, and [math]\beta[/math]-smooth, and [math]\frac{\beta}{\alpha} \leq Q[/math]. The authors of this paper consider the more general case where [math]f[/math] is a monotone transformation of a [math]\alpha[/math]-strongly convex and [math]\beta[/math]-smooth function; for simplicity and transparency, we shall not consider these extensions here, but shall note that their proofs are quite elementary.

### Zeroth-Order Optimisation

In zeroth-order optimisation, we are interested in minimising a function without computing its derivatives. This is important in many practical applications in which derivatives may not be available or they may be difficult to compute, such as:

- Combinatorial (i.e. discrete) optimisation
- Instances of non-analytic loss functions (e.g. hyperparameter tuning)
- Adversarial attacks
- Reinforcement learning

Curiously, a large amount of this approach focuses on approximating gradients and then using first-order optimisation algorithms