Home Tecnología Introducción a la Inteligencia Artificial

Introducción a la Inteligencia Artificial

0
Introducción a la Inteligencia Artificial

Inteligencia artificial, machine learning y redes neuronales son palabras que estamos escuchando constantemente. Estos campos y tecnologías han moldeado la manera en la que vivimos en sociedad y la economía mundial, como motores colosales de ésta. Por este motivo, es indispensable entender más sobre estos elementos. En esta entrada, no vamos a hablar a detalle sobre la matemática, implicaciones éticas, legales o sociales de estos conceptos, sino que cubriremos las bases para que tengas una concepción general de este tema y te sea más fácil adentrarte en este ámbito.

 

Terminología

Frecuentemente, palabras como “inteligencia artificial”, “deep learning”, “redes neuronales”, “machine learning”, entre otras se usan indistintamente. Sin embargo, esta práctica es incorrecta. Por ello, el primer paso será explicar los términos más comunes y la diferencia que existe entre cada uno de ellos.

Inteligencia artificial (IA): La definición exacta de inteligencia es algo aún debatido entre varias corrientes, sin embargo, ésta se trata de un campo multidisciplinario que busca generar un sistema que actúe de manera inteligente. Es decir, que tome las decisiones o acciones correctas basadas en un análisis de varios datos. Las disciplinas involucradas en este campo incluyen la biología, neurología, ciencia computacional, sociología, entre otras. Aunque han habido avances en todas estas ramas, la ciencia de la computación es la que ha tenido los brincos más notables, tal como lo vemos en los modelos capaces de comprender lo que ocurre dentro de un video o los que generan texto tan coherente y con tanta calidad como la de un humano mismo.

 

Machine Learning (ML): Es el campo al que normalmente se refiere la gente al hablar de IA; sin embargo, es parte de la inteligencia artificial computacional. Lo que se busca con el ML es desarrollar algoritmos que tengan la capacidad de aprender e identificar patrones en los datos. Son programas que les vamos a dar grandes volúmenes de datos para que los “entiendan” de alguna manera y, como resultado de este entendimiento, sea posible hacer predicciones o tomar decisiones sobre miles de millones de datos en tan sólo segundos. 

Existen muchos métodos y funciones estadísticas que se emplean en machine learning debido a que, aunque su fundamento sea la Estadística, el hacerlos ejecutables de manera óptima es un problema computacional. Los algoritmos o programas con ML pueden ir desde funciones muy sencillas como una regresión lineal, hasta modelos más complejos como las redes neuronales. Éstas últimas te las explico más adelante. 

 

Deep learning (DL): Pertenece a la rama de machine learning y es tan sólo una de todas las maneras en las que una máquina puede “aprender” con machine learning. DL se basa en las redes neuronales biológicas, emulando el comportamiento de una neurona de manera MUY general.

  • Las neuronas biológicas funcionan recibiendo señales eléctricas de otras neuronas por medio de las dendritas (brazos cortos) y, dependiendo de las señales que recibe, la neurona enviará distintos impulsos eléctricos a otras neuronas a las cuales está conectada por medio de un axón (brazo largo).
  • Las redes neuronales artificiales hacen algo similar. Cada neurona o nodo (en el ámbito computacional) de una red neuronal artificial recibe información de otras neuronas y, dependiendo de lo que reciba, es lo que va a comunicar a los siguientes nodos. Esto es un proceso bastante sencillo. La razón por la cual estas redes neuronales tienen la capacidad de hacer todo lo que hacen es la dimensión de una red neuronal. Cuando tienes miles o millones de neuronas interconectadas entre sí, por más sencillas que sean de manera individual, crean un sistema con capacidades más complejas.

 

Aplicación del Machine Learning

Con esto fuera del camino, ahora podemos revisar más conceptos elementales del Machine Learning. En este campo es donde hemos visto los avances más grandes, por ejemplo, los sistemas de recomendación que nos conocen a la perfección, los asistentes virtuales a los cuales les podemos hablar de manera natural sin comandos en específico, incluso los vehículos autónomos.

Sabemos que para entrenar modelos de machine learning necesitamos de grandes volúmenes de datos y con los cuales el programa identificará patrones y comportamientos pero, ¿cómo es que funciona esto? Para resolver esta pregunta primero tenemos que entender que hay dos tipos principales de entrenamientos de modelos/algoritmos: el aprendizaje supervisado y el no supervisado.

El aprendizaje supervisado se basa en modelos que reciben un gran volumen de datos y los cuales van a estar divididos en “características” y en “resultados”. Lo que los modelos en este tipo de aprendizaje deben hacer es entender cómo las características impactan al resultado y generar una función que pueda predecirlo. 

