Information technology can be grouped into innovation epics, like the PC epoch in the 80s, the web in the 90s, and mobile in the 00s; and some would argue that the current technology period is characterized by automation, variously referred to as machine learning (ML), deep learning (DL), or artificial intelligence (AI). Google’s CEO, Sundar Pichai, stated in a 2017 keynote that Google would be an “AI-first” company. Others, like Kevin Kelly from Wired magazine, have said that rather than a decadal technology trend, AI is a transformative technology and more like a second industrial revolution.
I have been working with these, and related, technologies for over 20 years, and have heard many ways of defining these terms. In order to provide clarity and perspective, this blog will define AI and machine learning and their respective relationship. It is important to note that the words AI, ML and deep learning are sometimes used interchangeably in industry parlance, but they have specific, technical meanings. The following diagram shows the relationship between them:
Artificial intelligence refers to any method of emulating intelligent behavior in a computer. Machine learning is a method of AI that has gained use in the past decade or so due to the reduction in cost of computing resources. Deep learning is a type of ML model, specifically a layered model that learns a hierarchical representation of the collected data. Thus, ML and deep learning are both components within the AI umbrella.
The vast majority of time spent placing AI and ML models into production is creating and testing the data management components. This data management component includes figuring out how to map data elements to variables in candidate models. One of the reasons that deep learning has received so much attention is due to its ability to perform “representation learning,” which alleviates some of the manual effort and hard-coded data engineering normally required in AI systems. One downside is that current DL models require a particularly large amount of data to train. This is a give-and-take that is unavoidable: the less that is specified by (potentially brittle or unreliable) rules or models, the more that is required in the form of data.
Let’s look at a specific example in which we add more and more “intelligence” to a toy system, while highlighting each of the different AI components. In some ways this parallels how analysts and companies have added intelligence into security products and tools.
Imagine we want to build a little robot that will self navigate around a house and clean any part of the floor it passes over. And let’s say, to start, our robot can sense if it runs into a wall or other obstacle, but otherwise has no sensing facilities (i.e. no camera).
One way to prototype this problem is to start by coding a rule that the robot should move forward, and if it encounters an obstacle, turn right 90 deg and repeat. How will this work? This might fully explore and clean an area, depending on the layout. However, there is likely to be shadow zones that the right-turn only logic will miss. So, we probably want to have our robot try a left turn from time to time – having it randomly select whether to turn left or right. Also, if the robot runs into a moving obstacle, like a person or pet, this could cause incomplete circuits. For this reason, it might be best if the robot starts itself when no one is home or everyone is asleep, instead of being started manually. Maybe we could add a schedule, or a knowledge base. This may not be much, but just a few basic navigation rules and other knowledge bases count as AI for our robot.
Fig 1. In this example, a robot that only turns right with
quickly enter a degenerate circuit, forever repeating
the same loop. Allowing the robot to randomly choose
turn directions is one way to improve exploration.
But we can do more. We can add home base telemetry and memory. The robot will start from a home base each time, know its position relative to this home base at each movement, and return to the home base when its “done,” trying to not run out of battery power. By retaining a record of obstacles relative to home base, it can build a map of its environment. The original if-obstacle: turn left / right navigation rule can be expanded to include other rules to explore blank areas in the map. Eventually, the robot can build a reliable map of open areas in its environment. This is better AI, but it’s all still rules and knowledge bases and no ML at all. But it may be a pretty useful robot.
Fig 2. The robot has formed a map of
navigable space, relative to a base station.
Recall the robot is supposed to be cleaning, and the humans and pets in the environment probably don’t want it running when they are around. This is where ML is useful – in adapting in inferential ways to the environment. Note that we are assuming the robot adapted in an assertive and rules-based way to map the environment. If the layout of the rooms changed, we would need to have used inference here as well. We need to give the robot a way to detect people and pets, maybe a sound sensor or a camera. And a way to detect dirt levels. And a model of activity and dirt – there is always a model to which the data is fit. Maybe we start with simple models (which we should always do). So, we give the robot a goal to get to the historically dirtiest areas first with sufficient battery to get back to base. Next, it then covers as much of the rest of the area as possible, all within a timeframe that people and pets are normally gone or asleep, modulo statistical uncertainty in power, dirt, and scheduling -all derived from collected data. Now our robot is using ML – and it may seem to act fairly … intelligently, and autonomously.
Fig 3. The robot has added statistical knowledge of which
regions require more urgent cleaning, and when it should
be active (such as at night), based on ambient sounds.
Machine learning is a method used in artificial intelligence systems, so the system can sort of program itself (or at least tune its own programming based on its own collected data). So, AI systems that employ ML require a lot of data, but they tend to be better suited to the particular environment in which they are running. However, they are always based on models and assumptions. It’s still a good idea to have a feedback loop or other interaction with human operators, especially with complex problems and changing environments – a blended AI system that uses ML and more traditional AI.
This is the type of system JASK uses and why JASK’s ASOC doesn’t replace the analyst, but instead provides the analyst with a tool to augment their abilities and facilitate their work – to make it more productive and hopefully more enjoyable.