🟢1.- Introducción a las redes neuronales.

Conceptos importantes:

  1. Neurona artificial: Es la unidad básica de una red neuronal. Se inspira en las neuronas biológicas y realiza operaciones matemáticas en la entrada para producir una salida.

  2. Arquitectura de la red: Es la estructura o disposición de las neuronas y las conexiones entre ellas. Puede ser feedforward (unidireccional) o recurrente (con retroalimentación).

  3. Pesos y sesgos: Los pesos representan la fuerza o importancia de una conexión entre neuronas, mientras que los sesgos son valores añadidos a las entradas de las neuronas para ajustar su activación. Los pesos y los sesgos se ajustan durante el proceso de entrenamiento de la red.

  4. Función de activación: Determina la salida de una neurona artificial en función de su entrada ponderada. Algunas funciones de activación comunes incluyen la función sigmoide, la función ReLU (Rectified Linear Unit) y la función softmax.

  5. Capas: Las redes neuronales están compuestas por capas de neuronas. La capa de entrada recibe los datos de entrada, las capas ocultas realizan transformaciones intermedias y la capa de salida produce la salida final.

  6. Propagación hacia adelante: Es el proceso de calcular la salida de una red neuronal desde la capa de entrada hasta la capa de salida. Las salidas de las neuronas en una capa se convierten en las entradas de las neuronas en la capa siguiente.

  7. Retropropagación: Es un algoritmo utilizado en el entrenamiento de redes neuronales. Consiste en propagar el error desde la capa de salida hacia atrás, ajustando los pesos y sesgos en cada capa en función del error calculado.

  8. Aprendizaje supervisado y no supervisado: En el aprendizaje supervisado, se proporcionan ejemplos de entrada y salida esperada para entrenar la red neuronal. En el aprendizaje no supervisado, la red encuentra patrones o estructuras en los datos de entrada sin una salida esperada específica.

  9. Función de costo: Es una medida que cuantifica la discrepancia entre las salidas reales de la red y las salidas deseadas durante el entrenamiento. La función de costo ayuda a evaluar qué tan bien está aprendiendo la red y se utiliza para ajustar los pesos y sesgos durante la retropropagación.

  10. Algoritmo de optimización: Es el método utilizado para minimizar la función de costo y ajustar los pesos y sesgos de la red neuronal. Algunos algoritmos populares incluyen el descenso de gradiente estocástico (SGD), el RMSprop, el Adam y el AdaGrad.

  11. Overfitting y underfitting: El overfitting ocurre cuando la red neuronal se ajusta demasiado a los datos de entrenamiento y no generaliza bien a nuevos datos. El underfitting, por otro lado, ocurre cuando la red no logra aprender patrones importantes en los datos de entrenamiento. Ambos fenómenos son importantes de controlar durante el entrenamiento.

  12. Regularización: Es una técnica utilizada para evitar el overfitting en redes neuronales. Algunas formas comunes de regularización incluyen la regularización L1 y L2, que agregan términos de penalización a la función de costo para limitar el tamaño de los pesos.

  13. Dropout: Es una técnica de regularización que consiste en desactivar aleatoriamente un porcentaje de las neuronas durante el entrenamiento. Esto evita la coadaptación excesiva entre las neuronas y promueve una mejor generalización de la red.

  14. Batch Normalization: Es una técnica utilizada para normalizar las activaciones de una red neuronal en cada capa. Esto ayuda a acelerar el entrenamiento, estabilizar los gradientes y reducir el impacto de los cambios en los hiperparámetros.

  15. Transfer Learning: Es un enfoque en el que se aprovecha el conocimiento aprendido por una red neuronal en una tarea y se aplica a una tarea relacionada. Esto permite el uso de modelos pre-entrenados y acelera el proceso de entrenamiento.

  16. Redes neuronales recurrentes (RNN): Son un tipo de red neuronal que tiene conexiones retroalimentadas, lo que les permite mantener información sobre estados anteriores. Las RNN son útiles para tareas que implican secuencias de datos, como el procesamiento de lenguaje natural y la generación de texto.

  17. Long Short-Term Memory (LSTM): Es una variante de las RNN que aborda el problema de las "desapariciones del gradiente" (vanishing gradient) al mantener una "celda de memoria" que puede retener información a largo plazo y decidir cuándo actualizarla o descartarla.

  18. Gated Recurrent Unit (GRU): Es otra variante de las RNN que también resuelve el problema de las desapariciones del gradiente. Las GRU tienen puertas de actualización y restablecimiento que controlan el flujo de información en la red.

  19. Redes neuronales convolucionales (CNN): Son un tipo de red neuronal que se especializa en el procesamiento de datos con una estructura de cuadrícula, como imágenes. Utilizan capas convolucionales para extraer características y capas de agrupación para reducir la dimensionalidad de los datos.

  20. Autoencoders: Son redes neuronales que se utilizan para aprender representaciones comprimidas de los datos de entrada. Consisten en una capa de codificación y una capa de decodificación, y se utilizan para tareas como la reducción de la dimensionalidad y la generación de datos.

  21. Redes generativas adversariales (GAN): Son un tipo de red neuronal que consta de un generador y un discriminador. El generador crea muestras sintéticas que intentan engañar al discriminador, mientras que el discriminador intenta distinguir entre muestras reales y sintéticas. Las GAN se utilizan para generar contenido nuevo, como imágenes y música.

  22. Redes neuronales transformer: Son una arquitectura de red neuronal basada en mecanismos de atención y se utilizan principalmente en tareas de procesamiento del lenguaje natural. Los transformers han demostrado un rendimiento excepcional en tareas de traducción automática, generación de texto y resumen automático.

  23. Aprendizaje por refuerzo: Es una rama del aprendizaje automático en la que una entidad de toma de decisiones (agente) aprende a través de la interacción con un entorno. El agente recibe recompensas o castigos en función de sus acciones y busca maximizar la recompensa total a lo largo del tiempo.

  24. Redes neuronales de atención (Attention Networks): Son modelos que utilizan mecanismos de atención para asignar ponderaciones a diferentes partes de una entrada. Se utilizan en tareas como la traducción automática y el procesamiento del lenguaje natural.

  25. Redes neuronales Bayesianas (Bayesian Neural Networks): Son redes neuronales que incluyen incertidumbre en sus predicciones al aplicar inferencia bayesiana. Permiten estimar la incertidumbre en las predicciones y son útiles en tareas de toma de decisiones bajo incertidumbre.

