# Computación basada en humanos

La computación basada en humanos es una técnica informática en la que un proceso computacional desempeña su función mediante la externalización de ciertos pasos hacia el ser humano. Este enfoque utiliza las diferencias en las capacidades y los costos alternativos entre los seres humanos y los agentes informáticos para lograr una interacción simbiótica humano-ordenador. Para tareas computacionalmente difíciles, como el reconocimiento de imágenes, la computación basada en humanos juega un papel central en el entrenamiento de sistemas de inteligencia artificial basados en aprendizaje profundo. En este caso, la computación basada en humanos se ha denominado inteligencia artificial asistida por humanos.
En la informática tradicional, un ser humano emplea un ordenador para resolver un problema, un humano proporciona una descripción formal del problema a un ordenador, y recibe una solución para interpretarla. La computación basada en humanos con frecuencia invierte los papeles: el ordenador le pide a una persona o un grupo grande de personas que resuelvan un problema, a continuación, recopila, interpreta e integra sus soluciones. Esto convierte a las redes híbridas de humanos y computadoras en "redes de computación distribuidas a gran escala" donde el código se ejecuta parcialmente en cerebros humanos y en procesadores basados en silicio.

## Primeros trabajos

La computación basada en humanos tiene sus orígenes en los primeros trabajos sobre computación evolutiva interactiva. La idea detrás de algoritmos interactivos evolutivos se debe a Richard Dawkins. En el software Biomorphs (Biomorfos) que acompaña al libro El relojero ciego (o The Blind Watchmaker; Dawkins, 1986), se da preferencia a un experimentador humano para guiar la evolución de dos conjuntos bidimensionales de segmentos de líneas. En esencia, este programa le pide a un hombre que se convierta en la función que juzgue la aptitud de un algoritmo evolutivo, de manera que el algoritmo pueda usar la percepción visual humana y el juicio estético para efectuar algo que un algoritmo evolutivo normal no puede hacer. Sin embargo, es difícil obtener suficientes evaluaciones de un solo humano si queremos evolucionar hacia formas más complejas. Victor Johnston y Karl Sims ampliaron este concepto mediante el aprovechamiento de la energía de muchas personas para realizar evaluaciones de aptitud (Caldwell y Johnston, 1991; Sims, 1991). Como resultado, los programas podrían evolucionar hacia rostros hermosos y obras de arte atractivas para el público. Estos programas invirtieron de forma efectiva la interacción común entre los ordenadores y los seres humanos. En estos programas, el ordenador ya no es un agente de su usuario, sino, en cambio, un coordinador de la agregación de esfuerzos de muchos evaluadores humanos. Estos y otros esfuerzos similares de investigación se convirtieron en tema de investigación de la computación evolutiva interactiva o selección estética; sin embargo, el alcance de la presente investigación se limitó a la evaluación externa y, como resultado, no estaba explorando totalmente el potencial completo de la externalización.
Un concepto de la prueba de Turing automática iniciado por Moni Naor en 1996 es otro precursor de la computación basada en humanos. En la prueba de Naor, la máquina puede controlar el acceso de humanos y computadoras a un servicio desafiándolos con un problema de procesamiento de lenguaje natural (PLN) o visión por computadora (VC) para identificar a los humanos entre ellos. El conjunto de problemas se elige de manera que no tengan una solución algorítmica que sea efectiva y eficiente en este momento. Si existiera, tal algoritmo, podría ser realizado fácilmente por una computadora, derrotando así la prueba. De hecho, Moni Naor fue modesto al llamar a esto una prueba de Turing automatizada. El juego de imitación descrito por Alan Turing en 1950 no proponía utilizar problemas de VC. Solo proponía una tarea específica de PLN, mientras que la prueba de Naor identifica y explora una gran clase de problemas, no necesariamente del dominio del PLN, que podrían usarse para el mismo propósito en las versiones automatizadas y no automatizadas de la prueba.
Finalmente, el algoritmo genético basado en humanos (AGBH) alienta la participación humana en múltiples roles diferentes. Los seres humanos no se limitan al papel de evaluadores, sino que pueden optar por realizar un conjunto más diverso de funciones. En particular, pueden contribuir a soluciones innovadoras en el proceso evolutivo, hacer cambios incrementales a las soluciones existentes, y llevar a cabo una recombinación inteligente. En resumen, el AGBH externaliza a los seres humanos todas las operaciones de un algoritmo genético típico. Como resultado de esta externalización, el AGBH puede procesar las representaciones para las cuales no hay disponibles operadores de innovación computacional; por ejemplo, los lenguajes naturales. Por lo tanto, el AGBH ha retirado la necesidad de un esquema fijo de representación, que era un factor limitante de la computación evolutiva (CE) estándar, e interactiva. Estos algoritmos también se pueden ver como novedosas formas de organización social coordinada por un programa de ordenador, según Alex Kosorukoff y David Goldberg.

