Conceptos Fundamentales de las Redes Neuronales
Elementos Básicos de la Estructura
Neurona artificial: Consiste en una unidad de cálculo que admite como entrada un vector de características e, cuyos valores se suman de forma ponderada mediante unos pesos w. Si esta suma supera cierto umbral θ, genera un determinado valor de salida (por ejemplo, 1) y, si no lo supera, genera otro valor (por ejemplo, 0).
Red neuronal: Es un conjunto de neuronas interconectadas entre sí.
Capa de entrada: Conjunto de las entradas iniciales.
Capa de salida: Las neuronas que generan la salida definitiva.
Capa oculta: Capas intermedias situadas entre la entrada y la salida.
Clasificación y Manejo de Datos
Problemas de Clasificación: Consisten en agrupar objetos de categorías similares.
Vector de características: Es el vector ordenado que agrupa cada uno de los valores de las propiedades que vamos a tener en cuenta para clasificar un objeto: e = (e1, e2, …, en).
Red de Clasificación: Se compondrá de:
- Una capa de entrada.
- Capas ocultas.
- Capa de salida.
Muestras: Cada uno de los puntos u objetos a clasificar.
Conjunto de datos: El conjunto de todas las muestras (aunque es habitual encontrarlo en muchos textos en español con el término anglosajón dataset).
Clase: Todas las muestras pertenecerán a un grupo u otro. A cada uno de estos grupos lo denominamos clase.
Funciones de Activación y Capas Especializadas
Función de activación sigmoide: Es una función matemática que tiene una curva característica en forma de “S” o curva sigmoidea. La función sigmoide tiene la siguiente expresión: *** y posee un rango que va desde -∞ a ∞.
Función de activación softmax: En la última capa, sustituimos la función sigmoide por la función softmax. Esta función es parecida a la sigmoide, ya que también convierte cualquier valor a un rango entre cero y uno. La diferencia reside en que la función softmax no trabaja sobre un valor individual, sino sobre un vector. De esta forma, convierte todas las componentes de un vector en valores entre cero y uno, garantizando además que la suma de todos estos valores sea 1. La salida de la función softmax conforma una distribución de probabilidad. Su expresión es: ****.
Dropout: Función que se encarga, con una probabilidad indicada, de poner ciertos datos a 0 para disminuir el volumen de información, simplificando así las redes fully-connected.
Maxpooling: Se encarga de extraer los valores máximos de las matrices que componen un tensor, permitiendo disminuir las dimensiones horizontales y verticales.
Dense: Capa de neuronas completamente conectadas (fully-connected).
El Proceso de Aprendizaje
Aprendizaje: La red es inicializada con un conjunto de pesos aleatorios. Un dataset etiquetado es suministrado a la red para que genere unos resultados que son comparados con sus correspondientes etiquetas mediante una función de error. Mediante la técnica de descenso por el gradiente, se calcula un nuevo conjunto de pesos que reduce el error cometido. Se repite el proceso hasta que se alcanza un valor cercano al mínimo.
Función de error: Es la función de pérdida cometida por la neurona. Esta función de error depende de los pesos, no de las muestras. Las muestras son estáticas, mientras que los pesos son variables. Esta función de error es continua y derivable en todo momento. Por ello, nos interesa prescindir de los anteriores “mayores” y “menores” y optar por una función como la sigmoide, que es continua y derivable.
Capas convolutivas: Cada neurona de una capa convolutiva está conectada solo a un conjunto de salidas de la capa anterior. Además, las capas convolutivas esperan una disposición bidimensional de las entradas, no lineal. Cada neurona de una capa convolutiva comparte el mismo conjunto de pesos, por lo que se podría decir que las neuronas de la capa convolutiva se replican de forma matricial a lo largo y ancho de la entrada.
Optimización y Estructuras de Datos
Codificación en one-hot: Esta codificación consiste en tomar un vector de una dimensión igual al número de clases existentes.
Mini-batch: Tomamos una muestra variada de los datos para calcular el error; el gradiente que obtendremos será muy parecido y nos tomará mucho menos tiempo. Por lo tanto, podremos avanzar mucho más rápido descendiendo por el gradiente.
Parámetros e Hiperparámetros
- Hiperparámetros: No son valores que la red aprenda por sí sola, sino que le han de ser proporcionados externamente.
- Parámetros: Al conjunto de todos los pesos (y umbrales, en el caso de que los tengamos diferenciados de los pesos) los denominamos parámetros y, a diferencia de los hiperparámetros, sí son aprendidos por la red.
Data Augmentation: Consiste en realizar modificaciones en las imágenes para contar con más formas de evaluar la red neuronal.
Función de activación ReLU: max(0, x). Es decir, los valores negativos siempre los tomará como 0 y los positivos como x, lo que significa que la pendiente será siempre 1, facilitando el descenso por el gradiente y, por ende, el aprendizaje de la red.
Tensor: En informática, solemos llamar a un arreglo bidimensional de objetos «array bidimensional» o matriz. Cuando el arreglo es tridimensional, lo solemos llamar «array tridimensional», pero no deberíamos denominarlo matriz tridimensional (es una expresión impropia), sino tensor. En el argot matemático, físico o ingenieril, cualquier arreglo de valores de tres dimensiones o más se denomina tensor.
