Logo Studenta

Inteligencia Artificial

¡Estudia con miles de materiales!

Vista previa del material en texto

SEPARATA N.02
APRENDIZAJE DE MAQUINAS
1.Concepto de Machine Learning podemos decir que es una rama de la Inteligencia
Artificial que tiene como objetivo desarrollar métodos capaces de generalizar
comportamientos y reconocer patrones a partir de la experiencia, permitiendo que las
computadoras emulen la forma en que las personas piensan y aprenden sin que hayan
sido explícitamente programadas para ello.
2. Machine Learning e Inteligencia Artificial
El Machine Learning (ML), también conocido como aprendizaje automático, era hasta
hace poco uno de los campos de la inteligencia artificial. Ahora, la mayoría de la gente,
cuando dice «Inteligencia Artificial» en realidad se está refiriendo al Machine Learning.
La Inteligencia Artificial abarca muchos campos, incluyendo:
● Resolución de problemas, razonamiento
● Representación del conocimiento
● Hacer planes
● Aprendizaje automático (Machine Learning)
● Procesamiento de Lenguaje Natural
● Percepción
● Movimiento y Manipulación
El campo que más rápido se está desarrollando en los últimos años es el del aprendizaje
automático, también conocido como Machine Learning. Y de hecho, es el principal
responsable de la popularidad de la Inteligencia Artificial.
https://www.iartificial.net/machine-learning-inteligencia-artificial/
Otro Machine Learning
«La ciencia (y el arte) de programar ordenadores para que puedan aprender de los
datos» Aurélien Géron, 2017
En la programación clásica, el objetivo es realizar una tarea. Para realizarla, tenemos los
siguientes elementos (leyendo el siguiente gráfico de abajo hacia arriba):
● Requisitos: lo que el programa tiene que hacer
● Desarrollador: partiendo de los requisitos, escribe un programa
● Programa: software que realiza la tarea software
● Datos: que el programa necesita como entrada
● Resultados: que produce el programa a partir de los datos
Un programa, escrito por un programador a partir de requisitos, realiza una tarea
Cuando usamos machine learning, el objetivo es también el de realizar una tarea. Para
realizarla, tenemos los siguientes elementos (leyendo el siguiente gráfico de abajo hacia
arriba):
● Datos históricos: necesarios para aprender un modelo
● Resultados históricos: que sirve para que la técnica de aprendizaje automático
aprenda qué resultados van con cada dato
● Aprendizaje: que ya veremos que se trata de encontrar los mejores parámetros
para el modelo
● Modelo: por ejemplo, regresión lineal o una red neuronal
● Datos: que el modelo necesita como entrada
● Resultados: que produce el modelo a partir de los datos.
Un modelo de Machine Learning realiza una tarea. El modelo ha sido aprendido a partir
de datos y resultados históricos
En el caso que usemos un modelo de aprendizaje de datos, no necesitamos a ningún
programador. Esto es posible porque hubo programadores que desarrollaron estos
algoritmos de Machine Learning. Por supuesto, los siguen mejorando, lo que hace que
cada vez funcionen mejor. Pero si dejasen de seguir mejorándolos, todavía podríamos
obtener modelos a partir de datos y resultados históricos automáticamente.
Esto no quiere decir que ya no necesitamos desarrolladores de software. Los modelos de
Machine Learning sólo sirven para realizar algunas tareas. Los desarrolladores, en
cambio, pueden crear software para realizar cualquier tipo de tareas.
Estos son algunos ejemplos de lo que el aprendizaje automático puede hacer:
● Filtro de spam: ahora recibimos muchísimo menos correos electrónicos de
spam que hace años
● Recomendaciones personalizadas: como las que recibimos en Amazon o
Netflix
● Publicidad: predicción de cuáles son los anuncios que nos van a interesar más
● Mercado inmobiliario: predicción de cuál va a ser el precio de venta de un
inmueble
● Reconocimiento de imágenes: reconocer qué contiene una imagen (¿es un
coche?, ¿un perro?, ¿un gato?)
● Percepción: saber qué objetos hay en una imagen, dónde están y cómo se
mueven (necesario para los coches autónomos)
● Procesado del habla: por ejemplo Siri, Alexa o el asistente de Google
● Traducción automática: para traducir entre idiomas como en Google Translate
● Noticias: predecir qué artículos tendrán un mayor número de visitas
● Juegos: crear jugadores artificiales que jueguen mejor que nosotros (por
ejemplo, Google AlphaZero AI)
Para que merezca la pena enfocar la resolución de un problema con Machine Learning,
se deben cumplir estas 3 condiciones:
● Debe haber un patrón entre los datos de entrada y los resultados (no se pueden
predecir los números de la lotería, por ejemplo)
● La cantidad de datos disponibles debe ser suficiente para encontrar este
patrón (al fin y al cabo, el modelo de machine learning se crea a partir de los
datos)
● Debe ser difícil formular una expresión matemática que explique este patrón (si
fuera fácil, utilizaríamos la fórmula)
3.¿Cómo aprende la Inteligencia Artificial?
Una de las características más importante de la Inteligencia Artificial, es su capacidad
de aprender automáticamente. Aquí explicaremos cómo aprende la Inteligencia
Artificial y los tipos de aprendizaje automático que existen: supervisado,
no-supervisado, semi-supervisado y por refuerzo.
Por ejemplo: Imaginemos que tenemos que escribir un programa para detectar si un
correo electrónico es spam o no. Podríamos intentar eliminar los correos que tuviesen
algunas palabras. Las palabras las pondríamos en un fichero para que fuese más fácil
editarlo, claro está. Pero habría dos problemas:
● Sería casi imposible que se nos ocurran todas las palabras (o combinaciones de
palabras) que poner en el fichero. Así que seguiríamos recibiendo spam.
● Probablemente algunos correos serían clasificados como spam sin realmente
serlo. Así que perderíamos mensajes.
Podríamos mejorar nuestro fichero, añadir otro fichero diciendo que otras
combinaciones de palabras están autorizadas, etc. Pero requeriría de mucho trabajo por
nuestra parte, y la gente que envía correos basura, acabaría encontrando la forma de
saltarse nuestras reglas.
Usando técnicas de Inteligencia Artificial, y en particular usando el Machine
Learning podemos ahorrarnos este trabajo. Le podemos dar a la IA una lista de correos
deseados y otra de correos basura. Esta es todo la información que la Inteligencia
Artificial necesita para aprender la diferencia. No sólo nos ahorrará el trabajo de hacerlo
a nosotros; además los resultados serán mejores de lo que nosotros podríamos haber
hecho.
Spam o Correo no deseado
https://www.iartificial.net/machine-learning-inteligencia-artificial/
https://www.iartificial.net/machine-learning-inteligencia-artificial/
https://www.iartificial.net/machine-learning-inteligencia-artificial/
La forma de aprender de la inteligencia artificial depende del tipo de aprendizaje
automático (machine learning) que estemos usando. Podemos distinguir 4 tipos de
machine learning según la supervisión que necesiten: supervisado, no supervisado,
semi-supervisado y por refuerzo.
3.1Aprendizaje Supervisado
El aprendizaje supervisado, recibe el nombre de «supervisado» porque necesita que
siempre le enseñemos la respuesta correcta. Por ejemplo, para resolver el problema de
clasificar correos electrónicos como spam o no spam, necesita que le demos ejemplos
históricos correctamente clasificados. En otras palabras, para cada caso de ejemplo que
le demos, necesita saber si el correo era spam o no.
Sabiendo cuál era la respuesta correcta, la Inteligencia Artificial aprende de sus
propios errores. Muchos algoritmos supervisados empiezan dando respuestas aleatorias
y después van mejorando a medida que aprenden de sus errores.
El aprendizaje supervisado es muy útil cuando queremos que la Inteligencia Artificial
realice una tarea en el futuro. Esta característica hace a este tipo de aprendizaje
automático muy atractivo para muchos negocios. En el entorno empresarial, el
aprendizaje supervisado también se conoce como análisis predictivo.
A.Proceso del aprendizaje supervisado
1. Recopilar datos históricos, incluyendo la respuesta correcta
2.Construir un modelo de machine learning con esos datos
3. Evaluar el modelo, para entender qué rendimiento podemos esperar de él
4. Usar este modelo con datos nuevos. Por ejemplo, cuando llegue un correo
electrónico nuevo
Este proceso está un poco simplificado. En otro artículo lo extenderé, pero da una idea
de la forma de pensar acerca del aprendizaje supervisado.
B.Ejemplos de aprendizaje supervisado
● Clasificar correos electrónicos en genuinos o spam
● Predecir por cuánto dinero se va a vender una propiedad inmobiliaria
● Calcular la probabilidad de que hagas click en un anuncio
● Decidir qué hotel enseñarte primero en una web de hoteles
● Estimar si el cliente de un banco será capaz de pagar un crédito
● Recomendar si es mejor comprar ahora tu vuelo o es mejor esperar
● El traductor de Google
● Detección de objetos en una imagen
● Reconocimiento y síntesis de voz
● Estimar qué edad tienes a partir de una foto
● Predecir qué clientes van a cancelar su contrato con su compañía telefónica
● Estimar cuántas visitas va a tener un artículo en la web
● Generación de música por ordenador
https://www.iartificial.net/inteligencia-artificial-aplicada-a-meneame-net/
3.2Aprendizaje No Supervisado
El aprendizaje no supervisado, no necesita supervisión. Esto quiere decir que no
necesita que le digamos cuál es la respuesta correcta. También significa que no podemos
calcular el error de sus resultados. Cuando usamos aprendizaje no supervisado, la
Inteligencia Artificial aprende de los datos mismos, por así decirlo.
El aprendizaje no supervisado es útil cuando queremos entender mejor nuestros datos
históricos. Puede tener implicaciones en el futuro, pero no son tan obvias. La principal
ventaja de cara al futuro es que nosotros, los humanos, entendemos mejor nuestros
datos. Con este nuevo conocimiento revelado por la IA, podemos tomar mejores
decisiones. Veamos un ejemplo.
Figura. imagen de mercado
Algunos supermercados usan aprendizaje no supervisado para entender mejor sus datos.
Los supermercados generan muchísimos datos. Entre ellos, están los datos de lo que
cada cliente compra. Aunque no tengan forma de saber quién eres, sí saben lo que un
cliente anónimo ha metido en el carro de la compra. Cuando le damos a la IA los datos
del carro de la compra, no le decimos lo que tiene que hacer con ellos. En este sentido
no hay ninguna «solución correcta». Sólo le pedimos que analice los datos y nos diga si
hay algo interesante en ellos.
Usando aprendizaje no supervisado, hace tiempo se descubrió que muchos de los carros
de la compra que tenían cerveza, también tenían pañales. Esta relación sobre datos
históricos nos permite idea una estrategia: ¿y si ponemos nuestra marca de pañales al
lado de la cerveza? El resultado fue que muchos clientes compraron los pañales de la
marca el supermercado sólo por la comodidad de tenerlos tan a mano.
Proceso del aprendizaje no supervisado
1. Recopilar datos históricos
2. Instruir a la Inteligencia Artificial a que busque patrones, grupos, etc.
3. Utilizar la información nueva para tomar mejores decisiones en el futuro
Ejemplos de aprendizaje no supervisado
● Ayudar a elegir qué medidas del cuerpo hay que usar para las tallas (XS, S, M,
L, XL, XXL, etc.)
● Comprimir imágenes (con pérdida de calidad)
● Sistemas de recomendación. Por ejemplo, los que usa Netflix o Amazon
C.Aprendizaje Semi-supervisado
El aprendizaje semi-supervisado está entre el aprendizaje supervisado y el aprendizaje
no supervisado:
● utiliza datos etiquetados, como en el aprendizaje supervisado
● y también datos no etiquetados, como en el aprendizaje no supervisado
Conseguir datos etiquetados, en algunos casos, es bastante difícil. Por ejemplo, si
queremos construir nuestro sistema de detección de spam, alguien tiene que
decidir cuáles mensajes son spam y cuáles no. Y ese alguien somos nosotros, los
humanos. Necesitamos hacer este trabajo manual para que la Inteligencia
Artificial pueda aprender qué es lo que tiene que hacer.
Usando una estrategia de aprendizaje semi-supervisado, podríamos etiquetar
manualmente algunos correos electrónicos, dejar que la Inteligencia Artificial aprenda y
empezar a usarlo. No va a funcionar tan bien como si hubiésemos etiquetado más
correos. Pero por lo menos, podríamos empezar a utilizar el sistema anti-spam antes.
Seguramente tendríamos correos mal clasificados, pero conforme los fuésemos
etiquetando correctamente iría aprendiendo mejor.
Cuando esto se hace a una escala mayor, no resulta tan pesado. Por ejemplo, si usas el
correo de Google, cada vez que marcas un correo como spam, estás ayudando a todos
los demás usuarios de gmail. Google usa crowdsourcing (colaboración distribuida) para
que funcione muy bien con muy poco trabajo individual aunque sea mucho trabajo si
tenemos en cuenta a todas las personas que contribuyen.
Proceso del aprendizaje semi-supervisado
1. Recopilar los pocos datos históricos históricos que tengan resultados disponibles
2. Recopilar los datos históricos sin resultados
3. Evaluar la posibilidad de etiquetar manualmente más datos históricos
4. Instruir a la Inteligencia Artificial a que aprenda utilizando aprendizaje
supervisado los datos históricos para los que tenemos resultados
5. Usar el modelo de machine learning aprendido para etiquetar automáticamente
el resto de los datos
6. Usar otro modelo de machine learning supervisado con los datos etiquetados
inicialmente y los datos etiquetados automáticamente
Ejemplos de aprendizaje semi-supervisado
● Detección de correos basura
● Detección automática de anomalías
● Reconocimiento facial
https://es.wikipedia.org/wiki/Crowdsourcing
https://www.iartificial.net/deteccion-anomalias-espacio/
D. Aprendizaje por Refuerzo
El aprendizaje por refuerzo es una especie de aprendizaje supervisado sin llegar a serlo.
En el aprendizaje supervisado, para cada dato que ofrecemos como ejemplo, también
decimos cuál fue solución correcta. En el aprendizaje por refuerzo, no podemos dar la
solución correcta hasta saber lo que la Inteligencia Artificial va a hacer. Normalmente
hará muchas cosas, y sólo sabremos cómo de bien o de mal lo hizo después de un
tiempo.
Figura. Imagen de juego de Ajedrez
La Inteligencia Artificial aprende a ganar al ajedrez con aprendizaje por refuerzo
Como esto es un poco abstracto, veamos un ejemplo. A lo mejor has visto en las
noticias que AlphaZero gana a los mejores jugadores al ajedrez y al Go. Si queremos
que la IA aprenda a ganar a humanos, o a otros programas de ordenador, no podemos
decirle cuál es la solución correcta. Al decírselo, sólo podría ser tan bueno como
nosotros o como los otros programas de ordenador. Si queremos que juegue mejor que
nosotros, tenemos que enseñarle las reglas del juego y dejarle aprender por sí mismo.
Sólo así podrá encontrar soluciones creativas, poco comunes y geniales.
El aprendizaje por refuerzo es el tipo de aprendizaje más difícil. La razón es que la IA
no puede saber cómo de buena es la acción que acaba de realizar; en otras palabras, no
puede calcular cuál ha sido su error. Tiene que esperar al final de la partida puede
saber si ha ganado, empatado o perdido. Esta es la única información que tiene. En el
aprendizaje por refuerzo, la Inteligencia Artificial aprende de sus éxitos y de sus
fracasos (no de sus errores).
Referencias
https://es.wikipedia.org/wiki/AlphaZero
Martinez Heras, José (2019). Machine Learning e Inteligencia Artificial obtenido de
https://www.iartificial.net/como-aprende-la-inteligencia-artificial/
https://www.iartificial.net/author/jose/

Continuar navegando