Hey guys. Some time ago I’ve developed an application/framework that lets you search (using distributed GA) for “smart” networks - a network built from only NAND gates with some memory block connected to its inputs and outputs. The way the learning should happen is continous as the memory is updated after every calculation of outputs.

The idea here is to use fundamental computing blocks (an universal gate circuit/network + memory) to construct a system that is able to learn. The search is done via GA distributed over many nodes.

Recently I’ve obtained more compute and came back to playing with it just I’m wondering if you would have some pointers as to how to configure it, more precisely:

  • What parameters of the GA search do you think would be optimal?
  • What kind of task (set of tasks/levels) and fitness function based on the results of those tasks could actually drive the search for something that is able to learn?
  • Does the idea even hold against argument? Or does the compute needed would really need to be massive to arrive at any sensible result?

Blog post about the project + source code (GH):

Blog post with more details

Source code

  • topcodemanglerOPB
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Hah, well that’s an interesting coincidence then. May I ask what is your general idea on the subject? How do you structure them and “train” them? As my assumption is that “training”/learning/etc. requires some form of feedback loop - where the result of the current inference/calculation must (or may) impact the calculation of the next one, in my solution this is done by adding the memory part.