Deep Learning

Historia de las redes neuronales

1958 – Perceptrón 1965 – Perceptrón multicapa 1980’s Neuronas Sigmoidales Redes Feedforward Retropropagación 1989 – Convolutional neural networks (CNN) / Recurent neural networks (RNN) 1997 – Long short term memory (LSTM) 2006 – Deep Belief Networks (DBN): Nace deep learning Restricted Boltzmann Machine Encoder / Decoder = Auto-encoder 2014 – Generative Adversarial Networks (GAN)

Convolutional Neural Network

Las Convolutional Neural Networks son redes multicapa que toman su inspiración del cortex visual de los animales. Esta arquitectura es útil en varias aplicaciones, principalmente procesamiento de imágenes, reconocimiento de vídeo y procesamiento del lenguaje natural. La arquitectura consta de varias capas que implementaban la extracción de características y luego clasificar. El siguiente paso es…

Retropropagación

La retroprogación (backpropagation o propagación hacia atrás) es un método de cálculo del gradiente. El método emplea un ciclo propagación – adaptación de dos fases. Una vez que se ha aplicado un patrón a la entrada de la red como estímulo, este se propaga desde la primera capa a través de las capas siguientes de…

Feedforward

Se llama redes feedforward a las redes en que las salidas de una capa son utilizadas como entradas en la próxima capa. Esto quiere decir que no hay loops «hacia atrás». Siempre se «alimenta» de valores hacia adelante. El concepto de «fully connected Feedforward Networks» se refiere a que todas las neuronas de entrada, están…

Perceptrones multicapa

Implementando la capa oculta Capas de entrada (input), oculta (hidden) y de salida (output) en una red neuronal Pesos entre la capa de entrada y la capa oculta Ejemplo A continuación se implementa una red neuronal 4x4x2, con paso directo y como función de activación la sigmoide. import numpy as np def sigmoid(x): """ Calculate…

Descenso del gradiente

El método del descenso del gradiente (gradient descent) es un algoritmo de optimización que permite converger hacia el valor mínimo de una función mediante un proceso iterativo. En aprendizaje automático básicamente se utiliza para minimizar una función que mide el error de predicción del modelo en el conjunto de datos. A esta función se le…

Regresión logística

El algoritmo de regresión logística consiste en: Tomar los datos Elegir un modelo aleatorio Calcular el error Minimizar el error y obtener un modelo mejor

Entropía cruzada

La entropía cruzada conecta las probabilidades con las funciones de error. Está vinculada con la estimación por máxima verosimilitud. Buscaremos modelo cuya entropía sea mínima, porque nos darán la mejor clasificación, ya que son los que tienen una mayor probabilidad (y minimizan la función de error: entropía cruzada). La entropía se define como $-ln(P(x))$. La…

Softmax

La función Softmax La función Softmax (o función exponencial normalizada)es equivalente a la sigmoide, pero cuando el problema de clasificación en lugar de tener dos clases tiene tres o más. La función está dada por $$ \sigma_j(\vec{z}) = \frac{e^{z_j}}{\sum_{k=1}^K e^{z_k}}, \mbox{ para } j=1,\dots K $$ En python la podríamos definir de la siguiente forma:…

Perceptrón

El perceptrón es el bloque básico de construcción de las redes neuronales artificiales. Los perceptrones se asemejan a las neuronas cerebrales. Algoritmo lineal del perceptrón Los pasos del algoritmo son los siguientes: Inicializar los valores de los pesos y del bias (sesgo) Propagar hacia delante Comprobar el error Retropropagar y ajustar pesos y sesgo Repetir…

Redes neuronales

Las redes neuronales se utilizan para el aprendizaje profundo, o Deep Learning. El diseño de las Redes Neuronales Artificiales está inspirado en las redes neuronales biológicas, imitando la forma en que opera el cerebro. Las neuronas utilizadas en las redes artificiales básicamente son funciones matemáticas. Cada red tiene: Neuronas de entrada, capa de entrada de…

Deep Learning

El aprendizaje profundo (deep learning) es un conjunto de algoritmos de aprendizaje automático (machine learning) basados en asimilar representaciones de datos. Una observación (por ejemplo, una imagen) puede ser representada en muchas formas (por ejemplo, un vector de píxeles), pero algunas representaciones hacen más fácil aprender tareas de interés (por ejemplo, "¿es esta imagen una…