Tipos de algoritmos de inteligencia artificial.

Tipos de algoritmos de Inteligencia Artificial y Machine Learning

Uno de los problemas que nos encontramos al crear agentes expertos es que no son capaces de aprender por sí solos, no generan nuevas preguntas; este tipo de sistemas son alimentados con el conocimiento constante de expertos en una materia, pero siempre quedan restringidos al conocimiento externo a través de algoritmos de Inteligencia Artificial relativamente básicos.

Es por esto por lo que nace el Machine Learning, como una disciplina que busca conseguir que las máquinas aprendan por sí mismas, pero claro, esto suena mucho más fácil de lo que realmente es, y la capacidad de cómputo de los equipos informáticos no siempre ha permitido llevar a cabo algunos de los algoritmos más exigentes. Por suerte esta limitación ya ha sido superada.

La matemática subyacente detrás de toda esta tendencia es compleja y muy diversa, por lo que en este texto solo mencionaremos algunos de los algoritmos implicados, a modo de vista general, sin entrar en detalle.

algoritmos de inteligencia artificial

Aunque de forma genérica se usa la expresión «algoritmos de Inteligencia Artificial» para referirse a los algoritmos que mencionaremos a continuación, sería más correcto usar el término «algoritmos de Machine Learning«, ya que como vimos en artículos anteriores la Inteligencia Artificial es un superconjunto de tecnologías que engloba al propio Machine Learning, y sería imposible concretar todos los algoritmos involucrados en tal campo. Veamos los 3 grupos de algoritmos principales.

Aprendizaje por refuerzo (RL, Reinforcement Learning)

El aprendizaje por refuerzo consiste en la iteración constante y basada en “prueba y error” que una máquina es capaz de realizar en tiempo récord ante determinadas condiciones o entorno dado (por ejemplo, las reglas de un juego) y con un objetivo específico llamado “recompensa” (un ejemplo clásico es el de vencer en una partida de ajedrez). De esta forma se pueden obtener resultados, patrones, correlaciones, caminos y conclusiones basadas en experiencia previa generada por la propia máquina. Un ejemplo de este modelo de aprendizaje ha sido la IA ajedrecista AlphaZero de DeepMind.

Aprendizaje por refuerzo - algoritmos de machine learning.

Los principales algoritmos utilizados en el aprendizaje por refuerzo son: programación dinámica (dynamic programming), Q-Learning y SARSA (State–action–reward–state–action).

Aprendizaje supervisado (Supervised machine learning)

El aprendizaje supervisado se basa en modelos predictivos que hacen uso de datos de entrenamiento. Dado un conjunto conocido de datos, se pretende que el sistema sea capaz de lograr una determinada salida, de forma que el modelo es ajustado (entrenado) hasta lograr resultados adecuados. Ejemplo: coches autónomos.

Los principales algoritmos en aprendizaje supervisado son: árboles de decisión, clasificaciones Naïve Bayes, regresión ordinaria por mínimos cuadrados, regresión logística, Support Vector Machines (SVM).

Aprendizaje no supervisado (Unsupervised machine learning)

Los algoritmos de aprendizaje no-supervisado son similares a los de aprendizaje supervisado, pero estos ajustan su modelo únicamente en función de los datos de entrada. Dicho de un modo sencillo, el algoritmo realiza un auto entrenamiento sin indicaciones externas.

Inteligencia Artificial y Machine Learning - Aprendizaje automático no supervisado.

Los principales algoritmos de aprendizaje no supervisado son: algoritmos de agrupamiento (clustering), análisis de componentes principales (PCA), Singular Value Decompotition (SVD), análisis de componentes independientes (ICA).

¿Existen aplicaciones standalone de IA?

Generalmente, la IA se agrega a algún producto ya existente, ya sea hardware o software. Es difícil encontrar sistemas de IA que actúen como una aplicación individual (stand-alone) y que se vendan por separado.

Normalmente, los productos tienden a incorporar algún subconjunto o técnica de IA que le permita obtener un valor añadido (de la misma forma que SIRI se incorpora a un dispositivo iOS). De esta forma, las automatizaciones, bots y sistemas inteligentes se combinan junto con un gran volumen de datos para mejorar tecnologías de cualquier ámbito (hogar, trabajo, etc.) y tipología (sistemas mecánicos o aplicaciones software).

Aunque es posible encontrar proyectos o librerías para aplicar IA de raíz en nuestros proyectos (véase las librerías software que ofrecen TensorFlow y OpenAI), lo más común es consumir servicios en la nube que las grandes empresas tecnológicas ponen a nuestra disposición porque… ¿para qué vamos a reinventar la rueda si otros ya lo han hecho antes?

Por tanto, la tendencia es el uso de servicios en la nube (servicios de Cloud Computing) con los que interactuar a través de APIs específicas. Microsoft y Google son dos claros ejemplos de este tipo de servicios, que proveen una interfaz de conexión abierta para todo el mundo.

Algunos ejemplos de plataformas de Inteligencia Artificial o Machine Learning actuales son:

Microsoft Cognitive Services

Microsoft Cognitive Services es un conjunto de servicios de inteligencia cognitiva que Microsoft ha puesto a disposición del público en su Cloud (Azure), y que ha dividido en categorías como visión, voz, lenguaje, decisión y búsqueda, de forma que resulten más intuitivos para el usuario.

Google Cloud AI

Google Cloud AI conjunto de servicios que Google oferta en sus planes Cloud, y abarcan desde el consumo de servicios cognitivos hasta el desarrollo de aplicaciones de IA propiamente dichas.

Watson AI

Watson AI es una plataforma desarrollada por IBM, Watson nos permite integrar el que presume ser la IA más poderoso del mundo en nuestra propia aplicación.


Otras empresas del sector tecnológico también están realizando importantes esfuerzos en el campo, aunque con menor apertura de sus interfaces al público. Es el caso de Amazon (que también está incorporando servicios de IA a sus planes Cloud), Facebook, el buscador chino Baidu o Apple.


¿Qué le aporta AuraPortal BPM en cuanto a Inteligencia Artificial? Descúbralo pulsando sobre el siguiente enlace.

Alain Chas
alain.chas@auraportal.com

Content Developer @ AuraPortal.LinkedIn