nhamid289's picture
Deploy optimisation from main (6727a1a)
c964813 verified
|
Raw History Blame Contribute Delete
1.98 kB

Watch an optimiser walk downhill on a function you choose, one iteration at a time.

Steps

  1. Function (Configure tab): pick a univariate f(x) or bivariate f(x, y) function from the list, or type your own in the box, e.g. x^4 - 2x^2 + 0.3x or sin(x) cos(y). A function that uses y has two variables. You can use sin, cos, tan, asin, acos, atan, exp, log (or ln), sqrt, abs, pi and e; 2x means 2*x.
  2. Optimiser: pick an algorithm and change its settings in the boxes below it, e.g. η, the learning rate. Hover over a box for its name, or press ⓘ for every setting with a description. The reset arrow beside it puts the settings back to their defaults.
  3. Initial point: type it, click on the plot, or press the dice for a random one. The reset arrow beside it goes back to the function's usual initial point.
  4. Step (bottom of the panel, in every tab): press Play, or step forward and back. Type a number in the × box to move several iterations per step; each one is shown in turn.

The Metrics tab shows the current point with f, the gradient and the Hessian (or f′ and f″ with one variable), and a chart of f at each iteration. A run stops after 1000 iterations, or earlier if it diverges.

Two variables

The plot is a contour map of f, coloured from low (purple) to high (yellow). Tick Gradient field to draw ∇f as arrows (contour only); they point uphill, so the optimiser moves against them. Surface shows f in 3D; drag to turn it.

Compare

In the Compare tab, press + Add optimiser for another run on the same function. Click a run to open it and change its algorithm, settings and initial point; every run steps together, from the start again after a change. Click a run's colour to pick another, or × to remove it. Run 1 is the main run from Configure: editing it here changes it there too.

Plot

Drag to pan and scroll to zoom. The function is redrawn for the new view.