Thursday, July 28, 2005

A Formal Framework for Conceptual-Level Cognition Based on Objectivist Epistemology

I've been doing a lot of research into Objectivist Philosophy lately, and its given me a lot to think about. I've studied philosophy pretty intensely over the past 5 years (including a year at Oxford), and I don't understand how this could have escaped my attention for so long. I think I may have finally found something that encompasses most of the conclusions I've arrived at regarding reality and the existence. If you want to understand my personal view of the universe, Objectivism is unquestionably the perfect place to start. This website, however, is not a 'philosophy blog,' so I will quickly move along to my point.

One component of this philosophy, namely Objectivist Epistemology (the nature of knowledge), has led me to an idea for an internal conceptual model of a conscious machine. This system of knowledge representation would closely mirror the Objectivist structure of concepts and instances. Simply put, Objectivism contends that the senses are the only source of valid information, that 'reasoning' is nothing more than the classification & organization of the information provided by sensory perception, and that consciousness is the act of transforming that information into a system of concepts and propositions consisting of knowledge about the world. A conscious mind creates concepts by identifying and generalizing similar characteristics of things it encounters through the senses. Once a concept has been formed, an unlimited number of instances of that concept can be recognized by the agent.

This framework immediately reminded me of object-oriented programming, with concepts acting as classes and instances as objects. Just as a programmer can construct an unlimited number of objects once its class has been defined, a conscious mind can recognize endless instances of 'airplane' once the concept of 'airplane' has been properly formulated. The key is to identify the relevant characteristics that define the concept (man-made machine, has wings, enables flight), and to recognize those characteristics in similar phenomena.

We could implement this framework in a machine using these steps:

1. Define the machine's sensory perception. How will it observe the world? Will it have eyes? ears? tactile sensors? The limits of its perception will directly affect the scope of the machine's conceptualization.

2. Construct the mechanisms for input/output. Connect the cameras and microphones that serve as eyes and ears, and provide the machine with some method to interact with or otherwise manipulate its environment.

3. Formulate the aforementioned conceptual framework. Write the software that controls the operation of these devices, analyses the data they collect, and classifies & organizes the information accordingly.

4. Release into the environment. Allow the machine to observe and interact with its surroundings, building concepts and collecting knowledge about whatever it can discover.

For example, a machine designed with these capabilities might one day encounter what we would recognize as an 'airplane.' First, the machine would compare this object to its memory files to see if it had encountered something similar before. Failing that, it would make note of the distinguishing characteristics of the object and assign it an arbitrary identifier. Later on, when confronted with another instance of an 'airplane,' the machine would recognize distinct similarities between this object and the unidentified one in its memory, and would construct a concept of 'airplane' based on the obvious relationships between them.

This framework doesn't solve some of the major challenges of artificial intelligence like pattern recognition, machine vision or natural language understanding, but it does provide us with a system to integrate these systems once they are accomplished. And it wouldn't do much good starting from scratch. This agent would require some background information, a 'seed of knowledge' if you will, in order to get up and running. Even if this included things as (relatively) simple as language skills or a basic means of communication, designers will need to provide the machine with a small amount of starting information in order to 'prime the pump.' Humans are born with many 'instincts;' artificial minds like these must be programmed with them. Additionally, we will need to sort out the details surrounding memory access and storage requirements for this agent to function efficiently. An intelligent system which maintains a full audiovisual record of its experiences would likely be impractical, so perhaps this is where some contextually-relevant summary software would be useful.

No comments: