pub struct ProjectionConfig {
pub rank: usize,
pub lambda: f64,
pub delta: f64,
pub warmup: usize,
pub seed: u64,
pub supervised_lr: f64,
}Expand description
Configuration for online projection learning.
Controls the PAST subspace tracker and the warmup period for the
normalizer. Use ProjectionConfig::builder() for ergonomic construction
with validation.
§Defaults
| Parameter | Default | Description |
|---|---|---|
rank | 8 | Projection rank (output dimension) |
lambda | 0.9999 | PAST forgetting factor (half-life ~6931 samples) |
delta | 100.0 | Initial P diagonal scaling |
warmup | 200 | Warmup samples (normalizer only, no PAST updates) |
seed | 42 | RNG seed for Xavier initialization |
supervised_lr | 0.001 | Learning rate for supervised projection gradient |
Fields§
§rank: usizeProjection rank (output dimension). Default: 8.
lambda: f64PAST forgetting factor (half-life ~6931 samples). Default: 0.9999.
delta: f64Initial P diagonal scaling. Default: 100.0.
warmup: usizeWarmup samples (pass raw features before updating PAST). Default: 200.
seed: u64RNG seed. Default: 42.
supervised_lr: f64Learning rate for supervised projection gradient. Default: 0.01.
When the inner model exposes readout weights, this learning rate
controls how fast W adapts to prediction-relevant directions.
Decoupled from lambda because the projection learning timescale
and forgetting timescale serve different purposes.
Implementations§
Source§impl ProjectionConfig
impl ProjectionConfig
Sourcepub fn builder() -> ProjectionConfigBuilder
pub fn builder() -> ProjectionConfigBuilder
Start building a ProjectionConfig with default values.
Trait Implementations§
Source§impl Clone for ProjectionConfig
impl Clone for ProjectionConfig
Source§fn clone(&self) -> ProjectionConfig
fn clone(&self) -> ProjectionConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ProjectionConfig
impl Debug for ProjectionConfig
Auto Trait Implementations§
impl Freeze for ProjectionConfig
impl RefUnwindSafe for ProjectionConfig
impl Send for ProjectionConfig
impl Sync for ProjectionConfig
impl Unpin for ProjectionConfig
impl UnsafeUnpin for ProjectionConfig
impl UnwindSafe for ProjectionConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more