Del perceptrón a ChatGPT. La evolución de las redes neuronales.

4401
3 votes

Desde comienzos de este año por el mundo de la informática se empezó a hablar de una herramienta con una gran capacidad para imitar el lenguaje humano. Con el transcurso de los meses se puso en evidencia además la gran versatilidad de esta herramienta para resolver dudas y buscar información de lo más variada. Es posible que usted haya escuchado hablar de ella, su nombre es ChatGPT (Chat Generative Pre-trained Transformer), una especie de asistente virtual que puede responder a cualquier pregunta que usted le formule. Las personas que andamos por el mundo de la informática seguramente recordaremos los famosos chatbots que existen desde hace varias décadas. Estos proveían respuestas preprogramadas a los textos que ingresábamos, dando la ilusión de tener una conversación humana con el software. ChatGPT parte de este mismo concepto, pero con un modelo de inteligencia artificial mucho más evolucionado que los antiguos chatbots. ChatGPT da la impresión de que realmente puede pensar por sí mismo y “conversará” con usted como si se tratase de una persona. Aparte de responder en una variedad de idiomas y dialectos, puede crear historias, escribir poemas, resolver operaciones matemáticas, dar consejos financieros e incluso médicos, y proveer todo tipo de explicaciones. También puede generar código de programación listo para ser usado (incluida su respectiva explicación) en casi todos los lenguajes de programación existentes.

La primera vez que probé ChatGPT realmente fue sorprendente. Así que decidí indagar un poco en su funcionamiento. Para comenzar debo decir en que esta tecnología realmente no es nueva, los fundamentos de cómo funciona ChatGPT fueron establecidos hace más de 60 años por Frank Rosenblatt con la creación del perceptrón, un modelo que toma parámetros de entrada para realizar una predicción basado en la información previa. Si la predicción es correcta se refuerza la información de la red neuronal y si la predicción es errónea la red se ajustará para que se tenga mayor precisión la próxima vez. Este es el principio de funcionamiento de lo que hoy en día se conoce como una red neuronal.

El perceptrón de Rosenblatt – The Design of an Intelligent Automaton. Cornell University.

Las redes neuronales modernas son, en síntesis, una serie de nodos interconectados que tienen un peso probabilístico. Cada nodo o neurona se conecta a otras neuronas formando una red de neuronas, ergo el nombre de la estructura. Ahora bien, el objetivo de esta red de neuronas es procesar datos de entrada llevándolos a través de la red y luego se obtiene un resultado (un output) dependiendo del camino que tome cada entrada. Este modelo es análogo al procesamiento sináptico del cerebro. Tenemos impulsos eléctricos que llegan al cerebro a través de los nervios y que desencadenan una cascada de señales entre las neuronas hasta que finalmente se obtiene una señal de respuesta al estímulo presentado. Un ejemplo práctico es el hecho de estar leyendo este artículo. Los parámetros de entrada son los fotones que llegan al ojo, los cuales se convierten en señales bioeléctricas al ser absorbidas por las células fotoreceptoras de la retina. Estas señales recorren el cerebro y dan diferentes señales de respuesta entre ellas el movimiento de los ojos que permite continuar leyendo las palabras del artículo.

Ejemplo gráfico de una red neuronal profunda. Los nodos en verde  son múltiples capas de neuronas con sus respectivos pesos probabilísticos. What is a neural network? – IBM

Pero las redes neuronales son sólo una parte del sistema de inteligencia artificial que hace posible ChatGPT. Si nos remontamos hace algunos podemos observar otro tipo de sistema de inteligencia artificial llamado AlphaGo. Este sistema tenía como única función jugar go, un juego chino de dos jugadores que consiste en capturar tanto territorio como sea posible poniendo fichas circulares de color negro o blanco. Desde el punto de vista computacional este juego tiene muchísimas combinaciones posibles, muchas más que la que ofrece el ajedrez u otro juego de mesa similar. Para crear un software que pueda jugar a go fue necesario entrenar una red neuronal mediante un proceso llamado aprendizaje de máquina o machine learning. El objetivo del machine learning es encontrar patrones. Digamos que usted juega ajedrez con un sistema de machine learning. Cada vez que usted juegue con el ordenador el software empezará a registrar que movimientos está realizando. Estos movimientos tendrán una distribución estadística, por ejemplo, cada 7 de 10 partidas vuestro primer movimiento es el caballo izquierdo y las otras tres otra ficha cualquiera. Esto hace que la red neuronal del sistema vaya “aprendiendo” el patrón de vuestra jugada inicial. Luego el software hará probablemente una jugada aleatoria y repetirá el proceso hasta terminar la partida. Al final cada nodo de la red neuronal del sistema tendrá un peso y un camino más o menos difuso. Pero, cuanto más tiempo pase entrenando el sistema tarde o temprano encontrará patrones efectivos para contrarrestar todos los posibles movimientos del adversario. La red neuronal que ha sido entrenada tomará la mejor decisión probabilística para llegar a un jaque dependiendo del movimiento que usted haga. Como es de esperar, ganar ante este tipo de adversario es muy complicado, ya que nosotros como humanos tenemos patrones que posiblemente no sean obvios, pero que los sistemas de inteligencia artificial lo tienen claramente definido. Este tipo de sistema de machine learning fue lo que hizo que AlphaGo se convierta en el campeón mundial del juego de go derrotando a Ke Jie. Con el transcurso del tiempo el tamaño de las redes neuronales va siendo mayor por lo que el aprendizaje automático puede procesar cada vez más parámetros entrada y por lo tanto tener “sinapsis” más detalladas.

