Tag: mind

Historical noise? Simulation and essential/accidental history

June 24th, 2015 — 4:58pm

Scientists and engineers around the world are, with varying degrees of success, racing to replicate biology and intelligence in computers. Computational biology is already simulating the nervous systems of entire organisms. Artificial intelligence seems to be able to replicate more tasks formerly thought to be the sole preserve of man each year. Many of the results are stunning. All of this is done on digital circuits and/or Turing-Church computers (two terms that for my purposes here are interchangeable — we could also call it symbol manipulation). Expectations are clearly quite high.

What should we realistically hope for? How far can these advances actually go? If they do not culminate in “actual” artificial biology (AB) and artificial intelligence (AI), then what will they end in – what logical conclusion will they reach, what kind of wall would they run up against? What expectations do we have of “actual” AB and AI?

These are extremely challenging questions. When thinking about them, we ought to always keep in mind that minds and biology are both, as far as science knows, open-ended systems, open worlds. This in the sense that we do not know all existing facts about them (unlike classical mechanics or integer arithmetic, which we can reduce to sets of rules). For all intents, given good enough equipment, we could make an indefinite amount of observations and data recordings from any cell or mind. Conversely, we cannot, starting from scratch, construct a cell or a mind starting from pure chemical compounds. Even given godlike powers in a perfectly controlled space, we wouldn’t know what to do. We cannot record in full detail the state of a (single!) cell or a mind, we cannot make perfect copies, and we cannot configure the state of a cell or mind with full precision. This is in stark contrast to digital computation, where we can always make an indefinite number of perfect copies, and where we know the lower bound of all relevant state – we know the smallest detail that matters. We know that there’s no perceivable high-level difference between having a potential difference of 5.03 volts or 5.04 volts in our transistors on the lowest level.

(Quantum theory holds that ultimately, energy can only exist in discrete states. It seems that one consequence would be that a given volume of matter can only represent a finite amount of information. For practical purposes this does not affect our argument here, since measurement and manipulation instruments in science are very far from being accurate and effective at a quantum level. It may certainly affect our argument in theory, but who says that we will not some day discover a deeper level that can hold more information?)

In other words, we know the necessary and sufficient substrate (theoretical and hardware basis) for digital computation, but we know of no such substrate for minds or cells. Furthermore, there are reasons to think that any such substrate would lie much deeper, and at a much smaller scale, than we tend to believe. We repeatedly discover new and unexpected functions of proteins and DNA. Junk DNA, a name that has more than a hint of hubris to it, was later found to have certain crucial functions – not exactly junk, in other words.

Attempts at creating artificial minds and/or artificial biology are attempts at creating detached versions of the original phenomena. They would exist inside containers, independently of time and entropy, as long as the sufficient electrical charge or storage integrity is maintained. Their ability to affect the rest of the universe, and to be affected by it, would be very strictly limited (though not nonexistent – for example, memory errors may occur in a computer as a result of electromagnetic interference from the outside). We may call such simulations unrooted or perhaps hovering. This is the quality that allows digital circuits to preserve information reliably. Interference and noise is screened out, removed.

In attempting to answer the questions posed above, we should think about two alternative scenarios, then.

Scenario 1. It is possible to find a sufficient substrate for biology and/or minds. Beneath a certain level, no further microscopic detail is necessary in the model to replicate the full range of phenomena. Biology and minds are then reduced to a kind of software; a finite amount of information, an arrangement of matter. No doubt such a case would be comforting to many of the logical positivists at large today. But it would also have many strange consequences.

Each of us as a living organism, society around us, and every entity has a history that stretches back indefinitely far. The history of cells needs a long pre-history and evolution of large molecules to begin. A substrate, in the above sense, exists and can be practically used if and only if large parts of history are dispensable. If we could create a perfect artificial cell on some substrate (in software, say) in a relatively short time span, say an hour, or, why not, less than a year, then it means that nature took an unnecessarily long way to get to its goal. (Luckily, efficient, rational, enlightened humans have now come along and found a way to cut out all that waste!) Our shorter way to the goal would then be something that cuts out all the accidental features of history, leaving only the essential parts in place. So the practically usable substrate, which allows for shortcuts in time, then seems to imply a division between essential and accidental history of the thing we wish to simulate! (I say “practically” usable, since an impractical alternative is a working substrate that requires as much time as natural history in the “real” world. In this scenario, getting to the first cell on the substrate takes as long as it did in reality starting from, say, the beginning of the universe. Not a practical scenario, but an interesting thought experiment.) Note that if we are able to somehow run time faster in the simulation than in reality, then it would also mean that parts of history (outside the simulation) are dispensable: some time would have been wasted on unecessary processes.

