Entendiendo la Inteligencia Artificial, Machine Learning, Big Data y la Analítica Avanzada para poder aplicarla en la empresa
Ya se que es un tópico lo que voy a decir, pero cuando uno se adentra en estos temas, muchas veces lo hacemos sugestionados por la forma en la que la ficción nos los ha presentado.
En mi caso fue la película Juegos de guerra la que por primera vez me mostro esta idea. Y no ha llovido nada desde aquel entonces. Para que nos hagamos todos una idea la conexión a la red se hacia a través de los modems. Que alguien nos hubiese dicho por aquella época que podíamos hacer streaming:).
Lo cierto es que es una película que me marco por las habilidades del protagonista en temas relacionados con la seguridad, pero también porque en la misma aparecía la figura del superordenador «Joshua», que ya por aquellos tiempos estaba dotado de Inteligencia artificial (IA), y que apunto estuvo de destruir el mundo.
Y esa es una de las primeras polemicas que se generan en torno a la Inteligencia Artificial, y el ir dotando a las máquinas de esa capacidad.
Actores de renombre en nuestros días como Bill Gates, Elon Musk o el fallecido Stephen Hawking ya nos alertan de los peligros que una falta de control en este tipo de tecnologías nos pueden acarrear en el futuro.
Imaginaros por un momento dejar que todas nuestras infraestructuras críticas o misiles, como los que controlaba Joshua, quedasen en manos de la Inteligencia Artificial de los ordenadores por completo. Dejar que los ordenadores tomen el control. Es algo que nos puede hacer pensar.
Pero no es la única película que nos mostraba el mundo de la IA. Otros referentes en este sentido pueden ser 2001 una odisea en el espacio, Blade Runner o Star Wars.
Creo que poco tenemos que decir que no se sepa de HAL 9000, los replicantes o nuestro queridos R2-D2 o C-3PO.
Además están no eran películas salidas del azar, sino que los directores solían recurrir a grandes científicos para dar veracidad al desarrollo de los argumentos. En cierto modo entiendo que puede ser una via que los científicos usan para abrir sus mentes más allá de lo que las ecuaciones les permiten contrastar.
De todas formas aunque se están dando pasos importantes en el desarrollo de estas tecnologías, parece que aun estamos muy lejos de esa madurez de desarrollo con la que se nos presentan la IA en las películas.
El termino de IA parece atribuírsele a John McCarthy allá por el año 1956. Aunque también es cierto que nos podemos remontar tiempos atrás a épocas de otros maestros como Aristoteles o Leonardo da Vinci donde empezaban a desarrollar estos conceptos en sus brillantes mentes.
Vamos que nos es un concepto tan nuevo como muchas veces nos hacen creer. Pero evidentemente ahora tiene mas auge por los recursos en cuanto a computación disponemos.
Quien no ha odio hablar de aquel Deep blue de IBM que venció al maestro Kasparov o mas recientemente a la gente de DeepMind venciendo al maestro de GO con su programa AlphaGo.
Pero seguro que muchos de nosotros relacionamos la IA con un nombre propio: Alan Turing y su famoso test de Turning que permitía afirmar si una máquina era o no inteligente.
Lo cierto es que la brillantez del amigo Turing me alucina. No puedo sino imaginar lo que podría haber llegado a conseguir si hubiese nacido unas décadas mas tarde, aunque es probablemente cierto que eso hubiese derivado en muchas mas muertes durante la Segunda guerra Mundial al no haberse podido descifrar los códigos de la temida Enigma con la celeridad con la que se hizo.
Hablamos mucho de IA, pero ni siquiera parece quedar claro para los expertos una definición «oficial» de lo que es la Inteligencia Artificial se refiere.
Si nos acercamos a la Wikipedia, esta nos define a la IA como:
«La inteligencia artificial (IA), es la inteligencia llevada a cabo por máquinas. En ciencias de la computación, una máquina «inteligente» ideal es un agente flexible que percibe su entorno y lleva a cabo acciones que maximicen sus posibilidades de éxito en algún objetivo o tarea.
Coloquialmente, el término inteligencia artificial se aplica cuando una máquina imita las funciones «cognitivas» que los humanos asocian con otras mentes humanas, como por ejemplo: «percibir», «razonar», «aprender» y «resolver problemas».
Andreas Kaplan y Michael Haenlein definen la inteligencia artificial como «la capacidad de un sistema para interpretar correctamente datos externos, para aprender de dichos datos y emplear esos conocimientos para lograr tareas y metas concretas a través de la adaptación flexible».
Dicho esto esta claro que el mundo de la Inteligencia Artificial no es algo nuevo que hayamos descubierto estos días. Es una disciplina que viene desarrollada tiempo atrás, pero que con el paso del tiempo ha ido cogiendo y perdiendo peso. Es esta década en la que con los avances que esta sufriendo la tecnología y computación vuelve a estar en boca de todos.
Lejos de los que nos siguen mostrando las películas, es cierto que se están viendo resultado notables y visibles de la IA en campos como el de la automoción, ChatBots, el procesamiento natural del habla, el video y la fotografía, los videojuegos o en el mundo militar.
Muchas veces hablamos de la IA, del machine Learning o de la analítica avanzada con mucha soltura, pero ¿ realmente sabemos de los que son capaces de hacer y como funcionan y desarrollarlas para aplicarlas a nuestros procesos de negocio?.
Esta muy bien que pueda ser la tecnología para dotar de inteligencia a los robots, pero este no es el negociado al que muchos de nosotros nos dedicamos.
Como siempre comentar que evidentemente no soy ningún experto, y posiblemente diga muchas tontearías y genere carcajadas, pero quiero mostrar mi visión de como empezar a aplicar este tipo de «palabrejos» en nuestras empresas.
Antes de empezar a hablar de IA, quizás debamos empezar trabajando temas mas sencillos como la Analítica, y empezar a ser conscientes de la importancia del dato, que es desde donde se pueden construir muchas cosas. Siempre lo he definido en todos los entornos, pero en este caso es algo vital.
Debemos de empezar recogiendo el dato, conocerlo y depurarlo para que nos sea útil.
Pero tan importante como el dato es conocer el Objetivo al que queremos llegar con esos datos.
Por lo tanto debemos explorar el dato, realizar análisis estadísticos del mismo, limpiarlo y empezar a clasificarlo.
Muchos afirman que es aquí donde puede venir el origen del Big Data, en el sentido de que llega un momento en el que es complicado o imposible el trabajar con tal volumen de datos de una forma tradicional, y surge el concepto de datos masivo o Big Data.
Muchas veces, una vez conocido el dato simplemente con una serie de reglas conocidas que podemos activar, ya conseguimos mejorar nuestros procesos y respuestas.
Evidentemente la evolución, una vez hemos dato este primer paso, es empezar a trabajar en lo que se conoce como aprendizaje automático.
Es decir una vez tengamos una buena base de datos sobre los que trabajar y un objetico claro de donde queremos llegar, podemos empezar con el trabajo de entrenamiento y empezar a aplicar «modelos» sobre los que trabajar con los datos, que no son mas que una serie de algoritmos, para empezar a ver que tal estos se comportan en base a los objetivos que nos hemos marcados.
Y estos modelos deberán reentrenarse con estos datos y con nuevos parámetros de entrada que no hayamos tenido en cuenta para ver que tal se van comportando.
Esto evidentemente nos sirve para adéntranos en el mundo de la predicción. El saber como se van a ser comportamientos futuros, o comprobar la importancia de determinados parámetros que en un principio parecían no afectar al resultado. Buscar esos patrones ocultos.
Aquí podemos entonces empezar a reconocer patrones que desconocíamos en un principio y empezar a clasificarlos.
Debemos de ser capaces de crear un modelo simplificado que presente el modelo real y tener muy claro cual es el objetivo.
Es donde los científicos de datos con su habilidad, capacidad y experiencia van a empezar a trabajar con infinidad de algoritmos.
Disponemos distintas técnicas de análisis de datos que podemos agrupar en grandes grupos : Aprendizaje supervisado, Aprendizaje no supervisado, Apredizaje semisupervisado o apredizaje por refuerzo. Este último es el mismo que utilizo con mi compañera perruna. Si hace bien las cosas le doy un premio de tal forma que vaya aprendiendo:).
Estos científicos van a utilizar diferentes técnicas de clasificación de los algoritmos como árboles de decisiones, algoritmos genéticos, algoritmos probabilísticos o Redes neuronales.
Del resultado debemos calcular la precisión con la que están funcionando los algoritmos que estamos aplicando.
Ya hay empresas que automatizan el «aprendizaje automático» de tal forma que en función de nuestros datos y el objetivo que nos hayamos marcado, aplican diferentes algoritmos en el que nos muestran la precisión y los falsos positivos de casa uno de ellos, a fin de seleccionar el mas interesante para nuestros propósitos. Vamos rizando el rizo. Ahora automatizamos el trabajo de los científicos del dato.
Ahora vamos a ir un paso mas allá y aplicando todo lo anterior vamos a aplicar el concepto de IA que nos va a servir como tecnología para resolver problemas que son intratables por la cantidad de posibilidades que se nos presentan.
Este tipo de tecnología es la que se aplica por ejemplo con los juegos. ¿ Nunca os habéis planteado el como se definen los diferentes niveles de dificultad en juegos como Conecta 4?. En ese caso se suele hacer uso del algoritmo minimax para la toma de las decisiones, aplicando funciones de evaluación heurística para evaluar los movimientos.
No vamos a entrar en detalle de como funciona el algoritmo, pero recorre el árbol del juego en profundidad y en función de esta, mas costoso va a ser realizar el calculo pero mas efectivo va a ser el resultado. De ahi que en función de esa dificultad que hayamos definido, la máquina va a tardar más tiempo en procesar el dato, pero mas certero este va a ser.
Es cierto que la idea es llevar el concepto de la IA a un horizonte mucho mas lejanos. Algo que le permita razonar, recodar experiencias y actuar en situaciones sobre las que no tenia ni idea. Algo que las personas sabemos hacer de forma natural.
Y como esto es un sin parar, seguimos y podemos adentrarnos en lo que viene a llamarse Aprendizaje profundo que es un modelo de aprendizaje basado en la interpretación de los datos en vez de hacer uso de los algoritmos. Trata de imitar el cerebro humano haciendo uso de las redes neuronales.
Simplemente debéis pararos a pensar que son muchas las cosas que realizamos de una forma sencilla y natural, pero que son extremadamente complicadas de replicar.
Lo cierto es que el horizonte futuro en relación a la Inteligencia Artificial se presenta realmente interesante. ¿ Llegara algún momento en el que se produzca una guerra entre IAs?
Espero que este articulo al menos os haya servido para generar cierto interés en este nuevo mundo que se nos avecina.
Por hoy no pretendo aburriros mucho mas por lo que me despido hasta la próxima.