Enfoques innovadores para la clasificación de cantos de aves
Un equipo enfrenta los desafíos de identificación de cantos de aves en la competencia BirdCLEF 2024.
― 7 minilectura
Tabla de contenidos
- Desafío de la Identificación de Llamados de Aves
- Nuestro Enfoque
- Antecedentes sobre la Clasificación de Llamados de Aves
- Aprendizaje por Transferencia y Embeddings
- Exploración de Datos
- Proceso Experimental
- Pérdidas de Entrenamiento
- Resultados y Comparaciones
- Tiempo de Inferencia
- Discusión sobre Hallazgos
- Direcciones Futuras
- Conclusión
- Fuente original
- Enlaces de referencia
Los pájaros producen varios sonidos, y reconocer estos llamados ayuda a estudiar su comportamiento y mantener la biodiversidad. En 2024, tuvo lugar una competencia llamada BirdCLEF, donde los equipos tenían que identificar especies de aves a partir de grabaciones hechas en los Ghats occidentales de India. La tarea consistía en analizar largas grabaciones y predecir qué aves estaban vocalizando en cada segmento de 5 segundos.
Desafío de la Identificación de Llamados de Aves
Identificar llamados de aves es difícil por varias razones. Diferentes especies tienen sonidos únicos, pero sus llamados pueden variar significativamente. Además, el ruido de fondo puede dificultar escuchar los llamados con claridad. La competencia se centró en 182 especies objetivo, lo que aumenta la complejidad. Los participantes enfrentaron límites de tiempo estrictos para procesar grabaciones; tenían que analizar unos 4400 minutos de sonido en solo 120 minutos de tiempo de CPU.
Nuestro Enfoque
Nuestro equipo utilizó un método llamado aprendizaje por transferencia, que consiste en tomar conocimientos de un modelo y aplicarlos a otra tarea. Usamos modelos establecidos como el Clasificador de Vocalizaciones de Aves de Google y BirdNET, que están diseñados para el reconocimiento de llamados de aves. El objetivo era lidiar con los desafíos presentados en la competencia.
Como las grabaciones de sonido con las que trabajamos no tenían etiquetas, desarrollamos una estrategia para asignar pseudoetiquetas. Esto significa que creamos etiquetas basadas en las predicciones hechas por nuestros modelos. Al analizar cómo cambiaron los sonidos entre los datos de entrenamiento y los datos no etiquetados, pudimos refinar nuestro enfoque.
Antecedentes sobre la Clasificación de Llamados de Aves
La clasificación de llamados de aves generalmente utiliza grabaciones de audio para interpretar los sonidos. Las técnicas de procesamiento de imágenes pueden ayudar, como convertir sonidos en Espectrogramas, que son representaciones visuales que muestran cómo cambian las frecuencias de sonido con el tiempo. Muchos modelos exitosos utilizan redes neuronales convolucionales (CNN) para analizar estos espectrogramas.
BirdNET es un modelo de clasificación de llamados de aves muy conocido que se beneficia del uso de espectrogramas. El Clasificador de Vocalización de Aves de Google, entrenado con una amplia variedad de sonidos de aves, también ayuda en este campo. Estos modelos han mostrado excelentes resultados en la identificación de llamados de aves.
Aprendizaje por Transferencia y Embeddings
El aprendizaje por transferencia aprovecha los modelos previamente aprendidos para mejorar nuevas tareas. En nuestro caso, usamos modelos entrenados para identificar llamados de aves y aplicamos su conocimiento a nuestro problema. Cada modelo crea embeddings: representaciones condensadas de datos de audio que capturan características importantes para la clasificación.
Evaluamos qué tan bien funcionaron estos embeddings en la transferencia de conocimiento. Al analizar las similitudes y diferencias en cómo varios modelos clasificaron los llamados de aves, pudimos encontrar el mejor enfoque para nuestras entradas de la competencia.
Exploración de Datos
Antes de sumergirnos en el modelado, analizamos los conjuntos de datos de sonido de entrenamiento y no etiquetados para ver cómo estaban distribuidas las especies de aves. Sospechábamos que los datos de entrenamiento podrían no representar completamente los sonidos en los datos no etiquetados, dado que se usaron diferentes métodos de recolección. Los datos de entrenamiento, recopilados de grabaciones de fuentes comunitarias, probablemente incluían llamados más claros, mientras que los datos no etiquetados de los Ghats occidentales podrían reflejar un paisaje sonoro más complejo.
Observamos con qué frecuencia estaban presentes diferentes especies en las grabaciones. Nuestros hallazgos mostraron que muchas especies en los datos de entrenamiento no se encontraron en las grabaciones no etiquetadas. Comprender esta distribución ayudó a refinar nuestra estrategia de modelado.
Proceso Experimental
Para encontrar el mejor modelo, realizamos varios experimentos. Probamos diferentes configuraciones usando aprendizaje por transferencia para optimizar la clasificación de llamados de aves. Establecimos un flujo de trabajo de extremo a extremo para entrenar nuestros modelos de manera efectiva.
Para los experimentos de aprendizaje por transferencia, nos centramos en el Clasificador de Vocalización de Aves de Google como nuestro modelo base. Usamos sus predicciones como pseudoetiquetas para entrenar un modelo de clasificación multietiqueta. Se aplicaron diferentes funciones de pérdida para encontrar la manera más efectiva de medir el rendimiento de nuestros modelos.
Pérdidas de Entrenamiento
Una parte crucial de nuestro proceso fue usar funciones de pérdida, que nos ayudan a entender qué tan bien se desempeña nuestro modelo. Probamos diferentes tipos de pérdidas:
Entropía Cruzada Binaria: Esta es una función de pérdida sencilla que trata cada etiqueta como una tarea de clasificación binaria separada. Se utilizó como referencia para comparación.
Pérdida Asimétrica (ASL): Esta función de pérdida penaliza errores de manera diferente para falsos positivos y falsos negativos. Fue beneficiosa para nuestra tarea, ya que nuestros datos tenían etiquetas superpuestas y difusas.
Pérdida Sigmoide F1: En lugar de usar métricas tradicionales, este enfoque optimizó directamente para la puntuación F1, dándonos información sobre qué tan bien se desempeñaba nuestro modelo en varias clases.
Al evaluar estas pérdidas, buscamos encontrar el mejor equilibrio entre precisión y eficiencia.
Resultados y Comparaciones
Después de realizar nuestros experimentos, recopilamos los resultados para comparar diferentes modelos y enfoques. Notamos que usar los embeddings de BirdNET generalmente resultó en un mejor rendimiento en comparación con el modelo de Vocalización de Aves solo.
También descubrimos que acceder a la etiqueta de especie para cada carpeta mejoró significativamente nuestras puntuaciones. Esto sugiere que tener más información contextual puede mejorar enormemente la precisión del modelo.
Tiempo de Inferencia
El tiempo de procesamiento es una consideración crítica en competencias como BirdCLEF. Monitoreamos cuánto tiempo tardó en analizar paisajes sonoros usando nuestros modelos. Si bien algunos de nuestros modelos se desempeñaron bien dentro de los límites de tiempo, otros, como el modelo de Vocalización de Aves, superaron el tiempo permitido debido a su complejidad.
Al optimizar nuestros modelos para el rendimiento, nos aseguramos de que pudieran manejar la carga de trabajo de manera eficiente dentro de las limitaciones de la competencia.
Discusión sobre Hallazgos
Nuestros experimentos mostraron el potencial de utilizar el aprendizaje por transferencia en la clasificación de llamados de aves. Si bien los resultados fueron prometedores, aún había áreas de mejora. Los modelos entrenados solo en paisajes sonoros no se desempeñaron tan bien como aquellos entrenados en el conjunto de datos original. Esto planteó preguntas sobre cómo incorporar mejor entornos de grabación diversos en nuestros modelos.
Además, el enfoque de usar pseudoetiquetas resultó valioso, pero también destacó la necesidad de modelos base más precisos para proporcionar mejores predicciones para el aprendizaje por transferencia.
Direcciones Futuras
Mirando hacia adelante, planeamos explorar más formas de integrar patrones de co-ocurrencia de especies en nuestros modelos. Esto podría mejorar la precisión de clasificación al aprovechar información adicional sobre qué especies es probable que se encuentren juntas.
También buscamos optimizar aún más la eficiencia computacional y explorar arquitecturas de modelos alternativos que puedan estar mejor adaptadas para manejar las características específicas de los datos de audio. Nuestro enfoque estará en desarrollar métodos que puedan equilibrar complejidad con rendimiento, permitiendo un procesamiento más ágil sin sacrificar la precisión.
Conclusión
Nuestro trabajo en la competencia BirdCLEF 2024 destacó la efectividad del aprendizaje por transferencia en la clasificación de llamados de aves. Al combinar embeddings de modelos preentrenados y explorar varias estrategias de entrenamiento, logramos un rendimiento notable. Aunque todavía hay mucho que aprender y mejorar, nuestros hallazgos contribuyen al esfuerzo continuo por monitorear y conservar especies de aves a través de técnicas avanzadas de análisis de audio.
Título: Transfer Learning with Pseudo Multi-Label Birdcall Classification for DS@GT BirdCLEF 2024
Resumen: We present working notes for the DS@GT team on transfer learning with pseudo multi-label birdcall classification for the BirdCLEF 2024 competition, focused on identifying Indian bird species in recorded soundscapes. Our approach utilizes production-grade models such as the Google Bird Vocalization Classifier, BirdNET, and EnCodec to address representation and labeling challenges in the competition. We explore the distributional shift between this year's edition of unlabeled soundscapes representative of the hidden test set and propose a pseudo multi-label classification strategy to leverage the unlabeled data. Our highest post-competition public leaderboard score is 0.63 using BirdNET embeddings with Bird Vocalization pseudo-labels. Our code is available at https://github.com/dsgt-kaggle-clef/birdclef-2024
Autores: Anthony Miyaguchi, Adrian Cheung, Murilo Gustineli, Ashley Kim
Última actualización: 2024-07-08 00:00:00
Idioma: English
Fuente URL: https://arxiv.org/abs/2407.06291
Fuente PDF: https://arxiv.org/pdf/2407.06291
Licencia: https://creativecommons.org/licenses/by/4.0/
Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.
Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.
Enlaces de referencia
- https://www.kaggle.com/models/google/bird-vocalization-classifier/TensorFlow2/bird-vocalization-classifier
- https://pygments.org/
- https://pypi.python.org/pypi/Pygments
- https://yamadharma.github.io/
- https://kmitd.github.io/ilaria/
- https://conceptbase.sourceforge.net/mjf/
- https://name.example.com
- https://ctan.org/pkg/booktabs
- https://goo.gl/VLCRBB
- https://github.com/borisveytsman/acmart
- https://www.ctan.org/tex-archive/macros/latex/contrib/els-cas-templates
- https://github.com/yamadharma/ceurart
- https://www.overleaf.com/project/5e76702c4acae70001d3bc87
- https://www.overleaf.com/latex/templates/template-for-submissions-to-ceur-workshop-proceedings-ceur-ws-dot-org/pkfscdkgkhcq
- https://linkedin.com/in/acmiyaguchi
- https://linkedin.com/in/acheunggt
- https://linkedin.com/in/murilo-gustineli
- https://www.linkedin.com/in/-ashleykim/
- https://github.com/dsgt-kaggle-clef/birdclef-2024
- https://stackoverflow.com/questions/1673942/latex-table-positioning
- https://docs.google.com/spreadsheets/d/1-jUdjgyu4ytiWMHpZuvwUeqB2diHBewsYtdq-UcRi8s/edit