Learning to Move: Three Kinds of Learning

(This post’s image is a photo I took of my yoga gear. Specialized tools like my mat, blocks, and strap work together to make my practice possible. They extend my body, and help arrange it in the ways my mind imagines)

I was pretty sedentary as a kid, and didn’t get serious about physical fitness until I was an adult. One nice thing about that is I got to watch myself learn, knowing all I do now about the brain. By practicing yoga and working with physical therapists, I’ve learned a lot about myself, but also how mind and body work together. Mastering a new physical skill actually recruits at least three separate learning processes working together. Understanding this changed my expectations, helped me gain more control over my body, and made exercise much more enjoyable.

When I first started yoga, I was startled by how little I knew about my body. My teachers were asking me to observe and discern sensations I’d never noticed before. They asked me to get into certain poses, using certain muscle groups, and I didn’t know how! I didn’t have the names for these things. Worse, I could see what I was supposed to do, but I didn’t know how to make my body do that, or even if I could. It was frustrating.

It’s weird to think how ignorant we are of our bodies, given that we live in them our whole lives. For me, a prime example comes from physical therapy. When recovering from an injury, I relearned how to walk up stairs. I’ve climbed stairs thoughtlessly my whole life, and I never considered there were different ways to do it. But the leg is controlled by opposing muscle groups. I used to climb stairs by lifting each leg, using just the muscles on the front side. I learned to also use the muscles on the back side, to push up and straighten the leg. Either set of muscles can do the job alone. Now, I consciously try to balance the effort from both sides, but this never would have occurred to me without knowing a little anatomy.

That knowledge was game changing for me, but unfortunately knowing how the body works isn’t good enough. I can memorize anatomical diagrams, muscle names, and facts about body mechanics, but the only interface between the brain and body are the spinal nerves. How’s the brain supposed to know what nerve impulses correspond to which movements? There’s actually a region of the brain dedicated to this problem, the cerebellum, but it’s not consciously accessible. This is why yoga instructors use cues: they teach little mental tricks for recruiting muscles, and associate them with relevant postures.

Try this. Bend your elbows ninety degrees to extend your forearms out from your body, palms up. Imagine someone’s handing you a heavy platter. You might notice the trapezius and rhomboid muscles engage between your shoulders. These muscles largely serve a supportive role. For many people, they aren’t needed much in daily life, but using them can improve posture and reduce strain on other muscles. The problem is, they’re easy to ignore and hard to describe. But I can turn them on with the cue, and then I can learn what it feels like to use those muscles. Once I can tell whether they’re working, I can often activate them at will. Or, I can just use the cue, as needed.

Of course, conscious knowledge of form and cues are just step one. Muscle control is mostly unconscious, and for good reason. Remembering all the cues, monitoring my body, and continuously correcting my posture is work. It takes my full attention, leaving no room for anything else. Luckily, that’s just a phase. With enough practice, my cerebellum learns the patterns and can take over. I can hand off that work to my unconscious motion control sub-processor, freeing my conscious mind to think about something else.

This is why physical therapy can be so effective. After an injury, some muscles and joints may not perform like they used to. Some links between mind and body might even be severed or scrambled. Recovery means learning new ways to do old activities. At first, this is a nightmare. Without the support of the cerebellum, even just walking is an intensive conscious effort. Physical therapy can be a painful, tedious, and drawn-out process, but for many patients it makes a world of difference. It teaches the cerebellum new motion programs. Potentially, walking can become fully automatic again. The conscious mind can be used to retrain the unconscious mind in profound and lasting ways.

Yet knowing how to move isn’t enough if the body can’t follow through. The hardest part about learning a new physical activity is that the body usually isn’t ready for it. When I first started yoga, my muscles were weak, rigid, and lazy. They quickly became tired and sore, which just made me want to use them less. They struggled to move my body weight, and were so tight that my range of motion was limited. Some postures were hard, uncomfortable, or impossible. I couldn’t keep up, and when I pushed myself harder, I only injured myself.

That taught me a lesson about patience and acceptance. My body wasn’t ready, so I couldn’t do those poses, but I could work towards them. I learned to listen to my muscles complain, and to distinguish between different sensations. Some indicate hard limits I should not push past, but most are just signs of stress, and those can be good. When muscles, bones, and tendons get stressed, they respond by becoming bigger, stronger, and tougher in a process called anti-fragility. The discomfort I feel is just that physical learning process in action. By embracing the discomfort, I could slowly reshape my body.