## Clases

Los métodos de computación basada en humanos combinan ordenadores y seres humanos en diferentes roles. Kosorukoff (2000) propone una manera de describir la división del trabajo en computación, que agrupa a los métodos basados en humanos en tres clases. En la tabla siguiente, se utiliza el modelo de computación evolutiva para describir cuatro clases de computación, tres de los cuales dependen de los seres humanos en algún papel. Para cada clase, se muestra un ejemplo representativo. La clasificación es en términos de los papeles (innovación o selección) realizados en cada caso por seres humanos y procesos computacionales. Esta tabla es una porción de una tabla tridimensional. La tercera dimensión define si la función de la organización se realiza por seres humanos o un ordenador. Aquí, se asume que es realizada por un ordenador.
División del trabajo en computación :
| Agente de selección Agente de innovación | Ordenador | Humano |
| Ordenador | Algoritmo genético | Algoritmo genético interactivo |
| Humano | Tests computarizados | Algoritmo genético basado en humanos |
Las clases de computación basada en humanos de esta tabla pueden ser referidas por abreviaturas de dos letras: HO, OH, HH. Aquí la primera letra identifica el tipo de agentes que realizan la innovación, la segunda letra indica el tipo de agentes de selección. En algunas implementaciones (wiki es el ejemplo más común) basadas en humanos, la funcionalidad de selección puede ser limitada, se puede mostrar con una h minúscula.

## Métodos de computación basada en humanos

