Critique

Code Bullet - A.I. Learns To Walk

This video demonstrates the use of a genetic machine learning algorithm (specifically NEAT) to create a simple figure that can walk. The creator of this video, Code Bullet, publishes artificial intelligence videos for the purpose of entertainment and education. His videos primarily consist of creating machine learning algorithms that learn how to play games, such as Snake, 2048, and Pong. Although the primary purpose of this particular video is entertainment, it still contains a central argument that is worthy of analysis and critique.

This video illustrates Code Bullet’s process of developing an algorithm that is able to control a 2-dimensional human-like figure and make it walk at a reasonable speed. Bullet is arguing that his approach is a valid simulation of a real creature learning to walk. While his approach is extremely similar to that of real evolution, there are a few pitfalls of the approach that distance itself from actual evolution. Ultimately, however, this video is an amazing and entertaining demonstration of the real processes and considerations that are required for creating a successful genetic algorithm.

Code Bullet’s credibility on the subject of AI is established by his extremely successful youtube channel creating machine learning algorithms to play games. In all of his videos, he demonstrates his extensive knowledge of artificial intelligence, machine learning, software, and game theory. Since this video is meant for entertainment and his audience is likely young, nerdy youtube users, his casual and vulgar diction is not a problem, but certainly does not help his credibility from an academic standpoint.

Bullet begins the video by showcasing Evolution, a game that allows the player to create creatures with bones and muscles. These creatures are then put to the test by training them to walk via a simple genetic algorithm. Bullet wants to do something similar, but does not like the limiting factors of creature creation and would like to have the creatures be composed of connected 2-dimensional shapes that can rotate their vertices to create movement. The bones and muscles approach is the most analogous to real movement, while Bullet’s approach is dissimilar. Although Bullet’s approach is easier to apply a genetic algorithm to, it distances his approach from real biology. Additionally, the fact that creatures have a fixed structure is not analogous to real evolution. If the creatures were to evolve their structure over time, this would be more analogous to biology. Bullet also uses the game Evolution’s simple genetic algorithm as support for his decision to not use the game’s approach. This is valid as the Bullet’s genetic algorithm of choice (NEAT) is most similar to actual biological evolution. Another issue with Bullet’s approach is the fact that the joint angles are not limited, meaning that the creature can move its legs in unnatural ways. While the angles are not limited for the purpose of entertainment, it makes this demonstration more dissimilar to biology. Limiting the joint movements to natural movements would also make the creature more performant as well.

This video is very effective at demonstrating the considerations that need to be made when applying genetic machine learning. The thought process behind the inputs of the neural network are adequately justified, although I suspect more inputs would improve the performance of Bullet’s algorithm. Requiring the agents to move at a certain speed to survive is a good way to prevent premature convergence (a common occurrence in genetic machine learning). Additional explanation of the structure of Bullet’s NEAT algorithm (model structure, genetic algorithm parameters, fitness function) would demonstrate Bullet’s expertise on this subject and further improve the credibility of his argument.

Bullet’s video is a fun, entertaining example of a genetic algorithm in action, but takes avoidable shortcuts for entertainment and ease of development that ultimately weaken his approaches similarity to real biological evolution.