Scenario 2. Such a substrate does not exist. If no history is accidental, if the roundabout historical process taken by the universe to reach the goal of, say, the first cell or first mind, is actually the only way that such things can be attained, then this scenario would be implied. This scenario is just as astounding as the first, since it implies that each of us depends fully on all of the history and circumstances that led up to this moment.

In deciding which of the two scenarios is more plausible, we should note that both biology and minds seem to be mechanisms for recording history in tremendous detail. Recording ability gives them advantages. This, I think, speaks in favour of the second scenario. The “junk DNA” problem becomes transposed to history itself (of matter, of nature, of societies, of the universe). Is there such a thing as junk history, events that are mere noise?

In writing the above, my aim has not been to discourage any existing work or research. But the two possibilities above must be considered and could point the way to the most worthwhile research goals for AI and AB. If the substrates can be found, then all is “well”, and we would need to truly grapple with the fact that we ourselves are mere patterns/arrangements of building blocks, mere software, body and mind. If the substrates can not be found, as I am inclined to think, then perhaps we should begin to think about completely new kinds of computation, which could somehow incorporate the parts that are missing from mere symbol manipulation. We should also consider much more seriously how closed-world systems, such as the world of digital information, can coexist harmoniously with what would be open-world systems, such as biology and minds. It seems that these problems are scarcely given any thought today.

4 comments » | Bioinformatics, Computer science, Philosophy

Concepts, phenomena and questioning

April 29th, 2013 — 11:07am

Beneath language and concepts we encounter the world of phenomena.

Not seldom we perceive things that we are unable to put in words. And in just a moment’s worth of experience, there are more perceptions and implicit judgments than anyone could describe accurately in hundreds of pages. The parts of our experience that enter into the world of language and conscious thought are vanishingly small.

But concepts and words are not sealed, finalised entities. They evolve over time, need to evolve so that the small fragment that they capture can be the best possible fragment, the one that gives us the best grasp. Static, fixed concepts lose their grip over time as the underlying world changes and the relevant details move to somewhere else. Concepts must always play catch-up, chasing the fluid world.

How can concepts change? Through a questioning of the phenomena. Proper questioning is a relationship between the one who asks and the world, a relationship that enables interrogation beyond what is normally perceived. The results of this interrogation may be used to expand, shrink or alter concepts. Eventually the concepts settle in a new place and the new phenomena can be accessed more easily even without a true questioning. A kind of caching seems to take place.

This kind of questioning is an attitude, an attunement that opens a channel. One purpose of philosophy is to open up and renew this channel, to teach how to question. Real problems begin to appear in Western thinking and teaching at the point where one stops teaching how to question, and focusses on how to answer. The result of deep questioning should not be answers, but the mindset that allows concepts to evolve.

Comment » | Philosophy

The limitations and fundamental nature of systems are not understood

December 22nd, 2012 — 7:31pm

Recently, I’ve become more and more aware of the limitations of conscious thought and formal models of entities and systems. We don’t understand how political systems make decisions, how world events occur, or even how we choose what to wear on any particular day. Cause and effect doesn’t exist in the form it is commonly imagined. We do not know what our bodies are capable of. We certainly don’t understand the basis of biology or DNA. Aside from the fact that there are so many phenomena we cannot explain yet, the models of chemistry and physics are an artificial mesh that is superimposed upon a much messier world. They work within reason, up to and including the phenomena that they can predict, but to confuse them with reality is insanity. In this vein it is interesting to also contemplate, for instance, that we don’t understand all the capabilities that a computer might have. Its CPU and hardware, while highly predictable, are fashioned out of the sub-conceptual and non-understood stuff that the world is made of. One day we may stumble upon software that makes them do something highly unexpected.

What’s the purpose of all this negative arguing then? What I want to get at when I say that we don’t understand this and we don’t understand that is a new, deeper intellectual honesty and a willingness to face the phenomena anew, raw, fresh, as they really appear to us. There’s a world of overlooked stuff out there.

Comment » | Bioinformatics, Computer science, Philosophy, Software development

How one might develop a Heideggerian AI that uses software equipment

August 5th, 2012 — 9:00pm

This year I’ve spent a fair amount of time trying to read Martin Heidegger‘s great work Being and Time, using Hubert Dreyfus’ Berkeley lectures on the book as supporting material. By now I’ve almost finished division 1. I’m learning a lot, but it’s fair to say that this is one of the most difficult books I’ve read. I’m happy to have come this far and think I have some kind of grasp of what’s going on.