AlphaGo contra Ke Jie. – The Future of Go Summit, Match One: Ke Jie & AlphaGo

ChatGPT tiene las mismas bases que AlphaGo. La diferencia está en los parámetros de entrada que se utilizan para entrenar la red neuronal. ChatGPT utiliza cada palabra de un texto para generar coherencia semántica en la respuesta. Por ejemplo, si se pone la siguiente oración: “¿ChatGPT, cuántas patas tiene un gato?” La respuesta es: “Un gato tiene cuatro patas.” esto es porque cada palabra viaja a través de los nodos que contienen las palabras que pueden servir para estructurar una respuesta.

En todo caso hay que tener en cuenta que al final este es un modelo pre-entrenado y las respuestas que se obtienen son pre-establecidas. Por ejemplo, si continuamos con al conversación sobre la patas del gato:

  • ¿ChatGPT cuántas patas tiene un gato?
  • Un gato tiene cuatro patas.
  • No siempre.
  • Tienes razón, no siempre los gatos tienen cuatro patas. La cantidad de patas en un gato generalmente es de cuatro, pero existen casos en los que pueden tener menos de cuatro patas debido a una lesión, una malformación congénita u otras circunstancias. En esos casos, el número de patas puede variar. Sin embargo, la gran mayoría de los gatos sanos y comunes poseen cuatro patas, lo cual es su característica más común.
  • Entonces, ¿ChatGPT cuántas patas tiene un gato?
  • Un gato típico y saludable tiene cuatro patas. Esta es la configuración más común en la anatomía de los gatos. Sin embargo, existen circunstancias en las que los gatos pueden tener menos de cuatro patas debido a razones como discapacidades, malformaciones congénitas o lesiones. Dichos casos son excepciones y no representan la norma.
  • ¿ChatGPT cuántas patas tiene un gato?
  • Un gato tiene cuatro patas.

La red reuronal de ChatGPT no adapta su respuesta de acuerdo a la secuencia de la conversación porque el entrenamiento no lo puede realizar cualquier usuario. Entrenar un sistema no es lo mismo que usarlo. De hecho entrenar este tipo de sistemas conlleva mucho tiempo, recursos y siempre se requiere de alguna forma de supervisión humana. Los mismos desarrolladores de ChatGPT han tenido que poner limitaciones a las respuestas que se obtiene del sistema antes de exponerlo al público en general. Adicionalmente para entrenar sistemas de la talla de ChatGPT se requiere una granja de GPUs  (tarjetas de procesamiento gráfico. Permiten el procesamiento de datos en paralelo) trabajando durante meses modelando la red neuronal con los datos de entrada, esto obviamente es una barrera para generar sistemas que siquiera se acerquen a la eficiencia de procesamiento de un cerebro humano (nuestro consumo energético es muchísimo menor y nuestra red sináptica es muchísimo más compleja), aunque sólo el futuro nos dirá si realmente lograremos replicar la mente humana de forma artificial.

Jean Pierre Arteaga Alvarez, M.Sc. en Inteligencia Artificial

Fuentes:

  • https://news.cornell.edu/stories/2019/09/professors-perceptron-paved-way-ai-60-years-too-soon
  • https://www.ibm.com/topics/neural-networks
  • https://www.scientificamerican.com/article/20-years-after-deep-blue-how-ai-has-advanced-since-conquering-chess/
  • https://www.datasciencebyexample.com/2023/02/15/alphago-and-chatgpt/

Compartir