Deep Learning 21

[개념 정리] 음성 신호 처리 개념들 키워드 정리

Text to Speech 분야를 공부하면서 딥러닝 모델을 학습시키기 전에 음성 데이터를 어떻게 input 형태로 변환하여 주는지 궁금했다. 이를 위해 음성 신호를 처리하는 기법들 중 기초적인 개념들에 대해 키워드 식으로 알아보자. Sampling rate, SR(샘플링레이트) - 이산적 신호를 얻기 위한 아날로그 신호의 단위 시간당 샘플링 횟수. - 단위는 헤르츠 Hz (1/s, s^-1) - 샘플링 레이트에 따라 푸리에 변환으로 계산되는 최대 주파수 정보가 정해진다 Discrete Fourier Transform, DFT(이산 푸리에 변환) - 음성 신호를 0 ~ sampling rate Hz 범위에 해당하는 주파수 별 크기(magnitude) & 위상(phase) 값으로 변환 - 그냥 푸리에 변환(..

[정리] Neural Vocoder에 대해 알아보자

이전 글에서는 Text-to-Speech(TTS)의 연구 동향에 대해 알아보았다. 이번 글에서는 TTS에서 Vocoder 부분에 대해 좀 더 자세히 알아보고자 한다. (HiFi-GAN [1] 논문의 introduction 내용을 주로 참고하였음) Vocoder의 역할 Neural Speech Synthesis는 크게 2-stage pipeline으로 이루어져 있다. Text로부터 Mel-spectrogram이나 linguistic feature와 같은 low resolution intermediate representation을 예측 Low resolution representation으로부터 raw waveform audio를 예측 여기서 Vocoder의 역할은 2번째 stage를 수행하는 것이다. 위..

대표적인 TTS Datasets (LJ, KSS, VCTK)

음성 합성 분야에서 주로 사용하는 데이터셋이 있어서 이를 간략하게 정리해 보았다. LJ speech dataset (English) https://keithito.com/LJ-Speech-Dataset/ The LJ Speech Dataset The LJ Speech Dataset This is a public domain speech dataset consisting of 13,100 short audio clips of a single speaker reading passages from 7 non-fiction books. A transcription is provided for each clip. Clips vary in length from 1 to 10 seconds and have keith..

[Intro] Speech Synthesis | Text to Speech (TTS)

Speech Synthesis 혹은 Text to Speech(TTS)로 부르는 음성 합성 연구 분야는 입력 문자에 대응하는 가상의 자연스러운 음성을 생성해내는 것을 목표로 한다. 음성 합성에 대한 연구가 어떻게 진행되어 왔는지 또 딥러닝 기술이 어떻게 접목이 되었는지에 대해 살펴보도록 하자 음성 합성 기술 연결 방식 (Concatenative Synthesis) 초창기 연구 방식인 것 같은 연결 방식은 Unit Selection Synthesis라고도 불린다. 말 그대로 입력에 대응하는 값을 선택(selection)하여 음성을 합성화는 연구 방식이다. 이를 위해 소리를 음편(Speech unit)이라는 가장 작은 단위로 분해해서 데이터베이스에 저장한다. 연결 방식의 음성 합성은 가장 간단하지만 모든 입..

[개발팁] torch.nn 과 torch.nn.functional 어느 것을 써야 하나?

파이토치를 쓰다보니 같은 기능에 대해 두 방식(torch.nn, torch.nn.functional)으로 구현 된 것들이 있다. 관련된 글들을 찾아보니 결론은 두 방식 다 같은 결과를 제공해주며 편한 것으로 선택해서 개발하면 된다고 한다. What is the difference between torch.nn and torch.nn.functional? What is the difference between torch.nn and torch.nn.functional? They look like a little same… so, is there any difference between them? discuss.pytorch.org torch.nn.CrossEntropyLoss / torch.nn.funct..

[Label Smoothing] 요약 정리

Label Smoothing논문 1. Label Smoothing? 모델이 Ground Truth(GT)를 정확하게 예측하지 않아도 되게 만들어 주는 것. 모델이 정확하지 않은 학습 데이터셋에 치중되는 경향(overconfident)을 막아 calibration 및 regularization 효과를 가질 수 있다. 2. Why? 보통 학습에 사용되는 데이터셋은 사람이 직접 annotation 하기 때문에 실수의 가능성이 존재하며 100% 정확한 GT 데이터로 생각하면 안된다. 즉, GT데이터가 잘 정제되어 있지 않다면 오분류된 데이터(mislabeled data)가 있을 수 있어 모델이 이를 유하게 학습시키도록 하면 더 효과적이기 때문이다. 3. 정말 좋아? Label smoothing은 mislabel..

[NVIDIA APEX] Amp에 대해 알아보자 (Automatic Mixed Precision)

version update 20-07-25 : amp 모듈이 pytorch 1.5.0 버전부터 기본 라이브러리에 추가되고 있음! pytorch 를 이용해 모델을 학습하다 보면 더 많은 batch size를 학습시키고 싶고 더 빠르게 학습시키고 싶은 생각이 굴뚝같아진다... 하지만 우리가 가지고 있는 데스크탑이나 서버 환경을 물리적으로 확장시키는 방법은 돈이 많이 든다. 돈을 들이지 말고 코드 몇 줄 만으로 모델을 최적화 시키고 batch size를 늘릴 수 없을까? https://github.com/NVIDIA/apex NVIDIA/apex A PyTorch Extension: Tools for easy mixed precision and distributed training in Pytorch - NV..

[용어 정리] Visual Grounding 이란

ICCV 2019 논문 리뷰 중에 Visual Ground 이라는 키워드가 계속 보이길래 찾아보았다. Visual Grounding General task of locating the components of a structured description in an image - Conser, Erik, et al. "Revisiting Visual Grounding." arXiv preprint arXiv:1904.02225 (2019) 즉, 이미지에서 어느 부분을 묘사하였는지 bounding box로 표시하는 것을 의미하며 묘사는 정형화 된 표현으로 제공된다. 그리고 structured description은 대표적으로 'scene graph' 형태나 'subject-predicate-object' 형..

[용어 정리] class-agnostic 이란

ICCV 2019 논문 중 'ShapeMask: Learning to Segment Novel Objects by Refining Shape Priors'를 리뷰하다가 발견된 용어 'class-agnostic' class-agnostic는 주로 Object Detection 분야에서 사용되는데 agnostic은 'someone who does not know'와 같은 의미로 논문에서는 '물체의 종류를 모르는' 의미로 사용되는 것 같다. 그럼 왜쓰일까? 이와 관련하여 Quora 사이트에 올라온 질문 글을 참고하였다.(https://www.quora.com/What-does-%E2%80%9Cclass-agnostic%E2%80%9D-in-most-of-the-object-detection-papers-mea..

[용어 정리] Salient Object Detection(SOD) 이란 - 중요 물체 검출

ICCV 2019 논문들을 살펴보다가 Object Detection이 아닌 'Salient' Object Detection으로 표현하는 논문들이 있길래 무엇이 다른가 찾아보게 되었다. 맥락은 비슷하지만 약간의 차이가 있으니 정리를 해두자 :) (처음에는 Silent로 자꾸 보여서 '조용한 물체를 찾는다고..?'라고 생각이 들게 만듦;;) Salient란 캠브릿지 영영사전에 의하면 'The salient facts about something or qualities of something are the most important things about them'로 '중요한' 특징에 대한 수식어로 받아들여진다. SOD의 의미를 알아보기 위해서 이에 대한 논문을 살펴보자[1]. Salient Object De..