본문 바로가기
성장하기

[E-5] 음성 분류 STT(Speech-to-Text)에 대해서 한번 알아볼까요?

by 예시카의 일상 블로그 2021. 1. 19.

Opening


  • 오늘 노드는 음성(신호) 데이터를 다뤄보는 시간입니다. 오늘은 음성이라는 아날로그 데이터가 어떻게 디지털 신호로 바뀔 수 있는지 이론적인 내용을 살펴보시고 음성인식이 가능한 딥러닝 모델을 구현해 보는 것입니다. 이론적인 내용이 어렵게 느껴지실 수도 있습니다. 저도 어려웠어요... 이론적인 부분이 어렵게 느껴지신다면 일단 음성 데이터 자체를 학습시키기 위해서 어떤 전처리를 해줘야 하고 텐서 플로우에서 학습시키기 위해 어떤 패키지나, 함수 등을 사용하는지에 집중해서 공부하시면 좋을 거 같습니다.
  • 아마존의 알렉사, SKT의 누구, KT의 지니처럼 우리가 일상에서 가장 먼저 접할 수 있는 AI는 모두 음성 인식 스피커였던 것 기억하시나요? 최근에는 사용자의 음성기반의 소통 경험인 VUX(Voice User Experience)라는 분야에 대한 연구가 활발해지고 있습니다. 이번 노드는 이런 AI 기술 사용 트렌드에 맞춰서 음성 신호를 데이터로 변환해서 인식할 수 있는 부분에 대해서 공부하는 것이므로 흥미롭다고 할 수 있습니다.

Check-up 항목


  • supervised learning을 할 때 입력 데이터와 정답 데이터를 쌍으로 잘 관리해줘야 합니다. 텐서 플로우에서 데이터 전처리를 하여 모델이 학습을 잘할 수 있도록 텐서로 변환하는 코드가 있습니다. 이후에도 여러분들이 텐서 플로우나 케라스를 통해서 데이터를 학습시킬 때 자주 쓰이기 때문에 유념해서 공부하시면 좋을 거 같습니다.
  • code
train_dataset = tf.data.Dataset.from_tensor_slices((train_wav, train_label))
train_dataset = train_dataset.map(one_hot_label)
train_dataset = train_dataset.repeat().batch(batch_size=BATCH_SIZE)
  • 모델에 데이터를 입력시켜 학습을 시 키위 해 데이터를 적절한 shape으로 바꿔줘야 합니다. 노드에서 데이터의 shape을 확인해보고 왜 그런 shape을 가져야 하는지 생각해 보세요.
  • Skip-Connection model 구현을 하게 되면 어떤 장점이 있을까요? Identity Mapping과는 어떻게 다를까요?
    • [예시 답안]
    • Skip-Connection model 구현의 장점: CNN모델의 구조에서는 입력 부분에 가까운 하위 레이어에서는 매우 단순한 구조나 노이지 한 패턴이 보이는 low-level feature가 학습이 되고, 출력 부분에 가까운 상위 레이어에서는 구조적인 부분이 학습되는 high-level feature가 학습됩니다. 그런데 앞선 부분의 feature가 뒤쪽까지 영향이 직접적으로 전달되는 것이 아니라, 중간을 거쳐 전달되기 때문에 학습의 과정에서 크게 크게 변합니다. 그런데 shortcut connection을 추가해주게 되면 (수식적으로) 이전으로부터 얼마큼 변하는지 나머지(residual)만 계산하는 문제로 바뀌게 됩니다. 즉, 현재 레이어의 출력 값과 이전 스케일의 레이어 출력 값을 더해 입력을 받기 때문에, 그 차이를 볼 수 있게 되는 것이죠. 따라서 학습하는 과정에서 그 '조금'을 하면 되는 것이고, 더 빠르게 학습한다는 장점이 생깁니다!
    • Identity Mapping과 차이점: identity mapping은 입력값을 그대로 전달한다는 의미에서 identity입니다. 위의 shortcut connection에서 identity로 표현한 것처럼, shortcut connection과 identity mapping은 다른 것이 아니라, 의미적으로 identity는 값을 그대로 보낸다는 것입니다.

Closing


  • 음향신호에 대한 3가지 서로 다른 표현 방법(파형, 스펙트럼, 스펙트로그램)에 대해 이해한 내용을 정리하고 동료들과 함께 토론해 봅시다.
    • [예시 답안]
    • 파형(Waveform): 일정한 패턴이 반복되는 파형으로 음파의 가장 단순한 형태인 단순파(Simple Wave)와 둘 이상의 요소가 복합된 형태의 파형인 복합파(Complex Wave)로 구성되어 있음. * 푸리에(Fourier) 변환: 모든 주기파는 일정수의 단순파들의 합으로 분해하여 표현하는 것
    • 스펙트럼(Spectrum): 음향신호를 주파수, 진폭으로 분석하여 보여줌. 진폭, 주파수 도면으로써 복합파를 분석하여 그 복합파가 어떠한 단순파들의 합으로 이루어진 것인가를 보여주는 방법
    • 스펙트로그램(Spectrogram): 음향 신호를 주파수, 진폭(강도), 시간으로 분석하여 얻어진 그림. 주파수와 진폭의 시간에 따른 변화를 보여주는 삼차원적인 그림 (X축 : 시간, Y축 : 주파수, Z축 : 진폭)

참고자료


 

CS231n Convolutional Neural Networks for Visual Recognition

Table of Contents: Convolutional Neural Networks (CNNs / ConvNets) Convolutional Neural Networks are very similar to ordinary Neural Networks from the previous chapter: they are made up of neurons that have learnable weights and biases. Each neuron receive

cs231n.github.io

 

스펙토그램 이미지

댓글