Procedural Thinking: Understanding AI and ML in the next workforce revolution
How to increase your Procedural Literacy
Are you Procedurally Literate? It’s the step beyond Computer Literacy, where you not only know how to use a computer, but also understand how the computer accomplishes your requests. The current Machine Learning (ML) boom is raising the bar for the logic behind our tech. Take Google, for example. In the last five years, there has been an exponential growth in the use of Machine Learning in Google products.
Historically, this type of innovation is commonplace. It wasn’t maybe 100 years ago where elevators were operated by humans, calculations made through slide-rules, and research done with encyclopedias. The 2016 film, Hidden Figures, tells the story of three influential African American women at NASA in the early 1960’s, where humans performed as computers before machines could:
By predicting the trends in her career landscape, Vaughan manages to save and advance her own career as well as the careers of countless other women, both black and white. (CNBC, 2017)
With AI and modern ML, these advancements mean that semi trucks will someday drive themselves, and restaurants will be run by robots.
Skills for the next workforce revolution
With this in mind, the skills that were valued when we were in school, may quickly lose relevancy. Fortune 500 released the Most Valued Skills in 1970 and compared it to desired skills of 2009.
According to Fortune 500 (shown above), in the span of 30 years, valued skills of writing, computation, and reading, are swapped with teamwork, problem solving, and interpersonal skills. Impacting the need for computational skills, the first portable computer was built in 1973, and as computers became household devices, computational processes become widely automated. On the other hand, reading and writing have become less valued, because the reduction of illiteracy greatly increased the supply of these skills. Although less valued, reading and writing have arguably become more essential, because our world functions ever-increasingly around communication, which supplements the value of interpersonal and teamwork skills.
So, what about problem solving? As Fortune 500 points out (shown below), problem solving replaces computation as the second most valued skill in 2009. Mentally, these two require different approaches, (logical thinking vs analytical thinking) which we can see evident in how the needs of the workforce have changed over 50 years. And this will continue to change; as procedural literacy increases, we see that technical invention predictably takes the place of certain (automate-able) types of labor, changing the types of problems that need solving.
The diagram below shows how we’ve moved from the space of finding a single solution to finding all the solutions for a type of problem. This demonstrates a shift from Analytical to Computational Thinking. Even companies like Google, considering that education may not keep up with demand, have directed resources towards making Computational Thinking accessible to students.
Computational thinking (CT) is a problem solving process that includes a number of characteristics, such as logically ordering and analyzing data and creating solutions using a series of ordered steps (or algorithms), and dispositions, such as the ability to confidently deal with complexity and open-ended problems. CT is essential to the development of computer applications, but it can also be used to support problem solving across all disciplines, including math, science, and the humanities. Students who learn CT across the curriculum can begin to see a relationship between subjects as well as between school and life outside of the classroom. (Google’s Exploring Computational Thinking, 2017)
The point isn’t that everyone needs to program, but that it’s responsible to teach each generation how to build skills (technical or not) that will adapt with the times. The trajectories of valued skills are heavily impacted by innovation and invention. Although, we don’t need everyone to be an engineer, we do need to understand what engineers are working on in order to make informed and responsible choices for ourselves and our families.
What changes have we seen since the Forbes publication in 2009? Institute for the Future creates predictions for 2020 in the diagram above. Frameworks and concepts for thinking come into the limelight like: Design Thinking, Computational Thinking, Media Literacy, Cognitive Bias, Systems Thinking and Procedural Literacy. As we witness the current Artificial Intelligence and Machine Learning boom, we introduce Procedural Thinking for understanding technology in the era of engineering intelligence and learning.
If Computational Thinking engineers the obtaining of solutions, then Procedural Thinking engineers the intelligence for obtaining solutions. More to the point, Procedural Thinking is how we understand and build Artificial Intelligence and Machine Learning. We say procedural like we do for Procedural Content Generation, Procedural Literacy, and Procedural Rhetoric.
Here’s a set of examples:
- Logical and Analytical Thinking: Finding the ace of spades in a deck of cards.
- Computational Thinking: Knowing the process of finding any card. Sorting the deck of cards.
- Procedural Thinking: Sorting or classifying innumerable or non-qualitative properties of entities in a set.
Imagine being handed a deck of cards and asked to find the ace of spades. Analytical Thinking helps you find the solution to a problem. Computational Thinking helps you develop a process for efficiently finding solutions in a problem space, like: “What if I wanted you to find various cards? Would you change your approach? Maybe you would sort the deck, and if so, how would you sort it?
With poker cards, we have numbers and colors (black and red) to organize or sort our data, but what if there were countless qualities? Imagine I want you to find something without telling you exactly what it is. Maybe I’m looking for all cartoon characters from Japan that shoot lightning bolts from its cheeks. How would you identify them? How would you sort cartoon characters? While Computational Thinking primarily focuses on solving well defined problems, Procedural Thinking aims to solve problems that are an order of complexity beyond that.
Here’s another example, using chess:
- Logical and Analytical Thinking: Knowing how to play chess.
- Computational Thinking: Knowing how to create a computer that enforces the rules of chess.
- Procedural Thinking: Knowing how to create a computer that competitively plays chess.
AI and ML could easily be used as widespread as reading and writing, and the image below shows how the progression of skills we value becomes more focused as technology becomes more complex. Today, being able to think logically is a universal skill, as is the fundamental practices of problem solving. While not everyone needs to program, the need for computational thinking gives an added benefit to to those navigating a technology driven society. As we develop ways of automating skills and labor, the shift of what we value will likewise progress. Machines have proven to be among the most impactful tools we have, and companies like Google are looking to invest in the development of smarter ones. In the past week, such announcements were made about the democratization of AI.
AI makes it easier for you to do things every day, whether it’s searching for photos of people you love, breaking down language barriers, or helping you get things done with your own personal digital assistant. But it’s also providing us with new ways of looking at old problems and helping transform how we work and live, and we think the biggest impact will come when everyone can access it. (Google.ai, 2017)
Similarly, new initiatives are springing up to teach Procedural Thinking to a diverse population of the next generation, championed by Dr. Fei Fei Li, who runs the AI Lab at Stanford.
Li points out that locking up talent and knowledge in academia and giant companies damages computing diversity, reduces creativity and innovation, and exposes the marginalized to injustice and unfairness. Her non-profit, AI4ALL, supports K-12 education programs for underrepresented groups in AI. (Forbes, 2017)
AI is the most transformative technology of our time. While we apply AI to the greatest challenges of today, it is imperative that we develop a rich and diverse community of next generation thinkers to advance AI for tomorrow. We are thrilled to support the mission of AI4ALL to bring diversity to AI through education. (AI-4-ALL.com, 2017)
Here’s How You Get Better at Procedural Thinking
Whether or not someone wants to learn how Artificial Intelligence works, we know that AI is already becoming of household and everyday use. Procedural Thinking starts with the awareness of that. Here are four levels based off of with how literate you’d want to be in Procedural Thinking, and while not all people need to be procedural thinkers, it’s still highly beneficial to have a basic understanding of what procedural thinking is.
Level 1. Understand how Procedurally Literate you are
Here’s a simple inventory for each type of thinking. Just answering “yes” in any category implies that there is some inclination towards that approach to thinking.
- Are you a logical thinker?
- Do you understand algebra?
- Do you like riddles?
- Do you like to play games?
- Are you good at mathematical word problems?
- Do you understand geometry and physics?
- Do you know how to program?
- Do you like abstracting problems?
- Do you understand algorithms?
- Do you like building prediction models or knowledge systems?
- Do you understand statistics or linear algebra?
- Are you good at formalizing behavior, information, or decision making?
At the very least, it’s good to know what you don’t know.
Level 2. Understand how and in what ways AI and ML are used: “What is AI?”
This level of understanding involves being well read and following the advancements of science and technology around AI. I’ve written an article on how to exercise this sort of curiosity.
So, what IS Artificial Intelligence? Another type of answer I get are along the lines of “computers that think” or “smart machines,” which are decent surface level answers. It’s easy to explain what makes something artificial (human-made things, like computers, machines, technology, etc.); however, asking, “what is intelligence?” makes for a much better classroom discussion.
Next, I ask the students to get out pen and paper for an exercise. I tell them, In column A, I want all the ways that computers are better than humans. In column B, I want all the ways that humans are better than computers.
Invariably, they’ll soon get that humans are quite good at seeing, hearing, smelling, tasting, and touching. Once we’ve touched specifics of human movement, language, and learning, I’m able to draw connections from the named human attributes to common and novel pursuits in AI. (How to explain AI to kids, 2017)
We may not know how to build the AI ourselves, but we can still be as informed as the XKCD character below.
Level 3. Understand how to use AI and ML
At some point we go beyond knowing AI exists, and are able to put it to good use. What if someone handed you a bunch of good AI? How would you use it?
Well, Google does just that with their pre-trained ML APIs, which are tools built through Machine Learning. It requires no knowledge of how ML works, and only the understanding and ability to put it to use in a program, application, or device.
Level 4. Understand how to build AI
It follows that the final level of Procedural Thinking involves the building of AI itself. There’s actually a wide range of paths to take here, ultimately arriving at the ability to improve, train, and discover new approaches to AI.
But If I were to offer a few paths to take, this is what I’d recommend:
- Game AI. Simply think about how you would program a computer to play a game. I often start students out with Rock/Paper/Scissors, Tic Tac Toe, or some other simple game. Here’s an awesome Berkeley course on Pac-Man AI.
- Natural Language and Chatbots. Try to create your own chatbot like ELIZA or Google Assistant. https://api.ai/ is a great tool for building conversational agents.
- Autonomous Vehicles and Self-Driving Cars. Build yourself an autonomous (self-driving) robotic vehicle using Arduino.
- Handwriting Recognition. Try teaching the machine how to recognize numbers. Here’s a great introductory codelab of step-by-step ML for handwriting recognition (with video).
- Procedural Content Generation. Get the computer to compose and generate music. You can find an open source project, like Magenta using Tensorflow.
- Machine Learning. Take an online course on ML. Here’s a review of various ML online courses.
- Big Data and Data Science. Finally, If you are at one of the many companies seeing the shortage of these skills, you could learn about what’s happening at places like Airbnb.
You might be wondering whether adding another type of thinking may needlessly complicate things. I mean, why can’t it all just be programming? Of course, as technology practices advance, our thinking has to advance with it. We may not know whether there are endless orders of thinking upon thinking, but we do know that the inevitable commonplace of Artificial Intelligence creates value in these emerging skillsets. Today, all programmers are Computational Thinkers, and since there are plenty of well defined problems to solve, they may never really need to be active in Procedural Thinking. If anything, Procedural Thinking distinguishes itself in how it’s produced such powerful inventions, with only a minority of computer programmers and developers who put it to practice.
Most people reading this would say it’s important for anyone to learn to read and write, and, of course if they want to be an author, they’d need to read and write. It doesn’t mean that this isn’t a world for the illiterate, nor is it only a world for Computational Thinkers and computer programmers. The basic understanding of Procedural Thinking is just as important for those who want to know how the world is changing, as it is for those who know they will never need to put Procedural Thinking to direct or intentional use. In other words, while not everyone needs to be a procedural thinker, it’s beneficial to at least know what it is. We only have so much time in a day, and it’s best to make informed decisions about how we’d like (or not like) to spend it.
Jeff Atwood gives a great analogy with cars. People don’t need to build their own cars (and probably shouldn’t). It may not be worth everyone’s time to learn how to fix or even maintain cars. Driving is a broadly beneficial skill to have, but if nothing else, just know that cars exist and what that means for the world you live in. Better yet, know that driving itself may soon be a skill of the past.
Whether you learn ML or not, we already have a good sense of where this technology is taking us: Amazon has automated grocery stores, Netflix composes shows based off of big data, Facebook decides what sort of news we prefer, and AI is now better at detecting and treating cancers than doctors.
End-notes: Just for fun, in thinking about thinking, here are three popular questions from the Cognitive Reflection Test. How do you go about thinking through these problems?
(1) A bat and a ball cost $1.10 in total. The bat costs $1.00 more than the ball. How much does the ball cost? _____ cents.
(2) If it takes 5 machines 5 minutes to make 5 widgets, how long would it take 100 machines to make 100 widgets? _____ minutes.
(3) In a lake, there is a patch of lily pads. Every day, the patch doubles in size. If it takes 48 days for the patch to cover the entire lake, how long would it take for the patch to cover half of the lake? _____ days. (Analysis)