lunes, 26 de septiembre de 2016

¿Por qué las redes de neuronas funcionan tan bien? Computadores y cerebros

¿Y si toda la corteza cerebral no fuera más que una máquina de hacer predicciones? Con esta hipótesis, Jeff Hawkins, el inventor de la Palm, y Sandra Blakesle, graduada en ciencias políticas, escribieron en 2004 un interesante libro sobre inteligencia artificial: On Intelligence. 

El neo-cortex o corteza cerebral de los mamíferos, es una lámina que cubre los hemisterios cerebrales. Se encuentra plegada de un modo característico dando al cerebro humano el aspecto que conocemos. En toda su extensión conserva una estructura celular fija de 6 capas neuronales consecutivas conectadas entre sí y con otras zonas del cerebro.

Estructura neuronal del neocortex.
La imagen es de Wikipedia
Según los autores, la red recibiría la información del mundo exterior en forma de patrón de señales eléctricas. Con esta información realizaría una predicción de cuál sería la siguiente señal en el futuro, o lo que es lo mismo, de qué podría pasar a continuación en el mundo real. Los mamíferos usaríamos estas predicciones para ajustar nuestros comportamientos con mayores garantías de supervivencia.

Para crear sus predicciones este sistema usaría su “memoria” de experiencias previas que mantiene guardada en su propia estructura de conexiones. De hecho, sabemos que ésta es (de forma simplificada) el modo en que el cerebro guarda la memoria. Las neuronas refuerzan o destruyen conexiones, creando estructuras físicas que guardan la información de los recuerdos que tenemos y de las cosas que aprendemos.

Según esta explicación, la predicción que realiza el neo-cortex no sería más que un cálculo automático de su red neuronal ante una entrada de información del entornoSe trata de una perspectiva muy propia de ingeniería y de hecho, para desarrollarla, los autores se basan en un conocido modelo de este campo: las máquinas de estado finito.

Hawkins siempre ha defendido que es necesario aprender cómo funciona el cerebro para crear sistemas inteligentes. Cuenta la leyenda que fue esta defensa a ultranza de la neurociencia como modelo de IA la que hizo que lo rechazaran cuando intentó entrar en el MIT.

Sinceramente, en su momento no fui capaz de decidir si el libro era una locura o una genialidad. La idea era plausible pero soy incapaz de analizar las matemáticas que hay debajo y tampoco soy un experto en procesamiento de señal en cerebro. Sin embargo, la simplicidad de la idea me marcó y quedó fuertemente grabada en mi red neuronal.

La cuestión es que mucho tiempo después, hace cosa de un año, un amigo me habló de un modelo de aprendizaje de máquina que estaba consiguiendo éxitos increíbles en el campo de la IA, el "deep learning", traducido como "aprendizaje profundo".

Simplificando un poco la cuestión, un sistema de aprendizaje profundo es una red neuronal artificial muy grande, con varias capas. La teoría de las redes neuronales está establecida desde hace unos años, pero ha sido la enorme mejora en la potencia de los procesadores actuales la que ha permitido aumentar su tamaño y propiciar su desarrollo.

Como me adelantó mi amigo, las redes de aprendizaje profundo han revolucionado por completo el campo de la inteligencia artificial. Todos los sistemas actuales, de reconocimiento de escritura, de caras, lenguaje natural e incluso Siri, están basados en este modelo. Además, estos sistemas han machacado a los humanos en todos los juegos conocidos, incluidos el último reducto que nos quedaba, el Go. Un juego de origen chino que dicen es el más difícil del mundo.

Un de los campos en los que mejor se ha estudiado el funcionamiento del aprendizaje profundo ha sido en el reconocimiento facial. La estrategia es entrenar una red con imágenes etiquetadas de un grupo de personas con el objetivo de que sea capaz de reconocer a estas personas en nuevas imágenes.

