Apuntes mientras aprendo sobre software y computadoras.

Inteligencia Artificial

Guía mínima para entender el tema de Inteligencia Artificial

En este apunte voy a estar revisando algunos de los conceptos básicos que rodean al tema de la inteligencia artificial.

Por supuesto, la inteligencia artificial es un tópico increíblemente complejo que va desde la computación práctica hasta la ciencia ficción. Un asunto bastante difícil de resumir para un simple humano… incluso recibiendo ayuda de las máquinas para eso.

Lo que ocurre es que debajo de la sombrilla del asunto entra de todo, y voy a hacer lo posible en cada caso para extraer los conceptos mínimos. Me interesa retener exactamente lo fundamental de cada idea, para poder luego poder expandirnos este mundo desde ahí.

Tengan en cuenta que soy un principiante en el tema, y estos son mis apuntes que hago públicos mientras intento entender. Ya en otras ocasiones escribí guías similares.

Por ejemplo:

Guía mínima para empezar con la terminal de Linux

– Guía mínima para empezar a programar en Bash

Así que sin más vueltas…

¿Qué es la inteligencia artificial (IA)?

Bueno, lo primero que quiero mencionar es que el conjunto de palabras “Inteligencia Artificial” se puede abreviar como “IA” si se encuentra en Castellano. Por otra parte se puede abreviar como “AI” si se refiere al Inglés “Artificial Inteligence”.

Esto puede parecer obvio, pero es incontable la cantidad de veces que me confundí escribiendo “IA” en lugar de “AI” buscando cosas sobre el tema. Por lo general voy a continuar abreviando como IA a lo largo del texto.

Lo siguiente podemos pensarlo desde las palabras que componen el vocablo.

Bueno, por una parte tenemos “inteligencia”, que el diccionario define como “la facultad de conocer, analizar y comprender”. Y luego “artificial”, que se puede entender como “no natural” o más bien como algo que es parte de la tecnología y la informática.

¿Y si sumamos esas dos ideas rápido?

Nos encontramos entonces un sistema de computadora que puede hacer cosas que requiere capacidades cognoscitivas. Esto puede incluir aprender a resolver problemas, tomar decisiones, aprender y entender el sentido o el tono de lo que le decimos.

Pero resumir todo esto en una sola idea no nos ayuda mucho a entender que es lo que esta pasando. Según entiendo por lo que pude leer del tema, la Inteligencia Artificial como concepto es realmente la descripción de un campo multidisciplinario.

¿Cuáles son algunos de esos elementos?

Ahora entramos en una zona de cuestiones filosóficas que escapa a las razones de esta guía. Podríamos preguntarnos por ejemplo cosas cómo “¿Qué es la inteligencia?” o también “¿Puede una inteligencia artificial desarrollar autoconsciencia?”.

También podríamos expandirnos a otro tipo de razonamientos al estilo “¿Cual va a ser el futuro del trabajo con la inteligencia artificial?

O por ejemplo podemos plantearnos problemas morales sobre los límites que se nos presentan al tratar de entender un futuro en el que interactuamos con una consciencia digital.

Otra forma de analizar el tema es utilizando ejemplos de uso práctico: detección de fraudes, producción audiovisual, creación de imágenes, conducción de vehículos automática, y posiblemente varias decenas de utilizaciones más. Todo desde la medicina, leyes, finanzas, política, en todas partes aparecen nuevos usos.

Entonces ya sabemos lo siguiente:

– Inteligencia artificial nos remite a una máquina realizando tareas que implican aprender y tomar decisiones.

– En un nivel más profundo, la IA solamente puede entendida como una suma de ideas.

Lo que sigue es un breve desarrollo de algunos de estos conceptos

¿Cuáles son los diferentes tipos de Inteligencia Artificial (IA)?

Según el enfoque que se hace de su uso o sus prioridades, se distinguen dos grandes tipos de inteligencia artificial.

Narrow IA

Por “Narrow” se entiende algo que es estrecho o acotado.

Este tipo de IA esta aplicada a situaciones específicas, lo que circunscribe sus habilidades a las características del trabajo en que se enfoca.

Por ejemplo podemos pensar en una IA para un servicio financiero dedicada a descubrir fraudes, que tiene un límite en su capacidad para aprender cosas por fuera de esa tarea.

