Skip to content

Instantly share code, notes, and snippets.

@ramboldio
Last active September 12, 2021 18:50
Show Gist options
  • Save ramboldio/27f590ca226ba1b704c7e61ce9b28e1b to your computer and use it in GitHub Desktop.
Save ramboldio/27f590ca226ba1b704c7e61ce9b28e1b to your computer and use it in GitHub Desktop.
BeeLearning

BeeLearning 🐝

Idea

Do image classification like bees do it. Find a (simple) electric curcuit that can classify a event in an analog input video signal. Train on simulated harware that gives us the gradients.

Gains

  • dirt cheap to produce harware for
  • 1000x electricity saving for classification
  • unhackable

(could be used for classification in privacy-sensitive environments. eg. shower)

How to do it

  1. Use NetworksDynamics.jl / DiffEq solver to simulate electric circuit
  2. figure out building blocks that might work (resistors, capacitors, transitors, etc etc)
  3. figure out encoding for input data, figure out loss function
  4. come up with way of generating training/test data
  5. generate circuit typologies
  6. Run training to tweak parameters (eg. resistivity, capacitor size etc.)
  7. Order resulting circuit as implemented boards
  8. Run trail whether it does the job
  9. Celebrate 🎉

Related Work

INBOX (unsorted list of incoming stuff that related to this idea)

  • maybe one could come up with a deep learning thingy that predicst good candidates for curcuits (the gradient could be taken through the deep learning model AND the simulation) similar to the auto-updating heuristics in RoboGrammar.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment