Inteligencia artificial (IA/AI)

informatics

La inteligencia artificial (IA) es un campo de la informática que se enfoca en crear sistemas y máquinas capaces de realizar tareas que normalmente requieren inteligencia humana. Esto incluye el aprendizaje, el razonamiento, la percepción, la resolución de problemas y la interacción con el lenguaje. La IA busca simular capacidades cognitivas humanas en sistemas computacionales.

LLM (Modelo de Lenguaje Grande)

  • Un LLM, o Modelo de Lenguaje Grande (Large Language Model, por sus siglas en inglés), es un tipo de modelo de inteligencia artificial que ha sido entrenado en grandes cantidades de datos de texto y código. Estos modelos son capaces de comprender, generar y manipular lenguaje humano de manera muy sofisticada. Básicamente, son sistemas de IA que pueden entender y producir texto similar al humano.

Para que se utiliza un modelo de LLM

  • Generación de texto: Crear contenido original, como artículos, poemas, o código de programación.

  • Traducción de idiomas: Traducir texto de un idioma a otro.

  • Resumir texto: Crear resúmenes concisos de documentos extensos.

  • Análisis de sentimientos: Determinar la opinión expresada en un texto (positivo, negativo, neutral).

  • Responder preguntas: Proporcionar respuestas a preguntas complejas basadas en el conocimiento que han aprendido.

  • Chatbots: Interpretar y responder a las entradas del usuario en conversaciones.

Machine Learning (subconjunto de la inteligencia artificial) / aprendizaje automatica (AA)

  • El Machine Learning, o aprendizaje automático, es una rama de la inteligencia artificial que se enfoca en permitir que las computadoras aprendan de los datos y mejoren su rendimiento con la experiencia, sin ser programadas explícitamente para cada tarea. En esencia, se trata de que las máquinas puedan identificar patrones, hacer predicciones y tomar decisiones basadas en datos, en lugar de seguir instrucciones fijas.

Se basa en algoritmos y modelos estadísticos que analizan grandes cantidades de datos para identificar patrones y relaciones, permitiendo a las máquinas hacer predicciones o tomar decisiones basadas en esos patrones.

