neural-network-from-scratch
tsify
neural-network-from-scratch | tsify | |
---|---|---|
3 | 1 | |
114 | 274 | |
- | - | |
0.0 | 4.3 | |
about 2 years ago | 3 months ago | |
Rust | Rust | |
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
neural-network-from-scratch
- Examine individual neurons of a small neural network in the browser
-
Language models can explain neurons in language models
I built a toy neural network that runs in the browser[1] to model 2D functions with the goal of doing something similar to this research (in a much more limited manner, ofc). Since the input space is so much more limited than language models or similar, it's possible to examine the outputs for each neuron for all possible inputs, and in a continuous manner.
In some cases, you can clearly see neurons that specialize to different areas of the function being modeled, like this one: https://i.ameo.link/b0p.png
This OpenAI research seems to be feeding lots of varied input text into the models they're examining and keeping track of the activations of different neurons along the way. Another method I remember seeing used in the past involves using an optimizer to generate inputs that maximally activate particular neurons in vision models[2].
I'm sure that's much more difficult or even impossible for transformers which operate on sequences of tokens/embeddings rather than single static input vectors, but maybe there's a way to generate input embeddings and then use some method to convert them back into tokens.
[1] https://nn.ameo.dev/
[2] https://www.tensorflow.org/tutorials/generative/deepdream
-
Browser-based neural network sandbox built with Rust + WebAssembly
Full source code is on Github: https://github.com/ameobea/neural-network-from-scratch
tsify
-
What is the best way to add WASM support to my project?
The Tsify crate can also generate these types for you from Rust types. Doing this with auto-generated conversions via serde is quite nice and simple, though for something like a framebuffer that has to be passed back and forth a lot, you might want to hand-code something more efficient.
What are some alternatives?
shorelark - Simulation of life & evolution
chip8_core - My Chip8 interpreter library
wasm-pdf - Generate PDF files with JavaScript and WASM (WebAssembly)
birthday-book-app - Rust in Anger: high-performance web applications
bhtsne - Parallel Barnes-Hut t-SNE implementation written in Rust.
ui2
wasm-learning - Building Rust functions for Node.js to take advantage of Rust's performance, WebAssembly's security and portability, and JavaScript's ease-of-use. Demo code and recipes.
Seed - A Rust framework for creating web apps
minesweeper - Minesweeper game developed with Rust, WebAssembly (Wasm), and Canvas
bitque - A simplified Jira clone built with seed.rs and actix
mastermind - A mastermind solver for finding optimal worst-case guesses with SIMD and multithreading support