Intelixencia artificial
Seguramente oíches falar ultimamente da intelixencia artificial, pois todos os días utilizamos aplicacións que fan uso destas técnicas: cando usas un tradutor automático, cando o móbil se desbloquea co recoñecemento da túa cara, cando che sae publicidade xusto de cousas similares ás que estiveches mirando na rede con anterioridade, cando Netflix che recomenda películas e series, cando google che solta iso de “quizais quixeches dicir …” e suxíreche outra palabra de busca, cando o xestor de imaxes recoñece as persoas que hai nas túas fotografías ou cando ves que xa están a desenvolver coches autónomos que non necesitan condutor. Como serán capaces estes coches de identificar o que teñen arredor e decidir que facer en consecuencia?
Aprendizaxe automática
Ben, pois unha das técnicas utilizadas na intelixencia artificial é a coñecida como machine learning ou aprendizaxe automática. Trátase dun conxunto de algoritmos cos que se constrúe un modelo de clasificación a partir de conxuntos de datos coñecidos. Con este modelo a máquina vai ser capaz de clasificar datos de entrada novos que non eran coñecidos de antemán pero que se axustan aos parámetros do modelo.
Por exemplo, a partir das primeiras imaxes de cans boxer a máquina será quen de recoñecer que a segunda imaxe corresponde a un boxer, aínda que non a tivese como dato inicial. O mesmo podemos facer con textos, audio ou datos numéricos. Por certo, a idea de facer unha aplicación para recoñecer razas de cans é de Tania, de 4ºESO :-)
Hai algunhas aplicacións que nos van permitir probar isto da aprendizaxe automática.
Machine Learning for Kids
Unha aplicación que podemos usar é Machine Learning for Kids (ML4K), que permite o recoñecemento de imaxes, textos e datos, e utilizar despois o modelo para crear aplicacións en scratch ou app inventor. Ten unha chea de actividades de exemplo que podes facer.
No seguinte exemplo podedes ver como podemos facer unha aplicación que recoñeza números debuxados a man:
Learning Machine Learning
Outra aplicación é LearningML, que consta dun editor e dun clon de scratch. Aínda está en proceso de desenvolvemento e iremos vendo como co tempo van aumentando as súas funcionalidades, pero de momento xa podemos ir utilizándoa para o recoñecemento de imaxes e textos. Polo de agora é algo máis limitada que a anterior, pero ten a vantaxe de que non é necesario rexistrarse (agás se queres gardar os proxectos no servidor), que podemos usala en galego e que podemos utilizar imaxes cargadas desde o ordenador para a xeración do modelo.
Na súa web podemos atopar tamén algúns videotitoriais para aprender a manexala.
Vou amosar un par de exemplos que fixen:
Recoñecemento de textos
Podemos utilizar o editor para facer unha clasificación de diversas clases de textos e, despois, programar unha aplicación de scratch que sexa quen de clasificar as mensaxes de entrada. Poderiamos facer un xogo de preguntas e respostas ou, como no seguinte exemplo, un asistente virtual:
Podes descargar aquí os ficheiros Asistente.json para o editor e Asistente.sb3 para scratch: Asistente.zip
Recoñecemento de imaxes
Para recoñecer imaxes fixen unha aplicación de recoñecemento de xestos da man. A través da cámara web o programa recolle as imaxes da man e clasifícaas segundo o modelo realizado con anterioridade a partir tamén de imaxes da cámara. Segundo sexa esta clasificación un debuxo tentará imitar o xesto que realiza a man.
Tamén podemos facer un programa algo máis complexo. Neste caso xogamos a pedra, papel e tesoiras contra o ordenador. Quen acade antes 3 puntos gaña.
Podes descargar aquí os ficheiros pedra-papel-tesoiras.json para o editor e pedra-papel-tesoira.sb3 para scratch: PedraPapelTesoiras.zip
A programar!
Pódensenos ocorrer miles de cousas máis. A verdade é que estas aplicacións abren un mundo de posibilidades para a aprendizaxe da programación, pois permiten a creación de programas que incorporan o machine learning. Na programación clásica, por chamala dalgunha maneira, os programas consisten nunha serie de instrucións que cobren todas as opcións ás que se enfronta o ordenador e a máquina fai exactamente o que lle pedimos. Con estas técnicas de intelixencia artificial é o ordenador quen debe aprender duns datos e apañarse para obter resultados a partir de datos que non estaban definidos inicialmente. Terá que buscarse a vida, actuar cun pouco máis de intelixencia :-)