Research

Building Smart Swimmers

A computational fish plays follow the leader

Scientists have long wondered whether the schooling of fish is driven by hydrodynamic benefits, but the complexity of their environment makes unraveling this complex motion difficult. A recent study uses a different tactic, combining direct numerical simulation of the fluid dynamics with techniques from artificial intelligence and machine learning to build and train autonomous, smart swimmers.

The authors use a technique called deep reinforcement learning to train the swimmers. Essentially, the swimmer being trained is able to observe a few variables, like its relative position to the lead swimmer and what its own last several actions have been – similar to the observations a real fish could make. During training, the lead swimmer keeps a steady pace and position, and the follower, through trial and error, learns how to follow the leader in such a way that it maximizes its reward. That reward is set by the researchers; in this case, one set of fish was rewarded for keeping a set distance from their leader, one intended to keep them in a position that was usually beneficial hydrodynamically. Another set of fish was rewarded for finding the most energy-efficient method for following.

Once trained, the smart swimmers were set loose behind a leader able to make random decisions. Above you can see the efficiency-seeker chasing this leader. Impressively, even though this smart swimmer had the option to go it alone (and had never followed such a dynamic leader), it does an excellent job of keeping to the leader’s wake. Compare it with real swimmers and there’s a definite similarity in their behavior, which suggests the technique may be capturing some of an actual fish’s intuition. (Image and research credit: S. Verma et al., source; thanks to Mark W. for assistance)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: