Crow

This is the support group for the Grasshopper plug-in
Crow - Artificial Neural Networks in Grasshopper.
Please post your questions / requests / remarks here

Get Crow here:
http://www.food4rhino.com/project/crow?etx
or here:
http://www.felbrich.com/projects/Crow/Crow.html

  • Benjamin Felbrich

    Hello there fellow group members. This is to announce that Crow 0.2.1 was just released on Food4Rhino:

    - Renamed n-dimensional SOMs to SOG (Self-Organizing Grid) to account for the calculation of higher dimensional Kohonen-Maps (conventional SOMs are limited to two dimensions)
    - Added a Boost Options to SOG (right click on SOG engine to activate) to perform multi-core computation. WARNING: This only results in speed up, if neuron count >~1000 and SOG dimension is >2. Otherwise it might actually slow down computation
    - Added a timing option to SOG to monitor time per cycle and total calculation time
    - few minor bug fixes

    Have fun playing with it. Don't hesitate to post questions / remarks here.

    Best
    Ben

  • Kacper Radziszewski

    Hi Benjamin!

    Thanks for a Crow.

    I have played with it today using MNIST data set.

    Had some good results so far, still using small learning data set, because of the time it takes to compute.

    Here are my results on intigers recognition:

    Backpropagation Network settings:
    3000 training cycles

    3x sigmoid layer

    10 neurons per layer each
    learning rate of 1.0

    Training set of 500 examples

    During classifying 400 examples accuracy of 45%


    With a bigger training set which is available I should have better result, but as a first try with NN I believe it works.

    I'm posting my definition if anyone would like to take a look and give me any feedback.

    mnist data set neural network test

  • Benjamin Felbrich

    Hey Kacper,

    thanks a lot! Super cool that you use Crow. I actually didn't even test the Backpropagation component with the MNIST data set myself. Feel free to keep posting your results, I bet it's very helpful for others as well.

    About the computation speed: I will try to parallelize the backpropagation component in the next release as I did in the SOG component (probably with a Boost option), to hopefully speed up computation a bit (5 to 40% depending on network topology). However, since the engine is written in C#, we probably won't get crazy high speed. But let's see...

  • Winsion Liang

    Hello , I feel interest on your Plugin , but how can I study the base to understand it ? Thanks

  • Benjamin Felbrich

    Hello Winsion,

    so Crow is based on artificial neural networks. These networks consist of logical nodes that propagate information, are structured in layers and are (de-)activated upon (not) exceeding a certain threshold. Lots of machine learning or so called AI techniques make use of this paradigm. Even Google's AlphaGo uses these techniques, though in a tremendously more advanced level than Crow can provide.
    There are numerous books out there about this topic, that has been investigated for over 70 years! However, I found this one very enlightening:
    http://page.mi.fu-berlin.de/rojas/neural/neuron.pdf

    It's  basic introduction into the logic behind these networks and some of the most important advances in their development.
    If you want to know more about the modern utilization of ANN and have some coding experience, you could look into Tensorflow, Google's Deep Learning API. Google, however, mainly makes use of these AI things for image classification and feature detection in images and videos. Not very useful for design, yet, but who knows what the future brings ;)

  • Benjamin Felbrich

    Hey!

    Crow0.3 is out now. Find it on food4rhino or on
    github.com/HeinzBenjamin/Crow

  • Benjamin Felbrich

    Hey I just uploaded new files to food4rhino and github as a user pointed me a few bugs.
    don't hesitate to ask questions here