In this chapter, we learned about the method of indirect encoding of the ANN topology using CPPNs. You learned about the HyperNEAT extension of the NEAT algorithm, which uses a connective CPPN to draw connectivity patterns within the substrate of the phenotype of the discriminator ANN. Also, we demonstrated how the indirect encoding scheme allows the HyperNEAT algorithm to work with large-scale ANN topologies, which is common in pattern recognition and visual discrimination tasks.
With the theoretical background we provided, you have had the chance to improve your coding skills by implementing the solution for a visual discrimination task using Python and the MultiNEAT library. Also, you learned about a new visualization method that renders the activation values of the nodes in the output layer of the discriminator ANN and how this visualization can be used to verify the...