예민한카일

 

안녕하세요 예민한 카일입니다

 

오늘은 딥러닝에서 사용되는 RNN, LSTM, FMCC 등에 대해서 알아 보겠습니다.

 

1. RNN

: 순차적인 방식으로 input을 처리한다. 순차적인 방식이란 현재 단계(step)의 output을 계산할때 이전 단계의 context를 이용하는 것을 의미 한다. 이 방식은, 현재 단계의 input이 다른 단계에 걸쳐서도 자신의 정보를 전달할 수 있게 한다.

하지만 RNN도 결점이 있어 깊은 신경망에 사용할 수 없다. 쉽게 말하면 "장기 기억"을 할 수가 없다.

 

2. LSTM

: LSTM은 RNN의 한 종류이며 RNN과 비슷하게 기능히자만 LSTM의 게이트 매커니즘(gate mechanism)은 RNN과 다르다. 이 특성은 RNN의 "shot-term memory(단기기억)" 문제를 해결한다.

 

LSTM의 "Long Shot Term Memory (장기기억)"을 보존하는 능력에 있다. 이 능력은 특히 자연어 처리(NPL)에 중요하다. 예를 들어 주어진 입력값을 기반으로 텍스트를 생성하는 모델이 있다고 하자. 입력값의 천 문장에 "I have a dog named Cliff"로 시작한다. 그리고 그 다음 문장에는 개나 애완동물과 관련없는 문장들이 나나타고 "나"는 다시 Cliff를 데리고 왔는데 내 애완동물 Cliff는 무엇인지를 모델은 추론해야 한다. 아래의 빈칸에 들어갈 단어를 추론해야 하는 것이다.

" however, Cliff, my pet _______"

"pet"이라는 단어가 빈칸 앞에 출현했으므로, RNN은 다음 단어가 "pet"으로 기를 수 있는 동물 이라는것을 추론할 수 있다.

 

하지만 shor-term memory로 인해 RNN은 마지막 부분의 문장들로부터의 정보만을 사용할 수 있을 것이다. RNN은 pet이 어떤동물인가에 대한 단서를 갖고 있지 않다. 왜냐하면 그것과 관련된 정보들은 텍스트의 시작 부분에 있으므로 이미 잊어 버렸기 때문이다.

 

반면 LSTM은 "나"의 펫이 강아지라는 텍스 초기 부분의 정보를 유지 할 수 있으므로, 모델 빈칸에 dog인 것을 추론할 수 있게 된다.

LSTM 구현 기술

 

- LSTM ( Long Shot Term Memory )  구조의 순환 신경망은 3개의 게이트를 사용하여, 시간 단위로 입력 노드를 통해 들어오는 데이터를 입력, 저장, 출력할 수 있도록 제어함으로써 일반 DNN 대비 장기기억(과거의 정보를 참조하는)에 대해  연결 성능치가 높음.

- 일반 순환 신경망 ( RNN ) 대비 어느 순간 학습이 더 이상 잘 되지 않는 문제인 Vanishing Gradient 문제를 해결 하여, 학습 데이터의 증감에 의해 인식률 향상을 높게 기대할 수 있음.

- 양방향 ( Bi-directional ) 방식의 은닉층 뉴럴 네트웍은 포워드 방향만을 학습하는 단방향( Uni-direction )에 비해 입력 시퀀스의 양방향의 가중치를 모두 학습하기 때문에 높은 인식 성능치를 기대할 수 있음.

- LSTM의 은닉층 양방향 뉴럴 네트웍 구성으로 기존 DNN 대비 평균 10% 이상의 높은 인식률을 달성할 수 있으며, 특히 주위 환경에 대해 강인한 성능을 가지고 있어, 음성인식의 최적 딥러닝 기술임

 

MFCC란(Mel Frequency Cepstrum Coefficients)???

 

오디오 신호에서 추룰할 수 있는 feature로, 소리 고유한 특징을 나타내는 수치입니다. 주로 음성인식, 화자인식, 음성합성 등 오디오 도메인 문제를 해결하는데 사용 됩니다.

 

MFCC 추출과정

PCM(pluse code modulation)이란????

: 음성신호를 "0" "1"로 디지털 신호화한 상태에서 기록, 재생 또는 신호의 전송이 이루어지는 방식으로 이론상 신호의 변질이 업어 큰 장점이 있다. 현재 사용하고 있는 변조 방식 중에 가장 우수한 것으로, 전송 도중 진폭 변동이나 왜곡이 전혀 없다.

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band