Файл: Направление подготовки 09. 03. 04 Программная инженерия.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 29.10.2023
Просмотров: 766
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
(такимобразоммыдобиваемсятого,чтоданныенаходятся впромежутке[0;1],какивслучаеизображений).mel_spec=lsa.feature.melspectrogram(y,sr=int(AudioHyperParams.SAMPLING_RATE), n_fft=int(AudioHyperParams.FRAME_SIZE), hop_length=int(AudioHyperParams.FRAME_SIZE/4), n_mels=int(AudioHyperParams.NUMBER_OF_MEL_BANDS))log_mel_spectrogram=librosa.power_to_db(mel_spectrogram)log_mel_spectrogram=(log_mel_spectrogram−log_mel_spectrogram.min())/(log_mel_spectrogram.max()−log_mel_spectrogram.min())В режиме использования обрабатывающий компонент не обрабатывает аудиоинформацию,а передает матрицу (80, 430), заполненную нулями.
batch_first=True)Синоптические коэффициенты и начальные отклонения рекуррентных слоев инициали- зируются нулями.Вкачествеметодикиобучениябылвыбранmini-batch.Вклассическомсценарииводной итерации(предсказаниемоделииградиентныйспуск)принимаютучастиешестьвидеозапи- сей,данныеизкоторых,проходяобработку,попадаютвнейросетевойкомпонент.Значение коэффициента α в функции ошибки генератора (2.3) в нашем случае было выбра- но как 100.В качестве оптимизатора был выбран Adam. Adam — один из самых эффективных алго- ритмов оптимизации в обучении нейронных сетей [41]. Он сочетает в себе идеи RMSProp и оптимизатора импульса. Вместо того, чтобы адаптировать скорость обучения параметров на основе среднего первого момента (среднего значения), как в RMSProp, Adam также использует среднее значение вторых моментов градиентов. Используемые нами параметры оптимизато-ра: learning rate = 0.0002, β1 = 0.5, β2 = 0.999.РеализацияработыоптимизаторавыполняласьсиспользованиемфреймворкаPyTorch.generator=MainGenerator().to(device)generator_optimizer=optim.Adam(generator.parameters(),lr=TrainParams.LEARNING_RATE, betas=(TrainParams.BETA1,0.999))generator_loss=loss_from_D+TrainParams.ADDITIONAL_LOSS_COEFF*loss_from_mel generator_optimizer.zero_grad()generator_loss.backward() generator_optimizer.step()
часов.Нарисункахнижепредставленыоригинальные(снизу)исгенерированные(сверху)спек- трограммы, соответствующие одному видео.Рис.4.3–ПерваяэпохаобученияРис.4.4–ВтораяэпохаобученияСравниврезультаты,изображенныенарисунках4.3и4.4,можносделатьвывод,чтогене-ратор относительно быстро перешел от белого шума к более-менее правдоподобным данным. Подобнаябыстраяадаптациянейросетевоймоделиподнеобходимыйформатданных,пона- шемумнению,обусловленоиспользованиемнетолькоBCE(2.1),ноиMSE(2.2)вфункции ошибки генератора (2.3).ДальнейшееобучениепривелокснижениювлиянияMSEиувеличениювлиянияоценки дискриминаторанаобучениегенератора.Следуетупомянуть,чтоидискриминаторнапозд- нихэтапахобученияснизилсобственнуюфункциюошибки(2.4)исталэффективнееопреде- лять оригинальную спектрограмму от сгенерированной.Рис.4.5–ДевяностовосьмаяэпохаобученияГрафикиошибокпредставленынарисунках4.6и4.7После обучения было проведено экспериментальное исследования работы модуля. В каче- стветестовойвыборкибыловзято40видеоизтогожеклассанабораданныхAudioSet.Врежиме использованиянейросетевойкомпонентвкачествевходноймел-спектрограммыиспользует нули.Исходя из рис. 4.8 и 4.9 можно сделать вывод
-
Нейросетевой компонент
batch_first=True)Синоптические коэффициенты и начальные отклонения рекуррентных слоев инициали- зируются нулями.Вкачествеметодикиобучениябылвыбранmini-batch.Вклассическомсценарииводной итерации(предсказаниемоделииградиентныйспуск)принимаютучастиешестьвидеозапи- сей,данныеизкоторых,проходяобработку,попадаютвнейросетевойкомпонент.Значение коэффициента α в функции ошибки генератора (2.3) в нашем случае было выбра- но как 100.В качестве оптимизатора был выбран Adam. Adam — один из самых эффективных алго- ритмов оптимизации в обучении нейронных сетей [41]. Он сочетает в себе идеи RMSProp и оптимизатора импульса. Вместо того, чтобы адаптировать скорость обучения параметров на основе среднего первого момента (среднего значения), как в RMSProp, Adam также использует среднее значение вторых моментов градиентов. Используемые нами параметры оптимизато-ра: learning rate = 0.0002, β1 = 0.5, β2 = 0.999.РеализацияработыоптимизаторавыполняласьсиспользованиемфреймворкаPyTorch.generator=MainGenerator().to(device)generator_optimizer=optim.Adam(generator.parameters(),lr=TrainParams.LEARNING_RATE, betas=(TrainParams.BETA1,0.999))generator_loss=loss_from_D+TrainParams.ADDITIONAL_LOSS_COEFF*loss_from_mel generator_optimizer.zero_grad()generator_loss.backward() generator_optimizer.step()
- 1 ... 7 8 9 10 11 12 13 14 15
Выводы
В данном разделе было описано построение модуля генерации аудиоинформации на осно-ве видеозаписи, а именно:-
Описаны требования к модулю. -
Выбор инструментальных средств: языка программирования, фреймворков и библиотек. -
Описана общая архитектуры модуля. -
Описана программная реализация модуля и этапы тестирования.
-
Экспериментальное исследование метода генерации аудиоинформации на основе видеозаписи
-
Набор данных для проведение экспериментальных исследований
-
Экспериментальная оценка эффективности модуля метода генерации аудиоинформации на основе видеозаписи
часов.Нарисункахнижепредставленыоригинальные(снизу)исгенерированные(сверху)спек- трограммы, соответствующие одному видео.Рис.4.3–ПерваяэпохаобученияРис.4.4–ВтораяэпохаобученияСравниврезультаты,изображенныенарисунках4.3и4.4,можносделатьвывод,чтогене-ратор относительно быстро перешел от белого шума к более-менее правдоподобным данным. Подобнаябыстраяадаптациянейросетевоймоделиподнеобходимыйформатданных,пона- шемумнению,обусловленоиспользованиемнетолькоBCE(2.1),ноиMSE(2.2)вфункции ошибки генератора (2.3).ДальнейшееобучениепривелокснижениювлиянияMSEиувеличениювлиянияоценки дискриминаторанаобучениегенератора.Следуетупомянуть,чтоидискриминаторнапозд- нихэтапахобученияснизилсобственнуюфункциюошибки(2.4)исталэффективнееопреде- лять оригинальную спектрограмму от сгенерированной.Рис.4.5–ДевяностовосьмаяэпохаобученияГрафикиошибокпредставленынарисунках4.6и4.7После обучения было проведено экспериментальное исследования работы модуля. В каче- стветестовойвыборкибыловзято40видеоизтогожеклассанабораданныхAudioSet.Врежиме использованиянейросетевойкомпонентвкачествевходноймел-спектрограммыиспользует нули.Исходя из рис. 4.8 и 4.9 можно сделать вывод
, что нейросетевой компонент эффективно обучился определять характеристики звука по видеоинформации. Стоит отметить, что задача генерации аудиоинформации только соответсвующей видео не решена до конца - модель ге- нерирует избыточное количества шума и не всегда создает необходимую периодичность сиг- налов.
Рис. 4.6 – Средняя ошибка дискриминатора в зависимости от эпохи
Рис. 4.7 – Средняя ошибка генератора в зависимости от эпохи
- 1 ... 7 8 9 10 11 12 13 14 15