La Inteligencia Artificial se ha convertido en aquello de lo que todos hablan y nadie entiende.
Muchos, NO nos sentimos cómodos con el uso del término Inteligencia Artificial (IA) por parte de los medios de comunicación. La forma en que la gente de ventas y marketing ha comenzado recientemente a lanzarlo suma en la confusión sobre el tema.
Cuando hablamos de Inteligencia Artificial, la gente está ya en la creencia de que es algo que sirve para todo, que en poco tiempo habrá robots humanoides por todas partes y que habrá que tener cuidado, porque en el futuro dominará el mundo como en Terminator o Matrix.
En definitiva, se está transmitiendo una imagen que no se corresponde con la realidad.
En que punto está la IA en la actualidad y para qué sirve.
Siento decepcionar a aquellos empresarios que piensan que dentro de poco podrán contratar una Inteligencia Artificial que les haga todo el trabajo, la realidad está lejos de esto.
La verdad es que las bases de la IA han avanzado poco desde que yo mismo la estudié en la universidad en sus tiempos.
Lo que ha aumentado mucho, es la potencia de computación en relación a sus costes. A esto, se une la capacidad de poder montar los sistemas sobre servidores en la Nube con capacidades enormes. Esta es la razón por la que los desarrollos son mucho más potentes que antes, simplemente permiten hacer las cosas que antes no se podían.
En la actualidad existen varios campos en los que la IA sobrepasa con mucho las capacidades informáticas convencionales. Solo unos pocos campos y muy limitados.
Existen desarrollos experimentales y máquinas en las grandes empresas y universidades que están proporcionando resultados prometedores. En este artículo vamos tratar la realidad de la IA para el común de los mortales, no para un reducido grupo de científicos. Exponemos las utilidades reales fuera de la grandilocuencia del marketing, de los medios de comunicación y de los políticos.
En la actualidad muchas empresas e instituciones usan la IA. La usan en alguno de los campos en que es apropiada o combinan estas utilidades para proporcionar una solución.
¿Qué es realmente la inteligencia artificial?
“La inteligencia artificial (IA) es la parte de la informática que se ocupa del diseño de sistemas informáticos inteligentes, es decir, sistemas que exhiben características que asociamos con la inteligencia en el comportamiento humano: comprensión del lenguaje, aprendizaje, razonamiento, resolución de problemas, etc.” (Barr y Feigenbaum, 1981)
En términos sencillos: La Inteligencia Artificial (IA) se refiere a los sistemas o las máquinas que imitan la inteligencia humana para realizar tareas y que tienen la capacidad de mejorar iterativamente a partir de la información que recopilan.
La IA contiene muchos subcampos, algunos muy amplios. Algunas de las diferentes áreas de la IA son las siguientes:
- Aprendizaje automático
- Redes neuronales
- Computación evolutiva
- Visión
- Robótica / IoT
- Sistemas expertos
- Procesamiento de voz
- Procesamiento natural del lenguaje
- Planificación
Como la mayoría de los campos científicos, existen áreas tanto teóricas como aplicadas.
La teoría busca examinar e identificar ideas sobre la representación del conocimiento, el aprendizaje, los sistemas de reglas, etc. Casi se ha convertido en una rama de las matemáticas y de la ciencia de la computación.
Por otro lado, el enfoque de la ingeniería aplicada es resolver problemas del mundo real utilizando técnicas de inteligencia artificial.
Creo que, la mayoría de los lectores están más interesados en el lado de la aplicación práctica de la IA que en el teórico.
En nuestros días un programador no necesita un doctorado para implementar soluciones de inteligencia artificial, pero como cualquier problema de ingeniería, necesita comprender lo suficiente para saber qué herramientas debe usar para resolver qué tipo de problema y luego cómo usar esas herramientas.
Uso cotidiano y potencial de la Inteligencia Artificial
Si ya te has olvidado de la imagen que transmiten los medios y el marketing sobre Inteligencia Artificial, ha llegado el momento de poner los pies en la tierra y conocer cómo funciona, los usos reales y potenciales.
La siguiente infografía es muy ilustrativa.
¿Qué es una red Neuronal?
Las redes neuronales son un pilar fundamental de la Inteligencia Artificial.
Las redes neuronales no es algo nuevo. Datan de los años 40 y 50, cuando se empezaron a publicar los primeros conceptos. Sin embargo, nunca tuvieron un gran éxito, no se disponía de los suficientes recursos de computación para obtener buenos resultados.
La idea inicial surge de la intención de imitar el cerebro. El cerebro humano contiene unos 100.000 millones de neuronas y su “poder de computación” reside en las conexiones entre esas neuronas.
Las redes neuronales son programas informáticos que imitan las neuronas y sus conexiones. El elemento básico es la neurona, se trabaja con un modelo más o menos complejo y las matemáticas entran en juego.
Con neuronas artificiales, se crean programas de ordenador que las unen y forman las redes neuronales.
¿Dónde está la “magia” verdadera de las redes neuronales?
Pues nada más y nada menos que aprenden a hacer cosas.
Mientras más potentes y mejor montadas están las redes neuronales más cosas complejas pueden aprender.
Básicamente las redes neuronales aprenden por entrenamiento. Hay que darles ejemplos de cosas y aprenderán. Pongamos por ejemplo que queremos que aprendan a sumar.
Para que aprenda a sumar le damos ejemplos y le decimos que resultados son correctos.
2+2=4 | 1+5=6 | 4+4=8
Una vez entrenada podemos darle dos números que nunca fueron introducidos en el entrenamiento. ¡Eureka! la red neuronal ha aprendido a sumar.
La Inteligencia Artificial, dónde es realmente potente.
Procesamiento del lenguaje natural (NLP)
Conocido por sus siglas en Inglés (NLP: Natural Language Processing). Esta línea de la Inteligencia Artificial, trabaja para tratar de darle sentido al lenguaje humano y las palabras que componen el lenguaje.
El tratamiento del lenguaje puede ser complicado. Muchas aplicaciones o servicios de Internet utilizan desde hace tiempo el NLP, por ejemplo cuando se hace marcación por voz con un móvil, las redes sociales para determinar que tipos de contenidos se comparten, hay un sinfín de software que la utilizan.
Algunos ejemplos son:
- Análisis de los sentimientos.
Imaginemos una conversación de dos usuarios en Twitter sobre un producto. ¿Imaginas poder analizar masivamente estas conversaciones y clasificarlas en positivas, neutras y negativas?
Eso es el análisis del sentimiento en IA.
- Análisis de preguntas de Chat-Bot
Cuando se interactúa con un Bot de servicio en línea, hay mucho trabajo que se lleva a cabo entre bastidores para analizar el texto y comprender su solicitud. Se trata de generar una respuesta adecuada y crear un flujo de trabajo procesable. Esto podría implicar una planificación basada tanto en la NLP como en la IA.
- Traducción en línea.
La traducción en línea no solo tiene que ocuparse de la parte de análisis y traducción, sino también de reconocer el contexto y el sentimiento, los cuales tienen un impacto en la traducción válida.
Las imágenes a continuación muestran un ejemplo de lo que sucede bajo el capó para algunos análisis de NLP. Tener en cuenta que, en la mayoría de los casos, convertimos palabras en números y analizamos estas representaciones.
Identificación facial (visión)
Cuando una IA mira a Alicia no la está viendo como tú y yo.
https://www.eff.org/wp/law-enforcement-use-face-recognition
- La IA primero analiza la imagen y elige ciertos puntos de partida, normalmente los ojos. Al mismo tiempo, aísla el área facial, que considera relevante la convierte a escala de grises.
- Una vez que tiene un punto de partida, recorre la imagen, seleccionando puntos de contraste que espera que estén más o menos en una ubicación aproximada en relación con los ojos. Trabaja a través de estos puntos, encontrando la boca, mentón, pómulos, nariz, etc., hasta tener un ‘mapa’ particular de los puntos principales del rostro.
- El ‘mapa’ representa un conjunto de puntos en el espacio de la imagen, junto con las distancias entre ellos. Se agregarán otras métricas de datos basadas en el contraste de la imagen; estas pueden ayudar a identificar las sombras que tienen un contraste relativo en la cara, que generalmente indicarán sombras, puntos elevados, curvas, etc.
- Los datos recopilados para el ‘mapa’ son los que se utilizan en el futuro para identificar a una persona posteriormente, es decir, tomar un ‘mapa’ nuevamente y luego buscar la coincidencia más cercana en la base de datos.
Aprendizaje automático (Machine Learning)
Otra de las categorías dentro de la IA es la de Machine Learning.
Todos estamos acostumbrados a sistemas basados en reglas ya sean simples o complejas . Uno de los problemas e los sistemas basados en reglas es que no tienden a escalar muy bien y pueden volverse muy complejos cuando entran en juego los matices de la toma de decisiones.
El aprendizaje automático es una gran mejora en los sistemas basados en reglas: en lugar de tener que crear nuevas reglas cada vez, proporcionamos una opción diferente para que el sistema la considere. Le damos nuevos datos y le decimos: “Aquí hay algo nuevo, no visto antes, pero es parecido a X “.
Mientras que los sistemas basados en reglas adoptan el enfoque de “datos->acción”. Machine Learning funciona de una forma diferente. En su esencia, el sistema funciona tomando datos, comparándolos con un ‘modelo’ (de algo), y si el modelo coincide, entonces toma una acción.
Veamos un ejemplo. Digamos que definimos un ‘pastel de arándanos’ como de color claro, pequeño, redondeado en la parte superior, con trozos oscuros (los arándanos) mezclados por todas partes. Vale, eso parece fácil.
Ahora , teniendo en cuenta la descripción del pastel, mira la imagen de abajo.
¿A que no es fácil distinguir un pastel (muffin) de un Chiguagua?
Categorías de aprendizaje automático (Machine Learning)
Hay tres categorías amplias en Machine Learning. Estos son Aprendizaje supervisado, Aprendizaje no supervisado y Aprendizaje reforzado, y cada uno tiene su lugar y cosas en las que es bueno.
Aprendizaje supervisado
Este es el más fácil de comprender. Le damos al algoritmo una serie de ejemplos.
En nuestro ejemplo lo entrenamos con varios tipos de frutas, diciéndole que valor tiene cada una en números y luego nos identificará la fruta según el modelo predictivo que se ha creado.
Aprendizaje sin supervisión
Este tipo de algoritmo se puede ver a menudo en la identificación de conjuntos de datos.
Aquí es donde le damos al algoritmo una gran cantidad de datos y le decimos qué partes de los datos son interesantes. Podríamos decir, por ejemplo: aquí hay un gran archivo CSV de datos de compra de vivienda de Málaga durante los últimos cinco años, agrupe los datos en regiones con grupos de propiedades en ciertos tramos de precios.
Aprendizaje reforzado
En esta última área, en lugar de proporcionar ejemplos al algoritmo (como en el aprendizaje supervisado), le proporcionamos un método que puede utilizar para examinar y cuantificar su propio desempeño en el aprendizaje dándole un indicador de recompensa de algún tipo.
Si quisiéramos que el algoritmo aprendiera a jugar un juego, podríamos comenzar el juego dándole 5 puntos, y si hace algo correcto, darle otro punto, si hace algo mal se lo quitamos.
El algoritmo puede rectificar, acordándose de las jugadas que le dieron puntos y no repitiendo las jugadas que le quitaban.
Uniendo capacidades. Así es como la IA se hace más potente.
De la misma manera que en el software tradicional se unen diferentes tecnologías para proporcionar una solución al usuario final.
Se suele hacer lo mismo en IA. Si consideramos construir un robot que se mueve y es consciente de su entorno, se hace utilizando una combinación de diferentes IA:
- Reconocimiento facial: se utiliza para identificar personas.
- Detección de objetos visuales: se utiliza como parte de la navegación.
- Reconocimiento de voz: se utiliza para traducir comandos de voz en instrucciones lógicas.
- Análisis de datos de sensores: se utiliza como parte de la navegación y la planificación.
Por sí solas, estas tecnologías IA son interesantes y útiles, pero si trabajan juntas, presentan algo más poderoso, más que la suma de sus partes.
Referencias y más información:
- https://www.codeproject.com/Articles/1273041/Artificial-Intelligence-is-an-Engineering-Problem
- https://www.juanbarrios.com/inteligencia-artificial-y-machine-learning-para-todos/
- https://www.iartificial.net/redes-neuronales-desde-cero-i-introduccion/
La entrada La Inteligencia Artificial ni es magia ni sirve para todo se publicó primero en Blog de Dataprius..