Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
clase:ia:saa:1_introduccion_ia:rn [2021/07/13 10:36]
cesguiro
— (actual)
Línea 1: Línea 1:
-====== 6 - Redes neuronales ====== 
  
-Las redes neuronales son un modelo de machine learning inspirado en el funcionamiento de las redes neuronales de los organismos vivos: un conjunto de neuronas conectadas entre sí y que trabajan en conjunto. 
- 
-===== Perceptrón ===== 
- 
-En las redes neuronales de los organismos vivos la unidad básica es la neurona. Se compone de un cuerpo celular que contiene el núcleo, muchas extensiones de conexión llamadas //dentritas//, y una extensión muy larga denominada //axón//. 
- 
-{{ :clase:ia:saa:iia:neurona.png?400 |}} 
- 
- 
-El equivalente a las neuronas en las redes neuronales artificiales es el **perceptrón**. 
- 
-{{ :clase:ia:saa:iia:perceptron.png?400 |}} 
- 
-Su tarea es hacer una suma ponderada de las entradas (asignándole un peso a cada una de ellas) más una entrada adicional con valor constante igual a 1 (con su peso correspondiente) llamada **bias**. 
- 
-La salida del perceptrón es lineal, con lo que se le aplica una función (llamada **función de activación**) para añadir no linealidad al resultado. 
- 
-{{ :clase:ia:saa:iia:activacion.jpeg?200 |}} 
-  
-<note>Existen muchas funciones de activación, y seleccionaremos una en función del problema a resolver.</note> 
- 
-===== Aprendizaje profundo (deep learning) ===== 
- 
- 
-El **aprendizaje profundo (deep learning)** es un caso particular de red neuronal. Se trata de conectar varias capas de neuronas entre sí (cada una de las cuales puede tener diferente número de neuronas). 
- 
-<note>En realidad, lo que define al aprendizaje profundo no es el número de capas, sino el procesamiento de datos de forma jerárquica. Cada capa extrae características de nivel más alto hasta llegar a la respuesta final</note> 
- 
-{{ :clase:ia:saa:iia:deep-learning-proceso.png?400 |}} 
- 
-La primera capa se llama **capa de entrada**, y tendrá tantas neuronas como entradas tenga nuestro algoritmo (por ejemplo, si queremos predecir el precio de una casa en función de la ciudad, barrio y metros cuadrados, nuestra red tendrá 3 entradas). Del mismo modo, la última capa recibe el nombre de **capa de salida**, y tendrá tantas neuronas como salidas tenga nuesto modelo (en el caso anterior, una salida: la predicción del precio). 
- 
-Las capas intermedias se denominan **capas ocultas**, y estarán conectadas entre sí, de forma que las salidas de la capa k serán las entradas de la capa k-1. Cada de una de estas capas ocultas puede estar formado por un número diferente de neuronas. 
- 
-{{ :clase:ia:saa:iia:capas.png?400 |}} 
- 
- 
-===== Backpropagation ===== 
- 
-Durante el proceso de entrenamiento de una red neuronal, ésta va ajustando los pesos de cada una de las neuronas para ir minimizando el error de la red. El algoritmo utilizado es el de **backpropagetion**: se calcula el error de la salida y se propaga ese error hacia las capas anteriores para ir ajustando sus pesos.  
- 
-{{ :clase:ia:saa:iia:backpropagation.png?400 |}} 
- 
-===== Tipos de redes neuronales ===== 
- 
-Existen muchos tipos de redes neuronales. A continuación veremos algunas de las más utilizadas. 
- 
-==== Redes neuronales convolucionales (CNN)==== 
- 
-Se utilizan principalmente para el tratamiento de imágenes. Las primeras capas se encargan de reconocer formas sencillas (líneas, curvas..) y las siguientes se van especializando hasta poder reconocer características más complejas (ojos, ruedas, caras...). 
- 
-{{ :clase:ia:saa:iia:convolutional.jpg?400 |}} 
- 
-==== Redes neuronales recurrentes (RNN)==== 
- 
-Se trata de redes neuronales a las que se agrega un estado de memoria a las neuronas. En una red neuronal tradicional, el modelo produce la salida multiplicando la entrada con el peso y la función de activación. Con un RNN, esta salida se envía de nuevo a sí mismo durante un determinado periodo de tiempo. 
- 
-Este tipo de redes se suelen utilizar para el tratamiento de textos (para dar sentido a una frase, debemos conocer la posición de las palabras anteriores). 
- 
-{{ :clase:ia:saa:iia:recurrent.png?400 |}}  
- 
-==== Redes neuronales generativa adversarias (GAN)==== 
- 
-Los modelos generativos utilizan dos redes neuronales profundas que compiten entre ellas: el **generador** y el **discriminador**.  
- 
-Se suelen utilizar para crear imágenes realistas desde cero (también pueden generar otro tipo de datos, como música).  
- 
-Por ejemplo, el generador se encarga de crear caras lo más realistas posibles, mientras que la tarea del discriminador será decir si una cara es auténtica o falsa. Al rechazar las primeras imágenes, el generador irá mejorando la creación de caras y será capaz de crear imágenes que engañen al discriminador. 
- 
-{{ :clase:ia:saa:iia:gans.png?400 |}}  
- 
-<note>Podéis ver algunos de ejemplos de fotos de personas que no existen creadas por este tipo de redes en la web https://thispersondoesnotexist.com/</note> 
- 
- 
- 
- 
- 
-   
  • clase/ia/saa/1_introduccion_ia/rn.1626165369.txt.gz
  • Última modificación: 2021/07/13 10:36
  • por cesguiro