miércoles, 16 de noviembre de 2016

Autonomous Intelligent Systems and (Un)Common Sense - Part 1

Introduction

In the sixties of the past 20th Century, when I started thinking and working with computers, the idea of creating an "electronic brain" (in this document: an Autonomous Intelligent System - AIS) was still far away, but it was a possible dream.
As a "humble programmer", I have worked many years programming software that could be classified as "intelligent", so I feel proud of my contribution to transform this dream in a reality.
An AIS receives input data, processes this data, and generates responses modifying its behavior. These three tasks introduce some related issues:
- Veracity and credibility of the data being processed.
- Knowledge (information) that can be obtained about the current status of the AIS.
- Actions that should be done to reach the desired goal.
- Ethical aspects of the behavior of the AIS.
- Etc.
However, in the creation of AIS, there are two problems that - in my opinion-, remain hard to solve:
1. Transferring skills,
    and
2. Modelling common sense.
The objective of this document is to discuss the second of this problem only: the relevance of modelling common sense inside an autonomous intelligent system.

Concepts

First, I would like to remind some classical concepts in order to settle a "common ground".
There are two main kinds of data:
a) Internal data describing the "absolute position" (status) of the system in the environment. This data is originated by the different elements inside the system, and their interactions. Usually this kind of data is considered as "feedback".
b) External data showing the "relative position" of the system, and its relationships to other systems. This data is gathered to measure how the system interacts with the environment that surrounds it.
All this data is collected by using "sensors".

The three classical Vs

Now a comment about the three classical "Vs" that are usually related to data:
1.- Variety: There are different sources: system, subsystem, element, or process, that generate different kinds of data. This implies that there is a wide range of sensors being used to get "representations" of these different kinds of data.
2.- Velocity: The data can be received at different rates, according to the system, subsystem, element, or process that produces each particular kind of data.
3.- Volume: Depending of the system, subsystem, element, or process that produces the data, the volume that is received can be huge.
Most of the issues related to these three Vs can be solved (or minimized, at least) by using well known approaches as:
- Processing specific data, and therefore, ignoring other sources of data.
- Sampling at low rates, avoiding "real time".
- Filtering the input data in order to consider only those that are "meaningful" to the current status of the system.
- Etc.

The 4th V: Verisimilitude

Verisimilitude, considered as the veracity and credibility of the data being processed in order to reduce the "Data Uncertainty", is closely related to the common sense.
As a first approach, the problem can be simplified in this way: if the quality of the data "is not as good as expected", the response of the AIS will not be as good as expected. Then, an objective should be to collect the "good data" only, and the question becomes: What data should be taken as "good"?
The Signal to Noise Ratio (SNR) has been used widely to do so: Signal is the data that is considered "relevant" to the problem, and Noise is the data that should be "discarded".
Then, due that the SNR measures the quality of the data been received, its value should be maximized in order to get the "maximum likelihood".
In the real world, the intelligent systems have some kind of mechanism that is discarding some data "automatically". However, if some "threshold" is exceeded, low or high, the system triggers an "alarm", in order to generate the actions that produce the appropriate response(s). Therefore, an AIS should have capabilities to review the noise continuously, detecting unexpected changes: both internal (inside the system), or external (the environment), and reacting to these by providing appropriate responses that modifies its behavior to avoid or reduce "danger" and/or "damages".

Understanding Natural Languages

The common sense has been researched as related to the processing and understanding of natural languages.
Natural languages are the consequence of the communication needs that appear due to the existing relationships and rules inside a socially evolved set of human beings. Then, common sense could be thought as the expected behavior of all the members of this set, because they share a "culture", a "how-to" solve problems, and a "know how" that should be transmitted inside the members of the community.
In my opinion, reducing common sense to a natural language understanding issue is an approach that narrows the scope of the problem, but adds a high level of complexity to the solution, because if it is a communication issue between human beings mainly, the AIS must receive and send data, and explain its behavior by using natural languages. Unfortunately, under this umbrella, many AIS might be excluded.
If we examine the communication issue by using a different approach, we will notice that the AISs don't need a "natural language" in order to interchange data successfully among them, and even more, they can communicate with human beings without any word.
Then, the question should be: Can a behavior be considered as "common sense" without a representation by using a natural language? In other words, to perceive, understand, and judge things in a reasonably way: Is a natural language the unique alternative? Unfortunately, this discussion is beyond the scope of this document.
In the Part 2 of this document, I will analyze how it could be added some kind of common sense to an AIS.