Parameter Make.Optimise

module Utils : sig ... end

Utils module

module Learning_Rate : sig ... end

Strategies for learning rate update

module Batch : sig ... end

Batch module

module Loss : sig ... end

Loss module

module Gradient : sig ... end

Gradient module

module Momentum : sig ... end

Momentum module

module Regularisation : sig ... end

Regularisation module

module Clipping : sig ... end

Clipping module

module Stopping : sig ... end

Stopping module

module Checkpoint : sig ... end

Checkpoint module

module Params : sig ... end

Params module

Core functions

This function minimises the weight w of passed-in function f.

* f is a function f : w -> x -> y. * w is a row vector but y can have any shape.

val minimise_network : ?state:Checkpoint.state -> Params.typ -> (Algodiff.t -> Algodiff.t * Algodiff.t array array) -> (Algodiff.t -> Algodiff.t array array * Algodiff.t array array) -> (Algodiff.t array array -> unit) -> (string -> unit) -> Algodiff.t -> Algodiff.t -> Checkpoint.state

This function is specifically designed for minimising the weights in a neural network of graph structure. In Owl's earlier versions, the functions in the regression module were actually implemented using this function.

This function minimises f : x -> y w.r.t x.

x is an ndarray; and y is an scalar value.

val minimise_compiled_network : ?state:Checkpoint.state -> Params.typ -> (Algodiff.t -> Algodiff.t -> Algodiff.t) -> (unit -> unit) -> (string -> unit) -> Algodiff.t -> Algodiff.t -> Checkpoint.state

This function is minimize the weights in a compiled neural network of graph structure.