ABSL – 100% Integer-Only Neural Network Training in Rust

Mojo_08691 pts0 comments

GitHub - Mojo0869/ABSL: ABSL or Adaptive Bitshift learning is a lerning method only using Integers for AI i made. The goal is to make a good Integer Neuronr neuron · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

Mojo0869

ABSL

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>53 Commits<br>53 Commits

results

results

src

src

.gitignore

.gitignore

Cargo.lock

Cargo.lock

Cargo.toml

Cargo.toml

LICENSE

LICENSE

README.md

README.md

View all files

Repository files navigation

ABSL – Adaptive Bit-Shift Learning (v1.0.0 XOR Edition)

ABSL (Adaptive Bit-Shift Learning) is an experimental, 100% integer-only learning algorithm for neural networks, written from scratch in Rust.

By completely avoiding floating-point math (float), ABSL eliminates the need for expensive FPUs (Floating Point Units). This makes it natively compatible with ultra-low-power embedded systems, 8-bit/16-bit microcontrollers, and neuromorphic hardware.

Instead of traditional learning rates, ABSL dynamically scales weight updates using an adaptive bit-shifting mechanism based on integer error magnitudes.

🚀 The Breakthrough: Cracking the Non-Linear XOR Problem

Historically, solving the non-linear XOR problem required continuous floating-point gradients. ABSL v1.0.0 completely shatters the myth that integer training is bound to get stuck in local minima due to harsh rounding errors.

By scaling up the hidden layer to a 2-3-1 architecture (2 Inputs, 3 Hidden Neurons, 1 Output), ABSL introduces enough high-dimensional redundancy to bypass integer quantization bottlenecks.

Latest Benchmark Results (1,000 Runs)

Metric<br>ABSL v3<br>ABSL v5 (v1.0.0 Core)

Perfect Runs (4/4 Correct)<br>38.7 %<br>70.1 % 🔥

Global Accuracy<br>80.0 %<br>91.1 %

Avg. Correct Cases per Run<br>3.20 / 4<br>3.64 / 4

Total Failures (0, 1, or 2 Correct)<br>High<br>0.0 % (Always gets ≥ 3/4)

Input Combination Accuracy (v1.0.0)

(0,0): 88.2% (Current tuning target: eliminating low-level integer bias leakage)

(0,1): 99.4% ✨

(1,0): 99.6% ✨

(1,1): 77.1% (Current tuning target: optimizing negative integer inhibition)

🧠 How It Works (The Core Logic)

ABSL snaps continuous gradients into a discrete integer grid using native Rust performance:

i32 {<br>let shift = Self::calculate_shift(error, weight);<br>(((error as i64) * (input as i64)) >> shift) as i32<br>}">impl LearningRule for ABSLv5 {<br>fn update(&self, error: i32, input: i32, weight: i32, _epoch: u32) -> i32 {<br>let shift = Self::calculate_shift(error, weight);<br>(((error as i64) * (input as i64)) >> shift) as i32

The shift is dynamically calculated using bit-lengths (ilog2) of both the error and weight magnitudes, preventing weight explosion while keeping execution blindingly fast.

🎯 Current Roadmap & Optimization Targets

I am actively working on pushing the success rate from 70.1% to 99%+.

Next Steps:

Implement a discrete integer damping factor (Momentum equivalent) to prevent weight oscillation.

Scale to MNIST.

##About Me:

I'm 15 living in Germany cirrntly in 10th grade and coded al of this on a broken s22 Ultra

In the future i want to study and work even more with this topic

License

Costum Licene please look in LICENSE

About<br>ABSL or Adaptive Bitshift learning is a lerning method only using Integers for AI i made. The goal is to make a good Integer Neuronr neuron<br>Resources<br>Readme<br>License<br>Activity<br>Stars<br>2 stars<br>Watchers<br>0 watching<br>Forks<br>0 forks<br>Report repository

Releases

Packages

Contributors

Languages

You can’t perform that action at this time.

absl integer shift weight error learning

Related Articles