Descarga la aplicación para disfrutar aún más
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/
Compartir