¡Bienvenid@ a Exploitables!

Aquí podrás interactuar y compartir todo lo que desees. ¡Esta es tu comunidad!

¡Regístrate!

Deep learning y redes neuronales, explicación e introducción || PARTE 1

Mr. X

Sudoer
Miembro del staff
Registrado
17/3/22
Mensajes
60

Hoy os traigo un artículo que tenía ganas de publicar, trata sobre el deep learning y las redes neuronales, una tecnología que está revolucionando el mundo. En este artículo explicaré la historia y conceptos básicos.
Antes de entrar en materia os aviso de que se viene un artículo largo (por eso mismo lo dividiré en varias partes, aquí tenemos la primera parte), pero creo que curioso, ¡disfrutad!

Breve definición

Las redes neuronales son una técnica que se inspira en cómo funcionan las neuronas en nuestro cerebro. Se basan en una idea sencilla: Dados ciertos parámetros, es posible combinarlos para predecir un resultado determinado. Por ejemplo, si se conoce el número de píxeles de una imagen, hay formas de saber qué número está escrito en dicha imagen. Los datos que entran pasan a través de varias «capas» en las que una función ponderada aplica una serie de reglas de aprendizaje ajustadas. Después de pasar por la última capa, los resultados se comparan con los resultados «correctos» y los parámetros se ajustan.
Aunque los algoritmos y el proceso de aprendizaje en general son complejos, una vez que la red ha aprendido, puede congelar los diversos pesos y funciones en una memoria o modo de ejecución. Google utiliza estos tipos de algoritmos, por ejemplo, para las búsquedas de imágenes.
No hay una definición unificada para el significado del deep learning. En general, cuando hablamos de esto, nos referimos a un grupo de algoritmos de machine learning basados en redes neuronales que, como hemos visto, se caracterizan por el procesamiento de datos en cascada. La señal de entrada pasa por las distintas etapas, y en cada una, están sujetas a una transformación no lineal. Esto ayuda a extraer y transformar la variable de acuerdo con los parámetros determinados (pesos o límites).
Un claro ejemplo de la aplicación del deep learning es el proyecto realizado por Google y las Universidades de Stanford y Massachusetts. Su objetivo era mejorar las técnicas de procesamiento del lenguaje natural de un tipo de IA llamado Modelo de Lenguaje de Red neural recurrente (RNNLM). Se utiliza para traducciones automáticas y para crear subtítulos, entre otras cosas. Básicamente, construye frases palabra por palabra, basando cada palabra en la anterior y de esta manera, incluso puede escribir poemas.

Historia del deep learning

Geoffrey Hinton conceptualizó el deep learning en el año 1980. Es ampliamente considerado como el padre fundador de este campo. Hinton ha trabajado en Google desde marzo de 2013, cuando su empresa, DNNresearch Inc., fue adquirida por la gran multinacional que todos conocemos.
La principal contribución de Hinton a este campo fue comparar las técnicas de machine learning con el cerebro humano.
Más concretamente, creó el concepto de una «red neural», que es un algoritmo de deep learning estructurado de forma similar a la organización de las neuronas en el cerebro. Hinton tomó este enfoque porque el cerebro humano es posiblemente el motor computacional más poderoso conocido hoy en día. ¡Qué mejor que basarse en nuestra propia máquina llamada cerebro!
La estructura que Hinton creó se llamó red neuronal artificial. Por aquí dejo una breve descripción de cómo funciona:
Las redes neuronales artificiales se componen de capas.
Cada nodo está diseñado para comportarse de manera similar a nuestras neuronas.
La primera capa de una red neuronal se llama capa de entrada, seguida de capas ocultas, y finalmente la capa de salida.
Y como una imagen vale más que mil palabras, aquí os muestro un resumen simplificado para que podáis ver como funciona:

Las redes neuronales han supuesto un gran avance en el ámbito de la inteligencia artificial, pero aún así todavía no se le da la importancia que merece.

¿Qué es una neurona en biología?

Las neuronas en el deep learning se inspiraron en las neuronas en el cerebro humano (como ya estamos viendo, la biología un campo de vital importancia y que además se combina a la perfección con la tecnología). Aquí está un diagrama de la anatomía de una neurona cerebral:

Como se puede observar, las neuronas tienen una estructura bastante interesante. Grupos de neuronas trabajan juntas dentro del cerebro humano para realizar la funcionalidad que necesitamos en nuestra vida cotidiana.
La pregunta que Geoffrey Hinton hizo durante su investigación seminal en redes neuronales fue si podíamos construir algoritmos de ordenador que se comportaran de manera similar a las neuronas en el cerebro. La esperanza era que, al imitar la estructura del cerebro, podríamos capturar parte de su capacidad.
Para ello, los investigadores estudiaron la forma en que las neuronas se comportaban en el cerebro. Una observación importante fue que una neurona por sí sola es inútil. En cambio, se requieren redes de neuronas para generar cualquier funcionalidad significativa.
Esto se debe a que las neuronas funcionan al recibir y enviar señales. Más específicamente, las dendritas de la neurona reciben señales y pasan esas señales a través del axón.
Las dendritas de una neurona están conectadas al axón de otra neurona. Estas conexiones se denominan sinapsis, que es un concepto que se ha generalizado en el campo del deep learning.

¿Qué es una neurona en el deep learning?

Son nodos a través de los cuales fluyen los datos y los cálculos, y funcionan de la siguiente manera:
Reciben una o más señales de entrada. Estas señales de entrada pueden provenir del conjunto de datos sin procesar o de neuronas colocadas en una capa anterior de la red neuronal.
Realizan algunos cálculos.
Envían algunas señales de salida a las neuronas más profundas en la red neuronal a través de una sinapsis.
Aquí está un diagrama de la funcionalidad de una neurona en una red neuronal de deep learning:

Vamos a repasar este diagrama paso por paso.
Como se puede ver, las neuronas en el deep learning son capaces de tener sinapsis, ya que se conectan a más de una neurona en la capa anterior. Cada sinapsis tiene un peso asociado, que afecta la importancia de la neurona precedente en la red neuronal general.
Los pesos son un tema muy importante en este campo, porque ajustar los pesos de un modelo es la manera primaria a través de la cual se capacitan estos modelos.
Una vez que una neurona recibe sus entradas de las neuronas en la capa precedente del modelo, suma cada señal multiplicada por su peso correspondiente y las pasa a una función de activación, como esta:

La función de activación calcula el valor de salida de la neurona. Este valor de salida se pasa a la siguiente capa de la red neuronal a través de otra sinapsis.
Y esto sería todo en esta primera parte, próximamente iré publicando las partes que falten, espero que os haya resultado interesantes, aquí me despido hasta la siguiente entrada.
Mr. X



Ir al contenido
 
Arriba