To many, AI is just a horrible Steven Spielberg movie. To others, it’s the next generation of learning computers. But what is artificial intelligence, exactly? The answer depends on who you ask. Broadly, artificial intelligence (AI) is the combination of computer science and robust datasets, deployed to solve some kind of problem.
Many definitions of artificial intelligence include a comparison to the human mind or brain, whether in form or function. Alan Turing wrote in 1950 about “thinking machines” that could respond to a problem using human-like reasoning. His eponymous Turing test is still a benchmark for natural language processing. Later, Stuart Russell and John Norvig observed that humans are intelligent, but we’re not always rational. Russell and Norvig saw two classes of artificial intelligence: systems that think and act like a human being, versus those that think and act rationally. Today, we’ve got all kinds of programs we call AI.
‘AI does not have to confine itself to methods that are biologically observable’
Many AIs employ “neural nets,” whose code is written to emulate some aspect of the architecture of neurons or the brain. However, not all intelligence is human-like. Nor is it necessarily the best idea to emulate neurobiological information processing. That’s why engineers limit how far they carry the brain metaphor. It’s more about how phenomenally parallel the brain is, and its distributed memory handling. As defined by John McCarthy in 2004, artificial intelligence is “the science and engineering of making intelligent machines, especially intelligent computer programs. It is related to the similar task of using computers to understand human intelligence, but AI does not have to confine itself to methods that are biologically observable.”
Moreover, the distinction between a neural net and an AI is often a matter of philosophy, more than capabilities or design. Many “AI-powered” systems are neural nets, under the hood. We also call some neural nets AIs. For example, OpenAI’s powerful GPT-3 AI is a type of neural net called a transformer (more on these below). A robust neural net’s performance can equal or outclass a narrow AI. There is much overlap between neural nets and artificial intelligence, but the capacity for machine learning can be the dividing line.
What is an AI Made Of?
Conceptually: In the sense of its logical structure, to be an AI, you need three fundamental parts. First, there’s the decision process — usually an equation, a model, or just some code. AIs often perform classification or apply transformations. To do that, the AI must be able to decide on patterns in the data. Second, there’s an error function — some way for the AI to check its work. And third, if the AI is going to learn from experience, it needs some way to optimize its model. Many neural networks do this with a system of weighted nodes, where each node has both a value and a relationship to its network neighbors. Values change over time; stronger relationships have a higher weight in the error function.
Physically: Typically, an AI is “just” software. AI-powered software services like Grammarly and Rytr use neural nets, like GPT-3. Those neural nets consist of equations or commands, written in things like Python or Common Lisp. They run comparisons, perform transformations, and suss out patterns from the data. They run on server-side hardware, usually, but which hardware isn’t important. Any conventional silicon will do, be it CPU or GPU. However, there are dedicated hardware neural nets, a special kind of ASIC called neuromorphic chips.
Tensors and Neuromorphic Silicon
Not all ASICs are neuromorphic designs. However, neuromorphic chips are all ASICs. Neuromorphic design is fundamentally different from CPUs, and only nominally overlaps with a GPU’s multi-core architecture. But it’s not some exotic new transistor type, nor any strange and eldritch kind of data structure. It’s all about tensors. Tensors describe the relationships between things; they’re a kind of mathematical object that can have metadata, just like a digital photo has EXIF data.
Modern Nvidia RTX GPUs have a huge number of tensor cores. That makes sense if you’re drawing moving polygons, each with some number of properties or effects that apply to it. But tensors can handle more than just spatial data. The ability to parallelize tensor calculations is also why GPUs get scalped for crypto mining, and why they’re used in cluster computing, especially for deep learning. GPUs excel at organizing many different threads at once.
But no matter how elegant your data organization might be, it still has to filter through multiple layers of software abstraction before it ever becomes binary. Intel’s neuromorphic chip, Loihi 2, affords a very different approach.
Loihi 2 is a neuromorphic chip that comes as a package deal with a software ecosystem named Lava. Loihi’s physical architecture invites — almost requires — the use of weighting and an error function, both defining features of AI and neural nets. The chip’s biomimetic design extends to its electrical signaling. Instead of ones and zeroes, on or off, Loihi “fires” in spikes with an integer value — capable of carrying much more data. It begs to be used with tensors. What if you didn’t have to translate your values into machine code and then binary? What if you could just encode them directly?
Machine learning models that use Lava can take full advantage of Loihi 2’s unique physical design. Together, they offer a hybrid hardware-software neural net that can process relationships between multiple entire multi-dimensional datasets, like an acrobat spinning plates.
AI tools like Rytr, Grammarly and others do their work in a regular desktop browser. In contrast, neuromorphic chips like Loihi aren’t designed for use in consumer systems. (At least, not yet.) They’re intended for researchers. Instead, neuromorphic engineering has a different strength. It can allow silicon to perform another kind of biomimicry. Brains are extremely cheap, in terms of power use per unit throughput. The hope is that Loihi and other neuromorphic systems can mimic that power efficiency to break out of the Iron Triangle and deliver all three: good, fast, and cheap.
AI vs. Neural Nets vs. Deep Learning vs. Machine Learning
If the three-part logical structure of an AI sounds familiar, that’s because neural nets have the same three logical pillars. In fact, from IBM’s perspective, the relationship between machine learning, deep learning, neural networks and artificial intelligence is a hierarchy of evolution. It’s just like the relationship between Charmander, Charmeleon and Charizard. They’re all separate entities in their own right, but each is based on the one before, and they grow in power as they evolve. We still have Charmanders even though we also have Charizards.
An AI isn’t just several neural nets smashed together, any more than Charizard is three Charmanders in a trench coat. All these different types of artificial intelligence overlap along a spectrum of complexity. It can be difficult to precisely draw the line. But what often distinguishes an AI from a neural net is the ability to learn. IBM explains, “[M]achine learning is a subfield of artificial intelligence. Deep learning is a subfield of machine learning, and neural networks make up the backbone of deep learning algorithms. In fact, it is the number of node layers, or depth, of neural networks that distinguishes a single neural network from a deep learning algorithm, which must have more than three [layers].”
How Does an Artificial Intelligence Learn?
When an AI learns, it’s different than just saving a file after making edits. To an AI, learning involves changing its process.
Many neural nets learn through a process called “back-propagation.” Typically, a neural net is a “feed-forward” process, because data only moves in one direction through the network. It’s efficient, but it’s also a kind of ballistic (unguided) process. In back-propagation, however, later nodes in the process get to pass information back to earlier nodes. Not all neural nets perform back-propagation, but for those that do, the effect is like changing the coefficients in front of the variables in an equation.
Supervised and Unsupervised Learning
We also divide neural nets into two classes, depending on what type of problems they can solve. In supervised learning, a neural net checks its work against a labeled training set or an overwatch; in most cases, that overwatch is a human. For example, SwiftKey learns how you text, and adjusts its autocorrect to match. Pandora uses listeners’ input to finely classify music, in order to build specifically tailored playlists. 3blue1brown even has an excellent explainer series on neural nets, where he discusses a neural net using supervised learning to perform handwriting recognition.
Supervised learning is great for fine accuracy on an unchanging set of parameters, like alphabets. Unsupervised learning, however, can wrangle data with changing numbers of dimensions. (An equation with x, y and z terms is a three-dimensional equation.) Unsupervised learning tends to win with small datasets. It’s also good at recognizing patterns we might not even know to look for.
Tensors and Transformers
Transformers are a special, versatile kind of AI capable of unsupervised learning. They can integrate many different streams of data, each with its own changing parameters. Because of this, they’re great at handling tensors. Tensors, in turn, are great for keeping all that data organized. With the combined powers of tensors and transformers, we can handle more complex datasets.
Video upscaling and motion smoothing are great applications for AI transformers. Likewise, tensors are crucial to the detection of deepfakes and alterations. With deepfake tools reproducing in the wild, it’s a digital arms race.
Video signal has high dimensionality. It’s made of a series of images, which are themselves composed of a series of coordinates and color values. Mathematically and in computer code, we represent those quantities as matrices or n-dimensional arrays. Helpfully, tensors are great for matrix and array wrangling. DaVinci Resolve, for example, uses tensor processing in its (NVidia RTX) hardware-accelerated Neural Engine facial recognition utility. Hand those tensors to a transformer, and its powers of unsupervised learning do a great job picking out the curves of motion on-screen — and in real life.
Tensor, Transformer, Servo, Spy
In fact, that ability to track multiple curves against one another is why the tensor-transformer dream team has taken so well to things like natural language processing. And the approach can generalize. Convolutional transformers — a hybrid of a CNN and a transformer — excel at image recognition on the fly. This tech is in use today, for things like robot search and rescue or assistive image and text recognition, as well as the much more controversial practice of dragnet facial recognition, à la Hong Kong.
The ability to handle a changing mass of data is great for consumer and assistive tech, but it’s also clutch for things like mapping the genome, and improving drug design. The list goes on. Transformers can also handle different kinds of “dimensions,” not just the spatial, which is useful for managing an array of devices or embedded sensors — like weather tracking, traffic routing, or industrial control systems. That’s what makes AI so useful for data processing “at the edge.”
AI On the Edge vs. For the Edge
Not only does everyone have a cell phone, there are embedded systems in everything. This proliferation of devices gives rise to an ad hoc global network called the Internet of Things (IoT). In the parlance of embedded systems, the “edge” represents the outermost fringe of end nodes within the collective IoT network. Edge intelligence takes two main forms: AI on edge and AI for edge. The distinction is where the processing happens. “AI on edge” refers to network end nodes (everything from consumer devices to cars and industrial control systems) that employ AI to crunch data locally. “AI for the edge” enables edge intelligence by offloading some of the compute demand to the cloud.
In practice, the main differences between the two are latency and horsepower. Local processing is always going to be faster than a data pipeline beholden to ping times. The tradeoff is the computing power available server-side.
Embedded systems, consumer devices, industrial control systems, and other end nodes in the IoT all add up to a monumental volume of information that needs processing. Some phone home, some have to process data in near real-time, and some have to check and correct their own work on the fly. Operating in the wild, these physical systems act just like the nodes in a neural net. Their collective throughput is so complex that in a sense, the IoT has become the AIoT — the artificial intelligence of things.
None of Us Is As Dumb As All of Us
As devices get cheaper, even the tiny slips of silicon that run low-end embedded systems have surprising computing power. But having a computer in a thing doesn’t necessarily make it smarter. Everything’s got Wi-Fi or Bluetooth now. Some of it is really cool. Some of it is made of bees. If I forget to leave the door open on my front-loading washing machine, I can tell it to run a cleaning cycle from my phone. But the IoT is already a well-known security nightmare. Parasitic global botnets exist that live in consumer routers. Hardware failures can cascade, like the Great Northeast Blackout of summer 2003, or when Texas froze solid in 2021. We also live in a timeline where a faulty firmware update can brick your shoes.
There’s a common pipeline (hypeline?) in tech innovation. When some Silicon Valley startup invents a widget, it goes from idea to hype train to widgets-as-a-service to disappointment, before finally figuring out what the widget’s actually good for.
This is why we lampoon the IoT with loving names like the Internet of Shitty Things and the Internet of Stings. (Internet of Stings devices communicate over TCBee-IP.) But the AIoT isn’t something anyone can sell. It’s more than the sum of its parts. The AIoT is a set of emergent properties that we have to manage if we’re going to avoid an explosion of splinternets, and keep the world operating in real time.
What is Artificial Intelligence? TL;DR
In practice, artificial intelligence is often the same thing as a neural net capable of machine learning. They’re both software that can run on whatever CPU or GPU is available and powerful enough. Neural nets often have the power to perform machine learning via back-propagation. There’s also a kind of hybrid hardware-and-software neural net that brings a new meaning to “machine learning.” It’s made using tensors, ASICs, and neuromorphic engineering by Intel. Furthermore, the emergent collective intelligence of the IoT has created a demand for AI on, and for, the edge. Hopefully we can do it justice.