Tengo un conjunto de datos (audios y transcripciones), necesito saber cómo entrenaré estos datos para crear un modelo acústico que se utilizará para un reconocimiento de voz.

En algoritmos simples de aprendizaje automático, regresión lineal, tiene un conjunto de características y luego tiene que predecir el precio futuro en función de la ecuación matemática. Por ejemplo, si desea predecir el precio de la vivienda, entonces puede tener de 10 a 15 características como área de la casa, no de baños, no de dormitorio, área donde se encuentra la casa, etc. Para realizar el precio de la casa, un conjunto de datos proporcionarse para una ciudad determinada con varios precios de vivienda y la tarea del ingeniero de aprendizaje automático sería capacitar, modelar y predecir el precio de la vivienda para un conjunto de datos futuro. Entonces, cuando el ingeniero de aprendizaje automático está entrenando un modelo de datos para predecir precios, básicamente está generalizando el conjunto de datos y tratando de encontrar una función simple que pueda describir el patrón en los precios para predecir precios futuros.

Entonces, el punto principal por el que di el ejemplo del precio de la vivienda es que quería explicarle el concepto de número de características (Variables) que consideraría al predecir los precios. Y también quería hacerle saber que la función que obtendrá al entrenar el ejemplo de la vivienda consistiría en 16 ecuaciones variables diferentes para predecir el precio de la vivienda. ¡Ahora este es un problema de aprendizaje automático muy simple !

¡Ahora hay otro tipo de algoritmo llamado regresión logística! El punto principal de este algoritmo es clasificar los datos dados los valores de entrada. Por ejemplo, usando el reconocimiento de escritura manual para leer los códigos pin dada la imagen del código pin. Básicamente, está tratando de predecir un valor de 0 a 9, cuando lee códigos postales basados ​​en los píxeles de la imagen. Por lo tanto, el número de clases que tendrá aquí es 10, por lo tanto, su clasificación se basa en las 10 clases diferentes y entrenará su modelo en consecuencia.

Ahora viene a la parte de número de características! Suponga que obtiene una imagen de 20 * 20 píxeles, ¡entonces el número total de características que obtendrá es 20 * 20 = 400! Eso es para una imagen en escala de grises, pero imagine tener una imagen RGB, entonces tiene que lidiar con 1200 píxeles. ¡Eso significa que tendrá que lidiar con 1200 funciones mientras desarrolla su algoritmo! Dichos cálculos son muy difíciles para su memoria y toman tiempo dependiendo de la cantidad de datos. Puede usar redes neuronales para entrenar su algoritmo en tales casos y acelerar las cosas y mejorar la eficiencia. Pero asegúrese de utilizar la arquitectura de red neuronal que mejor se adapte a su problema al entrenar un modelo.

Ahora llegando a su problema!

Aquí, la cantidad de clases que intenta predecir es N, donde N es la cantidad de palabras diferentes que contienen sus archivos de audio.

El número de características que deben considerarse es un número L muy grande, donde L es el número de bits que utiliza su archivo de audio para almacenar una palabra determinada.

¡Asegúrese de dividir todos sus archivos de audio en archivos de sub-audio donde cada archivo de audio contiene una sola palabra!

¡Ahora use los archivos de audio divididos como datos para entrenar su modelo usando una red neuronal más adecuada! Usaría la red neuronal que tiene 1 capa de entrada, 1 capa oculta y 1 capa de salida. La capa de salida será responsable de predecir la palabra al proporcionar un vector V que tenga una dimensión de N. Todos los elementos en N serán 0 excepto un elemento. El elemento que no es cero es el valor de palabra que está clasificando. Utilice la regresión logística con la red neuronal para hacer posible la clasificación.

Una vez que haya implementado su hipótesis, use el algoritmo de retropropagación para mejorar la eficiencia de la red neuronal y capacitar a su modelo. Asegúrese de implementar la función de costo con el parámetro de regularización. También asegúrese de implementar el algoritmo de verificación de gradiente. El algoritmo de verificación de gradiente asegurará que su descenso de gradiente mejore con cada iteración. (Es decir, asegúrese de que su algoritmo de retropropagación esté libre de errores). Sin embargo, asegúrese de desactivar el algoritmo de verificación de gradiente una vez que confirme que su algoritmo de retropropagación está libre de errores. Porque el algoritmo de verificación de gradiente es muy costoso. Será computacionalmente intensivo si lo usa mientras entrena su modelo.

Y una vez que el algoritmo converge, está listo para predecir los valores.

Nota: Asegúrese de tener al menos 50-100 copias diferentes de la misma palabra; de lo contrario, no obtendrá la eficacia adecuada con el módulo de reconocimiento de voz. Asegúrese de que sean de una persona diferente y, de hecho, de un acento diferente para maximizar la eficiencia de su modelo. Además, cuando subdivida los archivos de audio, deberá configurar manualmente el valor de la palabra para que su modelo pueda entrenar. (Puede hacerlo utilizando el algoritmo de agrupación pero recomendaría que si lo hace manualmente, ¡sería mejor porque no sé qué tan eficiente sería su algoritmo de agrupación!)

Características = variables. ¡La cantidad de variables que usará para entrenar su modelo!

PPS: Traté de hacerlo simple, pero si no entiendes ciertas palabras, te recomiendo que tomes el curso Stanford Machine Learning, ¡es muy bueno!