Connect with us

AI 101

딥러닝에서 RNN과 LSTM은 무엇인가?

mm

자연어 처리와 AI 챗봇에서 가장 인상적인 발전은 순환 신경망 (RNN)과 롱 쇼트텀 메모리 (LSTM) 네트워크에 의해 주도된다. RNN과 LSTM은 순차적 데이터를 처리할 수 있는 특별한 신경망 아키텍처이다. 데이터의 시간적 순서가 중요할 때 이러한 아키텍처는 유용하다. LSTM은 기본적으로 RNN의 개선된 버전으로, 더 긴 데이터 시퀀스를 해석할 수 있다. RNN과 LSTM의 구조를 살펴보고, 이러한 아키텍처가 어떻게 복잡한 자연어 처리 시스템을 가능하게 하는지 살펴보자.

피드 포워드 신경망이란 무엇인가?

LSTM과 컨볼루션 신경망 (CNN) 이 어떻게 작동하는지에 대해 논하기 전에, 일반적인 신경망의 형식을 먼저 논하는 것이 좋다.
신경망은 데이터를 조사하고 관련된 패턴을 학습하여, 이러한 패턴을 새로운 데이터에 적용하고, 새로운 데이터를 분류할 수 있다. 신경망은 세 가지 섹션으로 나뉘어 있다: 입력 계층, 숨겨진 계층 (또는 여러 숨겨진 계층), 그리고 출력 계층.
입력 계층은 신경망에 데이터를 입력받는 역할을 한다. 숨겨진 계층은 데이터의 패턴을 학습하는 역할을 한다. 숨겨진 계층은 입력 계층과 출력 계층에 의해 “가중치”와 “偏差”로 연결된다. 이러한 가중치는 훈련 과정에서 조정된다. 네트워크가 훈련될수록, 모델의 예측값은 실제 훈련 레이블과 비교된다. 훈련 과정에서, 네트워크는 데이터 포인트 간의 관계를 더 정확하게 예측할 수 있어야 한다. 깊은 신경망은 중간에 더 많은 계층을 가진 네트워크이다. 모델의 숨겨진 계층과 노드가 많을수록, 모델은 데이터의 패턴을 더 잘 인식할 수 있다.
일반적인 피드 포워드 신경망은 “밀집 신경망”이라고도 불린다. 이러한 밀집 신경망은 다른 네트워크 아키텍처와 결합하여 다양한 종류의 데이터를 해석한다.

RNN (순환 신경망)이란 무엇인가?


순환 신경망은 피드 포워드 신경망의 일반적인 원리를 따르며, 내부 메모리를 주어 순차적 데이터를 처리할 수 있게 한다. “순환”이라는 용어는 입력과 출력이 루프를 형성한다는的事実에서 유래했다. 네트워크의 출력이 생성되면, 출력은 복사되어 네트워크에 입력으로 반환된다. 결정할 때, 현재 입력과 출력뿐만 아니라 이전 입력도 분석된다. 즉, 초기 입력이 X이고 출력이 H라면, H와 X1(데이터 시퀀스의 다음 입력)은 다음 라운드의 학습을 위해 네트워크에 입력된다. 이렇게 하면 데이터의 문맥(이전 입력)이 네트워크가 훈련되는 동안 보존된다.
이 아키텍처의 결과는 RNN이 순차적 데이터를 처리할 수 있게 한다. 그러나 RNN은 몇 가지 문제가 있다. RNN은 소실 경사도 문제와 폭발 경사도 문제를 겪는다.
RNN이 해석할 수 있는 시퀀스의 길이는 비교적 제한적이다. 특히 LSTM에 비해서는 더 짧다.

LSTM (롱 쇼트텀 메모리)이란 무엇인가?

롱 쇼트텀 메모리 네트워크는 RNN의 확장으로 볼 수 있다. 입력의 문맥을 보존하는 개념을 적용한다. 그러나 LSTM은 중요한 방식으로 수정되어 더 긴 입력 시퀀스를 해석할 수 있다. LSTM의 수정은 소실 경사도 문제를 해결하고, 더 긴 입력 시퀀스를 고려할 수 있게 한다.

LSTM 모델은 세 가지 구성 요소 또는 게이트로 구성된다. 입력 게이트, 출력 게이트, 그리고 잊어버리기 게이트가 있다. RNN과 마찬가지로, LSTM은 이전 시간 단계의 입력을 고려하여 모델의 메모리와 입력 가중치를 수정한다. 입력 게이트는 중요하다고 판단되는 값에 대한 결정한다. 시그모이드 함수는 입력 게이트에서 사용되며, 0은 값을 버리고, 1은 값을 보존한다. 탄젠트 하이퍼볼릭 함수도 여기서 사용되며, 입력 값의 중요도를 결정한다. -1에서 1까지의 범위를 가진다.
현재 입력과 메모리 상태가 고려된 후, 출력 게이트는 다음 시간 단계로 어떤 값을 전달할지 결정한다. 출력 게이트에서, 값은 분석되고, -1에서 1까지의 범위를 가진 중요도가 할당된다. 이는 데이터를 다음 시간 단계의 계산으로 전달하기 전에 조절한다. 마지막으로, 잊어버리기 게이트의 역할은 결정에 불필요한 정보를 버리는 것이다. 잊어버리기 게이트는 시그모이드 함수를 사용하며, 0(버림)과 1(보존) 사이의 값을 출력한다.
LSTM 신경망은 특별한 LSTM 계층과 밀집 연결 계층으로 구성된다. 데이터가 LSTM 계층을 통과한 후, 밀집 연결 계층으로 이동한다.

블로거이자 프로그래머로 Machine Learning Deep Learning 주제에 전문가입니다. 다니엘은 다른 사람들이 AI의 힘을 사회적善으로 사용하는 것을 돕기를 희망합니다.