Ny mpitarika amin'ny mozika toy ny dragon hatchling (BDH) Ny tambajotra neuronal maoderina dia afaka mahatakatra ny tarehiny, manoratra tantara, ary na dia mandalo fifandraisana amin'ny fandaharana aza - fa samy manana ny fetra mitovy izy ireo: . stop learning once deployed Ny herinandro vitsivitsy lasa izay, vondrona injeniera sy mpikaroka – Adrian Kosowski, Przemysław Uznanski, Jan Chorowski, Zuzanna Stamirowska, ary Michał Bartoszkiewicz – nanambara lahatsoratra mahatalanjona mampiseho hevitra vaovao ao amin'ny sehatry ny fianarana milina sy ny rafitra neuronal. . new type of artificial neural network https://arxiv.org/abs/2509.26507?embedable=true Ny taratasy dia tena matanjaka - feno matematika, formules, ary grafika - fa feno hevitra mahery vaika. , miaraka amin'ny metafatra vitsivitsy sy ny fanatsarana ny tenako. popular-science overview Fantaro ny dragona tanora izay efa niala avy amin'ny kirarony. dia efa mahay mandositra sy mandehandeha afo - fa mbola tsy mahalala Tsy mpianatra avy amin'ny boky, fa avy amin'ny traikefa - eo afovoan'ny fiaran-dalamby - mampahatsiahy izay hetsika nanampy sy izay tsy nanampy. Ahoana ny fomba hamaly Izany no fototry ny : rafitra neuronal vaovao izay mampifandray (toy ny amin'ny tambajotra mahazatra) miaraka amin'ny Nandritra ny fanapahan-kevitra. BDH — the Brain-like Dragon Hatchling classic pretraining instant, self-directed learning Ny tambajotra neuronal dia rafitra neurons mifandray amin'ny "vavolombelona" izay mifanaraka amin'ny Na izany aza, rehefa tapitra ny fanadinana, ny mpianatra dia tsy mianatra intsony - ny fampianarana dia nitranga talohan'ny fanadinana. gradient descent Izany no fomba fiasa ny modely ankehitriny toy ny GPT: izy ireo Ary avy eo dia mitsahatra. learn inside the egg Inona no mahatonga ny Dragon Hatchling hafa? Ny BDH dia natao bebe kokoa. Manana karazana fahatsiarovana roa izy io: Ny fahatsiarovana mandrakizay, toy ny tambajotra neuronal mahazatra rehetra - izany no zavatra nianarany alohan'ny hianatra. Ny fahatsiarovana, mitovy amin'ny fanahy na fifandraisana fohy eo amin'ny eritreritra. Rehefa mampiasa vaovao ny BDH, dia mamorona fifandraisana vaovao Raha miara-miasa miaraka amin'ny neurons roa - ny fifandraisana eo amin'izy ireo dia manamaivana. Ao amin'ny fiaramanidina Izany dia fantatra amin'ny hoe ny : Hebbian learning rule Ny neurons izay mihazakazaka miaraka, mihazakazaka miaraka. Ny neurons izay mihazakazaka miaraka, mihazakazaka miaraka. Ireo fifandraisana ireo dia voatahiry ao amin'ny matrix samihafa , izay miasa ho toy ny tahirin-tsarimihetsika ny zava-nitranga vao haingana. Raha misy toe-javatra mitovy amin'izany dia mampahatsiahy ny BDH: σ “Ah, efa nahita izany taloha aho – ary eto ny zavatra niasa.” Inona no niova tamin'ny BDH? Ny BDH dia manova ny dingana fampianarana. , na dia tsy mihazakazaka ny backpropagation aza. Afaka mifanaraka amin'ny vaovao vaovao , tsy misy fampiofanana na solosaina goavana GPU. while it works Ao amin'ny Amin'ny teny hafa - BDH is a network that learns to live, not just to repeat. Mba hianatra ny mijanona, mihazakazaka, ary mandehandeha afo Ny zava-manan-tsakafo tsirairay dia manana dingana manokana amin'ny fampianarana. Ny dragon hatchling voalohany dia mianatra ny mijanona, avy eo ny manapaka ny volony, ary avy eo ny mandehandeha afo. Ny modely BDH dia manaraka lalana mitovy amin'izany - ny dingana tsirairay amin'ny fiainany dia miteraka karazana fampianarana hafa. Stage 1: Standing (Classic Pretraining) This is where BDH learns, like any traditional neural network. It’s trained on data, adjusts weights via gradient descent, and minimizes loss — the familiar supervised learning phase. Think of it as the dragon strengthening its legs before taking the first flight. At this stage, the model is trained on a large dataset — text corpora, translations, and other examples. It uses standard , an optimizer like , and a that predicts the next token. offline backpropagation AdamW loss function During this process, BDH develops its , referred to as in the paper (the ). These correspond to what, in a transformer, would be parameters like , and so on. permanent weights “G” fixed ruleset Wq, Wk, Wv, W1, W2 Stage 2: Flying (Online Adaptation) Once training ends, most networks stop changing. But BDH keeps learning in real time. It has a — a fast-acting connection map that updates itself during inference. If certain neurons activate together, their connection grows stronger; if not, it weakens. This is how BDH adapts to new situations mid-flight, without retraining. Hebbian memory During inference — when BDH reads or generates text — it updates its , denoted as , or “synaptic weights.” temporary internal states σ(i, j) This process isn’t gradient descent. Instead, it follows a : local learning rule If neuron and neuron fire together → strengthen their connection σ(i, j). i j This simple rule implements — often summarized as Hebbian learning “neurons that fire together, wire together.” These updates are : they exist only while a dialogue or reasoning session is active. Once σ is reset, the model returns to its original “hatched” knowledge — the way it was trained before flight. short-lived Stage 3: Breathing Fire (Self-regulation) BDH doesn’t just strengthen all connections — it keeps them balanced. The model uses sparsity thresholds and normalization to prevent runaway feedback loops. It learns to "breathe fire" carefully — powerful, but controlled. Too much activation would lead to instability; too little would make it unresponsive. The balance between those extremes is what gives BDH its “life”. The paper briefly mentions an intriguing idea: if the are preserved and averaged over time, BDH could develop something resembling — a mechanism akin to slowly updating its core weights. However, the authors haven’t yet formalized the exact algorithm for this process. Hebbian updates (σ) long-term memory They suggest that: operates on short timescales — minutes or a few hundred tokens. Fast memory (σ) evolves over much longer periods — days or across model updates. Slow memory (G) This opens the door to — systems that can continuously acquire new knowledge without erasing what they already know. Unlike classic transformers, which suffer from , BDH hints at a future where models can lifelong learning catastrophic forgetting remember their past while growing into the future. Ny neurone dia Ny neurone dia Manamaivana ny fifandraisana amin'ny fifandraisana amin'ny fifandraisana amin'ny fifandraisana amin'ny fifandraisana amin'ny fifandraisana amin'ny fifandraisana. i j Nahoana no mino aho fa ny BDH dia fandrosoana, fa tsy modely hafa ihany Ny taratasy Tsy teoritika fotsiny izany, fa mampiseho ny Izany dia manome tombontsoa tena izy ireo ary azo ampitahaina. Ny Dragon Hatchling mitovy amin'ny atidoha (BDH) new direction in AI architecture Ny fahafantarana sy ny fanazavana ny AI Ny iray amin'ireo lanjany lehibe indrindra amin'ny LLM maoderina dia Tsy matetika ny mahafantatra Ny BDH dia manova izany: ny "synapse" dia mifanaraka mivantana amin'ny fifandraisana ara-pivavahana. izay mifandray manamaivana raha ny modely "mino" momba ny hevitra nomena. Ary (ho toy ny ao amin'ny atidoha), izay ahafahan'ny mpitsikilo ary na dia . opacity Ary nahoana Ny sparse positive audit reasoning processes Izany dia manokatra ny varavarana ho an'ny AI azo aseho amin'ny sehatra manan-danja - ara-pahasalamana, ara-bola, lalàna - izay ahitana fahatakarana Ny modely tonga amin'ny fanapahan-kevitra dia zava-dehibe tahaka ny fanapahan-kevitra ihany. Ary nahoana On-the-Fly Learning (Inference-Time Learning) Ny BDH dia ahitana na dia mandritra ny fanapahan-kevitra aza – midika izany fa ny fifandraisana eo amin'ny neurons dia afaka miova Mifanaraka amin'ny mpampiasa na ny toe-javatra amin'ny fotoana tena izy, manatsara endrika Izany dia midika hoe "mahalala" hevitra eo amin'ny token sy ny andininy. Hebbian learning Tsy misy fanavaozana short-term memory ➡️ Izany dia mitarika ny LLM akaiky kokoa amin'ny - modely izay tsy mitsahatra manatsara ny fifanakalozan-kevitra, toy ny ataon'ny olombelona, tsy misy fanamafisana fanampiny. lifelong learning Ny fikarohana azo antoka sy azo ampiharina amin'ny fotoana Ny Transformers dia miady amin'ny - Rehefa mandeha ivelan'ny varavarankely voaomana, ny fifanarahana dia mihena. BDH, na izany aza, dia natao ho toy ny Ny fitondran-tena dia mitoetra tsy tapaka rehefa mitombo ny haavo sy ny isan'ny neurons. long-range reasoning scale-free system Izany dia midika fa afaka mamorona Izany dia mihazakazaka mandritra ny andro na herinandro na herinandro - ny fandaminana, ny fikarohana, na ny famolavolana - tsy ho very ny tsiambaratelo. agentic systems Fidirana amin'ny modely tsy manadino ny loza Ny BDH dia manolotra fananana tokana antsoina hoe : ny modely roa dia azo "fusion" fotsiny amin'ny alalan'ny mifandray ny sary. Tsy toy ny transformers, izany dia tsy manimba ny fampisehoana na mitaky fanavaozana. model merging ➡️ Azonao atao ny mampifandray modely avy amin'ny sehatra samihafa (ohatra, ara-pitsaboana sy ara-dalàna) tsy misy fanitsiana tsara. ➡️ Izany dia manamboatra ny lalana ho an'ny , izay azo ampiasaina indray ny "plugins neuronal" dia azo mifandray toy ny singa rindrambaiko. modular AI Ny fahombiazana sy ny fahombiazana Ny BDH-GPU dia miasa toy ny a , midika izany fa afaka mampiofanana amin'ny fomba mahomby amin'ny fampiasana PyTorch sy GPUs izy io. — tsy amin'ny endrika toy ny amin'ny transformer lehibe. state-space system Ny linearity Izany dia ahafahana mamorona modely mahery vaika ao amin'ny Izany dia mahatonga ny BDH ho mora ho an'ny mpikaroka tsy miankina sy ny startups. 10M–1B parameter range Ny fifandraisana amin'ny solosaina neuromorphic Satria ny BDH dia voafaritra amin'ny lafiny Ary Izany dia tsara ho an'ny Chips toy ny Ary izay mitovy amin'ny tambajotra biolojika mivantana ao amin'ny silicon. neurons synapses neuromorphic hardware Loihi TrueNorth ➡️ Izany dia mamela ny fahafahana mihazakazaka Amin'ny fahombiazan'ny angovo Robôtika sehatra, na rafitra bio-inspired. large-scale reasoning models edge devices Ny dingana iray mankany amin'ny "Axiomatic AI" Ny mpanoratra dia manolotra ny hevitra - rafitra izay ny fitondran-tena dia tsy azo jerena fotsiny fa Tahaka ny mahita ny "termodynamics ny fahalalana": fitsipika azo antoka amin'ny fampitomboana sy ny fihetseham-po azo antoka. Axiomatic AI formally predicted over time Ity taona ity dia mankany amin'ny Tsara ho an'ny fampiasana amin'ny - avy amin'ny vola sy ny fahasalamana mankany amin'ny fifamoivoizana. certifiable and safe AI architectures autonomous, high-stakes environments Ny famoronana tambajotra neuronal tsotra Mba hahatakatra tena ny fomba miasa ny BDH, dia nanapa-kevitra ny hanorina fanamafisana kely - , nianatra tamin'ny olana XOR kilasy. dia mampiasa (Ary manodidina ny Rust Wrapper) , ny C ++ fototry ny PyTorch). Ity tetikasa kely ity dia natokana tamin'ny malaza , fa ny tanjoko dia tsy ny fahamarinana – dia ny fahamarinana. Te hahatakatra tanteraka ny fomba ahafahan'ny BDH miasa amin'ny fampiharana. minimal “tiny-BDH” in Rust autograd via tch-rs libtorch A Neural Network in 11 Lines of Python (Ny tambajotra neuraly amin'ny andininy 11 ao amin'ny Python) Ny fehezan-dalàna feno dia azo jerena ao amin'ny GitHub repo Ity lahatsoratra ity dia natao manokana ho an'ity lahatsoratra ity. Anisan'izany, dia handeha amin'ny dingana tsikelikely amin'ny fampiharana aho. Mety mahatsiravina izany, fa izany no tanjona - ny tanjona eto dia Ho an'ny olon-drehetra mahaliana momba ny BDH internals. ZhukMax/tiny_bdh_xor maximum transparency and accessibility Mifototra amin'ny mpamatsy / mpamatsy / mpamatsy Ny Tompo Rehefa voasoratra ao amin'ny Manomboka amin'ny a file - ny manify izay mamaritra ny tetikasa sy ny fifandraisany. Rust Cargo.toml Ny fitoviana fototra eto dia , a safe Rust wrapper around the C + + library, izay manome hery PyTorch. Manome antsika ny fidirana amin'ny , , ary endri-javatra hafa fototra amin'ny fampianarana lalina mivantana avy amin'ny Rust. tch libtorch tensors autograd Satria ny BDH dia mampiasa hevitra malaza toy ny Ary Ny tanjona dia tsy ny hamerina PyTorch, fa ny mampiasa indray ireo abstraktions efa misy, fa tsy hamerina azy ireo avy hatrany. Manaraka ny BDH amin'ny endrika tsotra indrindra azo atao. neurons Ny synapse learning logic Indro ny ampahany amin'ny ampahany amin'ny : Cargo.toml [package] name = "tiny_bdh_xor" version = "0.1.0" edition = "2021" [dependencies] anyhow = "1.0.100" tch = { version = "0.22", features = ["download-libtorch"] } 💡 The feature tells Cargo to automatically fetch and link the correct binaries for your OS and architecture. Without it, you’d need to manually install PyTorch and set the environment variable. With it, everything “just works” — Cargo downloads and links the library during build. download-libtorch libtorch LIBTORCH 💡 The Ny endri-javatra dia manoro hevitra an'i Cargo mba hahazoana sy hampifandray ny binary ho an'ny OS sy ny rafitra. Raha tsy izany, dia mila mametraka PyTorch amin'ny tànana ianao ary mametraka ny environment variable. With it, everything “just works” — Cargo downloads and links the library during build. download-libtorch libtorch LIBTORCH Mety miovaova miankina amin'ny fametrahana anao.) (Fantatra: Ny dikan-teny marina dia ny tch Ny fototry ny Tiny BDH src/main.rs Ny fandraisam-bahiny / main.rs Ao amin'ny tetikasa Rust, ny rakitra loharanon-tsary rehetra dia mitoetra ao directory. Since this is a , dia hitahiry ny zava-drehetra ao amin'ny rakitra iray isika - Aoka isika hampidirana ny fitoviana ilaina ary hametraka ny toerana fidirana: src minimal example main.rs use anyhow::Result; use tch::{nn, Device, Kind, Reduction, Tensor}; use tch::nn::{Init, OptimizerConfig}; fn main() -> Result<()> { let dev = if tch::Cuda::is_available() { Device::Cuda(0) } else { Device::Cpu }; Ok(()) } Choosing the Device (CPU or GPU) On line 6, we decide mba hanatanterahana ny solosaina - amin'ny GPU na CPU: where tch::Cuda::is_available() dia manamarina raha misy CUDA napetraka ary mahita GPU NVIDIA. Raha misy CUDA, ny code dia misafidy ny GPU voalohany: Device::Cuda(0). Raha tsy misy CUDA (ohatra amin'ny Mac na amin'ny mpizara CPU ihany) dia miova amin'ny Device::Cpu. Ny endrika Avy eo dia alefa any amin'ny singa hafa toy ny Noho izany Ireo fitaovana ireo dia naorina sy voasoratra ao amin'ny fitaovana iray ihany. dev VarStore::new(dev) all tensors Creating the Training Data Aorian'izany dia mamaritra ny and ny tensors ho an'ny tambajotran'ny neuron XOR kely - ny fampiofanana: input output let x = Tensor::from_slice(&[ 0f32,0.,1., 0.,1.,1., 1.,0.,1., 1.,1.,1. ]).reshape([4,3]).to_device(dev); let y = Tensor::from_slice(&[0f32,1.,1.,0.]).reshape([4,1]).to_device(dev); We start with a flat array of 12 numbers ( , mamaritra efatra sampana XOR. Ny tsirairay amin'ireo isa telo dia ohatra iray: 4 × 3 [0, 0, 1] [0, 1, 1] [1, 0, 1] [1, 1, 1] Ny roa voalohany dia ny entana binary ( Ary Ary ny fahatelo dia tsy tapaka. Ny fidirana (amin'ny fotoana rehetra) ), manampy ny modely mba hizara ny angon-drakitra amin'ny fomba ara-dalàna. X₁ X₂ bias 1 Then Miverina amin'ny sehatry ny fitrandrahana amin'ny A Matrix — efatra sampana, tsirairay miaraka amin'ny famantarana telo. Mandeha ny tensor amin'ny fitaovana voafidy (GPU na CPU), manome antoka fa ny solosaina rehetra dia mitranga ao amin'ny toerana iray. .reshape([4,3]) 4×3 .to_device(dev) Ny tendrombohitra faharoa, Misy ao amin'ny Ho an'ny fidirana tsirairay: y expected outputs [0], [1], [1], [0] Ireo dia mifanaraka amin'ny tabilao fahamarinana XOR: X₁ X₂ Y 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 0 1 1 1 0 Ny tambajotra Hyperparameter let n: i64 = 64; let d: i64 = 16; let u: f64 = 0.20; let hebb_lr: f64 = 0.01; let smax: f64 = 1.0; let sparsity_thresh: f64 = 5e-3; let lr: f64 = 5e-3; let steps = 3000; — the size of the (number of neurons in the layer). n = 64 neural field — the low-rank dimension for matrices and , defining how much the data is compressed and expanded. d = 16 E D u = 0.20 - ny fahatsiarovan-tena ho an'ny fahatsiarovana haingana σ; ny ambaratonga avo kokoa dia mahatonga azy ho "tsarotra kokoa". — the learning rate for Hebbian updates — controls how strongly new activations modify σ. hebb_lr = 0.01 Ao amin'ny BDH, ny fahatsiarovana dia aseho amin'ny matrice fifandraisana manokana — a temporary Tsy mitahiry ny lanjan'ny modely (amin'ny alàlan'ny fivoaran'ny gradient izy ireo). , mamorona fiaraha-miasa fohy - karazana "miasa fahatsiarovana" miasa mandritra ny fanapahan-kevitra. Hebbian Memory: σ (sigma) Ny fahatsiarovana synaptic which neurons were active together Amin'izao fotoana izao smax = 1.0 - mampihena ny herin'ny fifandraisana ambony indrindra ao amin'ny σ, mba hisorohana ny lanjany. sparsity_thresh = 5e-3 - manala ny singa σ kely be dia be, mitazona ny fahatsiarovana matanjaka sy azo antoka. lr = 5e-3 — fampianarana tahan'ny ho an'ny Adam optimizer izay manatsara ny fitsipika modely mahazatra (E, D, R_in, W_read). dingana = 3000 - ny isan'ny fampiofanana iterations (halalao ny modely mahita ny angon-drakitra). Ny fametrahana ny parameters sy ny "fampahalemana neuronal" Taorian'ny famaritana ny hyperparameters, dia mamorona - container izay mitazona ny lanjany rehetra sy ny fahasamihafana amin'ny tambajotra. Avy eo dia manampy ny parametr'ny modely - ny "vavany", izay hanatsarana mandritra ny fampiofanana: parameter store let vs = nn::VarStore::new(dev); let root = &vs.root(); let e = root.var("E", &[n,d], Init::Randn { mean: 0.0, stdev: 0.05 }); let dx = root.var("Dx", &[n,d], Init::Randn { mean: 0.0, stdev: 0.05 }); let dy = root.var("Dy", &[n,d], Init::Randn { mean: 0.0, stdev: 0.05 }); let r_in = root.var("R_in", &[3,n], Init::Randn { mean: 0.0, stdev: 0.20 }); let w_read = root.var("W_read", &[n,1], Init::Randn { mean: 0.0, stdev: 0.20 }); Ny singa tsirairay dia mamaritra ny ampahany amin'ny modely BDH: r_in - ny fivoaran'ny fidirana ao amin'ny sehatry ny neuron. E, Dx, Dy - ny famolavolana anatiny, mitovy amin'ny lanjany amin'ny kapoaka miafina. Fa tsarovy: Ny BDH dia tsy manana kapoaka amin'ny fomba mahazatra - mifanaraka amin'ny sehatry ny neurons tsirairay. w_read - ny fivoaran'ny vokatra, ampiasaina hamaky ny fametrahana farany amin'ny tambajotra. Optimizer sy ny fahatsiarovana haingana Avy eo dia manomboka amin'ny , varianta malaza amin'ny fivoaran'ny gradient izay manova ny tahan'ny fianarana amin'ny parameter. Ny Tendrombohitra Matrix feno amin'ny zero. Ity dia maneho ny BDH , which stores Ny fifandraisana amin'ny neurons sy ny fanavaozana amin'ny dingana rehetra amin'ny fampiofanana. Adam optimizer σ [n × n] fast Hebbian memory temporary let mut opt = nn::Adam::default().build(&vs, lr)?; let mut sigma = Tensor::zeros(&[n, n], (Kind::Float, dev)); for step in 0..steps { ... } Ao anatin'ity fampiofanana ity, dia hanampy ny fehezan-dalàna izay mampianatra ny "Dragon Hatchling" isika raha mbola ao aminy izy. - izany hoe mandritra ny fampiofanana mialoha. egg Forward Pass — The Dragon’s First Flight The next code block performs the , ny dingana fikarohana fototra izay manova ny fidirana amin'ny fidirana ( Ny : forward pass logits let x_neu = x.matmul(&r_in); let y1 = relu_lowrank_forward(&x_neu, &e, &dx); let a = x_neu.matmul(&sigma.transpose(-1, -2)); let y2 = y1 + a; let z = relu_lowrank_forward(&y2, &e, &dy); let logits = z.matmul(&w_read); Indro ny zavatra hitranga dingana aoriana: x_neu = x.matmul(&r_in) - ny angon-drakitra fidirana dia miditra ao amin'ny sehatra neuronal. y1 = relu_lowrank_forward(...) - ny angon-drakitra dia voamarina, manitatra, ary alefa amin'ny alalan'ny ReLU fametrahana. a = x_neu.matmul(&sigma.T) — mahazo ny famantarana fanampiny avy amin'ny fahatsiarovana hebreo σ, mifototra amin'ny fiaraha-miasa amin'ny neuron fotoana. y2 = y1 + a - mampifandray ny famantarana "fotoana" miaraka amin'ny fahatsiarovana fohy - ity no hevitra fototra amin'ny BDH. z sy logits - ny famolavolana sy ny famokarana farany, mampifandray ny fahalalana fohy sy lava-potoana momba ny modely. Ny vokatra aren’t yet passed through a Izy ireo dia maneho ny alohan'ny fampiroboroboana - ny saina tsy voafehin'ny dragona alohan'ny handray endrika. logits sigmoid raw predictions Low-Rank + ReLU mpanampy Araka ny nampanantenaina, eto ny mpanampy ReLU ampiasaintsika amin'ny fandefasana mialoha: /// y = ReLU( (x E) D^T ) fn relu_lowrank_forward(x: &Tensor, e: &Tensor, d: &Tensor) -> Tensor { let h = x.matmul(e); // [B,n]·[n,d] = [B,d] h.matmul(&d.transpose(-1, -2)).relu() // [B,d]·[d,n] = [B,n] } This is a Amin'ny ankapobeny, tsy misy matrix goavana Izahay dia mampiasa izany ho toy ny Ny Ny Ny Ny low-rank linear layer with ReLU W ∈ R^{n×n} W ≈ E · Dᵀ E ∈ R^{n×d} D ∈ R^{n×d} d ≪ n Ny hevitra dia tsotra: ianao Project into a compact latent space amin'ny habetsahan'ny Ho an'ny fanehoan-kevitra kely toy ny XOR izany dia mahazatra; ho an'ny modely GPT-scale, ny famonjena fahatsiarovana dia azo atao. (Amin'ny ankapobeny dia mifanaraka amin'ny sehatry ny fandriampahalemana). don’t need all possible synapses d massive Ny andininy 3 dia manamafy ny "fampahalemana neuronal" avo lenta (n asa) ho any amin'ny efitrano latent ny habetsahan'ny d. Ny andininy manaraka dia manitatra izany indray amin'ny n ho toy ny fiaraha-miombon'ny endrika decoder avy amin'ny D. Amin'ny ankapobeny, izany dia miasa toy ny famerenana tokana amin'ny W ≈ E · DT, fa mampiasa ny parameter 2nd fa tsy ny (n^2). Ny dingana, ny dingana, ny dingana Now let’s add the standard — compute the loss, run backprop, update weights: training step let loss = logits .binary_cross_entropy_with_logits::<Tensor>(&y, None, None, Reduction::Mean); opt.zero_grad(); loss.backward(); opt.step(); Ireo efatra ireo dia ny : handrefesana ny fahadisoana, mamantatra ny fomba hamaha ny modely, ary mampihatra ny fanavaozana.Aorian'ny tsirairay iteration, ny tambajotra dia miova kely akaiky kokoa amin'ny vahaolana marina. heart of the training loop Ny famerenana haingana amin'ny fahatsiarovana hebreo (σ) Ny ampahany farany - ary tena ny fototra BDH twist - dia ny Ary mihazakazaka Ary mitazona ny lanjany tsy tapaka: Hebbian fast-memory update outside autograd tch::no_grad(|| { let bsz = x.size()[0] as f64; // 1) Build co-activation map: outer = y2ᵀ @ x_neu let outer = y2 .detach() // detach from autograd .transpose(-1, -2) // [B,n]ᵀ → [n,B] .matmul(&x_neu.detach()) // [n,B] @ [B,n] → [n,n] .to_kind(Kind::Float) * (hebb_lr / bsz); // scale by batch size and Hebb LR // 2) Work on a shallow copy to avoid move/borrow issues let zeros = Tensor::zeros_like(&sigma); let mut s = sigma.shallow_clone(); // 3) Exponential forgetting + add fresh co-activations s *= 1.0 - u; // older σ fades out s += &outer; // Hebbian boost for co-firing neurons // 4) Safety rails: clamp to prevent blow-ups // (I originally skipped this and hit runtime errors during training) s = s.clamp(-smax, smax); // 5) Sparsify: zero-out tiny values (efficiency + stability) let keep = s.abs().ge(sparsity_thresh); s = s.where_self(&keep, &zeros); // 6) Row-wise normalization: stabilize the energy of σ @ x let row_norm = s.square().sum_dim_intlist([1].as_ref(), true, Kind::Float).sqrt(); s = &s / &row_norm.clamp_min(1.0); // 7) Write back into σ without changing ownership sigma.copy_(&s); }); Think of this as BDH’s : dia miova haingana amin'ny toe-javatra ankehitriny (Hebreo), tsy tapaka Ny fivoaran'ny toetrandro ( Mijanona (sparsity), and remains numerically (Ny fitsipiky ny fitsipika + ny fitsipika). working memory forgets u compact stable Ny zavatra noforonintsika Nanangana tambajotra miaraka amin'ny learning modes described in the paper: two Slow learning - ny backprop klasika izay mamolavola ny lanjany maharitra (E, D, R_in, W_read). Fast learning — Hebreo fanavaozana ny σ matrix nandritra ny fanapahan-kevitra / fampiofanana. Ny tanjona Ny ampahany fahatelo - - satria, araka ny manamarika ny mpanoratra, mbola tsy voafaritra tanteraka izany. Ny famolavolana io rafitra io dia tsy trivialy ary Na izany aza, amin'ny ankapobeny, ny fanadihadiana ihany no manamarika ity fomba ity amin'ny ambaratonga avo. leave out transferring fast memory into long-term weights beyond the scope Ahoana no ahafahanao mandositra azy # 1) Create the project and add the files cargo new tiny_bdh_xor && cd tiny_bdh_xor # (replace Cargo.toml and src/main.rs with the code above) # 2) Build & run cargo run --release Araka ny heverina, taorian'ny roa arivo dingana ny tambajotra mifanaraka ( Ny ) ary manambara ny XOR tsara. loss ↓ acc → 1.0 Mandeha any amin'ny console Mba hahatonga ny fampiofanana sy ny vokatr'izany ho mora ny manamarina, aoka isika hanampy kely ny hazavana. 1) Fivoarana isaky ny 300 dingana Ny fahavoazana sy ny fahamarinana amin'ny fampiofanana: if step % 300 == 0 { let y_hat = logits.sigmoid(); let acc = y_hat.gt(0.5) .eq_tensor(&y.gt(0.5)) .to_kind(Kind::Float) .mean(Kind::Float) .double_value(&[]); println!("step {:4} loss {:.4} acc {:.2}", step, loss.double_value(&[]), acc); } 2) Ny fanapahan-kevitra farany Taorian'ny fampiofanana, avelao ny fanambaran'ny modely: let x_neu = x.matmul(&r_in); let y1 = relu_lowrank_forward(&x_neu, &e, &dx); let a = x_neu.matmul(&sigma.transpose(-1, -2)); let y2 = y1 + a; let z = relu_lowrank_forward(&y2, &e, &dy); let preds = z.matmul(&w_read).sigmoid().gt(0.5).to_kind(Kind::Int64); println!("\nPred:\n{:?}", preds); 3) Amin'ny vs. tsy misy fahatsiarovana haingana (σ) Compare predictions when the Hebbian memory is Ny : on off // σ = on let probs = z.matmul(&w_read).sigmoid(); println!("\nProbs (σ=on):"); probs.print(); println!("Preds (σ=on):"); preds.print(); // σ = off let y1_nos = relu_lowrank_forward(&x_neu, &e, &dx); let y2_nos = y1_nos; // no 'a' term from σ let z_nos = relu_lowrank_forward(&y2_nos, &e, &dy); let preds_nos = z_nos.matmul(&w_read).sigmoid().gt(0.5).to_kind(Kind::Int64); println!("\nPreds (σ=off):"); preds_nos.print(); Ho an'ny code miasa feno, jereo ny fametrahana: https://github.com/ZhukMax/tiny_bdh_xor Ho an'ny code manontolo, jereo ny repository: https://github.com/ZhukMax/tiny_bdh_xor https://github.com/ZhukMax/tiny_bdh_xor Build, Training, and Prediction Results Ny modely dia mifanaraka haingana, ary afaka mahita izany ianao: Ny vahaolana (σ = amin'ny) dia efa ho tanteraka: [~0, 1, 1, ~0]. Preds (σ = off) fifanarahana - izay heverina ho an'ny XOR: izany dia asa static azo vahaolana amin'ny "slow" ny lanjany tsy misy haingana fahatsiarovana. Running `target/debug/tiny_bdh_xor` step 0 loss 0.6931 acc 0.50 step 300 loss 0.0000 acc 1.00 step 600 loss 0.0000 acc 1.00 step 900 loss 0.0000 acc 1.00 step 1200 loss 0.0000 acc 1.00 step 1500 loss 0.0000 acc 1.00 step 1800 loss 0.0000 acc 1.00 step 2100 loss 0.0000 acc 1.00 step 2400 loss 0.0000 acc 1.00 step 2700 loss 0.0000 acc 1.00 Pred: Tensor[[4, 1], Int64] Probs (σ=on): 7.4008e-09 1.0000e+00 1.0000e+00 6.6654e-17 [ CPUFloatType{4,1} ] Preds (σ=on): 0 1 1 0 [ CPULongType{4,1} ] Preds (σ=off): 0 1 1 0 [ CPULongType{4,1} ] Nahoana ny σ dia tsy ilaina ho an'ny XOR XOR dia asa Boolean tsotra izay afaka mianatra ny tambajotra amin'ny alalan'ny parameters ( ). The Hebbian layer Mifototra rehefa misy - sekoly, fiaraha-miasa, "izay nitranga teo aloha" - tsy rehefa tsirairay ny sampana dia tsy miankina. slow E/Dx/Dy/R_in/W_read σ context over time Inona no tokony hanandrana manaraka mba hahita ny Pay Off Predict the final symbol of a pair that appeared earlier in the same sequence (copy / associative recall). Sequences (context memory): Fandraisana andraikitra amin'ny lafiny lava: Fandraisana andraikitra amin'ny fihenjanana - manamarina ny fahamarinana amin'ny fihenjanana amin'ny dingana 20-100. On-the-fly famolavolana: Nandritra ny fanapahan-kevitra, "injicate ny fitsipika vaovao" (token pairs) ary manamarina ny modely mampiasa izany tsy misy fanavaozana gradient. σ ablations: Mifanaraka ny haingam-pandeha / kalitaon'ny fifandraisana amin'ny σ on / off amin'ny asa fandinihana sarotra kokoa. Log nnz(σ) ary jereo ny fomba mampitombo / mampihena ny fifandraisana amin'ny fotoana. Ny AI Incubator dia akaiky (Ny fanombohana) Ny BDH dia tsy ny “fanovana hafa ho an'ny transformers.” izany dia fijerena ny vanim-potoana manaraka amin'ny rafitra neuronal - ireo izay . Instead of waiting for retraining or requiring terabytes of data, BDH adjusts itself , in real time. learn not on schedule, but in the moment of action during reasoning Raha mitovy amin'ny "mpianatra" izay nanatanteraka dingana sy nahazo diplôma, dia ny BDH dia - vao teraka, manandrana ny tontolo, manao fahadisoana, mifanohitra ary mahatsiaro ny zava-baovao rehetra hitany. dragon hatchling Ity fiantraikany ity dia mamerina ny AI amin'ny fanahin'ny voalohany: tsy mba handrefesana ny mety, fa . think within context and experience