Предложения по сопоставлению устных и письменных цифр с машинным обучением - PullRequest
0 голосов
/ 30 мая 2019

Я работаю над проблемой машинного обучения, которая оказывается очень сложной.Я хочу научиться распознавать, относятся ли изображение рукописной цифры и запись произносимой цифры к одному и тому же или другому номеру.False: изображение и запись относятся к разным номерам, а True: изображение и запись относятся к одному и тому же номеру.

Данные:

Каждое изображение представлено в виде 784-мерного вектора, который представляет собой изображение в градациях серого 28x28 пикселей.Интенсивность пикселей варьируется от 0 (черный) до 255 (белый).Каждая запись звука с произнесенным именем цифры (например, «ноль», «один» и т. Д., Произносится на арабском языке) дается как массив предварительно извлеченных аудиофункций, так называемых Mel-Frequency Cepstral Coefficients (MFCC).Эти функции кодируют характеристики 10-миллисекундного кадра речи.Каждая запись имеет переменную длину, и, таким образом, каждый пример задается в виде массива формы (N, 13), где N - количество кадров в записи, а 13 - количество функций MFCC.

Дляэта проблема у меня есть 5 наборов данных:

  • Written_train.npy: массив с 45 000 строк и 784 столбцов
  • Written_test.npy: массив с 15 000 строк и 784 столбцов
  • Spoken_train.npy: массив с 45 000 строк.Каждая строка является объектом формы (N, 13)
  • Spoken_test.npy: массив с 15 000 строк.Каждая строка является объектом формы (N, 13)
  • Match_train.nyp: массив с 45 000 логических значений (False или True)

Обратите внимание, что нет никаких меток дляписьменные и устные цифры.

В сумме: я хочу создать массив из 15000 логических значений, определяющий, соответствуют ли изображения и звуки из тестовых данных.

Текущие подходы:

Один из подходов, которые я попытался реализовать, - это кластеризация как устных, так и письменных данных, а затем обучение классификатора, чтобы увидеть, какие кластеры соответствуют.Однако у меня нет способа проверить, является ли кластеризация точной в аудиоданных.

Еще один подход, который я пробую, состоит в объединении обоих наборов данных для подачи в MLP.Здесь, однако, я не уверен, как подходить к объединению данных.

Наконец, я также нашел статью, описывающую сеть, которая объединяет смешанные данные: https://www.pyimagesearch.com/2019/02/04/keras-multiple-inputs-and-mixed-data/

Вы рекомендуетеисходя из одного из упомянутых выше подходов?Или есть другой / более простой метод, который мне не хватает.

Заранее спасибо!

1 Ответ

0 голосов
/ 30 мая 2019

Одним из решений для этого будет два запуска двух моделей.Один для распознавания изображения и этой модели может быть сверточной нейронной сетью.Вы сможете найти несколько примеров CNN для распознавания чисел.

Вторая часть вашего решения будет заключаться в использовании RNN или любой простой библиотеки распознавания слов для классификации разговорного номера.Вы также найдете достаточно примеров для этого.

Последней задачей будет сравнение прогноза обеих моделей и проверка их соответствия.Для этого сохраните прогнозы в списке для моделей, а затем используйте любой показатель оценки, который вы хотите использовать для этого.

...