El monitoreo de la biodiversidad a través de inteligencia artificial se apuntala actualmente como una alternativa para la conservación de especies alrededor del mundo. Desde 2014, Iván Vladimir Meza Ruiz, investigador del Instituto de Investigaciones en Matemáticas Aplicadas y en Sistemas (IIMAS) de la Universidad Nacional Autónoma de México (UNAM), trabaja en el desarrollo de un modelo de identificación de cantos de aves basado en aprendizaje profundo.
En el marco de su presentación en el Parque Científico Tecnológico de Yucatán, Meza Ruiz compartió para la Agencia Informativa Conacyt algunos de los conceptos y metodologías clave de este modelo que permiten que una señal de audio se segmente y se clasifique usando una red neuronal profunda a partir de grabaciones de más de mil especies de aves. Con esto, se espera realizar monitoreos de forma más extendida y en periodos de tiempo más amplios en un futuro próximo.
Agencia Informativa Conacyt (AIC): ¿En qué consiste el aprendizaje profundo y cómo se aplica al modelo de identificación de cantos de aves?
Iván Vladimir Meza Ruiz (IVMR): El aprendizaje profundo es una técnica computacional para enseñar a la computadora una tarea específica, hay muchos sabores de aprendizaje profundo, el más común y el que está teniendo un impacto muy amplio actualmente es el que se conoce como aprendizaje supervisado, que viene de otra línea más grande que se llama aprendizaje automático.
El aprendizaje profundo hereda esta técnica, que es básicamente presentar ejemplos a la computadora de la tarea que queremos hacer. En nuestro caso, es presentarle ejemplos de cómo lucen los cantos del ave y cómo debe ser la respuesta dada esa información. Una forma de pensarlo es que le presentamos grabaciones pequeñas de uno o dos segundos de cantos de aves y lo que queremos es que nos diga qué ave está cantando.
Le presentamos miles, millones de ejemplos de este estilo y la computadora puede empezar a hacer un modelo de cómo lucen los cantos de diferentes especies y cómo predecirlas. La diferencia esencial del aprendizaje profundo con el aprendizaje automático (el más tradicional) tiene que ver con que se usa un modelo de arquitectura de redes neuronales.
Las redes neuronales fueron populares en varias épocas de la computación y están en resurgimiento. En particular, en los últimos seis o siete años hemos aprendido a dominar de manera muy simple las nuevas redes neuronales profundas para que hagan de manera correcta las tareas que les ordenamos. Parte de lo que hemos aprendido es a usar múltiples capas. ¿Cómo construimos muchas capas, unas sobre otras? Es ahí de donde viene el término profundo, porque las capas tienen cierta profundidad y así el aprendizaje.
En resumen, el aprendizaje profundo es un área del aprendizaje automático del que heredamos la metodología de presentarle ejemplos a la computadora de la tarea que queremos hacer. La diferencia es que ahora usamos muchas redes neuronales ordenadas en capas, lo que lo hace profundo. Para nuestra tarea, presentamos ejemplos de cantos y la categoría de ese canto para después presentar nuevos ejemplos en los que ya no sepamos qué ave canta y la computadora nos diga qué especie es.
AIC: ¿Cómo se identifican las señales de audio?
IVMR: Hay dos formas de percibir la señal de audio: el aumento del volumen de la señal y por frecuencias, que es la composición de la voz. Tenemos la intuición de que hay sonidos más bajos y otros más altos, y resulta que con un análisis tradicional de la señal podemos graficar esa intuición. A esto se le llama sacar el espectrograma de la señal, es algo muy estándar y hay muchos trucos para hacerlo. A final de cuentas se convierte en una imagen de cómo está evolucionando la señal en términos de la frecuencia.
Podemos estudiar estas transformaciones en los cantos de aves para ver cómo están compuestos y podemos ver que muchas especies cantan en ciertas bandas de frecuencia, tienen ciertas formas, cantan muy alto y lo que queremos enseñar a la máquina es que aprenda a ver esos espectrogramas y, a través de esto, aprenda a identificar qué especie está cantando. En ese sentido, transformamos el problema de ser de sonido a ser de imágenes, el beneficio es que las técnicas actuales de aprendizaje profundo han mostrado ser muy buenas trabajando con imágenes, entonces podemos combinar esas dos partes del problema.
AIC: ¿Cómo funcionan las redes neuronales?
IVMR: Las redes neuronales se basan en el funcionamiento de una neurona como las que tenemos nosotros en el cerebro. Es una idealización, un modelo como de caricatura, pero que después podemos hacer cosas algorítmicas. Lo que suponemos es que una red neuronal está compuesta por neuronas que tienen entradas que básicamente son números, pero esos números a veces representan pixeles, a veces representan palabras, a veces representan señales de audio.
Una neurona ve ciertas entradas y a cada una les pone un peso, que puede ser cualquier cosa, y de acuerdo con la función de esta neurona se va a activar o no lo que esté viendo la entrada de la neurona. Con todo esto se suma la actividad que está entrando a la neurona, si rebasa cierto límite, la salida se activa, si no lo rebasa, se cancela.
Lo interesante es que con esta configuración podemos poner estas neuronas artificiales como entradas a otras neuronas, entonces podemos encadenar muchas neuronas entre sí y las podemos ordenar en capas. Esto quiere decir que está una al lado de la otra, pero no se ven, aunque sí son vistas por las que están en la siguiente capa.
Es un juego en el que entran muchas cosas y solo sale una. Podemos pensar en los controles de un radio con los que tenemos que encontrar la configuración que nos permita escuchar bien la señal, entonces estamos configurando lo que entra hasta que escuchamos la señal. Pero no podemos ser los humanos los que están moviendo los controles porque en realidad tenemos millones de neuronas en los modelos y son asociadas a miles de millones de pesos, entonces el humano no podría estar moviendo todos estos controles.
Lo hacemos de forma automática donde, a través de presentar ejemplos a la neurona, no importa qué pesos tenga, la red neuronal va a funcionar igual, va a ver lo que le presentemos de ejemplo, va a sumar y complementar la entrada, se va a activar una capa, la activación de esa capa va a progresar a la siguiente y así va a ir avanzando hasta que llegue a la última capa y nos dé la respuesta.
En la última capa, lo que podemos hacer es medir si se confundió o no. Si no se confundió, estamos contentos y no hay que moverle nada a nuestra red. Pero si se confundió, podemos decir que “castigamos” a la red y le decimos “este error que cometiste tienes que corregirlo y regresarlo hacia atrás”, entonces se comunica ahora en reversa, diciendo “corríjanse para que no ocurra este error” y se propaga el error hacia atrás. Ese es un algoritmo esencial en términos de las redes neuronales, es como de finales de 1970 y es parte fundamental de la arquitectura de retroalimentación. El ejercicio es presentarle un ejemplo para que trate de predecir si es correcta, castigarla si no lo es, presentarle otro ejemplo y así estamos hasta que la red se estabilice y es cuando podemos decir que tenemos un modelo. Le podemos presentar nuevos ejemplos, ver si nuestra red generalizó y así puede funcionar en algún sistema.
Fuente: CONACYT.
IMPORTANTE:
Sí: El usuario podrá preguntar, felicitar, realizar críticas constructivas y/o contribuir con opiniones relevantes en el campo de la ingeniería e infraestructura.
No: Molestar, intimidar o acosar de ninguna manera.Tampoco utilizará el espacio para la promoción de productos o servicios comerciales, así como de cualquier actividad que pueda ser calificada como SPAM.
Para saber más consulta los Términos de Uso de INGENET.