OrganicTrainer

class OrganicTrainer(val pruningPeriod: Int) : Trainer

An organic trainer attempts to train a model of progressive complexity by growing layers in width and depth, as well as adding functional modules where linearities allow growth without disrupting learned features.

The process runs as such:

  1. Bootstrap baby network with foundation data.

  2. Use network to evaluate training data and determine order of familiarity.

  3. Use familiarity to select next training data.

  4. During training, grow the network to accommodate plateaus or premature stalls below the acceptable loss threshold.

  5. After training, prune the network to remove unused or redundant layers and connections, and prevent overfitting.

Parameters

pruningPeriod

The number of iterations after which the network will be pruned to remove unused or redundant layers and connections.

Constructors

Link copied to clipboard
constructor(pruningPeriod: Int)

Properties

Link copied to clipboard
Link copied to clipboard
open override val snapshot: StateFlow<Snapshot>

Exposes the latest state of training.

Functions

Link copied to clipboard
fun prune()

Triggers a pruning operation on the network to remove unused or redundant layers and connections.

Link copied to clipboard
open override fun train(iterations: Int): Int

Train the model for a number of iterations, a.k.a. epochs.