Tipos de machine learning

  • aprendizaje supervisado: enfoque donde el modelo se entrena utilizando datos etiquetados, es decir, datos de entrada con sus respectivas salidas deseadas. El objetivo es que el modelo aprenda la relación entre las entradas y las salidas para poder predecir la salida correcta para nuevas entradas no vistas previamente. Técnicas (algoritmos):

    • Regresión lineal y logística: son técnicas de análisis estadístico que se utilizan para modelar la relación entre una variable dependiente (variable a predecir) y una o más variables independientes (variables que influyen en la variable dependiente). La diferencia principal radica en el tipo de variable dependiente que pueden manejar: la regresión lineal se utiliza para variables continuas, mientras que la regresión logística se utiliza para variables categóricas, especialmente cuando son binarias (dos categorías).

    • Árboles de decisión: es una herramienta visual que representa gráficamente un proceso de toma de decisiones y sus posibles resultados. Es un algoritmo de aprendizaje automático supervisado utilizado tanto para clasificación como para regresión. Se asemeja a un árbol invertido, con un nodo raíz que representa la decisión inicial y ramas que se extienden para mostrar diferentes opciones y sus posibles consecuencias.

    • Máquinas de vectores de soporte (SVM): Una Máquina de Vectores de Soporte (SVM, por sus siglas en inglés) es un algoritmo de aprendizaje supervisado que se utiliza para clasificar datos o para realizar regresión. En esencia, SVM busca el hiperplano óptimo que mejor separa diferentes clases de datos en un espacio multidimensional, maximizando el margen entre el hiperplano y los puntos de datos más cercanos de cada clase.

    • Bosques aleatorios: Un bosque aleatorio es un algoritmo de aprendizaje automático supervisado que se utiliza tanto para clasificación como para regresión. Combina múltiples árboles de decisión para mejorar la precisión y reducir el sobreajuste, según IBM. Cada árbol se construye utilizando un subconjunto aleatorio de los datos de entrenamiento y un subconjunto aleatorio de características, lo que introduce diversidad y ayuda a evitar el sobreajuste.

    • Redes neuronales: Las redes neuronales son sistemas computacionales inspirados en el funcionamiento del cerebro humano. Están compuestas por nodos interconectados, llamados neuronas, que procesan información de manera similar a como lo hacen las neuronas biológicas. Estas redes aprenden a través de ejemplos y son capaces de realizar tareas complejas como reconocimiento de imágenes, procesamiento de lenguaje natural y toma de decisiones.

    • Clasificación binaria: es una tarea de aprendizaje automático que consiste en asignar instancias a una de dos categorías posibles. En otras palabras, se trata de dividir un conjunto de datos en dos grupos basados en ciertas características. Ejemplos comunes incluyen clasificar correos electrónicos como spam o no spam u predecir si un cliente comprará o no un producto.

  • el aprendizaje no supervisado El aprendizaje no supervisado en machine learning es una técnica donde los algoritmos analizan datos sin etiquetas para descubrir patrones, estructuras o relaciones ocultas. A diferencia del aprendizaje supervisado, no hay una "respuesta correcta" predefinida, sino que el algoritmo identifica automáticamente agrupaciones, similitudes o anomalías en los datos. Técnicas:

    • Clustering: el análisis de agrupamiento, es una técnica de aprendizaje automático no supervisado que agrupa elementos similares en conjuntos llamados clusters. El objetivo es organizar los datos de manera que los elementos dentro de un mismo grupo sean más similares entre sí que con respecto a los de otros grupos.

    • Asociación: se buscan asociaciones frecuentes del tipo si-entonces (también llamadas reglas) para descubrir correlaciones y casos conjuntas dentro de los datos, así como las diferentes conexiones entre los objetos de datos. reglas para descubrir relaciones interesantes entre las características de un conjunto de datos

    • Reducción de Dimensionalidad: La reducción de dimensionalidad es una técnica de aprendizaje no supervisado utilizada para transformar un conjunto de datos de alta dimensión a un espacio de menor dimensión, conservando la información relevante. En otras palabras, se trata de simplificar los datos reduciendo el número de variables, lo que puede mejorar el rendimiento de algoritmos de aprendizaje automático, facilitar la visualización de datos y reducir costos computacionales.

  • aprendizaje por refuerzo: El aprendizaje por refuerzo (AR o RL en ingles) es un tipo de aprendizaje automático donde un agente aprende a tomar decisiones en un entorno para maximizar una recompensa acumulada. A través de prueba y error, el agente interactúa con su entorno, recibe retroalimentación en forma de recompensas o penalizaciones, y ajusta su estrategia para mejorar su desempeño.

Deep learning

  • el aprendizaje profundo, es una rama del machine learning (aprendizaje automático) que utiliza redes neuronales artificiales para aprender de grandes cantidades de datos. Estas redes están inspiradas en la estructura y función del cerebro humano y son capaces de identificar patrones complejos y realizar tareas como el reconocimiento de imágenes, voz y texto, así como hacer predicciones.

Estas redes procesan los datos de entrada de forma jerárquica, con capas inferiores detectando características simples y capas superiores reconociendo patrones más complejos, permite que las computadoras aprendan a realizar tareas complejas de manera similar a como lo haría un ser humano, utilizando redes neuronales artificiales y grandes cantidades de datos.

Redes neuronales

  • Redes neuronales: Las redes neuronales o redes neuronales artificiales son sistemas computacionales inspirados en el funcionamiento del cerebro humano. Están compuestas por nodos interconectados, llamados neuronas, que procesan información de manera similar a como lo hacen las neuronas biológicas. Estas redes aprenden a través de ejemplos y son capaces de realizar tareas complejas como reconocimiento de imágenes, procesamiento de lenguaje natural y toma de decisiones. Las redes neuronales son un subconjunto del machine learning como algoritmo de aprendizaje supervisado

  • Una red neuronal consta de capas de nodos (neuronas) interconectadas.

  • Los datos de entrada se introducen en la capa de entrada de la red.

  • Cada nodo recibe información de otros nodos, la procesa y transmite una señal a través de las conexiones hacia la siguiente capa.

  • La capa de salida produce un resultado, como una clasificación, una predicción o una decisión.

  • Las redes neuronales aprenden mediante el ajuste de los pesos de las conexiones entre nodos, lo que determina la importancia de cada entrada en el proceso de toma de decisiones.

