neocortices vs genes
A spider will spin a web, a caterpillar will create her own cocoon, and a beaver will build a dam, even if no contemporary ever showed them how to accomplish these complex tasks... The evolution of animal behaviour does constitute a learning process, but it is learning by the species, not by the individual, and the fruits of this learning process are encoded in DNA. To appreciate the significance of the evolution of the neocortex, consider that it greatly sped up the process of learning from thousands of years to months (or less)...
There are on the order of a quadrillion connections in the neocortex, yet only about 25 million bytes of design information in the genome (after lossless compression), so the connections themselves cannot possibly be predetermined genetically... The connections between modules are created on the whole from experience (nurture rather than nature).
- How to Create a Mind (Raymond Kurzweil)
Development of neocortex was in some sense inevitable. As evolution created more complexity over time, the ecosystem became harder to navigate and its participants needed a more versatile and quicker way of absorbing greater quantities of information.
Genes are slow and one dimensional, while the brand new neocortices are lightening fast and three dimensional. The downside is that what is learned through a neocortex has much lower chances of being faithfully transferred to the next generation. Cultural mechanisms are limited and nowhere near as accurate as the biological ones.
Note that this intergenerational transferability issue is what is responsible for the much deeper computational complexity of genetic learning. While we could basically reverse-engineer the neocortex through hierarchical hidden Markov models, we still can not even define what it means to be a single gene. Usually later technologies are harder to reverse-engineer, but it has not been the case here since neocortices and genes do not replace one another but are built on top of one another.
Keep in mind that Kurzweil is probably significantly underestimating the genomic information density:
Firstly, he does not take into account context dependency. Same code fragments can assume entirely different meanings in different contexts. (This is part of the reason why we still can not define what it means to be a single gene.) In other words, some of the information is sourced from the environment.
Secondly, the extremely complex relationship between the code and the environment has a sequentially nested character. Decoding alters the environment and this change in the environment sets off a new chain reaction of decoding and so on. In other words, the code works on itself through the environment. This loopiness implies that the apparent one dimensionality is deceptive. Once we factor in the time dimension, genome too looks like a connectome. (Nodes are the set of all subsets of the genome.) In fact, most of the complexity comes from the network of interactions, not the nodes. (Wheat has nearly 100K genes while we have 20-25K genes. Guess who is more complex.)