Anti-fragility doesn’t involve the brain, conscious or unconscious. It’s a kind of learning that happens in the body tissues themselves. My muscles “know” whether they are getting the job done. They can tell if they are actually contracting and relaxing when they get the signal, whether that was easy or hard, and whether they sustained any damage in the attempt. They recognize how often they are put to use, and whether they are usually exhausted or ready for action.

Generally speaking, muscles conserve energy by doing as little as possible. But when I regularly demand more of them, they adapt. They become bigger, stronger, and more responsive. They consume more energy at rest so they’re always ready for action when I need them. They become less lazy, working harder by default, which makes them stronger still. This requires more protein to build the muscles, and more calories to power them. So my metabolism adapts, too. I eat more and my body burns more calories continuously, rather than storing them as fat.

What’s so fascinating is how all three ways of learning work together. With conscious thought, I choose to change my behavior. I master new facts and cues, so I know what I’m doing at an intellectual level, and can execute new skills (poorly, at first). With practice, not only do I refine those skills, but I engage an unconscious learning process that makes them fully automatic. I can focus my mind on the task I want to accomplish, and trust my body will just perform all the complex movements I need to pull it off. My muscles may not be up to the challenge at first, but that’s fine. With willpower, I push my tissues to their limits, and they learn to do what I ask. By the principle of anti-fragility, my body automatically remodels itself, increasing strength, flexibility, or stamina precisely where they’re needed. It makes itself a better robot, one that can live the lifestyle my mind consciously chooses. These three learning processes work independently, yet together they make a dynamic human being, one that can just as well become a yogi, a warrior, a marathon runner, or a weightlifter.

Intelligence isn’t just about brains, it’s about bodies, too, and about multiple intelligent systems working together in complex ways. I hope this was a helpful example, but as always I’m looking for feedback. Is this an experience you can relate to? Have you observed these different systems within yourself? Do you think it helps to know what’s going on intellectually, or do you approach physical training in a different way? Any other thoughts or observations to share? I’d love to hear from you in the comments.

Why Genetic Algorithms?

These days, the Artificial Intelligence community is pretty fixated on Deep Learning, a software tool inspired by the human brain. It’s popular because it’s successful. Deep Learning technology has driven incredible advances in natural language processing, image perception / generation, and game playing (not to mention ad targeting, feed ranking, and surveillance). That success was partly driven by luck. It turns out, even a fairly simple DL algorithm, given enormous amounts of data and computational power, can do pretty remarkable things. Other attempts at reproducing intelligent behavior haven’t been so successful, and are relatively neglected for that reason. That’s a shame, because I believe there are big opportunities in areas where we aren’t looking, they’re just a little more difficult to uncover.

Recently, I’ve taken particular interest in Genetic Algorithms. Put very simply, these are computer programs which use the principle of “survival of the fittest” at their core. They’ve been a popular topic of research since the 1960’s. Since then, they’ve found moderate success and have become standard kit for solving certain kinds of computational problems. Unfortunately, the fundamental design principles for GAs haven’t changed much since the 70’s, despite the fact that our understanding of evolution and our computing hardware have improved dramatically since then. I think today’s GAs are a shadow of what they could be, and I have ideas for how to unlock that potential.

But first, let’s establish what a traditional Genetic Algorithm is. Like Deep Learning, GAs are a tool for training a computer to do a task without explicitly telling it how to do the work step by step. There’s one big difference, though. DL is good at replicating what a human being would do, but to learn that it needs hundreds (or better yet, millions) of examples to study and imitate. So, it’s mostly good for automating work that people already do routinely. In contrast, GAs don’t need any example data. They’re good at solving problems where we don’t know the best solution or how to find it, just so long as we can recognize a good answer when we see it. The main challenge is framing the problem in such a way that the GA can learn to solve it.

Genetic Algorithms are often used when the space of possible answers is so big it would be impossible to try them all, or even to explore them in a systematic way. Instead, a GA depends on randomness. It starts by just guessing a bunch of solutions. Most of these will be garbage, so they get thrown out right away. The ones that are slightly better than complete garbage become the starting point for the next iteration. The algorithm makes more possible solutions by mixing the best previous solutions together and sprinkling in some extra randomness for variety. By sheer luck, some of those solutions may be better than the previous ones, and the process repeats. This simple method can be surprisingly effective, gradually transforming garbage into gold. But it depends a lot on giving the algorithm the right pieces to start with such that randomly mashing them together might actually work.