Y si seguimos leyendo nos encontramos con mas tipos de redes neuronales es importante leerlas y analizarlas para ver su enfoque.

  1. Redes neuronales recurrentes bidireccionales (Bidirectional RNN): Son RNN que procesan la secuencia de entrada en ambas direcciones (hacia adelante y hacia atrás). Esto les permite capturar información contextual tanto de pasado como de futuro.

  2. Aprendizaje por transferencia (Transfer Learning): Es la práctica de utilizar conocimientos previamente aprendidos en una tarea para mejorar el rendimiento en una tarea relacionada. Se transfieren los pesos y conocimientos de una red entrenada a otra red para acelerar y mejorar el aprendizaje.

  3. Aprendizaje sin supervisión (Unsupervised Learning): Es una rama del aprendizaje automático en la que se utilizan datos no etiquetados para encontrar patrones o estructuras ocultas en los datos. Ejemplos incluyen el agrupamiento (clustering) y la detección de anomalías (anomaly detection).

  4. Aprendizaje por refuerzo profundo (Deep Reinforcement Learning): Es una combinación de aprendizaje por refuerzo y redes neuronales profundas. Un agente aprende a través de la interacción con un entorno, utilizando una red neuronal profunda para aproximar la función de valor o política.

  5. Regularización por Dropout (Dropout Regularization): Es una técnica de regularización que consiste en desactivar aleatoriamente un porcentaje de las neuronas durante el entrenamiento. Ayuda a evitar el overfitting y promueve una mejor generalización de la red.

  6. Redes neuronales generativas profundas (Deep Generative Neural Networks): Son redes neuronales que generan nuevas muestras sintéticas a partir de un modelo aprendido. Ejemplos incluyen las Redes Generativas Adversariales (GANs) y las Redes Neuronales Generativas Variacionales (VAEs).

  7. Redes neuronales siamesas (Siamese Neural Networks): Son redes neuronales que comparten los mismos pesos y arquitectura para procesar dos o más entradas similares. Se utilizan en tareas de reconocimiento de similitud o comparación, como la verificación de rostros o la detección de duplicados.

  8. Redes neuronales profundas convolucionales (Deep Convolutional Neural Networks): Son redes neuronales convolucionales con múltiples capas ocultas. Se utilizan principalmente en el procesamiento de imágenes y visión por computadora, logrando un rendimiento superior en comparación con arquitecturas más simples.

  9. Redes neuronales recurrentes atencionales (Attentional Recurrent Neural Networks): Son una combinación de redes neuronales recurrentes y mecanismos de atención. Permiten que la red se centre en partes específicas de la secuencia de entrada en función de la relevancia y el contexto.

  10. Pruebas de adversario (Adversarial Testing): Es un enfoque de evaluación de seguridad que consiste en simular ataques y explorar las vulnerabilidades de un sistema. Se utilizan técnicas de ataque para identificar debilidades en la seguridad de una red neuronal o sistema de aprendizaje automático.

  11. Redes neuronales recurrentes encoder-decoder: Son arquitecturas que combinan una red neuronal recurrente codificadora (encoder) con una red neuronal recurrente decodificadora (decoder). Se utilizan en tareas como la traducción automática y la generación de texto.

  12. Redes neuronales profundas generativas adversariales (Deep Generative Adversarial Networks, DCGAN): Son una variante de las GAN en la que tanto el generador como el discriminador son redes neuronales profundas. Se utilizan para generar imágenes realistas y sintéticas.

  13. Función de activación lineal rectificada parametrizada (Parametric Rectified Linear Unit, PReLU): Es una función de activación que se utiliza en redes neuronales para introducir no linealidad. La PReLU tiene una pendiente ajustable para mejorar el aprendizaje y superar el problema de la "muerte de las neuronas".

  14. Aumento de datos (Data Augmentation): Es una técnica utilizada para aumentar la cantidad de datos de entrenamiento al aplicar transformaciones aleatorias o sistemáticas a las muestras existentes. Ayuda a mejorar la generalización y reducir el sobreajuste de la red neuronal.

  15. Grad-CAM (Gradient-weighted Class Activation Mapping): Es una técnica que utiliza gradientes para visualizar las áreas importantes de una imagen que contribuyen a la predicción de una red neuronal. Ayuda a interpretar y explicar las decisiones tomadas por la red.

  16. Aprendizaje por refuerzo con función de recompensa dispersa (Reinforcement Learning with Sparse Reward): Es un desafío en el aprendizaje por refuerzo cuando las recompensas son escasas o solo se proporcionan al alcanzar ciertos objetivos. Requiere el uso de técnicas especializadas para guiar el aprendizaje en ausencia de retroalimentación constante.

  17. Redes neuronales de retroalimentación de error (Error Feedback Neural Networks): Son una alternativa al algoritmo de retropropagación tradicional utilizado en el entrenamiento de redes neuronales. Se basan en la propagación de errores a través de conexiones recurrentes y pueden ser útiles en arquitecturas de redes neuronales específicas.

  18. Redes neuronales profundas recursivas (Recursive Neural Networks): Son redes neuronales que utilizan estructuras recursivas para procesar datos estructurados, como árboles o grafos. Se utilizan en tareas de análisis de lenguaje natural y procesamiento de árboles sintácticos.

  19. Transferencia de estilo (Style Transfer): Es una técnica que utiliza redes neuronales para combinar el estilo de una imagen con el contenido de otra imagen. Permite generar imágenes que adoptan el estilo artístico de una obra de arte o fotografía.

  20. Redes neuronales que atienden a múltiples tareas (Multi-Task Neural Networks): Son redes neuronales que se entrenan para realizar varias tareas relacionadas al mismo tiempo. Comparten características y conocimientos entre las tareas, lo que puede mejorar el rendimiento y la eficiencia del modelo.

  21. Regularización por aumento de datos (Data Augmentation Regularization): Es una técnica de regularización que utiliza transformaciones aleatorias en los datos de entrenamiento para generar ejemplos adicionales. Ayuda a mejorar la generalización y evitar el sobreajuste en redes neuronales.

  22. Redes neuronales con atención espacial (Spatial Attention Networks): Son redes neuronales que aprenden a enfocarse en regiones específicas de una imagen o mapa utilizando mecanismos de atención espacial. Se utilizan en tareas de visión por computadora, como la detección de objetos.

  23. Redes neuronales autoorganizativas (Self-Organizing Neural Networks): Son redes neuronales no supervisadas que aprenden a formar representaciones y estructuras internas sin etiquetas de entrenamiento. Ejemplos incluyen las Redes Kohonen y las Redes de Mapas Autoorganizados (SOM).

  24. Redes neuronales evolutivas (Evolutionary Neural Networks): Son redes neuronales que utilizan algoritmos genéticos o algoritmos de optimización evolutiva para buscar y mejorar la arquitectura o los hiperparámetros de la red. Permiten la exploración automática de diferentes configuraciones de la red.

  25. Redes neuronales con aprendizaje no supervisado (Unsupervised Neural Networks): Son redes neuronales que se entrenan sin etiquetas de salida deseadas. Utilizan métodos como la autoorganización, la detección de anomalías o la generación de datos para aprender patrones y estructuras ocultas en los datos.

Last updated