 Y bueno, llegado a este punto, vamos a comenzar con la actividad. La idea es presentaros una introducción a la inteligencia artificial y concretamente a el Machine Learning. ¿Qué relación existen entre ellas? Entonces, me gustaría comenzar haciendo la siguiente pregunta. ¿Qué pensáis cuando escucháis hablar del término inteligencia artificial? Creo que todo habéis oído hablar. Cuando escucháis estas palabras de término, ¿qué es lo que es evoca? ¿Qué es lo que pensáis? ¿Has pensado que está en situaciones como esta? ¿De, por ejemplo, robots humanoides, asesinos que vienen a fulminarnos y acabar con la humanidad? ¿Y apoderarse de toda la Tierra y el Universo? ¿En ciencia ficción, al fin y al cabo? ¿O en universidades prestigiosas donde investigadores freaky que no tienen nada que ver con nosotros y otros hacen unos avances espectaculares? ¿O, por el contrario, ¿has pensado en algo más cercano? ¿Has pensado en tu teléfono móvil, con algunas de las aplicaciones que utilizas? ¿Seguramente habrá utilizado alguna vez Google para hacer alguna búsqueda, algún trabajo de clase o lo que sea? ¿O cuando estás tecleando en tu móvil pues ves que el mismo te está sugiriendo cuál es la palabra que viene después, como la palabra más probable, alguna vez sea cierta? ¿O cuando estás viendo vídeo en YouTube seguramente o habéis dejado llevar por su sistema de recomendación y habéis ido picando en esos vídeos que os va recomendando? Seguramente también tengáis algunos de vosotros en casa estos cilindros que se llaman asistentes virtuales que tú les hablas y bueno parece que te entienden, le preguntas por el tiempo, por el tráfico y te van respondiendo, le dice que te pongo una canción, te ponen la canción que tú quieras Y también estas típicas aplicaciones seguramente, esta sí que la voy a utilizar, estas aplicaciones que te hace una foto o un vídeo y te adorna la cara con oreguitas de gato, con bigotes de ratón, en fin, te tunean la cara seguramente la habéis utilizado, pues si habéis pensado en esta situación estáis más cercano a lo que realmente es la inteligencia artificial en los momentos actuales porque todas ellas comparten algo común y todos funcionamientos utilizan algoritmos de inteligencia artificial como veis es algo que está bastante más cercano a nuestro mundo, a nuestro día a día es algo que de alguna manera nos está afectando Bien, ¿qué tipo de problemas se resuelven con inteligencia artificial? Son muchos los problemas que se resuelven pero los más característicos en los que voy a presentar aquí son los de clasificación o reconocimiento por ejemplo el reconocimiento o clasificación de imágenes, concretamente el de caras que nos va a permitir, pues por ejemplo, que un ordenador, una computadora sea capaz de reconocer de quién es la imagen que está viendo seguro que algunos tenéis los típicos móviles supermodernos que para desbloquearlo te lo pones mirando a tu cara y si eres tú se desbloqueas y si no eres tú pues se queda bloqueado ahí estás reconociendo tu cara Otro ejemplo también es muy típico es el de clasificación de textos por ejemplo los que se utilizan en los emails, en los correos electrónicos no deseados para clasificar correos electrónicos no deseados o spam son sistemas que analizan el texto y deciden si un email es algo que, bueno puede ser publicidad engañosa, que puede ser incluso contenido éticamente dudoso o si es un texto que realmente debes leer, si es un mensaje que debes leer eso es otro problema típico de clasificación de textos que se realiza con inteligencia artificial otro típico también es reconocer qué sentimiento indica un determinado texto qué sentimiento indica si es de alegría, de tristeza, de euforia Y un ejemplo muy típico, muy típico, que además se utiliza mucho cuando se habla de inteligencia artificial y concretamente de machine learning que es lo que vamos a ver en unos momentos es el reconocimiento de caracteres escritos aquí se trata de que el ordenador sea capaz de asociar a un carácter escrito por una persona la cifra o el carácter al que realmente pertenece Bien, todos estos problemas si los encaramos desde el punto de vista de la programación tradicional son muy difíciles de resolver, incluso imposibles y para que nos demos cuenta de esto vamos a ver primero cómo se desarrolla o cómo se enfoca un problema de programación tradicionalmente Bien, tradicionalmente a la hora de programar lo que hacemos son tres pasos primero analizamos el problema que queremos resolver como consecuencia de ese análisis vamos a deducir las reglas que resuelven el problema y una vez que tenemos clara las reglas nos vamos a la computadora y construimos el programa que implementa que refleja esas reglas y ya lo único que hay que hacer es meterles datos nuevos y con las reglas que hemos programado el programa nos da la solución veámoslo con un ejemplo muy sencillito supongamos que nos están diciendo que construyamos un sistema para determinar si en función de la edad de una persona puede votar en las elecciones o no ¿Qué hacemos? Bueno, analizamos el problema primero tenemos que ver cuáles son las condiciones para que una persona pueda votar nos vamos a la constitución española o dónde corresponde y ahí vemos que tiene que ser mayor o igual a 18 años y ya está, ya hemos encontrado las reglas esto es un ejemplo trivial muy sencillo para que veamos el procedimiento de un problema con programación pero en casos más reales extraer las reglas lleva más tiempo, obviamente una vez que tenemos ya las reglas clara construimos el programa utilizamos algún lenguaje de programación por ejemplo Scratch como aquí y realizamos este programa que la edad tiene en función de la respuesta se comprobará si es mayor de 17 con lo cual será 18 o más o si no, si es mayor que 17 dirá que sí que puede votar y si no, pues no puede votar esa es la forma típica de resolver el problema aquí lo importante que tenemos que darnos cuenta es que somos nosotros los que analizando el problema extraemos las reglas bien, si intentáis hacer ese procedimiento para resolver este problema y es algo que sería muy conveniente que reflexionárseis cuando finalice esta emisión, esta actividad veréis que no es nada fácil, no es nada trivial de hecho es casi imposible porque por ejemplo un número como el 4 puede tener dos imágenes muy parecidas pero distintas y además el número de imágenes que se corresponden o de formas de trazar 4 prácticamente es el mismo que el de personas que sepan dibujar el carácter 4 es grandísimo con lo cual ya podemos intuir que el número de reglas que necesitaríamos para enseñarles un ordenador a identificar cifras ese número de reglas sería prácticamente infinito eso no es asequible con lo cual esa forma de resolver los problemas tradicional mediante programación no nos vale pues muy bien cómo se resuelven los problemas con inteligencia artificial bien hay muchas técnicas para resolver problemas con inteligencia artificial incluso muchas técnicas que hace 20 años se consideraban inteligencia artificial hoy ya no se consideran con lo cual nos vamos a centrar en el momento actual y qué es lo que se entiende en cuanto a técnica en el momento actual cuál es la técnica que más se utiliza y esa técnica se llama machine learning que traducido al castellano es aprendizaje automático esta técnica ha llegado a un nivel de sofisticación y de perfeccionamiento tal gracias a la potencia de cálculo de la computadora de la cantidad de datos que se disponen actualmente ha llegado como digo a un nivel tal que cuando se habla de inteligencia artificial actualmente prácticamente todo el mundo se refiere a machine learning y viceversa, cuando hablamos de machine learning estamos hablando de alguna manera de inteligencia artificial alguna manera se confunde todo con la parte pero es que actualmente la realidad es que inteligencia artificial es prácticamente un sinónimo de machine learning bien, ¿cómo funcionan estos algoritmos? bueno, la idea es distinta al anterior, en este caso estos algoritmos que realmente el funcionamiento concreto es bastante complejo y no vamos a entrar aquí en detalle pero estos algoritmos lo que hacen es que deducen reglas es decir, nosotros el proceso es distinto al anterior porque comienza por una recopilación de ejemplos es decir, si queremos por ejemplo clasificar imágenes pues vamos a utilizar un conjunto, lo más grande posible de imágenes que ya sepamos a qué clase pertenecen por ejemplo, este sería un caso aquí tenemos un conjunto de imágenes de varias imágenes que están etiquetadas esta imagen pertenece al número 5 está al 0, al 4 bien, pues eso se lo introducimos como datos con su solución es decir, datos que son en realidad etiquetados o que son ejemplos de manera que el ordenador ya sabe que esa imagen corresponde a esta etiqueta o esta clase esta imagen a esta clase y a partir de ahí cuando se aplica el algoritmo de machine learning él es capaz de deducir automáticamente unas reglas que si le presentamos una imagen que no ha sido etiquetada es decir, que no ha sido presentada en el proceso de aprendizaje que se llama ese proceso en el que el algoritmo de machine learning utiliza los datos para extraer las reglas pues bien, utilizamos una nueva imagen un nuevo dato y ya es capaz de clasificarlo correctamente entonces, cuando tenemos esas reglas ya las podemos utilizar para realizar nuevos programas es algo así, ¿no? primero, el algoritmo de machine learning a partir de los datos de ejemplo deduce las reglas y ya con estas reglas podemos meterles datos nuevos a un algoritmo tradicional para que nos dé la solución en definitiva el machine learning o aprendizaje automático tiene tres partes primero, necesitamos recopilar un conjunto de datos que esté bien etiquetado que esté bien clasificado a ese conjunto se llama conjunto de entrenamiento y a la fase en sí se llama entrenamiento la segunda fase es ofrecerle estos datos bien clasificados, bien etiquetados al algoritmo y al algoritmo se pone en funcionamiento y extrae las reglas ahí lo que se hace es un proceso que se llama de inferencia es decir, se pasa de lo particular de ejemplos a reglas que son capaces de generalizar y generalizar lo que significa es que le presentamos ahora una nueva, un nuevo dato por ejemplo, una nueva imagen que no ha sido utilizada en el entrenamiento y el algoritmo va a ser capaz de decir pues esta imagen pertenece a tal clase o este dato pertenece a tal clase y esa sería la tercera parte del machine learning uso de las reglas para clasificar nuevos datos este esquema es fundamental y este esquema realmente es el que vamos a trabajar y el que vamos a intentar comprender a lo largo de la actividad que vamos a hacer el machine learning de alguna manera recuerda esto es una metáfora, por supuesto porque el machine learning no es para nada un cerebro humano, no es un humano no tiene nada que ver pero si es verdad que podíamos establecer una metáfora una similitud entre cómo funciona el algoritmo de machine learning y cómo aprende un niño un niño, el principio, pequeño tabula rasa, no sabe nada todos nuevos para él y el papá, la mamá, el hermano coge libros o lo que sea y empieza a decirle esto es un mozo esto es un pájaro esto es un pez y así pues el niño, pájaro, pez, no sé qué va empieza a inferir las reglas de lo que es un pájaro de lo que es un pez de lo que es un mozo a partir de los ejemplos concretos que nosotros vamos mostrando y que le vamos diciendo se lo mostramos y además le decimos qué es la cuestión es que después de un tiempo además muy poco y con poco de ejemplo porque el ser humano en esto funciona bastante bien resulta que cuando ve una imagen nueva que no ha visto nunca en su vida pero la asocia inmediatamente a lo que ya aprendió gracias a ese proceso en el que le estamos etiquetando que es cada cosa pues como digo ve una imagen nueva y inmediatamente responde eso es un oso que jamás haya visto un oso pues bueno el machine learning funciona más o menos así en plan metafórico repito no es para nada igual un cerebro humano que un algoritmo de machine learning