T-ESPE-058123
T-ESPE-058123
T-ESPE-058123
Diseño de un clasificador para la identificación de los sonidos emitidos por aves mediante técnicas de
Telecomunicaciones
Dedicatoria
Este gran logro lo dedico a mis padres y familia en general que siempre estuvo apoyándome y
aconsejándome en los momentos duros de esta etapa; a Dios por llenarme de salud, de fuerza y
sabiduría que me ayudó a enfrentar las grandes batallas y llegar a cumplir mis metas. No importa el
tiempo que te demores en llegar a la cima, solo se trata de seguir avanzando y subir.
Agradecimiento
Doy gracias a Dios por llenarme de salud y sabiduría y permitirme cada día seguir con fuerza y
constancia cada etapa de mi vida, por guiar mi camino y llenarme de valor para seguir adelante.
Agradezco de todo corazón a mis padres y hermanos que son el motor de mi vida y son testigos de todo
el esfuerzo por alcanzar mis metas, todo su amor y sus enseñanzas me ayudaron a formarme personal y
profesionalmente, ser fuerte y superarme cada día. A toda mi familia por sus consejos, su apoyo
brindado y por no dejarme vencer en cada paso durante esta etapa universitaria.
Agradezco a mi novio que estuvo a mi lado todo este camino lleno de obstáculos, y me ayudó a
Quiero agradecer especialmente al Ing. Carrera Vinicio por toda su paciencia y su ayuda durante el
desarrollo del proyecto y el conocimiento transmitido para culminar con éxito este trabajo de
investigación.
Índice de Contenidos
Resumen...................................................................................................................................................... 12
Abstract ....................................................................................................................................................... 13
Capítulo I ..................................................................................................................................................... 14
Introducción ............................................................................................................................................ 14
Antecedentes ....................................................................................................................................... 14
Objetivos.............................................................................................................................................. 15
Metodología ........................................................................................................................................ 16
Organización ....................................................................................................................................... 17
Capítulo II .................................................................................................................................................... 18
Marco Teórico ......................................................................................................................................... 18
Aves en peligro de extinción del Ecuador ............................................................................................. 18
Pre-procesamiento de Audio ............................................................................................................... 19
Redes Neuronales ................................................................................................................................ 24
Métricas de Rendimiento ..................................................................................................................... 34
Capítulo III ................................................................................................................................................... 36
Materiales y Métodos ............................................................................................................................. 36
Pre-Procesamiento .............................................................................................................................. 38
Entrenamiento ..................................................................................................................................... 41
Capítulo IV ................................................................................................................................................... 48
Resultados ............................................................................................................................................... 48
Autoencoders más un clasificador simple ............................................................................................ 48
Redes Recurrentes de corto y Largo Plazo (LSTM) ............................................................................... 57
Capítulo V .................................................................................................................................................... 65
Conclusiones ........................................................................................................................................... 65
Trabajos Futuros...................................................................................................................................... 66
Bibliografía .................................................................................................................................................. 67
9
Índice de Tablas
Índice de Figuras
Figura 38 Rendimiento del sistema con 100 audios y un orden de 64 coeficientes LPC ............................. 63
Figura 39 Rendimiento del sistema con 130 audios y un orden de 64 coeficientes LPC ............................. 64
12
Resumen
Durante estos últimos años el hombre ha ido evolucionando y expandiendo más su territorio, ocupando
gran parte de los espacios naturales donde existen variedades de especies silvestres, destruyendo así su
habitad. Estas especies han disminuido su número al ser utilizadas por el hombre para su subsistencia,
llevando algunas a su extinción. Para evitar este suceso se han creado centros de apoyo para proteger la
fauna silvestre del mundo, ya que cada especie contribuye a mantener el equilibrio en la biodiversidad
del planeta; entre estas especies se encuentran las aves, por lo que es importante mantenerlas en
continuo monitoreo. Una de las formas para preservar las especies de aves en peligro de extinción es
clasificarlas para identificar las necesidades de cada una. El proceso de observación de las aves puede
tomar de días a semanas o hasta meses para identificar los distintos tipos que puedan encontrarse en
una determinada región. Con este proyecto se busca facilitar la clasificación de las aves, automatizando
aprendizaje profundo, desarrollando así un clasificador que permite identificar las diferentes especies de
aves por medio de su canto. Este clasificador presentó resultados de su rendimiento mediante la
exactitud y el error cuadrático medio, para la extracción de características por medio de autoencoders
más el clasificador softmax llegó a obtener un porcentaje del 99.2% y un error del 0.0025954, y para el
modelo utilizando redes recurrentes LSTM se llegó a obtener un porcentaje del 85.67% utilizando una
profundo.
13
Abstract
During these past years, humans have been evolving and expanding their territory, occupying a huge
portion of the natural spaces where various wild species exist, thus destroying their habitat. These
species have seen a decrease in their numbers as they have been used by humans for sustenance,
leading some to extinction. To prevent this occurrence, support centers have been established to
protect the world's wildlife, as each species contributes to maintaining the balance in the planet's
biodiversity; among these species are birds, making it important to keep them under continuous
monitoring. One of the ways to preserve endangered bird species is by classifying them to identify the
specific needs of each one. The process of bird observation can take days, weeks, or even months to
identify the diverse types that can be found in a particular region. This project aims to streamline the
classification of birds by automating the process through artificial intelligence using unsupervised
learning models and deep learning, thus developing a classifier that can identify different bird species
based on their calls. This classifier demonstrated its performance with metrics such as accuracy and
mean squared error. For feature extraction using autoencoders plus the softmax classifier, it achieved a
percentage of 99.2% and an error of 0.0025954. For the model utilizing recurrent LSTM networks, a
percentage of 85.67% was achieved, especially with a larger quantity of audio samples.
Capítulo I
Introducción
Antecedentes
Existen diferentes especies de fauna silvestre a nivel mundial, las cuales se encuentran
amenazadas por el aumento excesivo de la población humana presentando varios factores que los han
llevado a estar en una situación de extinción. Todas las especies de animales forman una parte
importante de la diversidad biológica del planeta que nutren y mantienen en equilibrio el ecosistema
(Capacete, 2019); por ello, las aves también son especies importantes que necesitan ser protegidas ya
Algunas especies de aves silvestres se encuentran en peligro de extinción, por esta razón existen
conservación de esta especie. Durante estos años se han registrado un total de 10622 especies de aves a
nivel mundial que se pueden observar en la plataforma web eBird; los países que presentan una mayor
diversidad de aves son Colombia, Perú, Ecuador, Brasil e Indonesia que sobrepasan las 1500 especies de
Ecuador se encuentra entre los cinco países con mayor número de aves presentando un total de
1660 especies (eBird, 2022), considerando las provincias que más observaciones se ha tenido de las
diferentes especies de aves se encuentra liderando Napo, Sucumbíos y Morona Santiago (Cajas &
Villalva, 2019). Cada institución dedicada a realizar el monitoreo de las aves emplea distintos métodos
que les permiten obtener resultados óptimos, entre los centros de monitoreo que existen en el Ecuador
se encuentra el Centro de Investigación, Posgrado y Conservación Amazónica (CIPCA) que realiza una
técnica para el registro de las aves de forma visual y por medio de las grabaciones de los cantos de cada
Al pasar los años se han implementado nuevas técnicas para el monitoreo de las diferentes
especies de aves, en general, cada espécimen emite sonidos o llamados representativos de la especie
para comunicarse entre sí, por lo que los nuevos métodos de monitoreo integran patrones de sonidos
para identificar con mayor efectividad y emplear un método menos invasivo para las especies que se
necesiten realizar el estudio. Por otro lado, el reconocimiento de audio presenta cada vez una mayor
aprendizaje no supervisado y el aprendizaje profundo que permiten realizar la identificación del sonido
mediante una extracción de características, en la cual el sistema realiza de forma automática todo el
procesamiento del sonido. Los modelos de aprendizaje no supervisado y aprendizaje profundo tienen
una mayor accesibilidad en la identificación de los sonidos de las diferentes especies de aves por la
Objetivos
General
supervisado y aprendizaje profundo para la identificación de los sonidos emitidos por las aves.
Específicos
● Determinar las mejores bases de datos existentes con sonidos de las diferentes especies de
aves.
● Comparar el modelo anterior con esquemas basados en aprendizaje profundo para establecer
● Evaluar el sistema de reconocimiento de los sonidos de las aves mediante una interfaz iterativa
Metodología
El desarrollo del sistema para el procesamiento de audio empieza mediante una investigación
del estado del arte de las técnicas de aprendizaje no supervisado como son los autoencoders y el
aprendizaje profundo. Adicionalmente, se realizará una recopilación de información sobre las mejores
bases de datos en la cual se encuentre los sonidos emitidos de diferentes especies de aves.
sonidos emitidos por las aves con la ayuda del software Matlab, en la cual se realiza el procesamiento de
la señal de audio ingresada de la base de datos que proporciona la plataforma seleccionada; mediante el
utilizando autoencoders y se añade una capa softmax para la clasificación (Angulo, 2020).
Posteriormente, mediante el desarrollo por modelos de aprendizaje profundo, las señales de audio
obtenidas de la base de datos ingresarán en el algoritmo de redes neuronales recurrentes (RNN), los
cuales cuentan con capas que realizan la función de extracción de características y clasificación de los
datos (González J. , 2021). Al extraer los resultados finales, se aplicarán métricas de evaluación para
medir el rendimiento de los modelos utilizados, las cuales pueden ser: matriz de confusión, exactitud,
el diseño de una interfaz iterativa en Matlab que realiza la identificación de los sonidos emitido por las
Organización
propuesto, en el cual toda la información se encuentra organizado en cinco capítulos que describe cada
una de las etapas que se siguió para llegar a la solución y poder tener una lectura más comprensiva.
En este primer capítulo se especifica una breve introducción que acoge los antecedentes del
investigación.
El segundo capítulo detalla el marco teórico, donde se presentan los conceptos básicos de las
técnicas principales que se utilizan para el desarrollo del trabajo de investigación, profundizando con
mayor detalle estos temas para una mejor comprensión de las bases en las que se sustenta este
proyecto.
proyecto, indicando paso a paso el proceso que se debe seguir para cumplir todos los objetivos
planteados.
El cuarto capítulo presenta los resultados obtenidos de las múltiples evaluaciones realizadas
con los modelos y la comparativa para determinar el modelo más eficiente. Además, se proporcionan
ideas (basadas en experiencia) para un desarrollo más efectivo de este proyecto o de proyectos que se
deriven de este.
investigación y propuestas de trabajos futuros para mejoras que se pueda realizar a este sistema de
clasificación.
18
Capítulo II
Marco Teórico
El Ecuador es un país con una alta variedad de especies de aves silvestres como se pude
1660 especies de aves distribuidas en todas las regiones, y se mantienen en continuas observaciones
por el alto índice de aves que se encuentran en peligro de extinción. Cada una de las especies se las
puede reconocer auditivamente mediante los cantos y llamados, cuyos sonidos se diferencian por la
información a transmitir, estas formas de relacionarse permiten identificarlas con mayor rapidez ya que
es compleja su visibilidad por el habitad en el que viven (González, Padrón, Barbero, Custodio, &
Merchán, 2019).
Figura 1
población humana, que las caza por su colorido plumaje entre otras características. Esta actividad ha
por su severidad, estas son: 10 en peligro crítico (CR), 16 en peligro (EN), 63 como vulnerable (VU), 85
en margen de riesgo (MR) y 25 en datos insuficientes (DD) (Chanco & Narváez, 2018). Para reducir estos
valores y conservar la fauna silvestre del país se ha implementado en ciertos lugares sistemas de
monitoreo diario utilizando los sonidos emitidos por las diferentes especies de aves que pueden ser
que presenten las aves en el momento emiten varios sonidos característicos cada uno con un mensaje
diferente.
Las aves para relacionarse entre sí utilizan sus cantos, los cuales presentan una mayor
complejidad para el monitoreo ya que su estructura cuenta con notas o una serie de segmentos
diferentes en todo el sonido; en cambio los sonidos que realizan para comunicar una información lo
hacen mediante los llamados que están formados por repeticiones que ayudan a identificar con más
detalle el tipo de ave que lo está emitiendo (González, Padrón, Barbero, Custodio, & Merchán, 2019).
Estas muestras de audio se las puede encontrar en el sitio web Aves del Ecuador, el cual
contiene bases de datos de los cantos y llamados de las diferentes especies de aves silvestres del
Pre-procesamiento de Audio
Normalización
Las señales que ingresan deben presentar datos que pueden ser reconocidos por el sistema,
estas señales presentan amplitudes de diferentes escalas, y algunas pueden ser negativas. Por ello se
realiza un ajuste de los valores a un mismo rango, ya que el algoritmo utilizado de aprendizaje no
20
supervisado no acepta ese tipo de datos. Para alinear las medidas de tendencia de cada una de las
señales que van ingresando para su respectivo procesamiento, se utiliza la normalización basada en la
unidad. Esto quiere decir que todos los datos se escalan a un rango entre 0 y 1 de amplitud, este
método evita distorsiones en los resultados, excluyendo valores de la base de datos erróneos. La
normalización se realiza mediante la ecuación ( 1 ), en la cual, se cambia los valores máximos y mínimos
de cada señal.
𝑆 − 𝑆𝑚𝑖𝑛
𝑟̂𝑙 = (1)
𝑆𝑚𝑎𝑥 − 𝑆𝑚𝑖𝑛
En donde 𝑟̂𝑙 es la señal normalizada, S la señal original, 𝑆𝑚𝑖𝑛 los valores mínimos y 𝑆𝑚𝑎𝑥 los
Segmentación
Las señales de audio presentan longitudes diferentes que retrasan el procesamiento por la gran
cantidad de datos que ingresan, por ello, se realiza un proceso de segmentación que trata de dividir las
señales en fragmentos más pequeños de igual longitud para la mejora computacional y la facilidad de
aprovechar los segmentos que contengan información válida para el proceso. Esta segmentación
representa el número de muestras en base a la frecuencia de muestreo del audio de entrada (Martínez
S. , 2020). La longitud está definida por el tiempo de duración del segmento, y este tiempo depende de
Figura 2
Se han considerado dos formas de realizar la segmentación de una señal de audio, las cuales
son:
Con solapamiento: cada fragmento se sobrepone uno del otro en un pequeño porcentaje,
Sin solapamiento: los segmentos serán continuos, es decir, no existirá separación entre dos
segmentos adyacentes.
Para facilitar la selección de los segmentos con más información útil, al realizar la segmentación,
se considera escoger tiempos bastante pequeños. El modelo con solapamiento fue utilizado para el
Ventana de Hamming
Las señales segmentadas pueden tener transiciones bruscas que generan distorsiones al obtener
la FFT, por tal motivo es necesario realizar el proceso de ventanado para mejorar la dispersión y
22
resolución espectral de las señales (Martínez S. , 2020). El resultado de este proceso es una señal sin
suavizante. La función de ventana tiene efecto en el cambio del espectro de frecuencia de la señal y
En este proyecto se utiliza la ventana de Hamming, propuesta por Richard W. Hamming, para
obtener una buena resolución de la frecuencia y suavizar los datos antes de realizar la FFT, así poder
Figura 3
2𝜋𝑛
𝑊𝐻 (𝑛) = 0.54 − 0.46 cos (2)
𝑀−1
𝑁−1
𝑗𝑤
𝑊𝐻 (𝑒 ) = ∑ 𝑊𝐻 (𝑛)𝑒 −𝑗𝑤𝑛 (3)
𝑛=0
Coeficientes LPCs
Los coeficientes de predicción lineal (LPC) se utiliza con mayor frecuencia en el tratamiento de
las señales de audio, reduciendo al mínimo el error de predicción. Se utiliza en la aplicación de filtros y
codificación de voz (MathWorks, 2023). Los LPCs se los consideran filtros FIR que modela el tracto vocal
y su ecuación es:
del filtro, cuyo valor debe ser menor e igual a la longitud del conjunto de entrada. Para obtener el error
Donde 𝑠 ′ (𝑛) es la señal predicha y 𝐺𝑢(𝑛) es la ganancia (García, Gallego, Domínguez, Correa, &
Rodríguez, 2017).
24
Potencia Promedio
En una señal de audio existen segmentos que no presentan una fuerte intensidad en el sonido,
por lo tanto, se busca identificar aquellos donde la fuerza del sonido aumenta ya que cuentan con
mayor información que puede analizarse. Esta intensidad se la puede medir como el flujo medio de
𝐸 = ∫ |𝑥(𝑡)|2 𝑑𝑡 (6)
−∞
Donde 𝑥(𝑡) es cada uno de los segmentos de la señal de audio (Rosario, 2017).
Redes Neuronales
El aprendizaje automático es una de las ramas de la Inteligencia Artificial en las que se basan las
redes neuronales, las cuales están inspiradas en el funcionamiento del cerebro humano. Están
tal manera que permiten adaptarse a cualquier cambio, para procesar información y producir una salida
óptima, acorde a las necesidades del ámbito para el cual fueron diseñadas.
La red neuronal es un tema que se ha tratado desde el año 1943 basando su diseño y
funcionamiento de las redes neuronales biológicas relacionando cada una de sus partes como lo
McCulloch y W. Pitts que propusieron el funcionamiento del modelo basado de una neurona natural, su
desarrollo se detuvo en vista de la necesidad de una alta potencia computacional que no era suficiente
en esos tiempos en que la tecnología empezaba con su evolución, siendo una de las razones que
Figura 4
Las expresiones matemáticas de las funciones de activación utilizadas en el área de las redes
Tabla 1
Adaline, linear
Linear ∅(𝑧) = 𝑧
regression
−1 𝑧 < 0 Perceptron
Sign (signum) ∅(𝑧) = { 0 𝑧 = 0
1 𝑧>0 variant
26
Logistic
1
Logistic (sigmoid) ∅(𝑧) = regression,
1 + 𝑒 −𝑧
Multilayer NN
Multilayer NN,
ReLU 0 𝑧<0
∅(𝑧) = {
𝑧 𝑧>0
CNNs
Aprendizaje No Supervisado
una serie de datos sin la necesidad de presenciar un supervisor que ayude en el aprendizaje del sistema,
los datos no presentan un etiquetamiento previo por lo cual el sistema se encarga de reconocer
patrones específicos que caractericen a cada uno de los datos de entrada y que se pueda etiquetar sin
El uso de estas técnicas es muy favorable para diversas aplicaciones, ya que se puede presentar
un conjunto amplio de datos en la cual varía sus características en cualquier instante de tiempo siendo
esencial este procesamiento al no presentar una supervisión en cada momento, obteniendo resultados
Las técnicas de aprendizaje más comunes de este modelo de machine learning se puede
observar en la Tabla 2.
Tabla 2
utiliza el algoritmo de redes neuronales es el autoencoder, en el cual está enfocado este trabajo de
investigación para realizar la extracción de características, a este proceso se integra una capa de
Autoencoder
Los autoencoders son redes neuronales cuya estructura permite replicar los datos de entrada en
la salida de la red mediante una organización autónoma e inteligente, este algoritmo trata de reducir
significativamente la distorsión que se pueda presentar en los datos de salida del sistema, por tal motivo
28
se ha considerado para tratar señales ruidosas, como puede afirmar Marvin Coto Jiménez en su trabajo
acerca de la síntesis de voz (Coto, 2017), esta característica ayuda a eliminar el ruido introducido en las
señales de audio y tomar únicamente los datos que contengan información válida para el
procesamiento. La arquitectura del autoencoder está conformada por varias neuronas que se
distribuyen en conjuntos de acuerdo a una función que cumplen en común dependiendo del tipo de
información que ingrese a la neurona, cada conjunto de neuronas se las representa como capas
conectadas mediante enlaces por donde se moviliza la información (Caicedo & López, 2017), el
autoencoder presenta tres tipos de capas como se visualiza en la Figura 5, y estas son:
Capa de entrada: esta capa se encuentra formada por un conjunto de neuronas que únicamente
cumple la función de recepción de las señales de entrada, transmitiendo los datos a la capa
Capa oculta: las neuronas de esta capa realizan un proceso de codificación que comprime los
datos, por tal razón, su número es inferior al número de neuronas de la capa de entrada,
permitiendo así capturar los conjuntos de características que presenten mayor importancia y
Capa de salida: las neuronas de esta capa cumplen la función de decodificación de los datos
salida obteniendo la respuesta del sistema, por ello, al replicar la señal su dimensión será la
Figura 5
Estructura de un Autoencoder
Los autoencoders presentan varios tipos de arquitecturas que cumplen funciones de reducción
inteligencia artificial en la que fue introducido su modelo, la arquitectura que se muestra en la Figura 5
𝑥 = 𝑔(𝑓(𝑦)) (7)
(Salgado, 2022).
Donde 𝑦 es un vector de los datos que ingresan a la red neuronal, 𝜎𝑓 es una función que se
encuentra en la capa oculta como activación, 𝑊1 es la matriz de pesos que se encuentra entre las capas
de entrada y oculta, y 𝑏 es una función vectorial que representa las bias de entrada (Salgado, 2022).
decir, la decodificación de los datos internos que se obtiene de la capa oculta cuya expresión
Donde 𝜎𝑔 es una función que se encuentra en la capa de salida como activación, 𝑊2 es la matriz
de pesos que se encuentra entre las capas oculta y de salida, y 𝑐 es una función vectorial que representa
Aprendizaje Profundo
El aprendizaje profundo es una rama del aprendizaje de máquina que cuenta con varios modelos
basados en redes neuronales. Desde el año 2006 ya se empezó a revelar estudios más concretos en la
utilización de aprendizaje profundo, se realizaron varias publicaciones acerca de estos modelos, entre
las cuales observaron un método descrito por G. Hinton, quién ganó el premio Turing junto a otros
informáticos en el año 2018 por el trabajo dedicado en Aprendizaje profundo, el cual demuestra
efectividad en el entrenamiento a una red neuronal con aprendizaje profundo (González J. , 2017).
Este avance dio apertura al desarrollo de nuevas técnicas mejoradas, que presentan
arquitecturas capaces de entrenar modelos con un alto número de datos de entrada y que puedan tener
comportamientos complejos, ante estos casos la implementación de la red neuronal profunda mantiene
un bajo coste computacional (Atienza, 2019). Hoy en día los algoritmos de aprendizaje profundo han
31
presentado buenos resultados que van cada vez introduciéndolos en varias aplicaciones para optimizar
su funcionamiento.
El aprendizaje profundo presenta otros algoritmos para el entrenamiento de una red neuronal
que son: redes neuronales convolucionales (CNN), redes neuronales recurrentes (RNN) y redes
neuronales dinámicas (DNN) (González J. , 2017). Para este proyecto de investigación se enfocó el
Son redes retroalimentadas cuyos datos para su procesamiento son secuenciales, estos bucles
son capaces de almacenar la información que se obtiene en cada capa en una memoria, alimentando el
paso actual con los datos adquiridos de los procesos anteriores, su estructura se lo puede observar en la
Figura 6.
Figura 6
Estructura básica de una Red Neuronal Recurrente (RNN) a lo largo del tiempo
𝑌𝑡 = 𝑓𝑦 (𝑉𝑡𝑠𝑡𝑎𝑡𝑒 ) ( 10 )
salida de la red como se observa en la Figura 6; 𝑓𝑦 y 𝑓𝑡𝑠𝑡𝑎𝑡𝑒 son funciones de activación de la salida y el
Las redes neuronales recurrentes se las puede utilizar para el reconocimiento de la voz y el
análisis de la escritura, pero su entrenamiento puede resultar complejo si se utiliza una estructura básica
ya que presenta un problema de desvanecimiento del gradiente (Rivas, 2020). Esta red al utilizar la
información de partes anteriores y procesar un mayor valor de elementos puede olvidar cierta
Se ha implementado una celda de memoria que puede extraer características utilizando datos
secuenciales que presenten mayores longitudes, esta celda solucionó el problema de memoria de corto
Las redes LSTM ayudan a reducir el problema del desvanecimiento de la gradiente que presenta
las redes neuronales recurrentes básicas, logrando recordar información de datos anteriores durante un
tiempo bastante largo; en este tipo de redes las neuronas que forman la capa oculta son reemplazadas
por memorias, esta celda de memoria cuenta con tres puertas o gates para procesar la información y la
celda aprenda a identificar los datos con información relevante y desechar los que no lo tienen
(Martínez R. , 2019), estas puertas que controlan el estado de la celda y la protegen son (Oña, 2020):
Input gate: la puerta de entrada se encarga de decidir los datos que ingresan a la celda.
33
Forget gate: la puerta de olvido se encarga de validar si los datos no cuentan con información
Output gate: en la puerta de salida se obtiene un vector de valores filtrados con datos
Estos gates para dejar pasar la información necesaria cuentan con dos funciones de activación
llamadas Sigmoidal y Tanh (tangente hiperbólica); el resultado de las funciones de activación en las
capas para permitir o desechar los datos tendrá un valor de 0 y 1 (Rivas, 2020), si la información del
vector de datos que ingresa es válida se marca un valor de 1 y la información pasa, si se detecta que
ciertos datos del vector no contienen la información necesaria para el aprendizaje el valor resultante es
de 0 desechando esos datos evitando que pase a la siguiente capa. La arquitectura de la red LSTM en la
cual se observa las tres puertas y las funciones de activación para su funcionalidad se muestra en la
Figura 7.
Figura 7
Métricas de Rendimiento
clasificación de un volumen alto de datos se necesita calcular el rendimiento del sistema, así determinar
el método que presenta mayor efectividad en el aprendizaje de la red. En este caso se utiliza la matriz de
precisión de los modelos implementados. En la Tabla 3 se observa la matriz de confusión, cuyas filas
representa la clase predicha y las columnas la clase real (Borja, Monleón, & Rodellar, 2020).
Tabla 3
Matriz de Confusión
Predicción
Positivo Negativo
En la matriz de confusión los valores que son verdaderos positivo y negativo representan los
datos que fueron correctamente clasificados (Borja, Monleón, & Rodellar, 2020), mientras que el falso
positivo muestra una predicción verdadera pero el valor real es falso, y el falso negativo el valor de la
Mediante estos valores que proporciona la Tabla 3 se puede obtener las siguientes métricas
(Altamirano, 2021):
Exactitud
matemática es la siguiente:
35
𝑉𝑃 + 𝑉𝑁
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦(%) = ( 12 )
𝑉𝑃 + 𝑉𝑁 + 𝐹𝑃 + 𝐹𝑁
Sensibilidad
Indica el valor de las predicciones positivas que se encuentran bien clasificadas. Su fórmula
matemática es la siguiente:
𝑉𝑃
𝑅𝑒𝑐𝑎𝑙𝑙(%) = ( 13 )
𝑉𝑃 + 𝐹𝑁
Especificidad
Indica el valor de las predicciones negativas que se encuentran bien clasificadas. Su fórmula
matemática es la siguiente:
𝑉𝑁
𝑆𝑝𝑒𝑐𝑖𝑓𝑖𝑐𝑖𝑡𝑦(%) = ( 14 )
𝑉𝑁 + 𝐹𝑃
Precisión
Indica la relación de los valores que son verdaderos positivos sobre el total de predicciones
𝑉𝑃
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛(%) = ( 15 )
𝑉𝑃 + 𝐹𝑃
36
Capítulo III
Materiales y Métodos
Este sistema fue programado en el software Matemático MATLAB versión R2020a, el algoritmo
permite manejar la base de datos donde se encuentran registrados los sonidos de las diferentes aves del
audio. La resolución del sistema de identificación se la realizó por medio de dos procedimientos, el
Cada sistema cuenta con un conjunto de etapas que realiza un procesamiento de la señal de
audio ingresada, y así obtener datos que pueda interpretar el método utilizado de Machine Learning y
Aprendizaje Profundo para su aprendizaje e identificación de los sonidos de las diferentes aves. El
procesamiento de la señal varía conforme al tipo de datos que debe ingresarse al sistema, por lo cual,
esta etapa difiere su metodología en el algoritmo que se esté utilizando. En la Figura 8 se observa las
etapas por las que interactuó la señal de entrada para obtener el resultado.
Figura 8
En la segunda etapa se aplica los algoritmos del autoencoder y redes neuronales LSTM para el
proceso de extracción de características y posterior obtención del modelo de clasificación de los sonidos
La base de datos “Aves del Ecuador” contiene un total de 1691 variedades de sonidos de aves,
tanto de los machos como de las hembras; para el pre-procesamiento se toman los audios que
representan los llamados de las diferentes aves, estos cuentan con mayor cantidad de información, por
En la Figura 9 se puede observar los componentes más importantes de la base de datos que se
encuentran separados por columnas, así en la segunda columna llamada “sound” se visualizan las
muestras de cada uno de los audios, y en la tercera columna llamada “fs” se visualiza la frecuencia de
Figura 9
Pre-Procesamiento
La señal de audio que contiene el canto de cada especie de ave presenta una frecuencia de
muestreo de 44100 Hz, el número de muestras varía con respecto a la duración de cada audio original.
Normalización
Las señales de audio presentan diversas amplitudes con respecto a la intensidad de los sonidos
que están capturados. Estas amplitudes presentan picos altos y bajos, lo que puede generar valores
Para que los datos sean reconocidos e ingresen al algoritmo del aprendizaje, tanto para las
redes LSTM como para los autoencoders, se realiza una normalización de la señal de audio que ingresa y
representa en la Figura 10, en la cual se observa también la escala de la señal antes de su normalización.
Figura 10
Segmentación
normalizada en la cual se ingresa tanto la señal como la longitud para el segmento. Cada una de las
señales de audio extrae una cantidad de muestras variables, por lo cual, para el procedimiento se realiza
Cada segmento presenta el mismo tamaño, aprovechando de mejor manera los segmentos que
contengan información válida, lo que permite obtener mejores resultados en el aprendizaje del sistema.
Con este proceso se obtiene vectores que cuentan con 882 muestras.
Figura 11
Señal Segmentada en 20 ms
En esta etapa se genera un vector de etiquetas que enumera cada uno de los segmentos,
seleccionan los que contengan mayor información o aquellos segmentos con un valor alto de energía.
Para realizar esta selección se estima un valor mínimo, es decir, se toman los segmentos con una media
de energía mayor a este valor. El valor estimado para realizar este procedimiento es 0.008 de la energía
de la señal.
Figura 12
ms cada uno, de los cuales se observa que algunos poseen un valor medio muy bajo. En estos segmentos
no existe mucha información que el algoritmo pueda tomar para el aprendizaje, debido a esto son
Luego de este proceso se extrae de todos los segmentos los LPCs, así se trata de reducir el error
de predicción al mínimo. Para el orden del filtro se tomará un valor menor o igual a la longitud del
conjunto de segmentos.
Entrenamiento
Las señales de audio presentan una gran cantidad de ruido de entorno, mediante la
transformada rápida de Fourier se identifica con mayor eficiencia la frecuencia de la señal que ingresa al
algoritmo. Para este proceso se utiliza el comando “fft” en Matlab en la señal de entrada ya procesada
para la separación del ruido, así se pueden visualizar los picos de mayor magnitud al ingresar una gran
Figura 13
seleccionando, de la matriz de segmentos, los que se utilicen para el entrenamiento y para las pruebas,
42
como se muestra en la Figura 14. Se utiliza el comando cvpartition para seleccionar de forma aleatoria
un 70 % de los segmentos que ingresan para el entrenamiento del autoencoder, con un total de 13314
segmentos y, cada uno con 882 muestras. El 30% restante se utilizan para las pruebas, obteniendo un
total de 5706 segmentos; este proceso es ejecutado también para la selección de las etiquetas que
Figura 14
Para la división de los segmentos se escogió el modelo de cvpartition especificando una división
HoldOut, ya que nos divide automáticamente los segmentos en dos conjuntos que se puede tomar para
entrenamiento y prueba, cuyo porcentaje para cada conjunto se escoge con libertad, este modelo
acelerando el procesamiento.
Los autoencoders tienen pesos iniciales de forma aleatoria que pueden afectar los resultados.
Cada vez que se ejecute el algoritmo se obtendrán respuestas diferentes, por tal motivo se deben
neuronas en la capa oculta. El proceso que se realiza desde la capa de entrada a la capa oculta es la
compresión de datos, por lo tanto, el número de neuronas debe ser menor al tamaño de los datos de
Para un mejor reconocimiento de los datos, que representan las señales de sonido emitidos por
las aves, se trabajó con dos capas ocultas. En el algoritmo, el número de neuronas en la primera capa
oculta no debe ser un valor excesivamente pequeño comparado con el número de datos de entrada,
esto puede ocasionar que el sistema comprima abruptamente los datos aumentando el tiempo de
El número de neuronas en esta capa es de 400, como se visualiza en la Figura 15; este dato es
Figura 15
En la segunda capa se reduce aún más la cantidad de neuronas para que el autoencoder
aprenda representaciones más pequeñas de los datos, debido a esto cuenta con 90 neuronas. Se
escogieron estos valores mencionados para el tamaño de la primera y segunda capa oculta al observar
que en los resultados el porcentaje del desempeño del algoritmo supera el 80%.
Para que el aprendizaje de los autoencoders sea más eficiente, las capas ocultas cuentan con
Tabla 4
1 (valor positivo) 1
SparsityRegularization
0.05 (0 a 1) 0.1
SparsityProportion
La configuración de los parámetros con valores cercanos a los propuestos en el estándar ayuda a
minimizar el error de validación. Las cantidades que se observan en la columna de “Valor Utilizado”, que
extracción de características.
red y, de preferencia, son valores positivos muy pequeños. Así, el número de pesos aumenta mejorando
el entrenamiento.
se encarga de controlar el impacto que ocasiona el regularizador de dispersión. Este parámetro asigna
una restricción para la escasez de los datos en la salida de la capa oculta. La escasez de los datos hace
oculta, ante un conjunto pequeño de ejemplos de entrenamiento. El rango de valores que puede tomar
cantidad de ejemplos).
La salida de la segunda capa oculta se conecta a una última capa, Softmax, con una dimensión
de 200. Esta capa utiliza las etiquetas de los datos de entrenamiento para realizar la clasificación de las
45
características, con lo que se concluye el cálculo de los resultados para los conjuntos de entrenamiento y
prueba.
En las redes neuronales recurrentes LSTM, después de pasar la señal de entrada por las etapas
de pre-procesamiento y procesamiento, se realiza una transformación de los datos en serie para que
ingresen al algoritmo LSTM como se muestra en la Figura 16. En este caso se genera un vector, en la
cual, cada segmento se posiciona uno a continuación de otro. Al trabajar con secuencias de datos, el
tamaño de las ventanas de segmentación aumenta su valor (la señal se divide en ventanas de 500 ms).
Mediante las pruebas realizadas al aminorar este valor, el porcentaje en el rendimiento del sistema
disminuye.
Figura 16
El algoritmo LSTM realizará la partición de los segmentos que se van a utilizar para el
entrenamiento y para las pruebas, con ayuda del comando cvpartition; luego ingresarán en la red LSTM
para su entrenamiento.
46
red; antes de ello se especifica el tamaño de la secuencia de entrada. Estas configuraciones las podemos
Figura 17
siguiente capa, y especifica la cantidad de información que recordará (en este caso su
tamaño es de 200, que son el número de nodos ocultos); se utiliza dos capas LSTM
bidireccionales para ampliar aún más la cantidad de información que recordará la red
información que ingresa, y cuanta información necesite recordar para ser transmitida a las
siguientes capas. Existen dos modos de salida: modo sequence que toma la secuencia de
salida completa y, el modo last que toma el último dato de la clasificación, el cual fue
sonidos de las aves que ingresan al algoritmo por medio del parámetro numfiles.
la clasificación.
Figura 18
que limita el descenso de la gradiente al asignar un valor único para la tasa de aprendizaje. Otros
parámetros utilizados son: el valor del umbral de la gradiente que permite realizar un ajuste en los
del conjunto de datos que la red toma para procesar a la vez (miniBatchSize) es de 250.
gráfica por medio del parámetro training-progress para observar el progreso de la red de entrenamiento
por cada época que transcurra, en la cual también se puede notar la exactitud y las pérdidas del sistema.
48
Capítulo IV
Resultados
En esta sección se muestra el porcentaje del rendimiento: del sistema para los métodos
autoencoders y posterior clasificación utilizando la capa softmax, y del aprendizaje profundo por medio
de redes LSTM.
El desempeño del algoritmo de la red, al utilizar autoencoders, se evalúa por medio de la matriz
de confusión. Esta permite valorar que tan bueno es el aprendizaje con dicho modelo, obteniendo los
En este apartado se mostrará los resultados bajo varios escenarios diferentes, en los cuales se
varia el tamaño del enventanamiento y la cantidad de audios que ingresen al sistema. Con estas
autoencoder, cuyos parámetros regularizadores que se utilizarán para todas las pruebas se encuentran
especificados en la Tabla 4.
utilizar en el autoencoder.
49
Figura 19
Exactitud del sistema con a) una capa oculta, b) dos capas ocultas y c) tres capas ocultas.
a) b)
c)
Al utilizar una capa oculta en el autoencoder se obtuvo una exactitud del 97.9 %, para aumentar
la eficiencia del sistema se implementó otra capa oculta cuyo resultado incrementó a un 99.2%
mejorando su exactitud. Con este dato se realizó otra prueba aumentando el número de capas ocultas a
tres y se evidencia en la Figura 19 que su resultado difiere en un 1.8% menos que al utilizar dos capas
ocultas. Por esta razón se trabaja para las posteriores pruebas con dos capas ocultas en el autoencoder.
50
características para cada segmento de 882 muestras y el conjunto que se elige para las pruebas es de
398 segmentos. Se presentan dos escenarios con dos entradas de: 10 audios y 50 audios.
Figura 20
99.2% de exactitud, el sistema presenta un alto porcentaje de acertamiento en las predicciones, es decir
las señales de audio se encuentran bien clasificadas reduciendo al mínimo el error medio como se
Figura 21
Figura 22
En la Figura 22 se puede observar que al ingresar una mayor cantidad de datos la probabilidad
de que el sistema consiga aprender disminuye a un 95.9%, obteniendo un comportamiento del error
Figura 23
Figura 24
En la Figura 24 se observa que al aumentar la cantidad de audios a 100, la exactitud del sistema
disminuye hasta un 84.3%, el sistema baja su rendimiento al procesar una mayor cantidad datos. La
curva del error medio (Figura 25) durante el proceso del entrenamiento llega a 0.00026524.
53
Figura 25
es de 2646 muestras. Para las pruebas se toman un conjunto de 318 segmentos y se evalúa para los
Figura 26
98.5%, el sistema presenta un porcentaje menor al incrementar el tamaño de las ventanas manteniendo
la misma cantidad de audios, en la Figura 27 se observa el comportamiento del error medio en este
Figura 27
Figura 28
En la Figura 28 se observa que la exactitud del sistema al aumentar más audios para su
aprendizaje es de 95.3%, lo cual es un 3.2% menor que al usar 10 audios manteniendo aún una alta
probabilidad de que la red consiga aprender, el comportamiento de error medio se muestra en la Figura
Figura 29
Figura 30
Con ventanas de 60 ms y al ingresar 100 audios, el sistema obtiene una exactitud del 83.5%
como se muestra en la figura. Este resultado, con un 0.8%, está por debajo de la exactitud obtenida con
ventanas de 20 ms, siendo mínima la diferencia. En ambos escenarios el sistema reduce su rendimiento
mientras se ingrese una mayor cantidad de datos. El resultado de la curva del error medio durante el
entrenamiento se puede observar en la Figura 31, cuyo resultado baja hasta un 0.0013394.
Figura 31
Tabla 5
En este modelo se puede evidenciar, con los resultados expuestos en la Tabla 5, que al
segmentar las señales de audio a 20 ms la respuesta del sistema presenta un mejor resultado en la
exactitud del aprendizaje de la red. Por lo tanto, al tener un tamaño de ventana pequeño, se reconoce
de mejor manera los segmentos que cuentan con información útil para el procesamiento, así
Los porcentajes obtenidos con valor NaN en la matriz de confusión se dan al presentarse valores
de cero en las proporciones indicando que no se han presentado datos falsos, al dividirse para cero el
Este modelo presenta una gráfica del control del rendimiento del sistema, la cual permite
observar la exactitud y las pérdidas que pueda tener el sistema. Las pruebas se realizan bajo dos
para su procesamiento.
Figura 32
Se vuelve a realizar las pruebas con 10 audios sin utilizar coeficientes LPCs para procesar los
Figura 33
Se puede observar los resultados del rendimiento en la Figura 32 y Figura 33, el valor de la
exactitud es de 46.94% y 29.08% respectivamente, la probabilidad del rendimiento del sistema con LPCs
59
aumenta en un 17.86% ya que estos coeficientes ayudan a minimizar el error en la predicción. Con este
Figura 34
Al aumentar los audios el porcentaje de acierto subió a 74.16%, el sistema es capaz de entrenar
exactitud del sistema se realiza una variación en el tamaño de las ventanas a 900 ms y se mantiene el
Figura 35
mayor, es decir que el aprendizaje de la red se verá afectado obteniendo predicciones erróneas.
Al observar este resultado se toma el valor del tamaño de las ventanas de 500 ms para el
aprendizaje de la red. En la Figura 36 se visualiza el rendimiento del sistema al aumentar aún más la
Figura 36
La exactitud, al ingresar 100 audios, es de 78.75%, se tiene un incremento del 4.59% al resultado
presentado con 60 audios. Se evidencia que existe una relación directamente proporcional entre la
cantidad de audios que ingresen al sistema y la exactitud en su rendimiento para conseguir un buen
aprendizaje de la red.
Figura 37
valor llegó hasta el 79.14%. Al aumentar la cantidad de audios el rendimiento del sistema sube.
muestra en la Tabla 6.
Tabla 6
Con las pruebas realizadas se puede evidenciar que aun el rendimiento se encuentra bajo,
llevando a modificar el orden de los coeficientes LPC aumentando su valor para permitir el ingreso de
una cantidad mayor de segmentos que contengan información válida que se pudo haber descartado
para el aprendizaje de la red. Con estas variaciones se realizaron pruebas ingresando 100 y 130 audios.
Figura 38
En la Figura 38 se puede observar que el rendimiento aumentó hasta un 84.49%, al tener una
mayor cantidad de datos a procesar el tiempo será mayor en comparación con los resultados que se
visualizan en la Tabla 6, pero su exactitud incrementa en un 5.74%. Se ingresa 30 audios más para
Figura 39
Con 130 audios la exactitud subió hasta un 85.67% como se muestra en la Figura 39, mejorando
el aprendizaje del sistema. Este porcentaje supera el resultado que se ha obtenido al utilizar
autoencoders con un ingreso de 100 audios. Se presenta a continuación en la Tabla 7 un resumen de los
Tabla 7
Capítulo V
Conclusiones
se logra obtener resultados aceptables. Al trabajar con señales de audio, este modelo cuenta con
características que reduce la distorsión permitiendo llegar a una exactitud del 99.2%. Al utilizar un
incrementar la exactitud, obteniendo un error medio del 0.0025954. Este modelo tiende a disminuir su
rendimiento al ingresar más audios para su análisis. Por tal motivo los autoencoders presentan altas
probabilidades en el aprendizaje de la red cuando trabajan con una cantidad limitada de datos.
Se comprendió el funcionamiento de las redes recurrentes LSTM, para una mejor predicción de
la red se realiza el procesamiento previo de los datos utilizando coeficientes LPCs, con ello se obtuvo
una reducción en el tiempo de procesamiento de 19 min con 3 sec a tan solo 32 sec trabajando con 10
audios, al trabajar con 130 audios y utilizando los LPCs el tiempo subió a 100 min con 21 sec, ya que se
ingresó más información al proceso. La exactitud del modelo mejoró con la utilización de estos
que con 100 audios ambos modelos presentan un rendimiento alrededor del 84%, las redes recurrentes
LSTM llegan al nivel del rendimiento de los autoencoders. El comportamiento difiere al aumentar la
cantidad de audios, por la parte de los autoencoders disminuye su rendimiento, pero las redes
por las aves. Con este sistema se puede ayudar en los centros de protección de aves silvestres al poder
reconocer ciertas especies que se encuentren en la zona, ya que, al ingresar una cantidad específica de
Trabajos Futuros
En este trabajo de investigación se utiliza, para la clasificación de los audios de las aves, los
autoencoders y las redes recurrentes LSTM, se propone extender hacia la aplicación de otras técnicas
tanto de machine learning como de Aprendizaje profundo, y observar la variación en las métricas de
rendimiento.
Sería interesante aplicar este sistema para identificar el sonido de otras especies de fauna
identificación del sonido emitido por el motor del automóvil, para detectar algún problema de forma
Bibliografía
Altamirano, S. (2021). Sistema de reconocimiento de microterremotos en tiempo real del volcán Cotopaxi
Popayán.
https://bioweb.bio/faunaweb/avesweb/Vocalizaciones/
Borja, R., Monleón, A., & Rodellar, J. (2020). Estandarización de métricas de rendimiento para
Caicedo, E., & López, J. (2017). Una aproximación práctica a las redes neuronales artificiales. Cali-
Colombia.
Cajas, C., & Villalva, L. (2019). Sistema Web de Monitoreo de Aves de la Provincia de Cotopaxi (SIMA).
Latacunga-Ecuador.
Chanco, W., & Narváez, M. (2018). DISEÑO EDITORIAL ILUSTRADO DE LAS AVES EN PELIGRO DE
Coto, M. (2017). Síntesis de voz basada en modelos ocultos de Markov y algoritmos de aprendizaje
profundo. México.
García, A., Gallego, E., Domínguez, I., Correa, A., & Rodríguez, J. (2017). Codificación de voz mediante
España.
González, J. (2017). Aprendizaje profundo para el procesamiento del lenguaje natural. Valencia.
González, J. (2021). Modelos de Aprendizaje Profundo con Auto-atención para detección de eventos de
audio. Madrid.
González, J., Padrón, J., Barbero, I., Custodio, L., & Merchán, F. (2019). Reconocimiento de canto de aves
Lara, M. (2021). Sistema de Reconocimiento Automático de Micro sismos Volcánicos basado en Redes
Martínez, R. (2017). Análisis de las máquinas "Sparse Autoencoders" como extractores de características.
Cartagena.
Martínez, R. (2019). Simulating music from the latent space of a Variational Autoencoder. Madrid-
España.
ballenas. Quito-Ecuador.
learning.html
https://la.mathworks.com/help/deeplearning/ref/trainautoencoder.html
Oña, M. (2020). Desarrollo de una aplicación para generar ritmos de batería a través de técnicas
Rivas, M. (2020). Análisis de Líneas de Costa con Redes Neuronales LSTM. Cataluña-España.
69
Rodriguez, J. (2020). Diseño y Simulación de un Filtro Digital para Señales EEG con el Paradigma de
http://blog.espol.edu.ec/telg1001/senales-de-energia-y-potencia/
México-México.
Shiguango, W., & Bañol, C. (2020). Evaluación rápida de la avifauna en el Centro de Investigación,
Zumba, E., & Zumba, F. (2022). DESARROLLO DE UN SISTEMA PROTOTIPO DE GENERACIÓN DE ROSTROS