1. Attention Mechanism란? seq2seq 모델은 기존의 RNN 모델과 같이 고정된 길이의 벡터를 입력으로 받아 고정된 길이의 벡터를 출력하는 구조를 가지고 있습니다. 그러나 이 구조는 고정된 길이의 벡터 압축으로 시퀀스의 길이가 길어질수록 정보의 손실이 발생할 수 있습니다. (seq2seq의 자세한 설명은 링크를 통해 확인할 수 있습니다.) 이러한 한계를 보완하기 위해 Attention mechanism이 도입되었습니다. Attention mechanism은 입력 문장의 모든 단어를 동일한 가중치로 취급하지 않고, 출력 문장에서 특정 위치에 대응하는 입력 단어들에 더 많은 가중치를 부여합니다. 이를 통해 입력과 출력의 길이가 다른 경우에도 모델이 더욱 정확하고 유연하게 작동할 수 있게됩..
1. seq2seq이란? seq2seq(sequence-to-sequence) 모델은 한 시퀀스를 다른 시퀀스로 변환하는 작업을 수행하는 딥러닝 모델로, 주로 자연어 처리(NLP) 분야에서 활용됩니다. 이 모델은 인코더(Encoder)와 디코더(Decoder)라는 모듈을 가지고 있습니다. 그래서 seq2seq를 Encoder-Decoder 모델이라고도 합니다. 이 두 모듈이 서로 협력하여 입력 시퀀스를 원하는 출력 시퀀스로 변환합니다. 아래 이미지는 seq2seq를 간단하게 도식화한 모습입니다. 인코더는 입력 데이터를 인코딩하고, 디코딩은 인코딩된 데이터를 디코딩합니다. 쉽게 예를 들면 다음과 같습니다. 비밀편지를 쓸 때, 원래의 문장을 암호화해서 다른 사람이 쉽게 알아볼 수 없도록 바꾸는 과정이 필요합..
1. Stacked RNN이란? Stacked RNN은 기본 RNN의 단순한 구조로 복잡한 문제를 해결하지 못하는 점을 보완하기 위해 개발되었습니다. Stacked RNN은 여러 개의 RNN층을 쌓아 구성합니다. 그래서 복잡한 문제에서 RNN보다 더 높은 성능을 보일 수 있었습니다. 2. Stacked RNN의 구조 Stacked RNN은 여러 개의 RNN 층이 쌓여 있는 구조입니다. 각 층의 출력은 다음 층의 입력으로 사용되며, 마지막 층의 출력이 최종 결과로 사용됩니다. 이렇게 층을 쌓음으로써 모델의 표현력을 높일 수 있습니다. Stacked RNN의 계산을 수식으로 표현하면 다음과 같습니다. 첫 번째 층 $$h_t^1 = f(W^1 * x_t + U^1 * h_{t-1}^1 + b^1)$$ 여기서 ..
과거의 RNN 모델인 LSTM과 GRU는 문장의 끝 부분의 정보를 이용할 수 없어 개체명인식과 같은 문제에서 성능이 좋지 않았습니다. 이러한 한계를 극복하기 위해, 양방향 RNN 모델이 제안되었습니다. 양방향 RNN은 시퀀스의 이전 부분과 이후 부분을 결합하여 예측하기 때문에 더욱 정확한 결과를 얻을 수 있습니다. 예를 들어, 개체명인식에서 "black"이란 단어가 검은색을 의미하는지 사람이름을 의미하는지를 알기 위해서는 해당 단어 뒤에 단어들이 어떻게 쓰였는지를 고려해야합니다. 이러한 정보를 고려하여 예측하는 것이 양방향 RNN의 큰 장점입니다. 1. Bi-RNN의 개념 양방향 RNN은 Bi-RNN이라고도 불리며, 두 개의 독립적인 RNN을 사용하여 입력 시퀀스를 처리합니다. 하나의 RNN은 정방향으로..
1. GRU란? GRU(Gated Recurrent Unit)는 순차 데이터를 처리하는 데 사용되는 모델입니다. GRU는 Reset Gate, Update Gate라는 두 개의 게이트를 사용하여 작동합니다. ResetGate(리셋 게이트)는 이전 상태를 얼마나 잊어야 하는지를 결정하며 Update Gate(업데이트 게이트)는 이전 상태의 정보를 얼마나 가져와야 할지를 결정합니다. 1.1 GRU 특징 및 장점 GRU는 LSTM(Long Short-Term Memory) 네트워크를 개선하기 위한 모델로 다음과 같은 특징을 가지고 있습니다. 정보의 흐름을 제어하기 위해 두 개의 게이트를 사용하여 계산을 효율적으로 합니다. 이러한 특징 덕분에 LSTM에 비해 빠른 학습 시간을 갖으며 낮은 계산 복잡성을 가지고 ..
LSTM(Long Short-Term Memory)은 시계열 데이터의 예측, 자연어 처리, 음성 인식, 이미지 분류 등에서 중요한 역할을 하는 모델 중 하나입니다. 이 글에서는 LSTM의 개념, 동작 원리 등에 대해 상세히 알아보겠습니다. 1. LSTM이란? 1.1 RNN의 한계 RNN(Recurrent Neural Network)은 이전의 입력 데이터를 기억해 다음 출력 값을 결정하는 모델입니다. 하지만 RNN은 입력 데이터의 길이가 길어지면 그래디언트 소실 문제(Gradient Vanishing Problem)가 발생하여 이전의 정보를 제대로 기억하지 못하는 문제가 있습니다. 1.2 LSTM의 개념 LSTM은 RNN의 그래디언트 소실 문제를 해결하기 위해 고안된 모델입니다. LSTM은 이전 정보를 오..
1. RNN이란? 순차 데이터(Sequence data) 또는 시계열 데이터(Time series data)의 경우, 이전의 정보가 다음의 결과에 영향을 미치기 때문에, 기존의 피드 포워드 신경망만으로는 충분하지 않습니다. RNN(Recurrent Neural Network)은 이러한 시간에 따라 누적된 정보를 처리할 수 있는 신경망입니다. 1.1 RNN과 피드 포워드 신경망 비교 피드 포워드 신경망은 입력이 출력층으로 향하는 구조를 가진다. 입력이 각 층에서 가중치와 편향을 곱하고 활성화 함수를 통해 변환된다. 출력은 각 층의 결과의 계산에 기반한다. 피드 포워드 신경망은 분류, 회귀 분석 등의 문제에 적합하며, 간단한 구조와 계산이 용이한 장점을 가지고 있다. RNN은 시간에 따라 누적된 정보를 처리..