I am very enjoying to play with EteRNA, it’s a great game and most of all it’s useful!
I recently had a simple idea that I would like to share with the community. I do not know if it is a good one, but I think it’s worth to share it and have your comments!
In practice, I am realizing that the energy model running behind the hood is a simplified energy model which, despite its obvious limitations, represents a very important tool to explore RNA folding. Now we all know that other models exist which are way more accurate (like, for example, my many-body Wigner Monte Carlo method, http://www.sciencedirect.com/science/…) but they require a certain amount of computational resources (see clusters) and time so they are not suitable for a game.
What about the following: One may let the people play with the simplified energy model. Different users will come up with different solutions. In the meanwhile, a neural network could be trained and play the game too (see the very interesting approach described here http://googleresearch.blogspot.com/20…). This wouldn’t be expensive as the energy model is very fast to run. I expect that humans and neural networks will provide different solutions (as they “think” in very different ways).
At this point, we have drastically reduced the space of solutions to explore (as they are directly provided by humans and neural networks). One could, then, proceed with a second step before the lab synthesis. All provided solutions could be run in a supercomputer using one of these very accurate models to see if they fold correctly. If not, these “exact” simulations would give us the reason why it’s not folding correctly (and this could even be given as a feedback to the trained neural network as well as humans).
Only at that point, one could try a lab synthesis with the few solutions that survived the previous process.
This would be twofold: it would save time and money in the lab (experiments are expensive and time consuming) and it would provide new knowledge on how RNA folds.
I don’t know if this idea makes even sense at all but I hope to get some of your comments. Thanks!
this is a great idea – indeed one of the devs, nando, and some other players have talked about a similar option.
As you get further in the labs, you can access an alternative energy function, and we are discussing ways for players (or bots) to be able to tweak their own functions, using our eternascript system. Deploying this is not yet top priority – we don’t quite have enough developer cycles – but may be later in the year, since the results could be so transferrable and powerful.
Many thanks for your answer Rhiju! Please keep me updated about this option, I find it VERY interesting!
any news on this topic? did you guys come up with something interesting so far? I’m looking forward to know! thanks!
I’m personally spending quite a bit of time working out the convnet training proceure – still a few months away from results. But if training a NN based on player actions works (as it has in Go, etc.), that will indeed be the best way to go for eterna to make rna computers, 3D robots, etc. If you or someone you know happens to be an expert in NN’s and has the compute to carry out the training, let me know…
Due to the recent renaissance of Artificial Intelligence, I have spent part of my time (part of 2014 and the whole 2015) doing research in the topic of neural networks (NN). For example, by exploiting some analogies with physics I’ve been able to improve the process of training a NN by introducing effects coming from quantum mechanics. I also depicted an algorithm which is able to choose what would be the best topology/structure of a NN given a certain problem to solve (some of these papers are now online, many of them are still under review - you know how incredibly slow this process is…).
Personally, I am VERY confident that these techniques could be applied successfully to the problem of playing a game like EteRNA (one should add an extra layer, i.e. learning reinforcement, though) with a HUGE benefit for the human kind. And, obviously, I would be more than happy to be involved in the development of such an approach to RNA based technology… and I have time right now
I would like to discuss more about this topic and on how to proceed by email. Do you know, by chance, how to contact me or should I post my email address here? Thanks!
Finally I’ve been able to find some time and I started a new GNU project which name is Gneural Network. It implements a programmable neural network. I am planning to use it, as soon as it is “advanced enough”, to learn RNA folding. You can find it here:
If you have time, I’d like to know your opinion on this plan. Many thanks in advance!
i like the name.
what do you envision will be useful for eterna – training a game player based on expert move sets?
also, as you probably know, google has released tensorflow as open source code – are there features missing in tensorflow that gneuralnetwork will have?
Thanks for your reply! I am very happy to see that you too think it would be useful for eterna!
Concerning tensorflow, I am not familiar with it but I suspect (correct me if I am wrong) that their training method is essentially based on deterministic methods while I am planning to strongly rely on stochastic methods in Gneural Network. This is twofold: on one hand, stochastic (or Monte Carlo) methods are known to be able to solve problems where the regularity of possible solutions is unknown (and this is why many deterministic methods fail usually), on the other hand they are well-known to scale incredibly well (therefore allowing the parallel treatment of very big problems).
I have been dealing with Monte Carlo methods for 12 years now and I feel this could be a huge advantage even in the neural network training process.