Por ejemplo, supongamos que tenemos la información de todos los empleados de una empresa y queremos hacer un modelo que nos diga cuáles son los empleados que están en riesgo de renunciar. Para poder “entrenar” un modelo que pueda hacer esto, vamos a necesitar conseguir un histórico de todos los empleados que han trabajado. Las características son todas las variables referentes al empleado, mientras que el resultado sería el desenlace de cada uno de esos empleados, saber si se fueron o no de la compañía. Nuestros datos se verían de la siguiente manera:

Características

Resultado
EdadEducaciónAños en la empresaPuestoSueldoÁrea¿Renunció?
23Licenciatura1L510,000MarketingSi
45Maestría16L1170,000VentasNo
35Licenciatura5L1490,000ITNo

De esta manera y durante el entrenamiento, el modelo puede analizar automáticamente todos estos datos y definir qué tanto impacta cada una de las características para predecir si un empleado va a renunciar o no. Una vez que contamos con un modelo ya entrenado podemos entregarle las características de cualquier empleado y nos indicará, como resultado, si el empleado está en riesgo o no de irse de la empresa. Con base en esta información, se podrán tomar las decisiones más adecuadas dentro de la organización.

Este es el tipo de aprendizaje que se utiliza también en programas para la detección de objetos en imágenes. Las características en este caso serían un montón de imágenes y el resultado son, por cada una de las imágenes, es decir, las coordenadas donde está el objeto que el modelo tiene que aprender a detectar en el futuro.

Por otro lado, el aprendizaje no supervisado es en el que enviamos ÚNICAMENTE las características al modelo para que encuentre patrones y pueda ayudarnos a entender o agrupar de una mejor manera nuestros datos. Los problemas que podemos solucionar con aprendizaje supervisado normalmente no lo podemos hacer con aprendizaje no supervisado, pero eso no es algo malo, simplemente significa que distintos problemas requieren distintas soluciones. 

Por ejemplo, supongamos que tenemos una base de datos de todas las series de televisión que les gusta a un grupo de usuarios y las características de cada uno de estos. A fin de mantener entretenidos y contentos a los usuarios, quisiéramos recomendarles más series del mismo estilo. Una posible ruta sería identificar a un grupo específico de  usuarios que tienen características y un historial de series visualizadas similares para hacerles las mismas recomendaciones. En este caso lo que hacemos es usar un modelo de aprendizaje no supervisado, en el cual ingresamos al modelo todas las características de los usuarios y automáticamente va a detectar patrones y similitudes, entregándonos grupos o clusters de usuarios con características similares.

En teoría, el modelo no sabe qué representa cada grupo, sólo sabe que, dadas las características de los usuarios, deben de estar agrupados de tal manera. Por lo que, posteriormente, nosotros debemos de elegir qué recomendaciones generar a una persona basándonos en las series que le gustan a la gente del mismo grupo. 

 

Terminemos…

A modo de resumen, el aprendizaje supervisado es cuando “supervisamos” o guiamos el aprendizaje para generar nuestro modelo personalizado, diciéndole qué es lo que esperamos ver como respuesta por cada caso, mientras que en el no supervisado le damos “más libertad” al modelo para que nos ayude a estructurar o agrupar nuestros datos según los patrones que el propio modelo identifique.

Dentro de cada tipo de aprendizaje que acabamos de mencionar, hay todo un mundo de modelos que buscan dar los mismos resultados, pero llegan a la solución de diferente manera. De nuevo, no hay un modelo mejor que otro, simplemente hay distintos modelos para cada caso de uso.

El tema de Inteligencia artificial es tan amplio que un solo artículo como este no basta para abarcarlo todo. Por este motivo, te invito a profundizar más en el tema. Puedes seguir leyendo las entradas de este blog, así como adentrarte en la web. Mi recomendación sería empezar por entender con mayor detalle cómo operan algunos de los modelos de aprendizaje supervisado, como las redes neuronales, XGBoost, SVM (Máquinas de Vectores de Soporte, por sus siglas en inglés), ¡incluso regresiones lineales! Es un campo muy vasto el cual está cambiando la manera en la que vivimos, por lo que será vital comprenderlo.

 

Alejandro Puig 

Ingeniero en sistemas, Especialista en Inteligencia Artificial. 

 

#InformaTEEB #blogTEEB #Tecnologia #InteligenciaArtificial #MachineLearning #DeepLearning #RedesNeuronales #AprendizajeSupervisado #AprendizajeNoSupervisado #Blog #TEEB #RocketHub

 

LEAVE A REPLY

Please enter your comment!
Please enter your name here