An open API service indexing awesome lists of open source software.

https://github.com/reubenjohn/creative_diversity

Simple Unsupervised Machine Learning to optimise for diversity whilst maintaining uniqueness
https://github.com/reubenjohn/creative_diversity

autoencoder dancing-robot machine-learning neural-networks opencv tensorboard tensorflow unsupervised-learning

Last synced: 3 months ago
JSON representation

Simple Unsupervised Machine Learning to optimise for diversity whilst maintaining uniqueness

Awesome Lists containing this project

README

        

Creative Diversity
===
Simple setup to optimise for diversity whilst maintaining uniqueness.

[![Arm Dance](https://img.youtube.com/vi/b_T1iQYkQRk/0.jpg)](https://www.youtube.com/watch?v=b_T1iQYkQRk)
Video demo of of it getting a bunch of arms to dance uniquely to one another

[![Internal structure](https://img.youtube.com/vi/SvkLbaj4irA/0.jpg)](https://www.youtube.com/watch?v=SvkLbaj4irA)
Video demo of it's internal structure

FYI, it can be tweaked to do a lot more than get the arms to dance. For instance, it can be used to create doodles, make funny facial expressions, etc. I would love to see someone take it for a spin! Or maybe even help out with the To Do List.

How it works (Geek only section)
---
Take any environment where you can perform an action that has an observable effect on the environment.
Build a model that acts on this environment in n different ways such that it itself can easily distinguish between these n ways of interacting given the observable effects it has on the environment.

Thus, it should work well irrespective of what the environment represents, bet it typing, painting, animating, navigating, etc.

To Do List
---
- Use the image as input instead of the internal state (arm joint states) to optimise for **visually** distinct dancing rather than quantitatively **distinct** dancing! After all, this project is more about the eye candy ;)
- Use a variational auto-encoder instead to increase diversity