Hi Adam -- thanks for an interesting presentation -- an ambitious project!
You mention that the reason for indirect representation is the ability to exploit ans reuse modulare structures. You also say that GRNs ancode dynamics (trajectories of protein concentrations). So are you looking for modular *dynamical* structures then? Have you thought about time series classification, rather than static image classification tasks?
Thank you for your questions. There are several possible ways I can imagine a GRN can create modular structures. One is to produce an oscillatory trajectory, so the same patterns are visited multiple times. Another is to have some "toolkit genes" which regulate many other genes, so the pattern of these genes are copied (with variation) by many of these regulated genes. I believe this is how the toolkit genes in biology (like the HOX genes) work.
Using a GRN to generate a neural network for image classification is a bit unconventional, and perhaps they are not the best suited to do this, but they do an OK job. I would be happy to use task better suited for GRNs, however there are other considerations as well.
I am looking for a group of tasks which are similar enough so there are some general knowledge that can help solve all of them, but they are different enough so this knowledge is useful for new situations. The omniglot dataset is ideal from this aspect, since it contains 1500 different character classes which are different enough, but they are all handwritten character recognition tasks, so they are similar enough as well.
There are many ways to quantify evolvability. One is to calculate the distribution of fitness effect histogram, and look at the upper tail. Or run evolution for X generation and look at the fitness improvement. Unfortunately with these methods, generally it is not possible to compare two measurement directly, further tricks are needed. In my case it was possible, since the solution converged quite fast, so I could run until convergence and compare the fitness.
Another common way to quantify evolvability is to measure the variability of behaviour, which is done by many of the previous work. This definition does not concerned with adaptiveness, just variation. It is nice because we can compare two individuals, but we need a good behaviour characterisation.
Thank you for your suggestion, I will definitely read the report.
Hi Adam -- thanks for an interesting presentation -- an ambitious project!
ReplyDeleteYou mention that the reason for indirect representation is the ability to exploit ans reuse modulare structures. You also say that GRNs ancode dynamics (trajectories of protein concentrations). So are you looking for modular *dynamical* structures then? Have you thought about time series classification, rather than static image classification tasks?
How do you *quantify* evolvability, in order to get a score?
ReplyDeleteYou might be interested in this summary of the EU EvoEvo project:
ReplyDeleteGuillaume Beslon, Santiago Elena, Paulien Hogeweg, Dominique Schneider, Susan Stepney (2018). Evolving Living Technologies -- Insights from the EvoEvo project. SSBSE 2018, LNCS 11036:46-62, Springer. doi:10.1007/978-3-319-99241-9_2
Thank you for your questions.
ReplyDeleteThere are several possible ways I can imagine a GRN can create modular structures. One is to produce an oscillatory trajectory, so the same patterns are visited multiple times. Another is to have some "toolkit genes" which regulate many other genes, so the pattern of these genes are copied (with variation) by many of these regulated genes. I believe this is how the toolkit genes in biology (like the HOX genes) work.
Using a GRN to generate a neural network for image classification is a bit unconventional, and perhaps they are not the best suited to do this, but they do an OK job. I would be happy to use task better suited for GRNs, however there are other considerations as well.
I am looking for a group of tasks which are similar enough so there are some general knowledge that can help solve all of them, but they are different enough so this knowledge is useful for new situations. The omniglot dataset is ideal from this aspect, since it contains 1500 different character classes which are different enough, but they are all handwritten character recognition tasks, so they are similar enough as well.
There are many ways to quantify evolvability.
ReplyDeleteOne is to calculate the distribution of fitness effect histogram, and look at the upper tail.
Or run evolution for X generation and look at the fitness improvement.
Unfortunately with these methods, generally it is not possible to compare two measurement directly, further tricks are needed.
In my case it was possible, since the solution converged quite fast, so I could run until convergence and compare the fitness.
Another common way to quantify evolvability is to measure the variability of behaviour, which is done by many of the previous work. This definition does not concerned with adaptiveness, just variation. It is nice because we can compare two individuals, but we need a good behaviour characterisation.
Thank you for your suggestion, I will definitely read the report.