Natural selection is a kind of design process. Like human designers do, nature gets inspiration from random sources, tests ideas against harsh reality, and iterates to discover and build highly functional objects. Genetic Algorithms are basically an automated version of that process, so they’re frequently used as design tools. For instance, modern Computer Aided Drafting (CAD) software for architecture and industrial design often use GAs. A human designer specifies some constraints (how big an object can be, how much weight it must hold, etc.) and fitness goals (minimize weight and material costs, but maximize tensile strength), then the software automatically finds good solutions. Recently, there’s also been a great deal of interest in using GAs to design effective architectures for Deep Learning systems.

So, that’s Genetic Algorithms in a nutshell. Why do I feel there’s unrealized potential here? What do I want to do differently? There are several insights from modern evolutionary theory that I want to apply to GAs. Generally speaking, though, it’s all about what work is done by the programmer vs. what is left up to evolution. A GA uses a “gene sequence” (usually just a string of digits) to represent each of its attempted solutions. A gene sequence can either be a solution in itself, or a program that generates the solution. Traditionally, what the gene sequence means and how to derive an answer from it is entirely up to the programmer. This is very different from nature, where life evolved the language of genetics and species-specific genomes along with all the organisms built using those tools.

Then there’s the search process itself. In a traditional Genetic Algorithm, the programmer takes great care to tune the rate of mutation and the process of recombining genes from multiple individuals. They often hand design “custom mutations” that are more clever than just randomly changing digits in the gene sequence. They use their knowledge and intuition to avoid testing obviously bad gene sequences, to make changes that seem useful, and to preserve good patterns in the gene sequence that might otherwise get clobbered or broken up. This can help enormously, but it’s a lot of hard work for the programmer. The science of epigenetics shows that nature uses many of the same tricks, but it discovered them through natural selection, without any human guidance.

In a nutshell, life has an element of self-determination. Life designs itself, and optimizes the search process for better designs, using evolution by natural selection as its tool. I think it’s a mistake to imagine life as a passive product of evolution, like traditional Genetic Algorithms do. I think it’s a mistake to leave the hardest parts of GA development to a human being. Not only does that make human creativity a limiting factor, it means we aren’t studying or reproducing the most remarkable thing about natural evolution.

I hope this perspective will be valuable. One of the biggest shortcomings of Genetic Algorithms so far is that they aren’t nearly as open-ended or creative as life itself. Very rarely do they exhibit the sort of accumulated layers of complexity and sophistication that are the hallmark of natural intelligence. Perhaps that will change, if we can hand over more of the creative work to the GA? Perhaps a new paradigm in GA designs could make them applicable to new kinds of problems, or produce more clever solutions? I’m working on a prototype that I hope will demonstrate that potential.

The main drawback of my approach is that evolving the design for a Genetic Algorithm takes way more time and computing power than just running a GA designed the old fashioned way. I’m not too worried about that, though. I’m using the same parallel processing hardware that has become ubiquitous for Deep Learning applications to make my code efficient and scalable. My hope is that this new approach to GAs will make it possible to improve their performance by just throwing more computational power at the problem, like we already do so successfully with DL. This would also make GAs less cumbersome, by replacing expert design and hand-tuning with automation.

There’s lots more beyond this that I hope to explore in time. For instance, life evolves whole ecosystems and environments where organisms collaborate and support each other, producing intelligence, robustness, and efficiency far greater than the sum of its parts. By comparison, many Genetic Algorithms work on single individuals that exist in total isolation. Then there’s the way life evolves layer upon layer of emergent complexity, building communities out of brains, bodies, cells, and proteins. I’m excited to build multi-layered intelligent systems, and especially to try combining evolved programs and neural networks in a biologically realistic way.

Turns out, there’s much more to AI than Deep Learning. I’m pretty excited by the untapped potential of Genetic Algorithms, but that’s just me. Are there other areas of AI research that interest you? Can you think of more examples of natural intelligence that computers can’t seem to replicate? I’d love to hear from you in the comments. This post is also a preview of my research. I hope to share my first prototype by the end of the year. So, stay tuned for more on that.