This article tries to sidestep the hype and uncover what is Cognitive Computing from a practitioner’s point of view and how it differs from the previous generation of AI. The focus is not on the theoretical aspects of AI but on the practical perspective required to apply Cognitive Computing on real-life problems.
What are the key points to focus on before starting to learn ETL Development....
Cognitive computing: Fad or Game Changer - The Skeptics Guide
1. DRAFT - Cognitive Computing – A Fad or Game Changer - DRAFT
Cognitive Computing - v1.3.docx Feb 2016 1 of 4
Cognitive Computing: A Fad or Game Changer?
The Skeptics Guide
Ahmed Fattah
Analytics Architect
Sydney, Australia
As an IT Solution Architect, I am skeptical of any over-hyped technologies or so-
called silver bullets. Recent buzz in the IT press indicates that Cognitive Computing
belongs to this category. As a practitioner in the previous generation of Artificial
Intelligence (AI), I know what happens after the over-hype … a trough of
disillusionment. If we want to avoid another AI Winter, we should heed the lessons
from the previous AI era. Some of these lessons are: avoid the hype, manage
expectations and ensure sustainable deployment.
This article tries to sidestep the hype and uncover what is Cognitive Computing from
a practitioner’s point of view and how it differs from the previous generation of AI.
The focus is not on the theoretical aspects of AI but on the practical perspective
required to apply Cognitive Computing on real-life problems. However, from
experience, I know that some of the theoretical questions (such as can a machine
really think?) cannot be completely avoided.
Definition and differences from previous AI
Cognitive Computing is defined by some as “the simulation of human thought
processes in a computerised model”. Such definitions worry me because they sound
very similar to statements from the first generation of AI. They do not tell us much
and hang on aspiration of a long-held desire to duplicate human abilities. Other
definitions progress our understanding (but not far enough). They define systems
that are powered by Cognitive Computing as “systems that learn at scale, reason
with purpose and interact with humans naturally”. Yet other definitions add
Adaptive, Interactive, Iterative and Contextual to this list. These characteristics, no
doubt, are highly desirable but do not tell us how Cognitive Computing achieves
them. They do not help in deciding if we should use Cognitive Computing to solve a
given problem or how we go about architecting the solution. To answer these
questions, we need to look a bit deeper and understand the components of
Cognitive Computing.
From a Solution Architecture perspective, I think, we should simply think of Cognitive
Computing as an amalgamation of well-established technologies such as Big Data
Analytics, Machine Learning and Natural Language Processing that can be applied as
needed and combined with other ‘legacy’ technologies to develop effective business
solution.
2. DRAFT - Cognitive Computing – A Fad or Game Changer - DRAFT
Cognitive Computing - v1.3.docx Feb 2016 2 of 4
Figure 1 below shows a longer, yet not a exhaustive, list of the technologies and
associated developments that differentiate Cognitive Computing from the previous
generation of AI. Note that these fields overlap and feed one another. For example,
Machine Learning techniques are used for Data Mining and Knowledge Discovery in
Big Data Analytics; and Natural Language Processing (NLP) is used for a more
effective Machine-Human Interaction.
Figure 1: Innovations and technological developments that differentiate Cognitive Computing from the
previous AI generation.
The following table shows how each of these developments has progressed and how
they can contribute to Cognitive Solutions.
Area Progress and impact
Big Data
Analytics
Among all the above innovations, Big Data Analytics stands out as the key
differentiator from previous AI systems. As James Kobielus stated, Cognitive
Computing is simply “AI that feeds on big data”. Here lays the crucial difference: in
the previous generation of AI we captured knowledge from human experts and
coded them by hand. Now we can ‘discover’ knowledge (at least, a significant
portion of it) from the huge volume of available data (structured and
unstructured).
Machine
Learning
Although many of the Machine Learning techniques have been around since early
phases of AI, the huge increase in computing power is making a substantial impact
on the practicality of these techniques. There have also been many developments
in combining and advancing these techniques. In particular, recent progress in
Deep Learning made it possible to achieve impressive results with unsupervised
learning (see, for example, Google DeepMind's Deep Q-learning playing Atari
Breakout).
Knowledge Although automated Knowledge Discovery and unsupervised Machine Learning
Previous AI Generation Innovations and technological developments during the AI Winter Cognitive Computing Era
Over one million fold increase in computing power and many more in storage and data
Big Data Analytics
Natural Language Processing
Machine Learning
Decision Science
Knowledge Representation
Human-Machine Interaction
Perceptron Dynamic Learning
DBMS
Decision Trees
Data Mining Knowledge Discovery
Watson
Support Vector Machines
Emotion Detection
Eliza
Data Science
Siri
Expert Systems
Deep LearningNeural Networks
Early Machine
Translation
Frames OntologySemantic Networks Semantic Web
Decision Support Systems Trade-off Analysis
GUI Augmented RealityData Visualisation Gesture Recognition
Cognitive Computing
Game Theory
3. DRAFT - Cognitive Computing – A Fad or Game Changer - DRAFT
Cognitive Computing - v1.3.docx Feb 2016 3 of 4
Area Progress and impact
Representation can be used to develop sophisticated intelligent systems, many aspects of what is
referred to as Cognitive Systems require explicit representation and manipulation
of concepts that inter-relate within a Sematic Network or an Ontology. Knowledge
Representation has its roots in early phases of AI and had its share of hype in the
era of the Semantic Web where dreams of a fully machine navigated web were
alive. Although this was another example of hype, we have made significant
advances in encoding knowledge and processing it using open frameworks.
Decision
Science
One of the most known type of solutions from earlier phases of AI are Expert
Systems. These systems emulated decision making of experts using Rule-based
System. Some of these systems (such as Mycin or Mortgage Loan Adviser) were
highly successful but their early impressive results did not scale and could not be
duplicated in other areas. Now Decision Science captures many of the
developments in decision making field from Game Theory to Trade-off Analysis.
Natural
Language
Processing
Perhaps the most recognised aspect of Cognitive Systems is their ability to interact
using natural language. Early NLP systems such as Eliza achieved their ability using
relatively simple psychological rules and phrase repetition. We now have systems
(such as Siri or Google Now) that combine Speech Recognition with NLP to sound
life-like. However, their field of interaction is still very limited. IBM Watson
demonstrates a deeper level of understanding but it is still limited to a specific
domain.
Human-
Machine
Interaction
Although natural language is one of the key mediums for Human-Machine
Interaction, it is not necessarily the only or even the most effective one in some
domains. The ability of Cognitive Systems to recognise and communicate using
images can be crucial in some applications. Speech and Gesture Recognition are
also very effective in cognitive mobile applications.
Computing
Power, storage
and data
There is no doubt that the great developments in the above fields will provide the
new generation of Cognitive Systems with an immense leap in capabilities from
earlier AI systems. However, perhaps the most impactful development is simply in
brute force. The million-fold increase in computing power, storage affordability and
availability of data have made previously theoretical computation possible on
standard hardware. Algorithms that needed hours can now provide instantaneous
response.
Note that not each Cognitive Solution will include all these capabilities. Conversely, a
solution may include other capabilities not listed above (some may not have been
discovered yet). It is also obvious that many other technologies (such as Service
Oriented Architecture) that may be described as ‘legacy’ in contrast with the above
leading-edge technologies are still relevant and are likely to be part of any Cognitive
Solution.
The verdict
We are still early in development of Cognitive Computing. There is no doubt that
Cognitive Computing seen as an amalgamation of the above technologies provide
capabilities that, if applied correctly, can be used to develop new classes of business
and consumer solutions. The key characteristics of these Cognitive Solutions are:
• They can learn in both supervised and supervised manner;
• They can access and leverage vast amount of structured and unstructured
data; and
• They can interact naturally and effectively with humans.
4. DRAFT - Cognitive Computing – A Fad or Game Changer - DRAFT
Cognitive Computing - v1.3.docx Feb 2016 4 of 4
These systems can revolutionise many industries, the economy and life in general. If
short, they can be indeed a game changer.
However, to make this possible, we need to learn from our mistakes in the previous
generation of AI. We need to be realistic about our expectations and to take an
evolutionary approach in applying these technologies. Perhaps more importantly, we
should apply what we have learned in the fields of Software Engineering and
Solution Architecture: namely, that new technologies do not magically help unless
they fit the situation at hand and are applied correctly. We need to understand these
new capabilities and discover how they can be incorporated in a cohesive
architecture to enable the effective design, implementation, use and maintenance of
Cognitive Solutions.
Towards Cognitive Solution Architecture
A Cognitive Solution Architecture discipline is needed to develop a set of principles,
guidelines and best practices for positioning, planning and implementing these
solutions. Some of the questions that this discipline should address include:
• What business problems can we address using Cognitive Computing?
• How do we go about scoping, estimating and planning Cognitive Solutions?
• What skills are needed to develop such solutions?
• How can we create solutions that are scalable, manageable and
maintainable?
• How can we develop reusable cognitive components?
Of course, this is an initial partial list. We should expand it and begin to outline our
learnings from experience in implementing Cognitive Solutions.
Feedback, please!
I would be very interested in your views on Cognitive Computing, its value and how
you think it can be used to solve problems in your domain.