Inteligencia Artificial. Investigaciones, aplicaciones y avances
Autor/a : José Manuel Ortega Candel
El campo de la inteligencia artificial (IA) ha experimentado un crecimiento explosivo en las últimas décadas, transformando a fondo numerosos aspectos de nuestra sociedad y tecnología.
Índice
1. Introducción a la Inteligencia Artificial (AI) 1.1 Aprendizaje automático (machine learning) - 1.1.1. Etapas de machine learning - 1.1.2. Tipos de machine learning - 1.1.3. Aprendizaje supervisado - 1.1.4. Aprendizaje no supervisado 1.2. Aprendizaje profundo (deep learning) - 1.2.1 Cómo trabaja el deep learning - 1.2.2. Capa de entrada (input layer) - 1.2.3. Capa oculta (hidden layer) - 1.2.4. Funciones de activación - 1.2.5. Capa de salida (output layer) - 1.2.6. Niveles crecientes de abstracción 1.3. Diferencias entre inteligencia artificial, deep learning y machine learning 1.4. Importancia del deep learning en la actualidad 1.5. Capas ocultas en aprendizaje profundo - 1.5.1. Problema de desvanecimiento del gradiente - 1.5.2. Optimización avanzada - 1.5.3. Overfitting y underfitting - 1.5.4. Técnicas de regularización 1.6. Limitaciones del deep learning - 1.6.1. Problemas derivados del sobreaprendizaje - 1.6.2. Uso de la capa de dropout - 1.6.3. Las redes neuronales como cajas negras - 1.6.4. Relación entre la regresión logística y las redes neuronales 2. Introducción a las redes neuronales 2.1. Historia y evolución de las redes neuronales 2.2. Contexto histórico 2.3. Redes neuronales artificiales en deep learning 2.4. Aplicaciones de las redes neuronales - 2.4.1. Reconocimiento de patrones - 2.4.2. Procesamiento de lenguaje natural - 2.4.3. Visión por computadora - 2.4.4. Predicción y toma de decisiones 2.5. Ventajas del deep learning 2.6. Importancia de las redes neuronales en la inteligencia artificial 2.7. Componentes de una red neuronal - 2.7.1. El peso adaptativo de las redes neuronales - 2.7.2. Procesado de información de una neurona artificial - 2.7.3. Las funciones de activación de las redes neuronales 2.8. Algoritmos más utilizados para implementar redes neuronales 2.9. Las funciones de coste de las redes neuronales - 2.9.1. Función de pérdida - 2.9.2. Ponderaciones y sesgos - 2.9.3. Retropropagación y descenso gradual 2.10. Clasificación de las redes neuronales - 2.10.1 Clasificación por el número de capas - 2.10.2. Clasificación por los tipos de conexiones - 2.10.3. Clasificación por el grado de conexiones - 2.10.4. Clasificación por el tipo de arquitectura o tecnología 2.11. Perceptrón simple 2.12. Perceptrón multicapa (MLP) 3. Redes neuronales recurrentes (RNN) 3.1. Introducción - 3.1.1 Concepto de recurrencia y celda de una RNN 3.2. Arquitectura de una RNN - 3.2.1. Algoritmo de retropropagación a través del tiempo (BPTT) 3.3. Casos de uso y aplicaciones de redes neuronales recurrentes 3.4. Arquitecturas RNN especializadas 3.5. Long Short-Term Memory (LSTM) - 3.5.1. Bidirectional LSTM 3.6. Gated Recurrent Unit (GRU) 4. Redes neuronales convolucionales (CNN) 4.1. Introducción a las CNN 4.2. Origen de las redes neuronales convolucionales 4.3. Arquitectura de las redes neuronales convolucionales - 4.3.1. Capa convolucional - 4.3.2. Capa de reducción (pooling) - 4.3.3. Capa densa o fully connected 4.4. Tipos de arquitecturas CNN - 4.4.1. GoogleNet (Inception) - 4.4.2. AlexNet - 4.4.3. Redes residuales (ResNet) - 4.4.4. VGG 4.5. Redes convolucionales bidimensionales (2D CNN) 4.6. Ventajas de las redes convolucionales 5. Transfer learning y modelos pre entrenados 5.1. Introducción al transfer learning 5.2. Deep learning vs transfer learning 5.3. Técnicas de transfer learning - 5.3.1. Aprendizaje por transferencia inductiva - 5.3.2. Aprendizaje por transferencia no supervisado - 5.3.3. Aprendizaje por transferencia transductiva - 5.3.4. Transfer learning para la resolución de problemas de deep learning 5.4. Modelos pre entrenados de transfer learning - 5.4.1. Modelos ImageNet - 5.4.2. Modelos NLP - 5.4.3. Modelos generativos 5.5. Librerías de modelos pre entrenados 6. Redes neuronales generativas adversarias o antagónicas (GAN) 6.1. Introducción a las redes GAN 6.2. Generación de imágenes en redes GAN - 6.2.1. El papel de la red discriminadora 6.3. Características de las redes GAN - 6.3.1. Entrenamiento de las redes GAN - 6.3.2. Dificultades del entrenamiento de las redes GAN 6.4. Ventajas y desventajas de usar una red GAN 6.5. Aplicaciones de las redes GAN 6.6. Herramientas de IA para la creación y manipulación de imágenes 6.7. El futuro de las redes adversarias generativas 7. Inteligencia Artificial Generativa 7.1. Introducción 7.2. Definición de IA generativa 7.3. Historia y evolución de la IA hasta llegar a la IA generativa 7.4. El paso de la IA tradicional a la IA generativa 7.5. Modelos de lenguaje de gran escala (LLM) 7.6. Llama 2 - 7.6.1. Proceso de entrenamiento en Llama 2 7.7. Phi-2 - 7.7.1. Arquitectura de Phi-2 7.8. Gemini 7.9. Algoritmia relevante en el ámbito de la IA generativa 8. Procesamiento de lenguaje natural (PLN) 8.1. Introducción al procesamiento de lenguaje natural 8.2. La evolución del procesamiento del lenguaje natural 8.3. Modelos del lenguaje - 8.3.1. Aplicaciones de modelos de lenguaje - 8.3.2. Falcon 180B - 8.3.3. OPT-175B - 8.3.4. Otros modelos relevantes 8.4. Deep learning en el procesamiento de lenguaje natural - 8.4.1. Modelo de embeddings - 8.4.2. Word embeddings (incrustaciones de palabras) - 8.4.3. Word2vec - 8.4.4. GloVe (Global Vectors) - 8.4.5. FastText - 8.4.6. Tokenización y preprocesado - 8.4.7. Tokenización a nivel de carácter - 8.4.8. Tokenización a nivel de palabra - 8.4.9. Tokenización a nivel de subpalabra - 8.4.10. GPT Tokenizer - 8.4.11. ELMo - 8.4.12. El modelo transformer 8.5. Ejemplos de aplicaciones con OpenAI - 8.5.1. Whisper 9. Transformers 9.1. El origen de los transformers 9.2. Versatilidad de los transformers en PLN 9.3. Mecanismo de atención en transformers 9.4. Arquitectura de un transformer 9.5. Estructura encoder-decoder y tipos de transformers - 9.5.1. Self attention 9.6. Partes de un transformer - 9.6.1. Embeddings - 9.6.2. Codificación posicional 9.7. Mecanismo de atención en la arquitectura de transformers - 9.7.1. Autoatención por multicabeza - 9.7.2 Matriz de atención 9.8. Casos de uso de transformers 9.9. Transformers en procesamiento del lenguaje natural - 9.9.1. Bard - 9.9.2. LaMDA (Language Model for Dialogue Applications) - 9.9.3. PaLM (Pathways Language Model) 9.10. Implementación de la capa transformer en Python 9.11. Hugging Face Transformers 9.12. Vision transformer (ViT) - 9.12.1. Diferencias entre vision transformers y redes convolucionales 9.13. Líneas de investigación abiertas con transformers - 9.13.1. Restormer - 9.13.2. Swin transformer - 9.13.3. ConvNeXt 9.14. Conclusiones 10. Autoencoders 10.1. Introducción 10.2. Casos de uso de autoencoders 10.3. Arquitectura de los autoencoders 10.4. Fundamentos de los autoencoders 10.5. Tipos de autoencoders 10.6. Tipos de aplicaciones con autoencoders 11. Glosario de términos