Como el propio cerebro, las redes neuronales, guardan su conocimiento de forma distribuida en la red. Ante una nueva imagen, sólo se activan unas pocas neuronas de todas opciones las posibles. Si el patrón de activación coincide con el que se ocurrió con una persona determinada durante el aprendizaje, el sistema etiquetará la imagen con su nombre.

Estos patrones de activación de neuronas ocurren de forma secuencial en cada una de las capas del sistema. De hecho, podemos decir que cada capa guarda un tipo diferente de información. En la imagen de abajo puede comprobarse cómo cada una de las capas trabaja con un tipo de información diferente: color del pixel, formas simples, objetos y por fin caras.

La imagen es del sistema de reconocimiento de Andrew Ng

Sin embargo, a pesar de los increíbles resultados que hemos logrado con los sistemas de redes neuronales, tenemos que reconocer que nos falta mucho por conocer sobre ellos. De hecho, en realidad no tenemos ni idea de por qué funcionan tan bien ¿Cómo puede ser que esos sistemas sean útiles en ámbitos tan diferentes como el reconocimiento de caras, la lectura de leguaje natural o las predicciones económicas?

Respondiendo a esta cuestión, hace nos día se ha escrito un interesante artículo en arXiv (resumen) que nos da algunas pistas. Según sus autores, la respuesta de está en la propia naturaleza de la realidad, el mundo que conocemos tiene ciertas características que facilitan el trabajo de las redes neuronales:

i) Resulta que las leyes físicas son bastante simplesSé que parece una locura afirmar que la física, con todas esas fórmulas infernales, es simple. Pero digamos que podría ser peor. La mayor parte de las leyes físicas que conocemos tienen, en su representación más fundamental, ecuaciones con exponentes bajos, como máximo 4. Este hecho reduce enormemente el número de soluciones a explorar y el número de parámetros a ajustar, facilitando mucho el trabajo de la red. Es lo que los autores llaman "cheap learning" (aprendizaje barato).
La imagen me ha gustado... y
la puedes comprar aquí

ii) Además, en el mundo físico la información es normalemente independiente de procesos de rotación o traslación. Un gato es también un gato aunque le demos la vuelta o lo movamos 10 metros. Estas características también facilitan la aproximación de la red a procesos reales.

iii) Por último, la realidad, como las redes neuronales, está muy jerarquizada. Las moléculas forman células que forman organismos, planetas, sistemas solares, galaxias… los pixeles forman narices, ojos y bocas que forman caras… Cada una de las capas de la red neuronal funcionaría como una aproximación a cada uno de estos niveles jerárquicos, como hemos visto arriba.


Resulta que, años después, por fin se confirma que aquel libro era más una genialidad que una locura y que Hawkins tenía bastante razón. Copiar el cerebro ha sido una buena estrategia para crear sistemas inteligentes, al menos si van para trabajar en el mundo en que vivimos. 

Millones de años de azar y selección han permitido a la evolución crear un sistema que "comprende" bien la realidad. Parece que el secreto de las redes neuronales no sólo está en cómo guardan la información aprendida, su propia arquitectura ofrece un modelo de datos que captura la esencia última de la realidad física.

Es cierto que las redes neuronales artificiales son increíbles, pero para mi, lo más interesante de todo es lo que nos dice de nosotros mismos. Las razones del éxito del aprendizaje profundo explican también por qué nuestro cerebro nos ha proporcionado tal ventaja evolutiva. La clave ha sido aprender a predecir la realidad.


"Prediction is not just one of the things your brain does. It is the primary function of the neo-cortex, and the foundation of intelligence.*"

Jeff Hawkins



* Traducción: "La predicción no es sólo una de las cosas que hace el cerebro. Es la función principal de neocortex y el origen de la inteligencia."

martes, 9 de agosto de 2016

Curso aceleradísimo de resolución de conflictos.


Una parte importante de mi trabajo en estos últimos años ha sido la mediación y resolución de conflictos y esto ha hecho que varios amigos me hayan consultado en algunos de sus conflictos personales y profesionales. Al final con casi todos se repite una conversación muy parecida. En ella intento resumir en poco tiempo lo que sé de este tema. Esta última vez mi respuesta ha sido en forma de email así que me ha parecido una buena oportunidad para dejarlo por aquí... por si a alguien pudiera servirle