Tipos de capas de redes neuronales

En una red neuronal, las capas son estructuras fundamentales que organizan y procesan la información. Normalmente, una red neuronal tiene tres tipos de capas: la capa de entrada, la capa oculta y la capa de salida. Cada capa contiene neuronas artificiales interconectadas, y la información fluye de una capa a la siguiente.

1. Capa de Entrada:

  • Es la capa inicial donde se introduce la información o datos en la red.

  • Las neuronas en esta capa representan los campos de entrada y reciben los datos del mundo exterior.

  • Estas neuronas procesan los datos y los pasan a la siguiente capa.

2. Capa de Salida:

  • Es la capa final de la red neuronal donde se produce la predicción o clasificación final.

  • El número de neuronas en la capa de salida depende de la tarea que realiza la red. Por ejemplo, en una clasificación binaria (sí/no), la capa de salida tendrá una sola neurona.

  • En problemas de clasificación multiclase, la capa de salida puede tener múltiples neuronas.

3. Capas Ocultas o capa oculta:

  • Son capas intermedias que se encuentran entre la capa de entrada y la capa de salida.

  • Las redes neuronales pueden tener múltiples capas ocultas, lo que permite a la red aprender representaciones más complejas de los datos.

  • Cada capa oculta analiza la salida de la capa anterior, la procesa y la pasa a la siguiente capa. Tipos de capas ocultas:

    • Capas Convolucionales (CNN): Comunes en visión por computadora, utilizan filtros para detectar patrones en imágenes.

    • Capas Recurrentes (RNN): Usadas en procesamiento de lenguaje natural y series temporales, tienen memoria para procesar secuencias de datos.

    • Capas Densas (Totalmente Conectadas o FC): Cada neurona de la capa está conectada a todas las neuronas de la capa anterior.

    • Capas de Pooling: Reducen la dimensionalidad de los datos, como max-pooling o average-pooling, útiles para reducir el tamaño de las imágenes en CNNs.

    • Capas de Normalización: Ayudan a estabilizar el entrenamiento y mejorar la generalización, como Batch Normalization.

    • Capas de Regularización: Como Dropout, ayudan a prevenir el sobreajuste.

    • Capas de Atención: Permiten que la red preste más atención a ciertas partes de la entrada, comunes en NLP.

    • Capas de Incrustación: Convierten datos categóricos (ej. palabras) en representaciones vectoriales continuas.

    • Capas de Fusión o Concatenación: Combinan múltiples conjuntos de características.

La clasificación multiclase es cuando intentamos predecir un único resultado discreto como en la clasificación binaria, pero con más de dos clases. Los modelos de clasificación multiclase se puntúan mediante diferentes promedios de F1, La puntuación F1 es una métrica muy utilizada en el campo de la inteligencia artificial, concretamente en el contexto del aprendizaje automático. Es una medida de la precisión de un modelo que tiene en cuenta tanto la precisión como la recuperación. La puntuación F1 es especialmente útil en situaciones en las que existe un desequilibrio en la distribución de las clases o cuando el coste de los falsos positivos y los falsos negativos no es igual.

Tipos de redes neuronales

  • Redes neuronales feedforward: es un tipo de red neuronal artificial donde la información fluye en una sola dirección, desde la capa de entrada hasta la capa de salida, sin ciclos o retroalimentación. En otras palabras, la salida de cada capa se utiliza como entrada para la siguiente capa hasta obtener la salida final, una de las formas más sencillas de redes neuronales artificiales.

  • Redes neuronales recurrentes: son un tipo de red neuronal artificial diseñada para procesar datos secuenciales, como texto o series temporales, donde el orden de los elementos es importante. A diferencia de las redes feedforward, las RNN tienen conexiones que permiten que la información fluya en bucle, creando una especie de memoria que les permite considerar el contexto pasado al procesar los datos actuales.

  • Redes neuronales convolucionales: son un tipo de red neuronal artificial, especialmente diseñadas para procesar datos estructurados en forma de cuadrícula, como imágenes. A diferencia de las redes neuronales tradicionales, las CNN utilizan operaciones de convolución para extraer características relevantes de las imágenes de manera jerárquica y progresiva. Esto permite que las CNN sean muy efectivas en tareas como la clasificación de imágenes, detección de objetos y segmentación.

Last updated