Computers as Models of Mind - The OOD Meme

Computers model our minds in two ways. We are tempted to think of our own mental processes in terms of what we know about computers. Conversely, we attempt to implement our mental processes using computers.

Over the last 50 years, these two processes have converged, providing us with a more robust analogy for human thinking while constantly improving our ability to implement human thought processes in silicon.

The best model of "mind" is based on memes [1]. These are the "atoms" of the mind. For the purpose of this note, let me focus on two types of meme: category and behaviour.

Computer programmers don't think about electronics or silicon [2]. They think about "objects" which are instances of "classes" (OOD-Object Oriented Design). Objects inherit from their classes the ability to "know" certain things and behave in certain ways (methods), especially the ability to communicate with other objects. A good computer program will implement classes that mirror robust categories. For example, a computer model (collection of classes) that is "about" a university will have a class that implements "student" which is a special case of "person". A course is taught by an instructor (another special case of person) and attended by a collection of students. You can speak of the "instructor of a student", which is a way for the class of "person" to refer to itself, in the way that memes can form "strange loops". The relationship between "person", "student" and "instructor" illustrates the ability of Object Oriented design to use analogy (According to Hofstader, the very engine of the mind), even though these analogies are being formed, for the present, entirely by the human designer.

"Perception" is modelled in computer systems within the "Object Oriented" paradigm. For example, keys on the keyboard all inherit the ability to detect being pressed and all send their information up to the "keyboard" object in the same way, notifying the operating system that "knows" which program is expecting input from the keyboard. Even a "self driving" car is just another object.

One kind of object that is implemented in modern computer languages is the "Lambda Expression", which is a string (sequence of characters) that represents a program. Such expression can be built by the computer program at "run time"  itself and executed. This is one particularly interesting example of self-reference, since lambda expressions can implement whole new classes.

Applications can fail when they fail to map the "real world" into their set of classes. Older programs were a tangle of algorithms (a rats nest of instructions), that implemented narrow business processes, like "pay this invoice". If they failed to model objects in the real world (implementing classes like vendor, bank, bank account ...) they would require constant revision and be vulnerable to small changes in the "outside world". New applications that work in the same "world" should be easy to implement since statements about the "real world" naturally map to the object-oriented model of that world.

Memes are "fuzzy" categories in the human mind. The "classes" of computer science are special cases and generally not "fuzzy". Human beings are expected to supply unambiguous objects as "input". However, in practice, computer programmers can go a long way to removing "fuzziness" and wind up implementing classes that usefully map to memes. The most obvious meme like this is the "class" of itself, along with all the related memes that make up Object Oriented Design.

We can now produce classes such as "all the human faces in this picture" or even "All the human faces that resemble Joe Smith". When the computer fails to properly classify its inputs, this is usually thought of as an error (a face that is not Joe Smith, a collection of pixels that is not a face ...), but it's possible to think of this failure as a sign of "fuzziness" - a step toward implementing something more like the meme of the human mind. We can get a vague sense of how powerful (and creepy) this gets when a surveillance system files away pictures in a "person" file (its model of a person) as a collection of "possible pictures of Joe Smith", or "possible pictures of Joe Smith driving his car on Elm Street at 12:43 PM on Saturday). Thousands of law enforcement officers now spend their days helping their computer systems resolve the "fuzziness" remaining in classes created by their computer systems on CCTV and arial surveillance pictures. One may think of this as extending the perception of the human operator or extending the ability of the computer to "think".

The gap between "meme theory" and object oriented design should not continue to close, but we should not under-estimate the vast extent of the gap. Challenges exist on both sides:
  • Theory of mind needs to formalize the meme idea to speak intelligibly and systematically about mapping memes to Object Oriented classes. 
  • It is reasonable to expect that an OOD model of the brain would give us an idea of how it works "in principle". I think it would also provide some insight about the possibility in principle of  "strong AI" (creation of a machine mind). Without some completely new structures in computer memory involving dynamic feedback, we seem to be stuck. Even with this hardware, we will be left with neurons being "black boxes", translating input into output with mysterious inner logic. 
  • It is impossible to "read out" the state of the brain. In particular, this would involve measuring the gradient of concentration of dozens or hundreds of neurotransmitters at each of trillions of synapses, along with the rate of change of these gradients. This is implies solving trillions of monster dynamic systems of equations, known to be unsolvable in principle, even if all the gradients could be measured precisely, which Quantum Mechanics assures you can't be done. Even so, we can say some useful things about the behavior of such systems. For example, we can get some clues about how to build a "neural net", how big it needs to be and how complex it needs to be to start learning anything useful.
  • Computer Science needs to find methods (and applications for them) that require the computer to create and implement new useful classes, along with the ability to learn - to refine the definition of these classes.
  • Computer Science has long abandoned the usefulness of thinking in terms of the actual implementation platform (silicon, switches, bits and bytes). A similar revolution needs to happen in mind science, to focus on how the mind works with no undue emphasis on the way it is implemented in the brain.
[1] The "best" model leans heavily on Hofstader's theories (or perhaps we should call them "observations"), plus a whiff of Zen, which insists on a purely subjective view of the Universe. This leads me to think of memes as "implementations" of "real world" classes - effectively an automatic process of Object Oriented design constantly going on in my head. It should be noted that Hofstadter's interest in how the human mind works has become a bit of a backwater in AI research, mainly due to the pressure for quick results by brute force.

[2] I have worked with computers since 1967 and been part of the revolution that took us from "machine language" through "Relational Database Design" to "Object Oriented Design". The current lingua franca of the internet is Java, a thoroughly object-oriented language that would have been inconceivable back in 1967. The multi-layered structure of modern computer applications is closely analogous to he layered structure of the brain--for example the visual cortex. This is no coincidence, since a computer application is, after all, just a collection of memes.

Comments

Popular posts from this blog

Panic Part 6 - The IPCC Summary for Policymakers

Dennis Hoffman and The Nature of Reality

A Challenge to the "Settled Science" Meme