Google Blogoscoped

Forum

Mutating Pictures  (View post)

Artem [PersonRank 4]

Monday, October 1, 2007
12 years ago33,786 views

It is somewhat difficult to rate until you see several creatures and get some kind of a scale. Would it make sense to:

1. List some general guidelines. E.g. 1-2 – have to be killed, not even close; 5-6 – might be a face drawn by idiot; 8-9 – I might have thought it's a face if I only had a 0.5 sec look at it

2. Or since it is about determining which creature is better, than another one, would it make sense to *compare* two creatures in the hot-or-not style?

MolokoV [PersonRank 1]

12 years ago #

the animals thing...


mv.lycaeum.org/mutate/haring_0 ...




mv.lycaeum.org/mutate/guernica ...



One of your tinted avatars made me think:

"ALL YOUR FACE R BELONG 2 US"

Jedi [PersonRank 1]

12 years ago #

prediction: The face is going to get more abstract. The body is going to end up looking like the Michelin Man or the Staypuff Boy, and the animal is going to be a dog/duck hybrid... LOL

Anand [PersonRank 1]

12 years ago #

i think the the kind of shapes we have for "body" would be more useful for "face".

ibanex [PersonRank 0]

12 years ago #

The animal is starting to look like this...


mathworld.wolfram.com/images/g ...


MolokoV [PersonRank 1]

12 years ago #

part of the problem with the animal is that the fitness landscape isn't monotonic... in order to get from one good shape to another good shape, or sometimes to a better shape, the image has to pass through a much worse shape.

Also, there's no 'speciation' so hybridizing a dog in the upper right corner with a bird in the middle wrecks the image entirely.

One of the definition of species boundary that has been used in biology is that the two genepools are capable of producing fertile offspring. So, as gene pools drift, at some point they become incapable of hybridization.

Allowing images to hybridize only with images that are less than some threshold least-squares distance away from each other would create de-facto speciation and would model well what happens in natural evolution.

Another option is to bias the probability that two images would hybridize inversely to their least-squares distance.

Another thing that happens in natural genetics is that a single gene will spit into two copies of itself which then mutate in different directions and come to perform different functions in the organism. This increase in complexity over time could be modelled by starting with very few polygons, then occasionally duplicating one of them. The result of this for the animal would most likely be starting with rudimentary shapes (head and body circles, for example) then adding limbs and other detail features once the main shape is established.

The tilted circle segments for the "body" are kind of dissonant. If a new shape-set is needed to make it obvious which genepool is being worked on while using the scoring selection page, making a GA that uses oriented, resized ellipses might work well. The gene parameters for each ellipse would be radius, aspect ratio, x position, y position, rotation and color.

Some genes in biological cells seem to be protected or 'highly conserved' there may be more than one process by which this happens. Obviously if all mutations of a critical gene are lethal, it will be highly conserved, but some genes are actively protected from mutation or copying errors by processes that evolve within the cell.

Adding a fitness score to each element inside the genome would somewhat model that, but corrupt the simplicity of the process.

It would depend on the intention of the algorithm. Are you trying to make something that converges well toward some ideal state, or are you exploring the limits of the simplest possible genetic algorithms?

  

MolokoV [PersonRank 1]

12 years ago #

This item about "human computation" is rather interesting.

Makes me wonder what kind of meta-consensus-finding applications genetic algorithm games like mutatingpictures.com might find.

+ Show video



Philipp Lenssen [PersonRank 10]

12 years ago #

For MutatingPictures.com ideally I want to create some brute force approach right now, mainly because there is limited "rater attention energy" to help power the site, and wasting that helping energy from all of us by fine-tuning complex algorithms (which are harder to invent & calibrate) doesn't seem to be an option at this time. However, if the site attracts a growing audience, I can launch more and more experiments, with more complicated algorithms... each distinct pool could have its own drawing styles and algorithms...

But even when you use brute force, like for instance with the animal pool, certain drawing genes can be more successful and show through. The animal pool has three shapes (triangle, circle, line) and two colors (black and white). However, only the overall amount of shapes is fixed, but if say the triangle shape would be fitter it could over time "eat up" the other shapes, filling the whole available "shape space" with its own form (similar with the colors black vs white).

