Logo Studenta

¿Qué función de activación utiliza el cerebro humano?

💡 1 Respuesta

User badge image

Aprendiendo a Aprender

Esta pregunta es extremadamente interesante y responderla apropiadamente es extremadamente importante.

Lo haré por partes.


Primera parte: (La clarificación y la panorámica.)

Ninguna. Las neuronas biológicas no funcionan como los modelos extremadamente simplificados que se usan en las redes neurales artificiales. Y, para ser aún mas precisos, las neuronas biológicas generan trenes de picos de potenciales de acción que no funcionan como los idealizados niveles continuos de activación que los modelos neuronales artificiales emplean.

Y es justamente porque esas grandes diferencias existen, que al crear las redes artificiales se tuvo que introducir una función no-linear de activación, que imita (pobremente) uno de los fenómenos resultantes del hecho que las neuronas biológicas producen trenes estocásticos de pulsos como su "output". Así que, al modelar neuronas estocásticas pulsantes por medio de neuronas idealizadas continuas se tuvo que introducir una función que aproxima estadísticamente el promedio en el tiempo de los potenciales de acción. Y se eligió una de las favoritas de los estadísticos: la función sigmoidea

que es una aproximación a la integral de cualquier función de distribución continua con un solo "lomo" (que en el diagrama anterior estaría centrado en c2c2). Y si vamos al caso, hemos estado descubriendo que esencialmente cualquier no-linealidad (razonable) sirve para nuestras redes neuronales artificiales: véanse, por ejemplo, los grandes logros e incrementos de eficiencia computacional que se han obtenido usando la función RELU

que es una aproximación (no diferenciable en 0 y sin límite superior) de la sigmoidea—es decir: la función de distribución cuya integral es RELU tiene un "lomo" que comienza en 0 y jamás finaliza (en otras palabras, es una función "escalón").

Ahora bien, con o sin éxitos "bajo el sombrero", todas estas funciones son aproximaciones que descartan el efecto del tiempo—de hecho, nuestros modelos de redes neuronales en la vasta mayoría de los casos ignoran el paso del tiempo y se comportan como si sus procesos de cómputo fuesen instantáneos; o, en el mejor de los casos, tomen una secuencia de inputs instantáneos y analizan la secuencia.

Los cerebros biológicos no operan de esa manera. Los neurobiologos lo sabemos—y lo hemos sabido desde hace muchas décadas—pero quienes trabajan con redes neuronales artificiales en estos días no han realmente estudiado neurobiología sino solamente le han dado una "vista de pájaro", muy aproximada, estilizada y simplificada.

Tal vez valga la pena notar que buena parte de los pioneros en redes neuronales artificiales—por ejemplo Geoffrey Hinton, David Rumelhart, James McClelland—no eran profesionales de la programación de la Inteligencia Artificial, sino investigadores en las ciencias (neuro)biológicas y psicológicas. De hecho, la casi totalidad de nuestros modelos de los sistemas visuales fue resultado de dos grandes neurobiologos: Recounting the impact of Hubel and Wiesel.[1]

Y, por favor, no olvidemos el enorme y muy influyente trabajo de gente como John Eccles y Valentino Braitenberg, quienes "con un pie a cada lado de la frontera" guiaron el desarrollo en los comienzos tempranos de estos esfuerzos.

Lamentablemente, mucho del trabajo actual en redes neuronales prosigue olvidando la realidad y el modelo subyacente— el único que sabemos que funciona, y que aún no comprendemos del todo: el sistema neuronal biológico. Usamos equipos e infraestructuras de cómputo y simulación cada vez mas poderosas y rápidas, reemplazando una constante falta de comprensión con músculos cada vez mas poderosos. Básicamente lanzamos fuerza bruta al problema y esperamos que éso lo resuelva. Hasta ahora sin verdadero y definitivo éxito, he de decir… La cantidad de resultados recientes en el campo de las redes neuronales artificiales están indicando cada vez mas que éstas, así como las estamos creando y usando, son demasiado "frágiles" y "quisquillosas". Y, por ende, es peligroso confiar en ellas ciegamente.[2]