Los algoritmos y reglas que utiliza son “acotados” a esa situación. Este tipo de IA también se conoce

A esta categoría también se la conoce como Weak AI. Esto señala la idea de una IA “débil”. ¿Por qué débil?

Tal vez porque puede usarse en algunas ocasiones para describir un algoritmo que se nos aparece como una inteligencia ultra dedicada a una tarea. Un ejemplo podría ser una IA dedicada a recomendar música.

General IA

Al contrario de una IA dedicada a un trabajo especifico, la IA general puede aplicarse a una mayor variedad de tareas.

Como bien nos dice su nombre, es generalista.

Se puede pensar esta IA la más similar a la inteligencia humana, para entrar un poco de vuelta en el terreno de la filosofía. Y la especulación teórica sobre el futuro.

En este caso nos pondríamos en frente de una IA capaz de aprender y reutilizar lo aprendido, e incluso capaz de ajustar sus razonamientos según lo crea necesario.

Este tipo de IA también es concida como “strong” o fuerte.

¿Qué es Machine Learning (ML)?

Machine Learning se conoce como “Aprendizaje automático” o aprendizaje autónomo en castellano. Yo voy a pasar a abreviarlo por ML, sus siglas en inglés.

ML es otra de las técnicas que se utiliza dentro del área de la inteligencia artificial.

Y es otro de esos temas que abre la puerta a preguntas filosóficas, la idea de una máquina aprendiendo nos pone de nuevo a meditar sobre la naturaleza de un cerebro, o qué cosa es un cerebro realmente.

En el caso de ML aprender parece entenderse como la capacidad de predecir algo a partir del análisis de una gran cantidad de datos.

¿Cómo se llega a esto?

Esta interpretación de los datos se hace mediante la utilización de algoritmos y datasets, que resultan en modelos de uso.

La gran popularidad de ML al menos al momento de escribir todo esto, viene por sus aplicaciones en herramientas para por ejemplo identificación de imágenes y procesamiento del lenguaje.

Entonces tengo un sistema al que necesito enseñarle algo. Para esto necesito un conjunto de datos que hacen la base del entrenamiento. Con el tiempo el esto va a generar un modelo, que le va a permitir al sistema hacer predicciones. Ese modelo puede cambiar con el tiempo al agregarle nuevos datos, por lo que puede perfeccionarse para su objetivo.

Voy a intentar ensayar la idea con un ejemplo.

Digamos que quiero enseñarle a un sistema a diferenciar entre la fotografía de una cebra y un rinoceronte. Dicho de otra forma, le pregunto al sistema cuál es el animal que aparece una fotografía. Y la máquina tiene que poder diferenciarlos para responder correctamente.

Voy a necesitar:

1- Un dataset: se trata de un conjunto de datos para entrenamiento. En este casos el dataset va a estar compuesto por cien mil fotos de estos dos animales, cada foto etiquetada diciendo de que animal se trata.

2- Un algoritmo: voy a necesitar también un algoritmo adecuado para el reconocimiento de imágenes, de modo que el sistema pueda analizar el contenido de cada foto en el dataset. El algoritmo es algo así como el motor del proceso, y va a encargarse de reconocer a fin de cuentas que cualidades diferencian a una cebra de un rinoceronte.

3- Un modelo: se trata del resultado del entrenamiento. Captura lo aprendido durante el uso del algoritmo, y lo va a utilizar para hacer nuevas predicciones futuras.

Luego es este trabajo de aprendizaje automático, puedo darle una nueva foto al sistema y el modelo va a poder identificar si se trata de una cebra o de un rinoceronte. Esto va a ayudarme por ejemplo en un trabajo de cuidado de la vida silvestre.

Por supuesto todo esto es una ultra simplificación del asunto, y estoy dejando muchas cosas de lado. Pero para enriquecer un poco más esta guía mínima, vamos a revisar tres técnicas que se utilizan en el entrenamiento de aprendizaje automático.

Supervised Learning

Esto es aprendizaje supervisado. Al momento de utilizar un dataset, la información viene etiquetada para enseñarle al sistema lo que buscamos y cuales son sus características.

