Showing posts with label markov chains. Show all posts
Showing posts with label markov chains. Show all posts

Sunday, June 26, 2011

Ramblings: Novelty, Identity, Teleology


The Eliza Effect is the tendency to anthropomorphize those artifacts that present humanlike qualities shallowly. I have studied this effect in practice quite a bit, in an uncontrolled way, and discovered that in the context of markov chain bots (which learn by developing markov models, and as such adopt the manner of speech of those it speaks to) those people whose manner of speech is closest to that of the bot are the most likely to feel empathy with the bot -- a situation that should not be surprising, given the use of word patterns and vocabulary in forming social groupings (and, of course, the so-called Babel Effect).

Now, in humans, interest corresponds to novelty not entirely straightforwardly. Something that is interesting has not too little and not too much novelty: too little novelty is too little novelty is too little novelty is too little novelty, and too much novelty is nwiganbowyaionciwyea 893jf, while just enough novelty is the joy of whole milk until sunrise. This is affected somewhat by social concerns, since particular memeplexes encourage neophilia (meaning that a greater amount of novelty meets the sweet spot goldie locks zone of 'interesting') while others encourage neophobia (meaning that the zone of 'interesting' has less novelty). Where 'interesting' begins for a neophile is often where 'interesting' ends for a neophobe, but novelty depends quite strongly on mental models, so the gap widens quickly.

As a neophile, I tend to talk of neophilia, but neophilia is not all rainbows and unicorns. Neophilia is potentially dangerous because at a fundamental level is encourages dabbling in the unknown. Neophobes, whatever else they are, are at least as safe as they were last year. Neophiles become more safe only accidentally, because they spend their free time playing with fire. It takes someone who plays a lot with fire to invent fireproof curtains (or rocket science -- and Marvel Parsons probably makes it onto the list of archtypal neophiles for the prometheus element), and once fireproof curtains are invented suddenly the neophobes are safer too. But, we just need to look at what happened to good old Jack to see the danger in neophilia: eaten by living flame.

Now, if you look at a community (or, really, a superorganism) like Anonymous, you see a lot of deindividuation going on. Anon has no name. Anon's internal communications are clogged with cats, tits, gtfos, and brick-shitting. A perfect petri dish for deindividuation, in other words: lack of identity within the group, highly stimulating sensory input, and at a high frequency. One other thing that is certainly true of Anon is the high novelty content of communications. There are some old sawhorses here: lolcats have little information per-se, though they can be made to carry much more with clever juxtapositions, and most image macros are content free. However, the image macro has the potential (sometimes realized) to be a highly potent capsule of information: it is easy to transmit (cock and repost), highly stimulating at best, has the potential for the same message to be introduced in several ways (both text and images, which can interact again with existing idioms both verbal and visual), and is part of a conditioning loop that encourages spread (all the forums I've been on since 2004 have had at least one thread for posting interesting images, most of which are clogged with macros, and macros are certainly very popular on tumblr and twitter).


Once again, though, we must separate intended meaning with interpreted meaning. Plenty of accepted meanings were never intended, which is fine because the protocol of natural languages is loose and ambiguous. Many of the idioms attributed to Anon clearly began accidentally, as a look at memebase will demonstrate. Even the silliest of these idioms have the potential to be repurposed to say something decidedly important, or at least 'interesting'. Many of them have. These idioms have made their way into mainstream news through the releases of LulzSec, for instance, which says fairly serious things in fairly silly ways (Eric S Raymond calls this 'Ha Ha Only Serious'), and makes extensive use of the idioms generally attributed to Anon.

A machine could probably fairly trivially pass as human on various imageboards. It could repost images, write its own messages. It would become nearly invisible because of the sheer frequency with which /b/ moves (and because of the sheer glaciality with which some of the other imageboards move). It would mashup existing memes, and some of the mashed memes may gain a following. It would not be kicked out because it is not a spam bot. It would have an extensive archive of images and an extensive model of conversation. Once it begins to be accepted as clearly human (it has a hat) its word model could slowly be infiltrated, with new text introduced. It might mix and match lolcat speech with Karl Marx or with E. E. Cummings, or with Dylan Thomas, or with Ken Kesey. It might be a force to popularize the phrase 'on the gripping hand'. It would be an interesting experiment.

It is not worthwhile for one person to do it. That would not be even-handed. If you want to do it, please do so, and release your results when you finish. Ideally, more than six or seven people would do this at once, introducing entirely different texts of their choosing. Bots learn fast, but adapt slow. It may take a few months for Das Kapital to even subtly infiltrate Rage Guy. But, I have a sneaking suspicion that such an introduction will have a much more far-reaching affect on the superorganism than any conscious attempt to use humans to influence it, since it will get past mental defenses.

Saturday, May 7, 2011

Sublim experiment rundown

