Human Computation Steven Emory CS 575
Overview What is Human Computation? History of Human Computation Examples of Human Computation Bad Example Good Example Challenges in Human Computation
Definition of Computation Normally we rely on computers to do all the work On input: Step #1 Step #2... Step #n Ouput
Definition of Human Computation Some or all steps are solved by human(s) On input: Step #1 Step #2 (ask a human) Step #3 (ask a human)... Step #n Ouput
History of Human Computation 1980's: Interactive Genetic Algorithms 2000's: Human-Based Genetic Algorithms 2000's: Outsourced Human Spam 2000's: Interactive Guessing Games
Quicksort Example Bad Example: Quicksort Input: Unsorted array Select a pivot (human selection) Swap last element with pivot element Partition array using pivot element Insert pivot element into correct position Repeat above steps for left/right side partitions Output: Sorted array
Quicksort Problems Solved faster by computer alone Not rewarding Boring Painful
Photomosaic Example Photomosaic Algorithm Can be solved by computer alone. On input “image gallery,” “source image” 1.) Tile source image. 2.) From left-to-right, top-to-bottom, compare each image in the image gallery to each tile in the source image, inserting the gallery image with the lowest error. 3.) Output photomosaic.
Photomosaic Problems Noticable visual artifacts Could use a randomized algorithm instead Can we do better using Human Computation? Of course!
Photomosaic Solutions Optimize important features first Objects (eyes, nose, mouth) Edges (chin, facial edges, hair, body) Revised algorithm: On input “image gallery,” “source image” 1.) Tile source image. 2.) Select important features (ask human). 3.) Optimize (randomly) important features. 4.) Optimize (randomly) unimportant features. 5.) Output photomosaic.
When to Use When the problem: is hard for a computer, but easy for a human can be done better by a human needs a human-like (artistic/creative) solution is not boring to a human (music, art, games) is rewarding (financially or emotionally) is one and done
Human Computation Challenges User interface design Coordinating many human participants Analagous to distributed computing Honesty Prolonged computation
reCAPTCHA Example Used to digitize old books (make e-books) OCR normally works 99% of the time OCR accuracy drops for older books Old paper Old printing techniques Solution: Ask humans to determine words OCR fails to classify When enough humans agree, consider it solved
reCAPTCHA Example
Metadata Example Algorithm: Assign metadata to images Useful for content/multimedia management systems (i.e. Istockphoto) No algorithm exists for image labeling Luis Von Ahn's solution: The ESP Game ESP Game Demo
Metadata Example Problem: Getting humans to agree correctly
Electric Sheep Example Brief fractal explanation: Iterative process based on chaos, dynamical systems Newton's Method Fractal Solve az3 + bz2 + cz + d = 0 for complex numbers a, b, c, d are fractal parameters Cubic equation has 3 roots Red = converges to root #1 Green = converges to root #2 Blue = converges to root #3 Black = fails to converge
Electric Sheep Example
Interactive genetic algorithm Humans evaulate fitness Animated fractal parameters are mutated Algorithm has been running for years Implemented as a screensaver
Electric Sheep Example
Conclusions There many hard/impossible to solve problems Nothing shameful about using Human Computation Applications in art, music, computer vision, security, content management
References Luis Von Ahn Google Talk lecture on Human Computation The Art of Artificial Evolution (2008) 460aa17749eb8153fec3d0507f68&pi=9