A data driven AI is an AI that uses statistical and stochastic methods based on deep learning and other forms of data.A logical reasoning AI is an AI that expresses human knowledge in the form of models, etc.The joining of these two types of AI is referred to as a hybrid AI.Attempts at this have already been made at the National Institute of Advanced Industrial Science and Technology AI Center.The head of the Tsujii Research Center has stated that “flexible AI capable of drawing closer to humans” will come from the fusing of the technology used for AI that can “go beyond human capabilities” based on large amounts of data, and AI that models itself on human intelligence to become “closer to humans”. Through this we can achieve an AI capable of working alongside humans, understanding humans and cooperating with humans.CATS Advanced/AI/Automotive Laboratory researches how such hybrid AI can be applied in embedded systems.Human brains are split into two halves, the left side and the right side, with the corpus callosum connecting the two.A visual image of connecting a data driven AI with a logical reasoning AI and embedding these into an embedded system is shown in Fig. 1.
[Fig.1] Image of an embedded hybrid AI
[Fig.2] SRK model
When defined as a fusion of different technologies, one must note that there are other hybrid AI combinations besides one consisting of a data driven AI and a logical reasoning AI.The RASMUSSEN skilled human operator level SRK model of hybrid AI shown in Fig. 2. is split into three layers, skill-based behavior (S), rule-based behavior (R) and knowledge-based behavior (K).In this, technologies are combined both between each layer and within the same layer.These combinations will be explained in detail later on.
Deep learning in the form of a data driven AI is used for the “formation of external conditions” for skill-based behavior [Fig. 2], while control engineering is used for “automatic sensory-motor patterns”.Applying calculations and logic as seen with deep learning and control engineering to develop an AI the mimics the sensory right side of the brain is fascinating to say the least.Incidentally, the distinction between the right and left sides of the brain is nothing more than an urban legend from an expert’s point of view.
Through deep learning applied to camera images, AI can now recognize specific objects.The position of objects is ascertained using a millimeter wave radar.This has given computers eyes to see with.
Traditionally it has been extremely difficult to have a computer determine what an object is from a camera image.Deep learning is garnering renown as the breakthrough technology that helped make this possible.A brief summary of how deep learning works is provided in Fig. 4.Large numbers of images of balls are shown to generate a learning model that, for example, extracts the defining characteristics of a soccer ball and uses this to identify soccer balls.This eye to the outside world is partially responsible for the AI’s ability to “form an understanding of external conditions”.
[Fig.3] Object recognition and object position recognition
[Fig. 4] Recognizing a soccer ball
ROS (Robot Operating System) is an OSS (Open Source Software) that provides libraries and tools that aid in the creation of robot applications. It is not an OS.Using the libraries and tools provided by ROS makes it possible for software engineers to easily control robots.ROS is used for NAO (Fig. 5) and Pepper.We find ourselves at a time where we can easily reuse ROS packages without needing to develop “automatic sensory-motor patterns” from scratch.
What can be achieved using an ROS package?Well, you can reuse algorithms used by robots to plot a path to their destination while avoiding obstacles [Fig. 5].Dijkstra's Algorithm can be applied to determine the shortest route to the destination on a global level.Let’s assume that deep learning is applied so that the object picked by the camera in motion is recognized as a soccer ball.As this will obstruct the robot’s path, a dynamic window approach is applied to generate multiple potential local paths that are traversable based on the current speed of the robot, enabling the robot to select the path with the lowest cost (in terms of distance and time).
[Fig. 5] What can be achieved with a ROS package