* (HO) Darwin (Vyssotsky, Morris, McIlroy, 1961) y Core War (Jones, Dewdney, 1984) Estos son juegos donde los programas escritos por varias personas compiten en un torneo (simulación computacional) en el que los programas más aptos sobrevivirán. Los creadores de los programas copian, modifican y recombinan estrategias exitosas para mejorar sus posibilidades de ganar.
* (OH) CE interactiva (Dawkins, 1986; Caldwell y Johnston, 1991; Sims, 1991) La CEI permite al usuario crear un dibujo abstracto solamente mediante la selección sus imágenes favoritas, de manera que los humanos realizan solamente computación de aptitud, y los programas realizan el rol innovador. En un diseño de Tastsuo Unemi, en 1998, el estilo de reproducción simulada no introduce ninguna aptitud explícita, sólo selección, lo cual es más fácil para los seres humanos.
* (HH $_2$) Wiki. En 1995 Ward Cunningham permitió editar el contenido de la web por varios usuarios, es decir, apoyó dos tipos de innovación basada en humanos (contribución con una nueva página, y sus modificaciones o ediciones incrementales). Sin embargo, el mecanismo de selección estuvo ausente hasta 2002, cuando el wiki fue aumentado con un historial de revisión que permite revertir los cambios inútiles. Esto proporcionó medios para la selección entre varias versiones de la misma página y convirtió al wiki en una herramienta que apoya la evolución del contenido de colaboración (se clasificaría como estrategia de evolución basada en humanos en términos de computación evolutiva, CE).
* (HH $_3$) El algoritmo genético basado en humanos (AGBH) (Kosorukoff, 1998) utiliza tanto selección basada en humanos como tres tipos de innovación basada en humanos (que contribuyen con nuevo contenido, mutación, y recombinación). Por lo tanto, todos los operadores de un algoritmo genético típico son externalizados hacia humanos (de ahí el origen de basada en humanos). Esta idea se extendió a la integración de las multitudes con el algoritmo genético para estudiar la creatividad en 2011.
* (HH $_1$) Las aplicaciones de búsqueda social aceptan contribuciones de los usuarios y tratar de utilizar la evaluación humana para seleccionar las contribuciones más aptas que llegan a la parte superior de la lista. Estas utilizan un tipo de innovación basada en humanos. El trabajo inicial se hizo en el contexto de AGBH. Digg y Reddit son ejemplos populares recientes.
* (HO $_1$) Pruebas computarizadas. Un ordenador genera un problema y lo presenta para evaluar a un usuario. Un método computarizado acepta selectivamente solicitudes de acceso desde una computadora cliente conectada a una computadora servidor por una red. La computadora servidor recibe una solicitud de acceso de la computadora cliente. En respuesta, la computadora servidor genera un número predeterminado de caracteres aleatorios. Los caracteres aleatorios se utilizan para formar una cadena en la computadora servidor. La sucesión de caracteres se modifica al azar, ya sea de forma visual o audible, para formar un acertijo. La cadena original se convierte en la respuesta correcta al acertijo. La computadora servidor presenta el acertijo en un dispositivo de salida de la computadora cliente. En respuesta, la computadora cliente envía una respuesta al servidor. Con suerte, la respuesta es la suposición de un usuario sobre la respuesta correcta. El servidor determina si la suposición es la respuesta correcta y, de ser así, se acepta la solicitud de acceso. Si no se recibe la respuesta correcta dentro de un período de tiempo predeterminado, el servidor termina la conexión entre el cliente y el servidor, porque este último asume que un agente automatizado está operando en el ordenador cliente en nombre del usuario.
* (HO $_2$) Pruebas computarizadas similares a la anterior; por ejemplo, CAPTCHA indica a los usuarios humanos de programas de computación mediante la presentación de un problema que se supone que es fácil para un humano y difícil para un ordenador. Mientras las CAPTCHA son medidas de seguridad efectivas para prevenir el abuso automatizado de servicios en línea, el esfuerzo humano invertido en resolver el problema es otro modo desperdiciado. El sistema reCAPTCHA hace uso de estos ciclos humanos para ayudar a digitalizar libros mediante la presentación de palabras escaneadas de libros antiguos que los sistemas de reconocimiento óptico de caracteres no pueden descifrar.
* (HO) Juegos interactivos en línea: Son programas que extraen el conocimiento de la gente de una manera entretenida.
* (HO) "Enjambre humano" o "enjambre social" (Rosenberg, 2015). La plataforma UNU para el enjambre de humanos establece sistemas de circuito cerrado en tiempo real alrededor de grupos de usuarios en red moldeados a partir de enjambres biológicos, lo que permite a los participantes humanos comportarse como una inteligencia colectiva unificada.
* (HO) La wikinomía, un concepto desarrollado e introducido por Don Tapscott y Anthony D. Williams, se refiere a la economía de colaboración. La tecnología, la demografía y la economía global convergieron en el surgimiento de nuevos modos de producción y en un paradigma económico basado en la colaboración masiva y el uso intensivo de las tecnologías de código abierto como la wiki.
* (NHO) La computación humana natural implica aprovechar el comportamiento humano existente para extraer trabajo computacionalmente significativo sin perturbar ese comportamiento. La computación humana natural (NHO) se distingue de otras formas de computación basada en humanos en que en lugar de involucrar la subcontratación del trabajo computacional a la actividad humana pidiéndoles a los humanos que realicen nuevas tareas computacionales, implica aprovechar una importancia computacional previamente desapercibida en el comportamiento existente.

## Incentivos a la participación

En los diferentes proyectos de computación basada en humanos la gente está motivada por uno o más de los siguientes elementos:
* Recibir una participación equitativa del resultado
* Compensación monetaria directa (por ejemplo, en Amazon Mechanical Turk, Answerly, Operador ChaCha, Buscar guía, Mahalo.com, Contesta a miembros, Clickworker)
* El deseo de diversificar su actividad (por ejemplo, "a las personas no se les pide en su vida diaria que sean creativos")
* Satisfacción estética
* Curiosidad, el deseo de probar si funciona
* El voluntariado, el deseo de apoyar una causa del proyecto
* La reciprocidad, el intercambio, la ayuda mutua
* Deseo de ser entretenido con el espíritu competitivo o cooperativo de un juego
* El deseo de comunicarse y compartir conocimientos
* El deseo de compartir una innovación de usuario para ver si alguien más puede mejorarla
* Deseo de jugar el sistema e influir en el resultado final
* Diversión
* El aumento de la reputación en línea/reconocimiento
Muchos proyectos han explorado diversas combinaciones de estos incentivos. Véase más información acerca de la motivación de los participantes en estos proyectos en Kosorukoff, y Von Hippel (2005).