Y es que, en mi nada humilde opinión, hemos ignorado la investigación neurobiologica demasiado pronto y por demasiado tiempo, enamorados e ilusionados por las grandes cosas que hemos logrado con tan pocos y simplificados principios, como la técnica de Backpropagation, por ejemplo. Al parecer Hinton mismo (uno de los "padres de la criatura") está de acuerdo con mi opinión: Geoffrey Hinton Says AI Needs To Start Over. Y definitivamente no es el único.[3]

Como resumen les dejo: Why we should be Deeply Suspicious of BackPropagation. Recomiendo mucho ese artículo.


Segunda parte: (El resumen brutal y honesto.)

La pregunta planteada es similar a preguntar "¿Que motor y combustible utiliza la cheetah para correr tan rápido?"

La única respuesta válida es decir que el "motor" son los músculos y el "combustible" es la glucosa. Pero esa respuesta no sirve para nada a quien espera construir algo como la MIT Cheetah cuando lo único que ha leído es Cheetah’s Speed: How to Achieve Nature’s Fastest Acceleration y no ha estudiado para nada la biología del animal en cuestión.

(Mas detalles de la MIT Cheetah y otros muchos desarrollos en https://biomimetics.mit.edu/research)

La pregunta como tal adolece de errores en sus premisas. Errores que reflejan una falta severa de comprensión de los fenómenos implícitos en la pregunta: las redes neuronales artificiales (implícitas en el término "función de activación") y la neurobiología, o al menos la biología de las neuronas (implícitas en el término "cerebro humano").


Tercera parte: (La clarificación y elaboración de la panorámica.)

El cerebro humano (o de cualquier otro animal, grande o pequeño, simple o complejo) no usa funciones de activación. Tampoco sus neuronas las usan, ya que éstas no son unidades de respuesta continua gradual, sino unidades que generan impulsos—denominados potenciales de acción. Los impulsos generados son el resultado de complejos procesos bioquímicos, celulares e iónicos, y no el resultado de una simple "suma pesada y propagada a través de una función de activación".

La idea de una función de activación nace del concepto de minimización de errores por medio de la "propagación hacia atrás" de los mismos a través de una red interconectada de unidades con funciones parametrizadas continuas, de manera de hallar una configuración que minimice el error total desde el "input" (entrada) hasta el "output" (salida) por medio del ajuste de la multitud de parámetros de dichas funciones.

Todo esto tiene un sentido matemático claro y preciso, que se basa en procesos estadísticos de minimización de errores y ajuste de curvas. Todos éstos bien conocidos y abundantemente usados en el ámbito matemático y científico. Y que, en un momento de desesperación y falta de otras opciones, fue desarrollado y adoptado en los 80s como solución que imbuyó de nuevo aliento y vida a lo que entonces se denominó el "invierno de la Inteligencia Artificial". (No era el primer invierno, por cierto… y no sería el último tampoco…)

La aplicación del concepto de ajuste de parámetros vía la propagación hacia atrás de los errores fue revolucionario. E inesperado. Y sus resultados fueron realmente asombrosos: cosas que parecían—o habían sido presentadas—como imposibles, repentinamente estaban de vuelta en el ámbito de lo factible. Gran cantidad de artículos e investigaciones fueron realizados en esos tiempos: fue una gran explosión de conocimiento y metodologías que ampliaron las posibilidades enormemente. Solo faltaba conquistar el "pequeño problema" de que los equipos de cómputo de la época eran apenas capaces de procesar lo que en estos días llamaríamos "problemas de juguete": cualquier cosa más grande y realista podía demorar semanas de cómputo en las mejores máquinas de la época.

El paso del tiempo, y la "Ley de Moore", hicieron su trabajo, y un par de décadas más tarde ya podíamos procesar con cierta facilidad problemas mucho más grandes y complejos. Lo cual nos hizo olvidar nuestras raíces y pensar que ya habíamos resuelto el problema: mayor poder computacional era todo lo que necesitábamos. La metodología—estábamos seguros—era perfecta, universal, y escalable. O eso pensábamos… Y muchos todavía piensan…

Pero ahora finalmente nos estamos dando cuenta que la necesidad de poder computacional crece más rápidamente de lo que crece la disponibilidad del mismo. Ya estamos en un punto donde vemos el "despeñadero" que nos espera más adelante, cuando simplemente ya no podamos escalar nuestros problemas por no tener equipos de suficiente envergadura que los procesen. Hay bastante gente buscando alternativas—bastante creativas, en mi opinión—que sólo retrasarán el problema sin resolverlo…

Y, para colmo de males, comenzamos a ver que nuestra metodología—que ahora tiene casi 40 años—está presentando problemas que no se habían hecho evidentes con anterioridad porque los problemas que podíamos procesar eran aún demasiado pequeños y simples (aunque eran enormes para su época) como para manifestar dichos problemas en forma reconocible: los problemas, en efecto, se "escondían" cómodamente tras el inevitable "ruido" del error residual siempre presente.

En otras palabras: estamos comenzando a ver que la metodología no era tan "perfecta y universal" como creíamos—los problemas siempre estuvieron presentes, pero no los notábamos o, si los veíamos, hacíamos la vista gorda y mirábamos hacia otro lado. Parecían insignificancias que siempre estarían escondidas tras los inevitables errores de aproximación. Pero, igual que nuestros modelos, las "insignificancias" crecieron sin límite y más rápidamente de lo que pensábamos; y ahora asoman su fea cara y nos sacan la lengua… Los problemas de "fragilidad" de la metodología se están haciendo demasiado obvios: nuestras técnicas cometen errores y son engañables por cosas que no confundirían siquiera a un niño.[2]

Ya no podemos seguir tapándonos los ojos. E incluso los "grandes"—los "ancianos padres" y los más fervientes jóvenes promotores—tienen que reconocer que algo anda mal y que hay que resolver el problema antes de que sea demasiado tarde.[3]


Notas a pié de página:

  1. Deep Learning le debe a la gran labor de estos investigadores buena parte de sus logros, ya que los modelos "profundos" por múltiples capas están inspirados—aunque pocos así lo reconozcan—en los modelos del sistema visual de los vertebrados y su estructura por áreas y subáreas que proyectan sus "salidas" la una a la otra en cadenas complejas. Justamente el detallado y cuidadoso trabajo de más de 25 años de estos investigadores.
  2. Por ejemplo, véase Tricking Neural Networks: Create your own Adversarial Examples, Attacking Machine Learning with Adversarial Examples, y Robust Physical-World Attacks on Deep Learning Models. (Hay mucho mas de donde ésto vino… pero sugiero encarecidamente leer aunque sea solo el último artículo enlazado.) Defenderse de estos "ataques" se está convirtiendo en una gran preocupación, ahora que los sistemas Deep Learning están haciéndose comunes, lo cual causa que gente como Ian Goodfellow estén muy preocupados: Explaining and Harnessing Adversarial Examples.
  3. Entre otros artículos, véase Assessing the Scalability of Biologically-Motivated Deep Learning Algorithms and Architectures, así como Towards Biologically Plausible Deep Learning. (Este último, de Yoshua Bengio, es un respetable esfuerzo por rescatar Deep Learning y tratar de redirigir la metodología a un ámbito más biológicamente realista.)
0
Dislike0

✏️ Responder

FlechasNegritoItálicoSubrayadaTachadoCitaCódigoLista numeradaLista con viñetasSuscritoSobreDisminuir la sangríaAumentar la sangríaColor de fuenteColor de fondoAlineaciónLimpiarInsertar el linkImagenFórmula

Para escribir su respuesta aquí, Ingresar o Crear una cuenta

User badge image

Otros materiales