It's quite interesting that from a programming point of view, you start to see this "crowd intelligence" almost like some living being, or like an energy cloud.

(On a side-note, CHI:
blogoscoped.com/archive/2005-0 ...
Amazon later implemented the Mechanical Turk which is the closest real-world implementation of this I've seen, but it's not really global – e.g. you need a US bank account. It may also be nice to see a non-profit do this, with helpers simply chipping in to advance science/ problem-solving/ culture.)

What I think is fascinating is that with this helper pool, a solution can be found to problems not a single individual participant from the pool may achieve on their own. I don't have proof but I *think* you don't need to have a single artist among the MutatingPictures.com raters to create incredible art work & beauty – because it's an easier job for us to tell if something looks "right" then it is for us to draw it right, for some reason. I would love to know what other kinds of problems can be found where the CHI/ crowd intelligence solution is better than the sum of its parts.
For instance, how do you tackle a complicated math question with crowd intelligence, if no math expert is among the crowd? Is there any way to break up the problems into parts that can be solved by the crowd – assuming even the programmer of the "crowd intelligence" program is *not* a math expert? (You can't just show the math question, because it would be too hard for every single member of the crowd... 50,000 people where no single one is able to solve the question do not speed up the solution!) If that's not possible, then what kind of problems lend themselves to the crowd intelligence approaches (and what generic approaches can be found to break up problems in crowd intelligence solvable sub parts)?

bitbutter [PersonRank 1]

12 years ago #

[put at-character here]philipp

"It's quite interesting that from a programming point of view, you start to see this "crowd intelligence" almost like some living being, or like an energy cloud."

"For instance, how do you tackle a complicated math question with crowd intelligence, if no math expert is among the crowd? Is there any way to break up the problems into parts that can be solved by the crowd"

There's a book i think you would find very interesting called 'the wisdom of crowds' it talks specifically about exactly these things.

bitbutter [PersonRank 1]

12 years ago #

I think that 'the wisdom of crowds' is an important advantage that these collaborative online experiments have over the original version of Richard Dawkin's Blind Watchmaker programme.

Philipp Lenssen [PersonRank 10]

12 years ago #

(Read it before, love the book...)

MolokoV [PersonRank 1]

12 years ago #

This kind of thing might be useful for solving non-trival problems dealing with joint probability distributions, or with answering questions about equlibrium states of economic models or game theory.

There may also be applications in establishing the weightings or topologies of bayesian networks, or in finding "hidden markov processes" in sequential phenomena for which there are no current models.

A somewhat trivial test would be to find the center of gravity of an irregularly-shaped 3D object. The object would be presented in random orientations, and people would be asked to click on where they think the center of gravity is. Each click would represent a line in 3-space along which the center of gravity might lie. The centroid of the region of greatest line density would presumably be the consensus estimate for the center of gravity.

"the wisdom of crowds" may not apply well at all, or be worse than analytical methods for highly counterintutive problems or highly nonlinear or non-contiguous ones. This may be one of the problems with democracy.

Crowd consensus does best when the underlying problem is one of central tendency or average values for some easily observed phenomenon.

Other interesting problems might be: predict the curve of the Euro-Dollar exchange rate for tomorrow given today's chart, estimate the path of an earth-crossing asteroid given a view of the local solar system with the recent paths each body represented as a velocity-direction vector, etc.

It's hard to find unambiguous mathematical problems where numerical methods don't give more accurate results than human opinions when all the variables are known.

I wonder if this approach would work with something like deciphering Easter Island rongo-rongo script, which is an arbitrary human phenomenon that's analytically intractible.

Another domain for this might be finding archaeological sites. "Click on locations where would you build a village in this aerial photograph of tropical jungle."

Philipp Lenssen [PersonRank 10]

12 years ago #

> A somewhat trivial test would be to find the center of
> gravity of an irregularly-shaped 3D object. The
> object would be presented in random orientations, and
> people would be asked to click on where
> they think the center of gravity is.

Is this problem solvable with current "AI" (math algorithms)?

If so, I'm curious if you can find some problems that aren't solved by today's state of AI.

> Another domain for this might be finding
> archaeological sites. "Click on locations where would
> you build a village in this aerial photograph
> of tropical jungle."

That is interesting.

Wonder if you can design a website this way: present two random designs, ask people how beautiful it is, or, how fitting to "brand X". (On a sidenote, I get a feeling in Facemaker's app, people – or at least I! – naturally tend towards the more beautiful face, even when the question is just "which looks more like a face?")

Wonder what would happen with crowd intelligence playing chess? Present an interactive chess board on a website, a master player is on one side, on the other side 50,000 people have to each decide on a move, the most popular move will be chosen (I don't think it matters if all of the 50,000 actually know chess rules? As long as the majority does!)
Would their chess move be the "dumbest" possible move? Or a terrific move? And would the crowd intelligence average towards some long-term strategy at all?

bitbutter [PersonRank 1]

12 years ago #

phillip: "(On a sidenote, I get a feeling in Facemaker's app, people – or at least I! – naturally tend towards the more beautiful face, even when the question is just "which looks more like a face?")"

haha yes. It was interesting to see that today Face Maker's population has swung quite strongly from female towards masculine faces, which are also slightly more lifelike and detailed than the female ones they replaced. I'm also guessing that the users of the site are predominantly heterosexual males (though there's no way of knowing)--if that's true it looks like people aren't just selecting on attractiveness, though I'm sure that still plays a big part (for me also).

What i think might be an important factor is a tendency for raters to value novelty. ie. in an all-female population of faces, a lone 'male' face that emerges will get more attention and be chosen more often as a result.

takitus [PersonRank 0]

12 years ago #

I find that in doing this there are many non-preferable pieces being used and I generally give the pictures including them a lower score in order to keep the faces from including those pieces. Before the samurai look there was one that looked like pigtails hanging down the sides of the face that I constantly voted under 5 for in order for it to phase out. This gets very frustrating however because of the fact that a face might almost be perfect except for those single pieces being where they are and usually oversized as well.

What would be great would be a palette of maybe 9 images to choose from in order to guide the direction of flow.

Also one thing I would like to recommend is seperating the animal, person, and what other ones you might create into seperate pages so those people who are trying to optimize one particular image dont have to deal with the others.

bitbutter [PersonRank 1]

12 years ago #

takitus: "I find that in doing this there are many non-preferable pieces being used and I generally give the pictures including them a lower score in order to keep the faces from including those pieces."

Did the pigtails make the image look less like a face? If they weren't affecting the face-ness of the image then selecting against pigtails might be counter productive in the long-run (slowing down the evolution by throwing out otherwise promising faces).

If a good face arises that has pigtails, i think it's likely that the pigtails would eventually disappear or mutate into something else anyway.

What I'm seeing happen in Face Maker is that as certain key features are 'solidified' in the population, selection moves on to improving less crucial things. First eyes and mouth are established, then nose, later facial details, and 'framing' of the face are refined. Once the face is looking pretty face-ish, attention naturally turns more towards improving the 'embellishments' (pigtails etc).

"What would be great would be a palette of maybe 9 images to choose from in order to guide the direction of flow. "

I much prefer it that the the 'goal' isn't defined (beyond the deliberately short-sighted instruction to rate each pic according to how face-like it is).

"Also one thing I would like to recommend is seperating the animal, person, and what other ones you might create into seperate pages"

I'd like this too. I have a great deal of trouble rating the animal pics, so i tend to skip those.

Kenny [PersonRank 0]

12 years ago #

I've not seen the progress in two days, and it appears to me that a) the progress in the second face strain is stagnating, b) the animal is not likely to EVER appear, c) the body hasn't come far either. That's rather disappointing.

Philipp Lenssen [PersonRank 10]

12 years ago #

Kenny, the progress the site makes is not related to "world time" but only to how many people visit to play. Right now, according to the site stats, these pools are in about "hour 4" or so compared to the the first pool on the first day! Why? Because the whole week *taken together* after launch day didn't have half as many hits as launch day yet – and now there are 3 pools instead of 1 so attentions is furthermore divided. And if I look back to day 1, in hour 4 or so, there wasn't much of a face visible either. So what I'm saying is not that these new pools must necessarily develop great over time, just that it's hard to judge the results right now because there would need to be more visits to make any good assumptions in regards to "pool fitness". In a way, if you expect the kind of results of launch day to repeat themselves, it's only going to happen when the site attracts 70,000+ visitors a day again, and that's a really, really rare thing for a site to happen I think (of course it'd be neat :)).

Luke [PersonRank 0]

12 years ago #

[put at-character here]philipp:

recently read this on techcrunch:
just what you proposed
crowdchess.com/

Philipp Lenssen [PersonRank 10]

12 years ago #

Luke, fascinating. These idea are in the air, it will be interesting to watch this evolve.

Jeff [PersonRank 0]

12 years ago #

I think an interesting direction to take this wouldn't be the change the initial shape pool, but instead start with the same sets of pictures, asking different (but related) words. Does this look like a... 'mans face/womans face' 'eagle/parrot' 'horse/cattle', and see how the picture pools diverge.

I'd imagine there would be some starting pictures that would be more face-like, and get high number votes for, say, both a man's face and a woman's face, but over time, the traits would start to look more and more like one or the other. Seeing a side by side animation of one picture changing into a face, then into 2 different faces (male and female) would be very interesting.

Simon [PersonRank 0]

12 years ago #

Would it be useful to start a gene pool with variable shapes within as well as a upper limit.
This would lower the workload on the server and allow for more simplification of overly complex images. The problem with some of the images seems to be that there is no place to put the excess shapes except around the image.

Philipp Lenssen [PersonRank 10]

12 years ago #

> The problem with some of the images seems to be
> that there is no place to put the excess shapes except around the image.

Right now, the excess shapes can overlay each other to turn "invisible", or also turn white (on white). Not sure if that's the best solution to the problem but it's one "survival strategy" to reduce elements.

Right now, the biggest detriment to speedy evolvement is the lack of raters unfortunately, though I'm really grateful to everyone who continues rating. In comparison there were around 70,000+ visits the first day, and now there's around 2,000+ visits/ day.

spot [PersonRank 0]

12 years ago #

nice app, see also electricsheep.org including full graphical display of family trees: sheepserver.net/v2d6/cgi/node. ...

Kate C [PersonRank 0]

12 years ago #

Lovely site, I do love genetic algorithms. Is there any chance that you would make a t-shirt with one of the composite samurais on it?

Philipp Lenssen [PersonRank 10]

12 years ago #

Kate, great idea. I'll give it a try and post an update here.

Tikitu de Jager [PersonRank 0]

12 years ago #

I'd love to see an animation of the population average through time, if you've got enough data in your snapshots to make it fairly smooth-looking.

Also: nice work! (And yep, I'd buy a t-shirt.)

David Mulder [PersonRank 10]

12 years ago #

Is it just me, or have the results become worse?

Philipp Lenssen [PersonRank 10]

12 years ago #

I think there are some really varied, interesting faces still evolving. But it's not going towards more precision at this time, but towards more variety, so some of the new faces also look less face-like. Overall though, traffic further dropped, so evolution pace is dropping along with it. I'd estimate the current evolution rate per pool, simply going by visits and number of pools, is 1/192th of what it was during launch day.

Max Williams [PersonRank 1]

12 years ago #

Hi Philipp

Do you wonder at all about the size of the evolutionary step? In real evolution changes occur at a tiny rate, so in order to make the site more interesting, i guess that your evolutionary steps (ie the amount of change between a parent and child) are relatively large. As a result, it may be possible that a parent could be quite a good face while the children all diverge in different directions and are bad faces.

I don't know how this would be adjusted – of course, some 'intelligent designer' could come in and say "that looks very face like, lets decrease step size for that 'family' ". But that seems like cheating. Alternatively, step size could be set to gradually decrease as time goes on, but the problem with that is that evolution could slow down before anything interesting has happened.

I don't have any solutions myself, just curious as to your thoughts.

Philipp Lenssen [PersonRank 10]

12 years ago #

Max, yes I've been pondering the mutation amount too. I don't have any specific "best" mutation amount per offspring that I know of. However, since when you give a rating of say 10, the parent will create multiple offsprings. Furthermore, the same parent can be presented to others (until it dies) to create even more offspring.
So within all these offsprings, which all have the same mutation chance (but not necessarily all the same mutation amount as end result, it's only a random average chance), some of the pictures may actually create rather small or fine-tuned changes, while others indeed end up being "destroyed" versions of the parent. The results after 24 hours kind of seem to indicate this.

So in the end, with enough people rating, these "noisy" signals *may* die off over time, and the mutation is still optimized.

*However* fine-tuning these rules may speed up evolution, or differently put, the project may make less or more rational use of the amount of raters available to it, depending on the algos.

If, for instance, I would have managed to find an algorithm (if there is one!) that would have created terrific pictures at a visitor number of say 2,000 per day, then maybe these 2,000 people would have come back every day, told more of their friends, etc., so that the project would now have a higher or steady rate of raters – causing an even higher rate of good mutations/ results. Instead, some people became disappointed at the lack of evolution in some of the pools and perhaps deserted the site (the site is now at around 500+ visits a day). So, I think in that sense it *does* matter how well exactly you pick the specific algos for these kinds of experiments, because it will determine the "survival" factor of the site itself.

I am pretty certain (not 100% sure, but quite optimistic) that if the site still had 70,000+ visits a day, it could produce some more fascinating pictures, even for harder pools. Also, I as programmer of the rules would get very quick feedback in regards to which fine-tuning or which pool rule set works and which doesn't, allowing me to further optimize the sites algos. But right now that's not an option. Sill, it was a lot of fun for the first results this produced, and maybe every now and then the site will be linked from some bigger sites, allowing it to get a bunch of new visitors.

Max Williams [PersonRank 1]

12 years ago #

Ah, i never thought about randomising the amount of mutation – kind of obvious when you mention it.

It's interesting what you say about the 'meta' aspects of the rules that encourage people to use the site by encouraging quick evolution. A possibly interesting parallel between this and natural evolution is that generally an animal species wants to *not* get noticed by other species, while many vegetable species (flowering plants, fruiting trees, etc) *do* want to get noticed by other species. I wonder if there are any lessons to be learnt from the vegetable kingdom :)

Stephen Tordoff [PersonRank 10]

12 years ago #

What happened to the body pool?

bitbutter [PersonRank 1]

12 years ago #

"i guess that your evolutionary steps (ie the amount of change between a parent and child) are relatively large. As a result, it may be possible that a parent could be quite a good face while the children all diverge in different directions and are bad faces."

The way I've approached this with Face Maker is to assign each child of a new 'litter' a maximum mutation value. The actual mutation of the child's parts is determined by a random number between 0 and the maximum mutation value for that child.

I weighted the maximum mutation values for the chidren so that most of the children in a litter have a low maximum mutation value, but that there is always a more highly mutated child in the group.

I agree that manually tuning the mutation rate in response to vote frequency seems like cheating :)

An interesting, but more involved alternative would be to encode the child mutation weightings into the genome, and allow that to mutate, and to be inherited also. This way we might expect the mutation rate to regulate itself.

Philipp Lenssen [PersonRank 10]

12 years ago #

Stephen, it's still live, or what do you mean?

> I agree that manually tuning the mutation rate in
> response to vote frequency seems like cheating

What I did was to settle on a fixed mutation rate which is automatically dependent on the rating (a higher rating will receive more offspring, but less mutated amount per picture). But it took me a day or so to figure out a good mutaton rate, I finally settled on something around "16% – rating" or something!

But you could also (automatically) adjust this value by looking at the number of overall votes so far, or, perhaps more dependable, in the case of MutatingPictures.com you can also check how many high ratings there are on average recently. A pool that is receiving a lot of high ratings may simply get more fine-tuned mutation amounts. But for MutatingPictures.com, I didn't want to use any database to do any of this for reasons of performance. Luckily that meant the site was alive throughout most of the first 24 hours...

Stephen Tordoff [PersonRank 10]

12 years ago #

Edit: Ignore the following, just checked again and the body pool is back to how it was. Must have been some kind of glitch / bug.

Sorry, didn't make myself clear.

A few days (weeks?) ago, there was a number of image that were looking close to being bodies. However, now there are just semi-circles.

This thread is locked as it's old... but you can create a new thread in the forum. 

Forum home

Advertisement

 
Blog  |  Forum     more >> Archive | Feed | Google's blogs | About
Advertisement

 

This site unofficially covers Google™ and more with some rights reserved. Join our forum!