A clasificación da IA é complexa debido á evolución dos seus métodos e aos distintos enfoques desenvolvidos ao longo da historia. As fronteiras entre IA tradicional, aprendizaxe automática e profunda son difusas, xa que moitos sistemas combinan múltiples técnicas. Ademais, factores como o márketing e o contexto tecnolóxico engaden dificultade a lograr unha clasificación clara e congruente.
O márketing pode influír en como se presentan e perciben as tecnoloxías de IA. Por exemplo, certos termos como "intelixencia artificial" ou "aprendizaxe profunda" poden usarse para captar atención ou agregar valor comercial, mesmo cando as técnicas empregadas non son tan avanzadas como parecen. Isto pode xerar confusión ao clasificar tecnoloxías, xa que non sempre se corresponde coas súas capacidades reais.
A IA en conxuntos
Creación propia. Clasificación básica de IA(CC BY-SA)
Imos simplificar a IA, co propósito de clasificala, estruturala e permitirnos situar diferentes ideas e ferramentas.
Comezaremos coa categorización máis popular e elemental: a Intelixencia Artificial na cal se distinguen as variadas orientacións dentro da IA en forma de conxuntos. No diagrama que ilustra esta clasificacións, os tamaños dos círculos non son proporcionais, senón que reflicten relacións e xerarquías de conceptos.
IA Tradicional:
A IA tradicional engloba todo , incluídas as técnicas e metodoloxías dentro deste campo que non recorren á aprendizaxe automática nin profunda. Estas ferramentas, concibidas ao longo dos anos, baséanse en métodos procedementais, estatísticos e lóxicos. Cunha clara influencia matemática, tiñan como meta emular a intelixencia humana e convertéronse na base e fonte de inspiración para desenvolvementos posteriores. ⇒Exemplos
Aprendizaxe Automática (Machine Learning, ML)
Unha subdisciplina da intelixencia artificial enfocada no deseño de algoritmos e modelos que permiten ás máquinas adquirir coñecemento a partir de datos. En lugar de seguir instrucións explícitas programadas, o ML detecta patróns e toma decisións baseándose na análise de información. ⇒Exemplos
Aprendizaxe Profunda (Deep Learning, DL)
Unha rama da aprendizaxe automática que emprega redes neuronais artificiais con múltiples capas para modelar e comprender patróns complexos. Este enfoque automatiza a extracción de características e permite procesar grandes cantidades de datos non estruturados como audio, texto e imaxes. ⇒Exemplos
IA Tradicional (que non utiliza aprendizaxe automática, pero si "simula" razoamento ou toma de decisións):
Sistemas expertos en diagnóstico médico: Como MYCIN (dos anos 70), que utilizaba regras predefinidas para suxerir diagnósticos baseados en síntomas e antecedentes. Aínda que non aprendía de datos novos, podía tomar decisións baseándose nun conxunto lóxico de regras.
Programas de xadrez clásicos: Os precursores como Deep Blue de IBM (antes da implementación de técnicas modernas) utilizaban regras e cálculos heurísticos complexos para analizar millóns de posibles xogadas sen aprendizaxe adaptativa.
Procesadores de linguaxe temperá: Sistemas como ELIZA, que simulaban conversacións aplicando regras predefinidas para analizar entradas do usuario e xerar respostas coherentes.
Aprendizaxe Automática (Machine Learning aprenden a partir de datos)
Recomendación de contidos en plataformas de streaming: Estes sistemas analizan os teus hábitos de visualización e detectan patróns nas túas preferencias utilizando modelos de aprendizaxe automática. Así, xeran suxestións de programas ou películas adaptadas aos teus intereses.
Sistemas de detección de fraude en tarxetas de crédito: Analizan transaccións para identificar patróns sospeitosos. Estes modelos de ML aprenden constantemente de novos datos para mellorar a precisión na detección.
Aprendizaxe Profunda (Deep Learning)
Recoñecemento facial en smartphones: Tecnoloxías como Face IDE utilizan redes neuronais profundas para analizar características faciais complexas, asegurando que o dispositivo se desbloquee só co rostro rexistrado, mesmo en distintas condicións de iluminación.
Obxectivo:Que traballe para nós
O que sí temos bastante claro é o que esperamos dela: A IA desenvólvese para solucionar todo tipo de problemas e tarefas, necesitamos que aprenda, e logo que traballe para nós...
Como se mencionou no capítulo previo, para adquirir coñecementos realizamos un procedemento que chamamos aprendizaxe. Partimos dun conxunto de datos (ou información), e o obxectivo é adestrarun modelo de IA (é dicir, levar a cabo unha aprendizaxe) para que poida realizar algunha destas tarefas ou calquera outra futura :
Predición: Por exemplo, partindo de información sobre coches de segunda man (ano de matrícula, potencia, kms, extras, custo etc.), construír un modelo que aprenda a estimar o prezo dun calquera. Outro exemplo sería utilizar un conxunto de imaxes de letras escritas a man, etiquetadas coa letra que representan, para desenvolver un modelo que poida identificar que letra hai nunha imaxe específica (ou se non hai ningúnha).
Detección de patróns : Por exemplo, a partir dun conxunto de radiografías de tórax con personas enfermas e non enfermas, cada unha etiquetada coa localización dun posible efisema pulmonar, construír un modelo que identifique se hai un efisema nunha radiografía determinada e a súa localización.
Agrupación de datos similares: Por exemplo, disponse dunha gran cantidade de datos sobre o comportamento dos usuarios nunha rede social: o que ven, cando o ven, con quen se relacionan etc. A partir destes datos, pódese desenvolver un modelo que clasifique usuarios parecidos e caracteríceos (isto chámase SEGMENTAR) ; desde ese punto, é posible facer suxestións a outros usuarios segundo o grupo ao que pertenzan.
Redución de dimensionalidade: Por exemplo, se contamos cunha gran cantidade de textos e queremos comparalos para identificar cales son similares entre si. Para logralo, necesitamos reducir cada texto a un vector de forma que os vectores de textos parecidos sitúense preto entre si e, se son moi distintos, lonxe uns doutros.
Xeración de datos : Por exemplo, teño un texto e quero completalo (texto a texto). Outro exemplo sería a partir dun texto sintetizar a imaxe que ese texto describe (texto a imaxe).
Optimización de accións : Por exemplo, un brazo robótico pode ser adestrado para manipular un bisturí e operar a persoas con máxima precisión.
Todos estes tipos de tarefas que buscamos que os nosos modelos aprendan, requiren das seguintes metodoloxías de aprendizaxe automática, cada unha asociada a un tipo de aprendizaxe.
Aprendizaxe supervisada
Consiste en predecir un valor ou unha categoría a partir de datos etiquetados. Esta é unha das utilidades máis habituais da aprendizaxe automática.
No caso da predición de valores, falamos de problemas de regresión, cuxo propósito é calcular un valor numérico continuo baseado en datos de entrada. Por exemplo, estimar o prezo dunha casa.
Doutra banda, a predición de categorías refírese a problemas de clasificación, cuxo fin é asignar unha etiqueta a cada entrada. Por exemplo, identificar unha imaxe como "can" ou "gato" .
Aprendizaxe non supervisada
Consiste en identificar patrónsou estruturas ocultas a partir de datos non etiquetados.
As técnicas de agrupamento (clustering), por exemplo, segmentan datos similares baseándose en características compartidas. Por exemplo agrupar alumnado según o seu rendimento.
Outro caso é a redución de dimensionalidade , que simplifica conxuntos de datos complexos mantendo os elementos máis significativos.
Aprendizaxe por reforzo
Consiste en optimizar decisións mediante a interacción coa contorna. Na aprendizaxe por reforzo, un axente aprende a tomar decisións óptimas interactuando coa súa contorna. Este enfoque é particularmente valioso en escenarios onde as decisións tómanse de forma secuencial e os efectos das accións percíbense ao longo do tempo.
lumalabs.ai. Coche autónomo(CC BY-SA)
Os sistemas de condución autónoma utilizan aprendizaxe por reforzo . Por exemplo, en simulacións, estes vehículos aprenden a tomar decisións óptimas mediante recompensas (como accións seguras) e penalizacións (como colisións virtuais). Isto aplicouse por empresas como Waymo e Tesla para mellorar a capacidade dos seus vehículos en situacións complexas do mundo real.
Un dato etiquetado é información que está asociada a unha descrición ou "etiqueta" que indica que representa ou cal é a súa categoría.
Isto é fundamental na aprendizaxe supervisada de intelixencia artificial, onde os algoritmos necesitan exemplos claros para aprender a identificar patróns e realizar predicións.
Por exemplo:
Dato imaxe dun can, a etiqueta sería "can".
Dato fragmento de texto como "Estou moi feliz hoxe!", a etiqueta podería ser "emocións positivas".
Dato audio onde alguén di "Ola", a etiqueta podería ser "saúdo".
A etiqueta actúa como unha guía para que a IA entenda como clasificar ou interpretar os datos en futuros escenarios
Este é un programa en Python que podes executar en Google Colaboratory para mostrar como funciona unha predición de valores mediante regresión con un modelo de IA
O programa inclue explicacións detalladas nos comentarios para que comprendas cada paso.
Executandoo en Colab, podes probar o cálculo estimado do valor dunha vivenda según o seu tamaño
Non te preocupes por comprender o programa totalmente, só de entender o que fai.
Podes xogar coa instrución precio_predito = modelo.predict([[120]]) para cambiar o tamaño da casa a predecir.
Creación propia. Gráfica co resultado do programa(CC BY-SA)
Código Python: Programa que calcula o prezo estimado dunha vivenda según o tamaño
from sklearn.linear_model import LinearRegression
# Datos de exemplo, podes cambialos se non se adecúan á túa realidade
metros_cadrados = [[50], [100], [150], [200]]
prezos = [150000, 300000, 450000, 600000] # en euros
# Crear modelo
modelo = LinearRegression()
modelo.fit(metros_cadrados, prezos)
# Facer predicción
precio_predito = modelo.predict([[120]]) # Podes cambiar este dato 120 para facer outras predicións
print("O prezo estimado para 120 m² é:", precio_predito)
Podes investigar como realizar esta gráfica con estas novas instrucións
Código Python: Programa para realizar a gráfica de precición do prezo dunha casa según o tamaño
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
import numpy as np
# Datos de ejemplo
metros_cadrados = [[50], [100], [150], [200]]
prezos = [180500, 305403, 459000, 659000] # en euros
# Crear modelo
modelo = LinearRegression()
modelo.fit(metros_cadrados, prezos)
# Hacer predicción
novo_dato = [[120]] # Nuevo dato en metros cuadrados
precio_predito = modelo.predict(novo_dato)
print("O prezo estimado para 120 m² é:", precio_predicho)
# Graficar a regresión
plt.figure(figsize=(10, 6))
# Graficar os puntos orixinais (datos de entrenamento)
plt.scatter(metros_cadrados, prezos, color='blue', label='Datos orixinais', s=100)
# Graficaro novo punto (dato predit)
plt.scatter(novo_dato, precio_predito, color='black', label='Novo dato (120 m²)', s=150, edgecolor='white')
# Graficar la línea de regresión
x_range = np.linspace(min(metros_cuadrados)[0], max(metros_cuadrados)[0], 100).reshape(-1, 1)
y_range = modelo.predict(x_range)
plt.plot(x_range, y_range, color='red', label='Líña de regresión')
# Personalizar gráfico
plt.title('Regresión Lineal: Prezo dunha casa en función do tamaño', fontsize=16)
plt.xlabel('Metros cadrados (m²)', fontsize=12)
plt.ylabel('Prezo en euros (€)', fontsize=12)
plt.legend(fontsize=10)
plt.grid(True)
# Mostrar gráfico
plt.show()
Este é un programa en Python que podes executar en Google Colaboratory para mostrar como funciona un clustering ou segmentación con un modelo de IA
O programa inclue explicacións detalladas nos comentarios para que comprendas cada paso.
Executandoo en Colab, podes probar o agrupamento de estudantes según o seu rendimento
Non te preocupes por comprender o programa totalmente, só de entender o que fai.
Podes xogar co dataframe de notas e comprobar os cambios, proba tamén a cambiar as cores en palette='coolwarm'
Creación propia. Gráfica co resultado do programa(CC BY-SA)
Código Python: Programa para realizar a gráfica de agrupamento de estudandes según o rendemento
#O clustering ou agrupamento é unha técnica moi utilizada en intelixencia artificial, especificamente na aprendizaxe non supervisada. #Consiste en agrupar datos (neste caso, estudantes) en categorías baseadas en características similares. #Non se require etiquetar previamente os datos; en cambio, o algoritmo identifica patróns para formar grupos ou clústeres.
import pandas as pd
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
import seaborn as sns
# Crear o DataFrame con datos
data = pd.DataFrame({
'Estudante': [f'Estudante {i+1}' for i in range(24)],
'Matemáticas': [8, 5, 7, 3, 10, 6, 4, 9, 2, 5, 7, 3, 6, 8, 5, 4, 3, 2, 9, 7, 6, 4, 5, 8],
'Ciencias': [7, 4, 6, 2, 9, 5, 3, 8, 1, 6, 8, 4, 7, 9, 5, 3, 2, 1, 10, 8, 7, 3, 4, 7]
})
# Usar só as columnas numéricas para o clustering
X = data[['Matemáticas', 'Ciencias']]
# Crear o modelo K-means con 3 clústeres
kmeans = KMeans(n_clusters=3, random_state=0)
data['Cluster'] = kmeans.fit_predict(X) # Etiquetar cada estudiante co seu clúster
# Visualizar os centros dos clústeres
centros = kmeans.cluster_centers_
# Crear gráfico de dispersión para ver os clústeres
plt.figure(figsize=(10, 6))
sns.scatterplot(
data=data,
x='Matemáticas',
y='Ciencias',
hue='Cluster',
palette='coolwarm',
s=100
)
# Engadir os centros dos clústeres ó gráfico
plt.scatter(centros[:, 0], centros[:, 1], c='black', s=200, marker='X', label='Centros')
plt.title('Clustering de Estudantes según o Rendemento', fontsize=16)
plt.xlabel('Puntuación en Matemáticas')
plt.ylabel('Puntuación en Ciencias')
plt.legend(title='Grupo')
plt.grid(color='gray', linestyle='--', linewidth=0.5)
plt.show()