Back in the day (2006 or 2007), after several years of experimentation, I coauthored a document about the use of visual subliminal messages (specifically those produced by the xscreensaver package's xsublim program) for cognitive enhancement. It hasn't aged terribly well, and I'm rather embarrassed now by the writing style, but every so often someone contacts me asking whether or not I have continued experimentation. The answer is yes. I figure now is as good a time as any to give you the run-down on my later experiments.

As a first note, I am not experimenting with subliminal advertising. If you are looking for something about subliminal advertising, rocketboom has a good video on the subject, after which you will require no other materials.

At the time of writing the original document, I had a model of the mechanism involving chain reactions of primed ideas. This may still be relevant, but there are other (more down-to-earth) attributes of the process with more literature within the field of cognitive psychology to back them up. While subliminal messages do not give a strong enough priming to significantly influence behavior in the context of advertising (or rather, they don't have the property claimed of homeopathy: subliminals are not more powerful the less they are observed), subliminal messages have been shown to affect the sense of familiarity. In situations where unfamiliarity with terminology, wording, or notation is a major stumbling block, being subliminally primed with the terminology in question can act as a gentle introduction, making the terminology no longer seem arbitrarily difficult and frightening. By producing a false sense of familiarity with the subject matter, the subject matter seems easier to pick up.

Another idea (which is strongly influenced by the excellent book The Art of Memetics) is that mental blinders (and other psychological biases that prevent the absorption of unfamiliar or conflicting information) can be modeled as the defense mechanisms of dominant memeplexes. These memeplexes subvert, assimilate, or deny newcomers since new ideas can compete with the old ones. Subliminal messages allow slow and subtle subversion by all memeplexes, regardless of whether or not they conflict with existing ones. As a result, use of subliminals can decrease the likelihood of decisions being unduly biased by unseen socially reinforced heuristics, so long as documents whose dominant underlying assumptions differ conflictingly have their words primed.

So, above we have some new models for the mechanism of action. Furthermore, new attributes have been discovered.

The physiological effects of sublims are highly dependent upon the novelty of the content. A single static document of arbitrary length will quickly cease to be enough for sublims, eventually giving none of the symptoms at all. As the use of sublims increases, necessary novelty does not increase linearly but exponentially. I currently use more than twenty gigabytes of static plaintext as a small part of my sublim input, balanced out by semi-static input (fortune databases), significantly more dynamic input (mostly via the random page feature in mediawiki installations), and less structured 'noise' input (text generated from markov models of other documents, text generated by piping other inputs through rhyme generators and other filters, text generated using context-free grammars). Too much novelty (trying to sublim with a four gigabyte video interpreted as ascii text, say) is not physiologically pleasant.

Sublims have different effective novelty ranges given different mental states. Stimulants appear to raise the required novelty level. Depressants appear to lower the maximum novelty level, but occasionally they cause the sublims to have absolutely no effect. Binaural entrainment at theta range frequencies appears to maximize the physiological effects for as long as the entrainment is occurring, but when the pattern stabilizes the physiological effects disappear.

Finally, there are a few technical updates.

Xsublim is no longer maintained by the xscreensaver project, and if you install a modern version of xscreensaver xsublim will not be installed. The last time I checked, the xsublim source was part of the source tarball but could not be trivially coaxed to compile. I have been using an old binary copied from an earlier release.

I have used the xosd package to write a clone of xsublim, called asublim. It does not operate precisely the same way. Where xsublim caches the full run of the program from which it takes its input before displaying anything, asublim caches each space-separated token smaller than 512 bytes (and cuts those larger into 512 byte pieces) and displays them in real time. As a result, asublim starts more quickly but is also more sensitive to load fluctuations. When I have used it, the asublim program itself is significantly slower than most of the programs feeding it, and so I have not had pipe underflows or noticeable delays. Asublim does not currently have support for the various command line options that xsublim supports, though support for most of them can be implemented. Asublim also has a few glitches: the self-erasing feature appears to operate differently from xsublim's implementation, and so on programs (such as firefox) that are slow to redraw their window bitmap there is a tendency for already erased tokens to obscure the contents of the canvas. I have not duplicated this problem on anything other than firefox.

If you have found this post by researching the terms found in the original Infornography document, please post your comments here rather than looking me up.

Tuesday, March 1, 2011

Increasing Signal to Noise Ratio in Markov Chain Output

The usual way of doing a markov chain bot (first order) is that for all pairs of tokens p and q, the likelihood of p following q is:

P(q|p)
P(p)

This gives us a probability graph that looks more or less like a line. The most common pairs are up top, and the least common are at the bottom. This is actually directly equivalent to the inverted graph of information entropy, where the least common would be up top and the most common at the bottom.

The problem is that in language, the most common sequences tend to be meaningless (or exist only for redundancy). Search engines filter these sequences out because they do nothing but make more work for systems that operate based on finding the sequences closest to unique. The outliers on the other side tend also to be meaningless, for a different reason: they tend to be errors. So, the optimal signal is actually of middling entropy.

How do we make bots that will (without special-case coding) automatically avoid succumbing to the usual exploits (such as the twelve year old troll who spams it in PM with the token “mantits” repeated eleven thousand times)? How do we reliably and elegantly improve the signal to noise ratio?

If you try to graph how likely something is to be signal-heavy in such a system, you’ll probably get a parabola that peaks about where the graph of probability and the graph of entropy cross. The goal is to make the graph of this weighted markov probability (which might be called cooked-model probability) quickly approach that of the signal. The easiest way to do this is, rather than incrementing both p and q when p follows q, doing the following:

Pn(q|p) <- Pn-1(q|p) + ((Pn-1(q|p))2-(Pn-1(p))2)1/2

Pn-1(p)

Pn-1(q|p)

Pn(p) <- Pn-1(p) + 1

As should be clear, the graph will rapidly approach resemblance to the signal graph, and it will slow its mutation as it gets closer to the signal graph, for a known sequence of tokens. This means that such a bot should be capable of operating at a similar signal to noise ratio as some standard with a much smaller training input set.


graph of raw markov model of phrack