Un ejemplo de este dataset es el que mencioné más arriba, donde cada fotografía viene acompañada del nombre del animal que contiene.

Estos conjuntos de datos para entrenamientos que asocian el valor de entrada y de salida se los conoce como “Labeled dataset” o dataset anotado. Se utilizan mucho en aprendizaje supervisado.

Unsupervised Learning

Forma de aprendizaje sin supervisión. Al contrario del caso anterior, la información del dataset no viene comentada de antemano.

En estos casos se utilizan por lo general “unlabeled datasets” o datasets sin etiquetas.

El objetivo es que el sistema descubra patrones internos, relaciones entre la información presentada. Se puede usar por ejemplo para encontrar anomalías, entre otros usos.

Reinforcement Learning

Es una forma de aprendizaje por “reinforcements”, esto es por refuerzos.

Los datasets pueden estar etiquetados o no. La idea es que el sistema interactúa con la información, recibiendo incentivos o penalidades en base a esa interacción.

Podemos interpretar que el sistema busca “ganar”, por decirlo de alguna forma, y para hacerlo tiene que acumular incentivos. A partir de esto se ajustan los parámetros del modelo final.

Por ejemplo, volvamos a nuestro ejemplo de reconocer entre fotos de cebras y rinocerontes. El sistema puede interactuar con un dataset de fotos sin anotar.

Cuando el algoritmo revisa una fotografía, digamos que dice que encuentra una cebra. Si esta en lo cierto, recibe un puntaje positivo. Pero caso contrario si se equivoca, recibe un puntaje negativo.

De esto resulta el mejor modelo, donde el sistema intenta por la repetición maximizar su puntaje. Tiene entonces un incentivo para predecir la mejor respuesta, y progresa teniendo eso en cuenta.

¿Qué quiere decir Big Data?

El termino “Big Data” se puede traducir más o menos literalmente como “grandes cantidades de datos”.

La idea que encierra el término es exactamente esa, Big Data se refiere a la acumulación y procesamiento de grandes cantidades de información.

El uso de la tecnología vuelve posible el manejo de grandes cantidades de datos, datos que llegan desde diferentes fuentes. Estos datos pueden venir de redes sociales, publicaciones científicas, sitios web, sensores en maquinaria, y esto solo por pensar algunos ejemplos posibles.

En resumen: grandes cantidades de información, mucha cantidad, que se busca procesar para extraerle alguna utilidad.

Aunque la idea de Big Data no solo se relaciona con el mundo de la IA, merece un breve apartado dentro de esta guía. Después de todo, ya mencionamos que los métodos de entrenamiento para un modelo predictivo requieren datasets. Y esos datasets bien pueden conectarse con la idea de Big Data.

Las cinco características de Big Data

Para cerrar esta breve introducción a Big Data, es bueno recordar estas cinco características que la definen:

– Volumen: Como dijimos antes, los datos son recibidos en grandes cantidades.

Imaginemos por ejemplo un disco de computadora que tiene un terabyte de almacenamiento, estos son 1024 gigabytes. Y que existen memorias de bolsillo de 16 o 32 gigabytes, por mencionar algunos casos comunes mientras escribo todo esto.

En el caso de Big Data estamos pensando en otro nivel de almacenamiento, como petabytes (1.024 Terabytes) o incluso exabytes (que equivalen cada uno a 1.024 petabytes).

– Velocidad: La velocidad en que los datos se maneja también es muy alta, tanta rapidez que incluso la información puede ser analizada en tiempo real.

– Variedad: Los datos pueden encontrarse y guardarse en varias formas y formatos. Por ejemplo de forma estructurada (en tablas o bases de datos), sin estructura (imágenes, texto, video) o una mezcla de las anteriores.

– Veracidad: La información obtenida tiene que tener la mayor calidad de consistencia y precisión, y tiene que ser completa. Esto resulta en una suerte de esfuerzo por obtener los mejores datos posibles, para asegurar la confianza en los resultados.

– Valor: Esto recuerda que este tipo de análisis de datos puede llevar a una mejor toma de decisiones, y permite descubrir información oculta que genera nuevas perspectivas.

Esta forma de describir Big Data fue propuesta por el analista Doug Laney en el año 2001.

(Entrada todavía en proceso de escritura)

Leave a Reply