I’ve also come to understand that Heidegger played an important role in the so-called “AI debate” in the 70’s and 80’s. At the time, people at MIT, DARPA and other institutions were trying to make AI software based on the presumptions of an Aristotelian world view, representing facts as logical propositions. (John McCarthy, of Lisp fame, and Marvin Minsky were some of the key people working on these projects). Dreyfus made himself known as a proponent of uncomfortable views (for the AI establishment) at the time, such as Heidegger’s claim that you cannot represent human significance and meaning using predicate logic (more on that in a different post, when I understand it better).

There were even attempts at making a “Heideggerian AI” in response to Dreyfus’ criticism, when it became apparent that “good old fashioned AI”, GOFAI, had failed. But apparently the Heideggerian AI also failed – according to Dreyfus, this was because it wasn’t Heideggerian enough.

Using part 1 of Being and Time as inspiration, I have come up with a possibly novel idea for a “Heideggerian” AI. This is also a first attempt at expressing some of the (incomplete, early) understanding I think I have excavated from Being and Time. As my point of departure, I use the notion of equipment. Heidegger’s Dasein essentially needs equipment in order to take a stance on its being. It has a series of “for-the-sake-of-whichs” which lead up to an “ultimate for-the-sake-of-which”. In the case of an equipment-wielding AI, we might start by hardcoding its ultimate FTSOW as the desire to serve its human masters well by carrying out useful tasks. Dasein can ponder and modify its ultimate FTSOW over time, but at least initially, our AI might not need this capability.

Heidegger’s Dasein is essentially mitdasein, being-with-others. Furthermore, it has an essential tendency to do what “the they”/”the one” does, imitating the averageness of the Dasein around it. This is one of its basic ways of gaining familiarity with practices. By observing human operators using equipment, a well-programmed AI might be able to extract a working knowledge of how to use the same equipment. But what equipment should the AI use to train and evolve itself in its nascent, most basic stages? If the equipment exists in the physical world, the AI will need a sophisticated way of identifying this equipment and detecting how it is used, for example by applying feature detection and image processing to a video feed. This process is error prone and would complicate the task of creating the essential core of a rudimentary but well-functioning AI. Instead, I propose that the AI should use software tools as equipment alongside human operators who use the same tools.

Let’s now consider some of the characteristics of the being of equipment (the ready-to-hand) that Heidegger mentions. When Dasein is using equipment in skilled activity, the equipment nearly disappears. Dasein becomes absorbed in the activity. But if there is a problem with the activity or with the equipment, the equipment becomes more obtrusive. Temporarily broken equipment stands out and draws our attention. Permanently broken equipment is uncanny and disturbing. Various levels of obtrusiveness correspond to levels of breakdown of the skilled activity. And not only obtrusiveness: we become more aware of the finer details of the equipment as it breaks down, in a positive way, so that we may fix it. All this is certainly true for a hammer, car or sewing machine, but is it true of software tools? We may consider both how human users relate to software today, and how our hypothetical AI would relate to it.

Unfortunately it can be said that a lot of software today is designed — including but not limited to user interfaces — in such a way that when it breaks down, the essential details that need to be perceived in order to fix the problems are not there to be seen, for the vast majority of users with an average level of experience. When the software equipment breaks down, presumably our human cognition goes into alert and readies itself to perceive more details so that it can form hypotheses of how to remedy the errors that have arisen. But those details are not on offer. The software has been designed to hide them. In this sense, the vast majority of software that people use today does not fail smoothly. It fails to engage the natural problem solving capacity of humans when it does break, because the wrong things are exposed, and in the wrong ways and contexts. Software equipment has a disadvantage compared with physical equipment: we cannot inspect it freely with all of our senses, and the scrutiny of its inner details may involve some very artificial and sophisticated operations. The makers may even actively seek to block this scrutiny (code obfuscation, etc). In the case of software equipment, such scrutiny is greatly separated from the everyday use by numerous barriers. In the case of physical equipment, there is often a smooth continuum.

We now have the opportunity to tackle two challenges at once. First, we should develop an AI that can use software equipment alongside humans – that is, use it in the same way or nearly the same way that they use it, and for the same or nearly the same purposes. Second, we should simultaneously develop software that “breaks down well”, in the sense that its inner structure becomes visible to users when it fails, in such a way that they can restore normal functioning in a natural way. These users can be both humans and the AIs that we are trying to develop. Since the AI should mimic human cognition, a design that is good for one of these categories should be good for the other as well. In this way we can potentially develop a groundbreaking AI in tandem with a groundbreaking new category of software. Initially, both the AI and the software equipment should be very simple, and the complexity of both would increase gradually.

