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
- Host: GitHub
- URL: https://github.com/reubenjohn/creative_diversity
- Owner: reubenjohn
- License: mit
- Created: 2018-01-07T14:27:18.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2022-01-02T12:55:31.000Z (over 3 years ago)
- Last Synced: 2025-01-21T08:09:36.342Z (4 months ago)
- Topics: autoencoder, dancing-robot, machine-learning, neural-networks, opencv, tensorboard, tensorflow, unsupervised-learning
- Language: Python
- Homepage:
- Size: 8.79 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Creative Diversity
===
Simple setup to optimise for diversity whilst maintaining uniqueness.[](https://www.youtube.com/watch?v=b_T1iQYkQRk)
Video demo of of it getting a bunch of arms to dance uniquely to one another[](https://www.youtube.com/watch?v=SvkLbaj4irA)
Video demo of it's internal structureFYI, 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