I’ve mentioned in a few posts about the shift in computing capabilities and how that will change what humans may be focused on in the future and if there will be a day when computers have all the answers.
In an interview covering a few similar areas, Ray Kurzweil and The Wall Street Journal's Alan Murray discussed advances in artificial intelligence, nanotechnology, and what it means to be human. Ray is always a bit optimistic in his view of the future, but I’d rather be actively optimistic than passively caught by surprise.
One of the things I studied in college was semiconductor manufacturing, so the whole concept of Memristors I find fascinating. I also spent some time in an AI group that EDS had back in the early 90s where we did some interesting work. This teams motto was “Make it real, make it work”
Both of these areas intersected in an IEEE Spectrum article titled Mind Made from Memristors about a memristor-based approach to Artificial Intelligence. It is a fairly long article, and talks about the history of AI activities as well as the hurdles for any project to emulate a working animal brain.
The article focuses a brain-inspired microprocessor under development at HP Labs in California and MoNETA (Modular Neural Exploring Traveling Agent) software being created at Boston University's department of cognitive and neural systems that will run on it. MoNETA (the goddess of memory) will
“perceive its surroundings, decide which information is useful, integrate that information into the emerging structure of its reality, and in some applications, formulate plans that will ensure its survival.”
This sounds more like how animals behave than computers. As this area matures it should help to offload the “normal” issues faced in a business and allow for people to focus on areas that need their creativity. That’s likely a long time off though, since this new approach is embryonic.
Training a robot to do a task has always been one of the hardest aspects of automation. This article titled Ping Pong Robot Learns by Doing shows some advancements that are being made, allowing the robot to learn by being led through an action and watching what is going on in the environment.
In the video it shows a student taking their robot "by the hand" and teaching it motor skills needed for three tasks: paddle a ball on a string, play the ball-in-a-cup game, and hit a ping pong ball.
This is much closer to the way animals or people learn. The one thing I am left to wonder about though is if we actually “know” what was learned vs. how it is behaving. So that if some unusual environmental factor comes into play and it behaves in some totally unexpected fashion. It definitely is an exciting space of research.
Recently there have been a number of blog posts again that have been talking about the death of SOA (again!). As I look around, the death of SOA discussions started way back in January of last year. Back when we were starting this blog, I did a number of entries around service oriented architectures - but that was half a decade ago. Sure there were some fad-like tendencies around SOA just like there are around Cloud. I'd state that SOA was a pre-requisite for cloud to move beyond IaaS.
It does remind me of a situation back when I was at a large non-US government client in the late-90s who said "What about that whole object oriented buzz a few years back, whatever became of that." In that case, it was that OO was so omnipresent that it was indistinguishable in the technology they were using. It was just part of the way things were. I believe SOA has entering that same situation. The techniques are now everywhere, therefore it is a non-issue.
At least it is not the other situation, I've encountered -- I used to be part of the AI group that supported GM in the late 80s - early 90s. There it was always a feeling that: "If we can do it, it can't be AI."
Needless to say, automation is
very important to us in IT services, both for lowering costs and dealing with
limited expertise. Arguably, most of the current implementations are "point
solutions", that is they address specific applications, using a fairly static
knowledge-base. These solutions primarily rely on transparency of knowledge;
hence, lack adequate adaptability and the ability to deal with novel
I think we could benefit from a tight integration
of several well-established artificial
intelligence techniques as a framework for creating more versatile automated
systems. In particular, I think the fundamental elements are:
- Perception - the ability to process large volumes of data
(databases, sensors, disparate formats etc.), and reduce them to a few
meaningful concepts. For example, data
mining techniques do a fairly good job
- Ontologies - the expression of
domain-specific knowledge and their relationships via topologies; i.e., make
sense of what we have.
Learning - the ability to discover new patterns in data and infer new rules.
This is an essential element of any adaptable system. Pattern recognition and
sequence analysis are examples of enablers that we already know how to do.
Reasoning - the ability to reach meaningful
conclusions based on the available data and domain knowledge. Expert
reasoning, and neural
nets are good starting points.
Research in common-sense reasoning should also prove very useful here.
- Communicate & Control - the ability to connect the
outcome of reasoning to the real-world applications (reports, actuators,
machines, customers etc.). This step involves a variety of interfaces,
including natural language processing.
Interestingly, these five elements already exist. Perhaps we'll see greater integration
of these elements on our way to more advanced automation solutions in IT