Introducción a la Inteligencia Artificial
--
La Inteligencia Artificial (IA) se ha convertido en un gran motor para gran parte de las industrias y campos laborales, tanto así que podría compararse a la revolución que ocasionó la llegada de la electricidad a las fabricas.
Pero entonces, ¿qué es la Inteligencia Artificial?
Podría definirse como la imitación de procesos de la inteligencia humana por parte de una máquina, de ahí el término artificial. Estos procesos podrían ser:
- Percibir
- Autocorrección
- Razonar
- Reconocer expresiones faciales
- Aprender
- Resolver problemas
Tipos de IA
Se divide principalmente en dos tipos:
Inteligencia artificial débil
Son los sistemas de IA que se centran en tareas particulares por lo que al momento de intentar hacer una tarea para la cual no fue entrenada produce resultados decepcionantes. Un buen ejemplo son los asistentes de voz, los cuales solo logran realizar tareas muy especificas.
Inteligencia artificial fuerte
Se define como los sistemas de IA con funciones cognitivas que igualan o superan las humanas, por lo que al presentarse una tarea desconocida cuenta con la suficiente inteligencia como para encontrar una solución.
¿Por qué hoy?
Si se investiga un poco se puede encontrar que la IA nació en la década de los 50. Para 1956 IBM ya contaba con un software para jugar damas inglesas utilizando un método en el que la máquina puede “aprender” a partir de su propia experiencia. Se cree que es el primer programa de “auto-aprendizaje”.
Entonces, respondiendo a la pregunta, por qué ahora?, la IA requiere esencialmente de Algoritmos, Poder de computo y Datos. Para ese tiempo se trabajó mucho en el desarrollo de algoritmos de Machine Learning (ML), pero aún el poder de computo no era el suficiente, luego de lograr el desarrollo de procesadores, TPU´s y GPU´s con gran poder de computo se llegó al problema de los datos, los cuales se empezaron a recolectar gracias a la digitalización que ha vivido nuestra sociedad y así se logró que para esta década se diera inicio a la aplicación de la IA (aunque los datos siguen siendo un problema para trabajar en algunas áreas del conocimiento y el poder de computo nunca es suficiente, siempre necesitaremos más y más).
Y ahora, qué es el Machine Learning?
Aprendizaje automático (machine learning)
Programa o sistema que desarrolla (entrena) un modelo predictivo a partir de datos de entrada. El sistema usa el modelo aprendido para realizar predicciones útiles a partir de datos nuevos (nunca antes vistos) obtenidos de la misma distribución que la que se usó para entrenar el modelo. El aprendizaje automático también se conoce como el campo de estudio relacionado con estos programas o sistemas.
— Definición por parte del equipo de Google.
Bien, para desarrollar este tipo de programas de ML existen tres modos de hacerlo.
Aprendizaje supervisado
Con el aprendizaje supervisado nosotros le decimos al algoritmo la salida que que esperamos y este se encarga de encontrar los patrones o procesos necesarios para llegar de los datos de entrada a los de la salida. Por ejemplo podríamos enviarle muchas imágenes etiquetadas como gato, y luego mandar imágenes de todo tipo de animales para que clasifique como gato o no gato.
Aprendizaje no supervisado
Aquí el sistema no tiene un conjunto de datos etiquetados, por lo que este se encarga de interpretar y buscar los patrones de los datos de entrada por ende en muchos casos los resultados son desconocidos. En pocas palabras el sistema reconocerá y agrupará a todos los elementos similares.
Aprendizaje por refuerzo
En el Aprendizaje reforzado es inspirado en la psicología conductista, cuya ocupación es determinar qué acciones debe escoger un agente de software dentro de un contexto dado con el fin de maximizar alguna noción de “recompensa” o premio acumulado.
En este ejemplo el personaje tratará de tomar las mejores decisiones para esquivar los obstáculos y así ir acumulando puntos (recompensa).
Por lo descrito anteriormente entendemos que los datos son muy importantes y también podemos clasificarlos en dos:
Datos estructurados
Se trata de datos estructurados básicamente cuando trabajamos bases de datos, estos cuentas con una determinada organización que generalmente esta en tablas con sus columnas, filas e indices.
Datos no estructurados
Se refieren a los datos que no tienen una estructura interna identificable, tales como el audio, imagen, vídeo o archivos binarios.
Entonces tenemos el tipo de dato que tenemos determina la red neuronal que se usará, por ejemplo:
Red neuronal universal estándar: son todo este tipo de redes neuronales básicas que generalmente se emplean para problemas donde con un conjutno de valores de X obtenemos Y, como por ejemplo cuando queremos predecir el precio de una casa teniendo en cuenta la zona, país, metros cuadrados ciudad o la probabilidad de clic de un usuario a un anuncio, etc.
Redes neuronales convolucionales (CNN): simulan las neuronas de la corteza visual por lo que este tipo de redes son muy apropiadas para tareas de visión artificial como imagen y vídeo.
Red Neuronal Recurrente (RNN): estas redes neuronales aplican la misma operación a cada elemento de una secuencia de datos, este tipo de redes neuronales son implementadas para tipos de datos transcurren en una secuencia temporal obteniendo la capacidad de memoria lo que le permite por ejemplo leer ya que para hacerlo es necesario recordar las palabras anteriores, interpretar audio o entender escenas son otros ejemplos.
Red neuronal híbrida: uno de los mejores ejemplos para entender este tipo de arquitectura es la conducción autónoma donde se reciben diferentes tipos de datos por lo que las ninguna red de las mencionadas anteriormente podría ayudar por sí sola, ya que se reciben datos desde radares, gps, LIDAR y vídeo, así que es necesario combinar las arquitecturas para procesar todos estos datos.
Conclusiones
Antes de querer aplicar IA es necesario tener en cuenta que por ahora es difícil llegar a sistemas de inteligencia artificial fuerte debido a las limitantes del procesamiento, algoritmos y calidad de los datos. También es importante entender el tipo de problema y de datos que tenemos para de esta manera aplicar la arquitectura correcta.