Saque el máximo partido a sus datos con la IA
Introducción
Actualmente es imposible hablar de datos sin hablar de IA. Más que un fenómeno social, la IA está en el centro de las estrategias de comunicación y desarrollo de casi todos los especialistas en datos y editores de software. De hecho, hoy en día apenas se puede leer una revista especializada o incluso abrir un periódico sin ver algo al respecto. Así que tenemos IA en todas sus formas, hasta el punto de que a veces resulta difícil entender de qué se trata exactamente, porque el término se ha distorsionado demasiado, hasta el punto incluso utilizarse en exceso. La inteligencia artificial (o IA) está en el centro de nuestras vidas, nos guste o no, pero ¿qué es realmente? ¿Y qué es el Machine Learning (o Aprendizaje Automático)? ¿Es lo mismo? Todo es muy confuso. Vamos a aclarar las cosas, sin entrar en complejas ecuaciones matemáticas.
De hecho, la primera confusión que encontramos habitualmente es la fusión de IA y ML (Machine Learning). Aunque estos dos conceptos están estrechamente relacionados, son nociones muy diferentes. En pocas palabras, la inteligencia artificial (según la definición de la RAE) es...
... Disciplina científica que se ocupa de crear programas informáticos que ejecutan operaciones comparables a las que realiza la mente humana, como el aprendizaje o el razonamiento lógico.... |
El uso de la IA
En primer lugar, es interesante analizar los ámbitos en los que la IA (y el Machine Learning en particular) se ha impuesto. Muy claramente, hay tres áreas en las que la IA ha demostrado su valía y donde las empresas y los editores de software están invirtiendo hoy en día:
1. Toma de decisiones (en relación con criterios indefinidos o mal definidos) "que permite tomar decisiones basadas más en el histórico que en las normas establecidas".
2. Visión por ordenador (Computer Vision): "que permitar al ordenador ver".
3. Procesamiento de datos de texto (o NLP por Natural Language Processing) "que permite al ordenador comprender y escribir textos".
1. Tomar decisiones
Por supuesto, la toma de decisiones o la capacidad de elegir no es nada nuevo. En cierto modo, es la esencia de la informática moderna poder ayudar o tomar decisiones. Lo que es nuevo e innovador es la capacidad de tomar decisiones basadas en criterios indefinidos.
Tomemos el ejemplo de un diagnóstico médico. Como sabemos, hacer un diagnóstico puede ser extremadamente complejo debido al gran número de parámetros que intervienen. Estos parámetros pueden ser conocidos, desconocidos o incluso estar sesgados (por el propio paciente, por ejemplo, que no sitúa su dolor con precisión). La función de un algoritmo de Machine Learning es consolidar todos los parámetros conocidos sin sesgos y compararlos con una base de datos de síntomas de pacientes anteriores, para realizar el mejor diagnóstico.
En un ámbito completamente distinto, cabe señalar que hoy la mayoría de los sistemas de recomendación de clientes se basan en algoritmos de Machine Learning. Evidentemente, cuando se navega por una web de venta (o por cualquier otra), los datos de navegación se recogen automáticamente. Las elecciones, las acciones, todo lo que hace en el sitio web se rastrea minuciosamente para poder consolidarlo por ejemplo con un historial de compras o intercambios con el servicio de atención al cliente. Una vez más, la cantidad de información puede ser muy grande y es difícil establecer reglas para determinar, por ejemplo, qué...
Machine Learning
Como hemos visto, el Machine Learning es un subconjunto del vasto campo de la IA. El Deep Learning (aprendizaje profundo) es, a su vez, un subconjunto del Machine Learning. En realidad, la IA tiene otros muchos subcampos (como la NLP) que sería totalmente ilusorio abarcar en un solo libro. Echemos simplemente un vistazo a cómo una máquina puede aprender de la experiencia.
Empecemos por el principio: ¿qué es el aprendizaje informático?
1. Principio de aprendizaje
Para entenderlo mejor, veamos un experimento sencillo. Tenemos dos recipientes A y B sobre una mesa. En la misma mesa tenemos también tres fichas de formas diferentes: redonda, cuadrada y triangular. Empezaremos por mostrar cómo colocar las fichas en los recipientes correctos: esta es la etapa de aprendizaje propiamente dicha, que se repite varias veces.
En esta etapa, alguien presenta la forma correcta de hacer algo y el aprendiz observa. Esta es exactamente la forma en que los humanos aprendemos cuando vemos o escuchamos a alguien con experiencia (como un profesor) hacer o explicar algo.
A continuación, presentaremos al aprendiz una ficha al azar para ver si lo ha aprendido bien.
Por tanto, el experimento consta de dos fases:
Etapa 1 - Aprendizaje: colocar las fichas en los recipientes adecuados
-
La ficha redonda va al recipiente A
-
La ficha cuadrada al recipiente B
-
Y finalmente la ficha triangular al recipiente B
Etapa 2 - Predicción: se presenta al aprendiz una nueva ficha (cuadrada, por ejemplo).
-
Tiene que ponerla en el recipiente B, o no habrá aprendido lo suficiente y habrá que repetir las explicaciones.
Fase de aprendizaje
¿Y si ahora presentamos una ficha ovalada (una forma que nunca se presentó en el paso 1)? La elección no es obvia. Si estuviéramos experimentando con un enfoque basado en reglas, seguramente dejaríamos a un lado esta excepción. En el caso de nuestro enfoque vía el aprendizaje, es muy probable que se elija el recipiente A. Una cosa es cierta: este tipo de forma nunca se ha presentado antes, así que nos encontramos frente a una situación nueva.
Una nueva ficha, ¿qué hay que elegir?
Entonces, ¿por qué elegir el recipiente A (y no el B)? ¿Cómo podría el algoritmo hacer tal elección si nunca se ha encontrado con este escenario? En lo que respecta a este experimento...
Redes neuronales
Las redes neuronales, hoy en día, son esenciales, siempre que necesitemos llevar a cabo procesamientos o tomar decisiones complejas, o incluso muy complejas, basadas en datos. De hecho, el aprendizaje profundo mediante redes neuronales o Deep Learning es un subconjunto del Machine Learning que permite llevar a cabo tareas que antes habrían parecido casi imposibles para una máquina. Hoy en día, este tipo de algoritmos se utiliza sobre todo en el tratamiento de imágenes, pero también en el tratamiento del lenguaje.
1. ¿Qué es una red neuronal?
La idea inicial de una red neuronal (propuesta por McCullogh y Pits en 1943, y luego por Donald Hebb en 1949) era reproducir el funcionamiento del cerebro humano, con sus neuronas, axones, sinapsis, etc. Sin embargo, la realidad tecnológica ha puesto sus límites a esta idea de propagación de señales, porque la creación de redes neuronales (o NN - Neural Network) está en realidad bastante alejada del cerebro humano (que, por cierto, tiene más de 80.000 millones de neuronas y es mucho más complejo). Pero la idea de unidades microinformáticas (o neuronas) que reciben y transmiten señales en determinadas condiciones sigue siendo el elemento fundador de estas redes. Cada neurona recibe información como entrada y produce un resultado como salida. Esta salida se propaga a otras neuronas a través de otras capas de la red hasta que se produce un resultado final.
Afortunadamente, hoy en día existen varios frameworks para desarrollar y crear redes neuronales. Estos frameworks facilitan enormemente el diseño de redes neuronales, así como incluyen todo lo necesario para su entrenamiento, mantenimiento, monitorización, etc.
Entre los más utilizados se encuentran TensorFlow (Google) y PyTorch (Meta).
2. Cómo funciona una neurona
Empecemos por el elemento más pequeño de la red: la neurona. Una neurona funciona de forma bastante sencilla y en dos etapas. Para entender su modo de funcionamiento, primero hay que comprender que una neurona se caracteriza por unos pesos y una función de activación. Los pesos representan su carné de identidad y se calcularán (para cada neurona de la red) durante la fase de entrenamiento. El papel de la función de activación es romper...
La IA eXplainable
No cabe duda de que hoy en día el Machine Learning da miedo, sobre todo por su lado de caja negra. De hecho, los algoritmos no se basan en un enfoque determinista, sino probabilístico, estadístico o, como en el caso de las redes neuronales, muy matemático. Es un enfoque totalmente nuevo, y que puede resultar desconcertante, sobre todo para los usuarios que siempre ven su decisión o comprensión de un determinado problema en términos de una lógica que parece clara y no siempre, explicable. Seamos claros: a menudo se critica el Machine Learning por su falta de transparencia.
Su utilización y, sobre todo, su aceptación, dependen de la confianza que sus "clientes" depositen en él. Para ganarse esta confianza, es importante poder explicar cómo y por qué un modelo ha tomado una determinada decisión, ya que aunque no exista una respuesta perfecta, hay varias maneras de explicar cómo reacciona un modelo.
1. Por qué y cómo explicar un modelo
El método basado en el aprendizaje se aleja completamente de lo que se podría describir como el enfoque tradicional basado en reglas. En muchos casos, este último ha llegado a su límite, ya que con el tiempo se parece más a un cúmulo de excepciones que a reglas bien establecidas y controladas. Por desgracia, esta transparencia heredada de las reglas que conocemos y somos capaces de elaborar rápidamente, no se aplica en el caso del aprendizaje automático. Con el Machine Learning, ahora resulta complejo dibujar y explicar por qué y cómo un modelo ha tomado tal o cual decisión, se trata de un verdadero cambio cultural. Como ocurre con cualquier cambio, se necesita tiempo para que todo el mundo lo acepte, aunque el Machine Learning parece ofrecer infinidad de nuevas perspectivas (ya no se pone en duda su eficacia en determinados campos).
Este enfoque, muy influenciado por las matemáticas (estadística/probabilidad), da miedo porque no siempre entendemos lo que pasa detrás de la escena, aunque los resultados sean a menudo (muy a menudo) pertinentes y justificados. ¿Cómo puede un modelo de Machine Learning tomar las decisiones correctas cuando la lógica que subyace a las elecciones no está claramente expresada? Y, sobre todo, ¿cómo justificar...