|
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 15
|
|
Распознавание личности по голосу (на основе нейронных сетей)14.04.2015, 13:43. Показов 2807. Ответов 6
Метки нет (Все метки)
Такая задач. Записали фонетически сбалансированный текст. (несколько человек) Разделили его на фонемы. Написали программу, которая будет выделять отличительные признаки (на основе некоторых преобразований). Получился текстовый файл с параметрами. Задача состоит в следующем. Создать, обучить нейронную сеть, чтобы потом, когда записывался звук, она говорила, кто этот человек(если он есть в базе). Проще всего реализовать в среде матлаб. Как я понимаю, надо создать нейронную сеть такого принципа. У нас есть выходные данные(как эталон) и будут входные. Если они совпадают (за исключением погрешности), то это тот человек, а если нет, то не тот. Но вот с реализацием проблемы. Буду рад любым советам.
Добавлено через 6 минут Примерный план такой
0
|
|
| 14.04.2015, 13:43 | |
|
Ответы с готовыми решениями:
6
Классификация текста на основе нейронных сетей Распознавание личности по отпечаткам пальцев Тема нейронных сетей |
|
0 / 0 / 0
Регистрация: 25.04.2014
Сообщений: 3
|
|
| 15.04.2015, 11:17 | |
|
Задача весьма интересная! Я думаю, для этого подойдет нейронная сеть прямого распространения. Если количество распознаваемых личностей невысоко, то рекомендую использовать сеть типа patternnet(hiddenSizes,trainFcn,performF cn). У неё количество нейронов в выходном слое соответствует числу распознаваемых объектов. Эта сеть эффективно работает в задачах классификации объектов.
0
|
|
|
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 15
|
||||||
| 16.04.2015, 17:54 [ТС] | ||||||
|
А не подойдет например слой Кохонена. Его как-то проще реализовать. Смотрите:
В файле проба.txt параметры NFC и FFC.
И потом берем какой-нибудь произвольную фонему, которую надо распознать. Вставляем. И получаем к какому кластеру он относиться. И так весь текст. он нам скажет, к какому кластеру, какая фонема подходит. Мы спрогнозируем результат. Добавлено через 17 минут Каждая фонема делится на что-то вроде окна. Например: Кликните здесь для просмотра всего текста
-996.461 -305.397
157.404 145.242 74.8433 -31.9499 31.397 24.8227 37.4218 -15.4981 40.452 -12.2773 12.3759 -62.6274 -16.4842 -4.92772 -14.5759 -7.32475 3.06139 -13.2336 5.39452 -27.3361 -6.19559 -4.54637 -8.42717 -14.8745 -932.013 -219.946 207.585 177.656 66.7402 -54.2249 14.2191 20.6341 36.7932 -11.7943 50.0151 -17.4747 13.2619 -69.5255 -28.3025 -10.2579 -16.1496 0.302608 9.88504 -23.8266 0.00115526 -23.9354 -12.6043 0.959531 -6.91991 -17.3104 -909.888 -195.258 227.109 188.069 68.4174 -61.5598 8.06961 5.39368 29.3391 -11.4077 47.648 -17.3823 15.8036 -63.8765 -26.7964 -19.3936 -13.2079 -4.35472 13.2673 -32.5615 -2.5645 -30.4017 -16.5222 1.83877 -9.03047 -19.6733 -945.923 -238.738 205.731 176.825 80.6934 -47.8206 15.7183 1.76602 24.2038 -19.4101 33.5537 -7.39212 8.64758 -46.2897 -12.6465 -8.24538 -0.0493044 -15.3234 17.7657 -34.9377 7.48875 -34.8964 -15.3293 -0.6326 -18.7806 -14.7913 -976.993 -271.951 156.603 123.302 60.7617 -29.6311 53.7183 58.4914 61.064 -26.3952 23.581 -19.1581 1.69591 -38.2568 19.0127 -8.48652 9.80615 -51.7677 -16.8786 -6.18391 -11.5443 -12.9022 0.582928 -25.6976 -3.76262 -14.2515 -756.263 -34.2384 233.506 149.771 -5.88838 -116.531 32.7482 15.9187 4.26932 -65.8851 12.7089 -19.1872 -21.4773 -52.5676 -11.2818 3.28389 2.14128 -24.2353 -21.4061 2.04776 -8.17066 8.94301 -17.0779 -7.17531 3.67261 -15.6825 -707.368 25.9415 273.585 175.764 -5.69964 -134.092 7.21188 -14.7058 -12.6425 -59.6274 28.2877 -17.3982 -41.7874 -60.1079 -29.5749 24.7311 37.8551 -28.5682 -21.7882 -25.0195 -23.2677 34.2904 -13.3947 -19.9255 1.78822 -19.5144 -716.045 20.7601 274.338 180.85 10.3922 -120.97 6.06493 -27.0913 -17.578 -65.602 19.1899 -18.4495 -48.884 -50.2853 -31.62 33.5452 43.0457 -29.5714 -9.96101 -37.0829 -10.1458 21.2902 -8.73799 -16.9659 -10.2996 -10.3717 Это фонема д. Как моей сети загрузить данные. и сказать, что это именно д. И точка. Добавлено через 1 час 41 минуту http://nauka-rastudent.ru/13/2355/ Вот здесь показан пример, как устроена работа нейронной сети, но с изображениями. Вместо входных картинок- можно использовать текстовые файлы с параметрами.
0
|
||||||
|
0 / 0 / 0
Регистрация: 25.04.2014
Сообщений: 3
|
||||||
| 16.04.2015, 19:58 | ||||||
|
Зачем вам использовать слой Кохонена, который предназначен для кластеризации данных, т.е обучение без учителя (а у вас есть учитель!) . С ним вы не получите нужного результата. К тому же однослойная сеть вряд ли справится с вашей задачей.
У вас есть обучающая выборка(пары вход-выход). Попробуйте использовать сеть patternnet. Она состоит из двух слоев. Количество нейронов в выходном слое равно количеству распознаваемых классов. Количество нейронов в скрытом слое потом можно определить опытным путем (для начала оставить равным 10). Добавлено через 38 минут Входные данные организуйте матрицей МхN, где M - количество входов сети, т.е. количество значений в фонеме (26), N - количество фонем. И соответственно целевая матрица LxN, где L - количество распознаваемых классов, т.е количество выходов сети, а N - количество фонем. При этом каждый столбец этой матрицы состоит из нулей, кроме одной строки, в которой стоит единица. Эта строчка и будет соответствовать правильной фонеме. Добавлено через 11 минут
0
|
||||||
|
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 15
|
|
| 16.04.2015, 21:11 [ТС] | |
|
Я только недавно начал разбираться в нейронных сетях, а знания матлаба у меня вообще нулевые.
смотрите как сделал. Прочитал 3 фонемы clear all FonemaD=load('d_wav_MFCC_GFCC.txt') FonemaR=load('r_wav_MFCC_GFCC.txt') FonemaY=load('y_wav_MFCC_GFCC.txt') FonemaR1=load('r(zahuml)_wav_MFCC_GFCC.t xt') 4 фонева- это некоторые изменения монемы р, для итоговой проверки. потом создаю матрицу. Alfavit=[FonemaD, FonemaR, FonemaY]; (где он начинает ругаться) потом создаю переменные, которые добавлю в Target data. а именно: T=eye(208); T1=T; T2=T; потом в окне самой программы ввожу NNtool. Открывается меню создания сети. где ввожу входные данные. потом создаю сеть. обучаю ее матрицей (если она заработает) а потом проверяю контрольным txt. Все описал, как должно идти. Но в идеале не все так прекрасно. Добавлено через 27 минут Обучаю 1 фонему, норм, 2 тоже норм. на 3 выдает:Insufficient number of outputs from right hand side of equal sign to satisfy assignment. Error in ==> nntool at 681 [errmsg,errid] = me.message;
0
|
|
|
0 / 0 / 0
Регистрация: 25.04.2014
Сообщений: 3
|
|
| 17.04.2015, 20:51 | |
|
Предлагаю вам попробовать решить более простую задачу, например, построить нейронную сеть, которая выполняет операцию "Исключающее ИЛИ", чтобы понять принцип работы и какие данные, как и куда нужно загружать. Примеры в интернете есть. А потом уже переходить к более сложной вашей задаче.
0
|
|
|
0 / 0 / 0
Регистрация: 01.05.2014
Сообщений: 15
|
|
| 17.04.2015, 23:20 [ТС] | |
|
Для меня это не вариант..Времени нету. так что приходиться изучать все сразу
0
|
|
| 17.04.2015, 23:20 | |
|
Помогаю со студенческими работами здесь
7
Применимость нейронных сетей Примеры нейронных сетей Комбинирование нейронных сетей Знания для нейронных сетей Применение свёрточных нейронных сетей Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|