Me he centrado siempre en entornos profesionales pero creo que las reglas que rigen los conflictos son parecidas a los entornos personales. La gran diferencia para mi es que cuanto más carga emocional tenga una relación, más exageradas son las deformaciones de la realidad y más fuertes son los comportamientos irracionales de las personas que participan en el conflicto.


ATENCIÓN: Todo este post es un resumen de opiniones basadas en experiencias personales sin la más mínima pretensión de tener validez científica.

Si tuviera que darte un curso aceleradísimo de cómo resolver conflictos entre personas me centraría en los siguientes puntos:

* Un conflicto es un clusterfuck. No aparece por un error puntual de una persona sino por un cúmulo de errores de ambas partes. Me recuerda a un accidente laboral en el que uno deja el martillo en el sitio que no es, a otro se le olvida poner la red de seguridad y el último no se pone en casco. Cuando explota un conflicto de cierta entidad suele venir precedido de toda una serie de coincidencias que ofrecen a cada parte una versión muy diferente de lo que ha pasado.


* Cada parte tiene una narrativa propia que suele resultar coherente pero incompatible con el resto.  Ese cúmulo de errores-coincidencias del que hablaba hacen que los hechos encajen con varias interpretaciones diferentes. Es cierto que en cuanto arañas un poco suele notarse que falta mucha información, de hecho esa es justo la segunda fase de mi trabajo.

* En el 99% de los conflictos en los que he trabajado la gente no es mala, sólo es torpe y se equivoca. Además, a medida que el conflicto crece, el estrés hace que las equivocaciones sean cada vez mayores.


Esta obra del Chelsea College of Arts explica
muy bien cómo funcionan cada una de las narrativas
en el conflicto. Solo que en el mudo real todos creen
que es precisamente la suya la que no está deformada.
* La buena noticia es que las personas comprendemos bastante bien que otro se equivoque siempre que lo reconozca y pida disculpas adecuadamente. La mala es que casi nadie sabe pedir disculpas adecuadamente. Se hace de forma explícita, sin peros ni excusas y acompañado por el gesto adecuados... No vale poner cara de asco y decir "vale, tío perdona!"

* Antes he comentado que comprender las narrativas es la segunda parte del trabajo pero hay algo antes. Es necesario demostrarle a las personas implicadas que no se pueden fiar de su memoria. Los recuerdos que tienen del proceso son simplemente falsos y eso es duro porque en realidad es lo único que tienen. No recuerdan bien lo que dijeron ni lo que les dijeron, han mezclado las conversaciones y han olvidado cuestiones que son claves para entender lo que ha pasado de verdad. Resulta increíble en este punto cuánto de deformados pueden estar los recuerdos de algo que ocurrió.

* Traducimos hechos como intenciones. Cada persona hace siempre una interpretación del comportamiento del otro. Para ello "traduce" la cadena temporal de hechos en una cadena causal del tipo "ha hecho esto porque quiere que yo haga" o "porque cree que soy tonto"... es un error de base pero enormemente difícil de parar.

* De hecho a la gente se le da fatal diferenciar entre datos, hechos y opiniones. En serio, esto deberían enseñarlo en el colegio. El problema está en que si no lo tenemos claro cuando fijamos el recuerdo entonces ya todo queda mezclado y es imposible de separar. Ésta suele ser otra batalla continua durante todo el proceso 

* La opinión y el enfado ya están implantados. Por muy bien que les demuestres que se equivocan, que nadie ha hecho nada malo y que todos han sido superbuenas personas, la gente no puede simplemente olvidar el enfado. Hay aquí mucho trabajo de racionalizar sentimientos y dosificar la información.

Como siempre el gran Terry Pratchett lo explica mejor que yo en su libro Soul Music

"Luego el padre de Imp había dicho cosas y el joven Imp había dicho cosas, 
y de pronto el mundo pasó a ser un lugar nuevo y desagradable, 
porque uno no puede desdecirse de las cosas una vez han sido dichas."