There would be one crucial difference between the way that humans use the software equiment and that the AI would use it. Human beings interact with software through graphical (GUI) or command-line (CLI) interfaces. This involves vision, reading and linguistic comprehension. These are also higher order capabilities that may get in the way of developing a basic AI with core functionality as smoothly as possible. In order to avoid depending on these capabilities, we can give the AI a direct window into the software equipment. This would effectively be an artificial sense that tells the AI what the equipment is doing at various levels of detail, depending on how smooth the current functioning is. This would be useful both for the AI’s own use of equipment and for its observation of how humans use the same equipment. In this way we can circumnavigate the need for capacities such as vision, language, locomotion and physical actuators, and focus only on the core problem of skilled activity alongside humans. Of course this kind of system might later serve as a foundation on which these more advanced capacities can be built.

Many questions have been left unanswered here. For example, the AI must be able to judge the outcome of its work. But the problems that it solves inside the computer will reference the “external” world at all times (external in so far as the computer is separated from the world, which is to say, not really external). I am not aware of many problems I solve on computers that do not carry, directly or indirectly, references to the world outside the computer. Such references to the external world mean that the “common sense” problem must be addressed: arbitrary details that have significance for a problem may appear, pop up, or emerge from the background, and Dasein would know the relation of these details to the problem at hand, since this is intelligible on the basis of the world which it already understands. It remains to be seen if our limited AI can gain a sufficient understanding of the world by using software equipment alongside Dasein. However, I believe that the simultaneous development of software equipment and a limited AI that is trained to use it holds potential as an experimental platform on which to investigate AIs and philosophy, as well as software development principles.


2 comments » | Computer science, Philosophy, Software development

Complex data: its origin and aesthetics

June 4th, 2012 — 10:28pm

Kolmogorov complexity is a measure of the complexity of data. It is simple to define but appears to have deep implications. The K. complexity of a string is defined as the size of the simplest possible program, with respect to a given underlying computer, that can generate the data. For example, the string “AAAAAA” has lower complexity than “ACTGTT”, since the former can be described as “Output ‘A’ 6 times”, but the latter has no obvious algorithmic generator. This point becomes very clear if the strings are very long. If no obvious algorithm is available, one has no option but to encode the whole string in the program.

In this case, when writing the “program” output ‘A’ 6 times, I assumed an underlying computer with the operations “repetition” and “output”. Of course a different computer could be assumed, but provided that a Turing-complete computer is used, the shortest possible algorithm is unlikely to have a very different length.

An essential observation to make here is that the output of a program can be much longer than the program itself. For example, consider the program “output ‘A’ 2000 times”. K. complexity has an inverse relation to compression. Data with low K. complexity is generally very easy to compress. Compression basically amounts to constructing a minimal program that, when run, reproduces the given data. Data with high K. complexity cannot, per definition, be compressed to a size smaller than the K. complexity itself.

Now that the concept is clear, where does data with high K. complexity come from? Can we generate it? What if we write a program that generates complex programs that generate data? Unfortunately this doesn’t work – it seems that, because we can embed an interpreter for a simple language within a program itself, a program-generating program doesn’t create data with higher K. complexity than the size of the initial, first-level program. A high complexity algorithm is necessary, and this algorithm must be produced by a generating process that cannot itself be reduced to a simple algorithm. So if a human being were to sit down and type in the algorithm, they might have to actively make sure that they are not inserting patterns into what they type.

But we can obtain vast amounts of high complexity data if we want it. We can do it by turning our cameras, microphones, thermometers, telescopes and seismic sensors toward nature. The data thus recorded comes from an immensely complex process that, as far as we know, is not easily reduced to a simple algorithm. Arguably, this also explains aesthetic appeal. We do not like sensory impressions that are easily explained or reduced to simple rules. On first glance at least, hundreds of blocks of identical high density houses are less attractive than low density houses that have grown spontaneously over a long period of time (although we may eventually change our minds). Objects made by artisans are more attractive than those produced in high volumes at low cost. Life is more enjoyable when we can’t predict (on some level, but not all) what the next day will contain.

The deep aesthetic appeal of nature may ultimately have as its reason the intense complexity of the process that generates it. Even a view of the sky, the desert or the sea is something complex, not a case of a single color repeated endlessly but a spectrum of hues that convey information.


Comment » | Computer science, Philosophy

Back to top