## La computación basada en humanos como una forma de organización social

Vista como una forma de organización social, la computación basada en humanos a menudo sorprendentemente resulta ser más robusta y productiva que las organizaciones tradicionales. Esto último depende de las obligaciones para mantener su estructura más o menos fija, ser estable y funcional. Cada una de ellos es similar a un mecanismo cuidadosamente diseñado en el que los humanos constituyen sus partes. Sin embargo, esto limita la libertad de sus empleados humanos y los somete a distintos tipos de estrés. La mayoría de las personas, a diferencia de las piezas mecánicas, tienen dificultades para adaptarse a algunos roles fijos que mejor se adapten a la organización. Los proyectos de computación evolutiva basada en humanos ofrecen una solución natural a este problema. Adaptan la estructura organizativa a la espontaneidad humana, acomodan errores humanos y creatividad, y utilizan ambos de una forma constructiva. Esto deja a sus participantes libres de obligaciones sin poner en peligro la funcionalidad del conjunto, haciendo más feliz a la gente. Todavía hay algunos problemas de investigación difíciles que necesitan ser resueltos antes de que podamos aprovechar todo el potencial de esta idea.
Las técnicas de externalización algorítmica utilizados en la computación basada en humanos son mucho más escalables que las técnicas manuales o automatizadas utilizadas para gestionar la externalización tradicional. Es esta escalabilidad o capacidad de ampliación lo que permite distribuir fácilmente el esfuerzo entre miles de participantes. Se sugirió recientemente que esta externalización masiva es lo suficientemente diferente de la tradicional externalización en pequeña escala, como para merecer un nuevo nombre: crowdsourcing —colaboración abierta distribuida.
Sin embargo, otros han argumentado que el crowdsourcing debe distinguirse de la verdadera computación basada en humanos. El crowdsourcing de hecho implica la distribución de tareas de computación entre varios agentes humanos, pero Pietro Michelucci sostiene que esto no es suficiente para que se considere computación humana. La computación humana requiere no solo que una tarea se distribuya entre diferentes agentes, sino también que el conjunto de agentes a través del cual se distribuye la tarea sea mixto: algunos de ellos deben ser humanos, pero otros deben ser computadoras tradicionales. Es esta mezcla de diferentes tipos de agentes en un sistema computacional lo que le da a la computación basada en humanos su carácter distintivo. Algunos casos de crowdsourcing cumplen este criterio, pero no todos.
La computación basada en humanos organiza a los trabajadores a través de un mercado de tareas con interfaces de programación de aplicaciones (API, application programming interfaces), precios de tareas, y protocolos de software como servicio que permiten a los empleadores / solicitantes recibir datos producidos por los trabajadores directamente en los sistemas de tecnologías de la información (TI). Como resultado, muchos empleadores intentan administrar a los trabajadores automáticamente a través de algoritmos en lugar de responder a los trabajadores caso por caso o abordar sus inquietudes. Responder a los trabajadores es difícil de escalar a los niveles de empleo que permiten las plataformas de microtrabajo de computación humana. Por ejemplo, trabajadores del sistema Mechanical Turk han informado que los empleadores de computación basada en humanos pueden no responder a sus preocupaciones y necesidades.

## Aplicaciones
### Clasificación de búsqueda asistida por humanos

Una aproximación a la mejora de búsqueda en Internet implica la combinación de clasificación automatizada con el aporte editorial humano.

## Críticas

La computación basada en humanos ha sido criticada como explotadora y engañosa, con el potencial de socavar la acción colectiva.
En filosofía social se ha argumentado que la computación basada en humanos es una forma implícita de trabajo en línea. El filósofo Rainer Mühlhoff distingue cinco tipos diferentes de "captura maquínica" de microtrabajo humano en "redes híbridas humano-computadora": 1) ludificación, 2) "captura y seguimiento" (por ejemplo, CAPTCHA o seguimiento de clics en la búsqueda de Google), 3) explotación social (por ejemplo, etiquetado de caras en Facebook), 4) extracción de información, y 5) trabajo con clics (como en Mechanical Turk). Mühlhoff sostiene que la computación basada en humanos a menudo se alimenta de los sistemas de inteligencia artificial basados en el aprendizaje profundo, un fenómeno que analiza como "inteligencia artificial asistida por humanos".