* En un conflicto, cada persona tiene a la vez dos discursos: uno explícito del que se supone que trata la conversación y otro que mantiene "debajo de la mesa". Este segundo es el interesante porque habla de los verdaderos sentimientos y creencias pero a la vez resulta doloroso y difícil de manejar. Mi estrategia suele ser ir bastante directo a la cruda realidad. Supongo que está asociado a que nosotros cobramos por horas... pero es cierto que es una cuestión difícil de tratar.

* Esta dificultad de hablar directamente de los problemas y los miedos hace que, a menudo, las conversaciones se basen en ejemplos y metáforas que pueden resultar bastante poco acertadas. Es mejor evitarlas en estas conversaciones. Hay que hablar claramente del problema concreto. Odio las metáforas, están llenas de prejuicios, valoraciones y conclusiones veladas. Las metáforas son el infierno.



* ¿Pero cómo hablo de los problemas de los que no sé hablar? Aprendiendo ;) Hay muchas técnicas para esto y precisamente ese es el punto en el que más puede ayudar un mediador. De todos modos, cuando el conflicto es importante mi recomendación es que no sientes a las partes en la misma mesa. Suele ser bastante contraproducente cuando el problema está enquistado, es mejor que el mediador filtre y reformule las cuestiones y propuestas.

* Y dirás tú ¿Por qué? ¿No podemos hablarlo como adultos? Pues no. Cuando la gente se enfada se pone agresiva y ataca. Cuando alguien nos grita o nos ofende nos ponemos nerviosos y tendemos a atacar, eso incrementa aún más la agresividad del que tenemos delante... y así sucesivamente. Hace falta entrenamiento para mantener la calma en esos casos y aguantarse las ganas de dar un zasca o pegar un grito.

* En los conflictos, los ataques verbales suelen ser impulsivos. Cuando nos sentimos agredidos respondemos rápidamente de forma defensiva. También solemos mentir para terminar de arreglarlo. Cuando nos pillan una mentira, acierta! ... También nos ponemos agresivos. La parte buena de los comportamientos irracionales es que son predecibles y manejables. ¿Queréis saber más de esto? Os recomiendo a Ariely, claro.

* Hay enormes diferencias en las culturas de comunicación de las personas. Cosas que en unas casas se consideran irrespetuosas en otras son completamente normales. Cuando alguien se siente ofendido, aunque haya sido de forma involuntaria ataca automáticamente... y empezamos otra vez.

No somos rencorosos dice...
18 años después ¿Qué hemos dicho
del sarcasmo?
* La memoria de las personas funciona realmente mal. Esto ya lo he dicho pero resulta enormemente importante aquí.

En 1994 Tasotti da un codazo a Luis Enrique que nos deja fuera del mundial de Estados Unidos. Una vergüenza porque todo el mundo sabe que si no es por él hubiéramos sido campeones del mundo. Creo que no exagero si digo que es un trauma nacional. Sin embargo, le preguntas a un italiano verás que no tiene ni idea de lo que estás hablando.

Las personas recordamos con todo detalle cada una de las ocasiones en las que nos hacen daño. Sin embargo, los momentos en los que somos nosotros los que agredimos se nos olvidan con facilidad. Esto hace que, en los conflictos, las historias de las partes encajen como un puzzle en los que cada uno tiene la mitad de las piezas.


* Por esta razón, todos esperan que el otro le pida disculpas. Cuando trabajo suelo ser muy radical en este punto. Nadie va a pedir disculpas a nadie. En los conflictos más personales es mejor que todos pidan perdón por algún error concreto que ha dañado al resto.

Prohibidos el sarcasmo, los tiritos y las bromitas pasivoagresivas. Las cosas están demasiado difíciles para que alguien entienda tu broma sin darle una segunda interpretación. Además, di la verdad, las bromas que haces cuando estás enfadado suelen ir con alguna carga de profundidad, ¿o no?