인공신경망은 인간 신경망의 원리와 구조를 모방해서 만들어진 기계학습 알고리즘입니다
인공신경망(ANN)의 기본 구조와 DNN, RNN에 대해 간단히 설명했지만, 이번 카드뉴스에서는 RNN과 RNN의 일종인 LSTM에 대해 설명하겠습니다.
일단 아까 말씀드렸던 RNN 기억나시죠?RNN이란 반복적이고 순차적인 데이터 학습에 특화된 인공신경망의 일종으로 순환신경망이라고도 부릅니다.
RNN은 순차 input 처리 합니다.
순차방식이란 현 단계(step)의 output을 계산할 때 앞 단계의 context를 이용하는 것을 의미합니다.
이 방법에서는 현 단계의 input이 다음 단계를 거쳐 자신의 정보를 전달할 수 있습니다.
출처 : https : // blog . floydhub . com /
하지만 RNN에는 한 가지 문제점이 있습니다.
데이터의 길이가 길어질수록 전방의 데이터 내용이 후방으로 전달되지 않는 장기 의존성의 문제입니다.
출처 : https : // blog . floydhub . com /
예를 들어서 주어진 입력값을 바탕으로 텍스트를 생성하는 모델이 있다고 가정을 해보겠습니다.
- 처음에 “I have a dog named Cliff(나는 Cliff라는 강아지가 있다)”라고 언급한 후 2. 다른 이야기를 하다가 3. “However, CliFF, my pet________________”라고 텍스트 생성 요구 사항입니다.
- RNN에서는 이미 많은 데이터가 지나갔기 때문에 중요도가 낮아진 Cliff가 강아지라는 사실을 잊어버렸을 확률이 높습니다.
RNN과 LSTM 비교 (출처:https://blog.floydhub.com/)
그리고 이러한 ‘장기의존성’ 문제를 해결한 모델이 LSTM(Long Shot Term Memory network)입니다.
LSTM은 Long-term Memory(장기기억)를 저장하는 능력을 가지고 있습니다.
LSTM 구조의 순환 신경망은 3개의 게이트를 사용하여 시간 단위로 입력 노드를 통해 들어오는 데이터를 입력, 저장, 출력할 수 있도록 제어함으로써 일반 DNN 대비 장기 기억을 하는 연결 성능치가 높습니다.
( 출처 : https : // blog . floydhu b.com/)
이러한 장기기억능력을 사용한 LSTM을 적용한 텍스트 생성 모델이 있다고 가정해 보겠습니다.
아마 Cliff가 강아지라는 걸 얘기해도 LSTM은 그걸 잊지 않고 마지막에 “However, Cliff, my pet dog…” 라는 텍스트를 생성할 수 있을 겁니다.
이번 카드뉴스에서는 M-STT 엔진에 사용된 LSTM에 대해서 알아봤습니다.
다음 카드 뉴스에서는 M-STT 엔진에 사용된 CNN에 대해 설명하겠습니다.
인공지능이 어디까지 발전했는지 궁금하신 건 뭐죠?음성인식 솔루션 M-STT를 바로 만나보세요!
해당 솔루션에 대해 궁금하신 점이 있으시면 홈페이지에 문의하시거나 아래 연락처로 연락 주시기 바랍니다.