-
Seq2Seq Decoder의 출력층: 은닉 상태로부터 실제 단어를 출력하기까지 TOP NEW
이전 글에서 알아봤듯이, Seq2Seq 모델의 디코더에서는 각 시점마다 은닉 상태($h_t^d$)를 갱신하며, 이 상태를 기반으로 해당 시점의 최종 출력값($o_t$)을 결정합니다. 하지만 이 은닉 상태는 숫자로 표현된 내부 벡터일 뿐, 우리가 원하는 구체적인 단어(“la”, “musique” 등)는 아닙니다. 따라서 디코더에는 이 은닉 상태를 바탕으로 어떤 단어를 출력할지 결정하는 출력층(output layer)이 포함됩니다. 출력층의 내부 동작은 세 단계로 구성됩니다. Decoder 출력층 개요 STEP 1. Affine 연산: 점수(score) 계산하기 먼저, 디코더의 은닉 상태($h_t^d$)에 선형... Read More
-
Seq2Seq: 인코더와 디코더로 이루어진 시퀀스 변환의 기본 구조 TOP NEW
Seq2Seq(Sequence-to-Sequence)는 입출력 언어가 다른 언어 번역이나, 주어진 질문에 대해 응답을 생성하는 대화 모델처럼 입력 시퀀스와 출력 시퀀스의 길이가 다른 경우를 처리할 수 있는 모델입니다. 이번 글에서는, RNN 기반의 모델을 응용한 Seq2Seq가 어떤 구조로, 어떤 원리로 동작하는지 알아보겠습니다. 딥러닝에서 가장 기본적인 구조인 ANN(Artificial Neural Network, 관련 글)은 고정된 길이의 입력만 받을 수 있습니다. 하지만 현실의 데이터는 길이가 일정하지 않은 경우가 많습니다. 이를 처리하기위해 순환 신경망(RNN, 관련 글)과 RNN 기반의 모델인 LSTM(... Read More
-
GRU(Gated Recurrent Unit): 더 가벼운 구조로 LSTM을 대체할 수 있을까? TOP NEW
이전 글에서 RNN의 한계를 해결하기 위해 도입된 게이트(Gate) 개념과, 이를 활용한 LSTM의 구조를 살펴보았습니다. LSTM은 forget gate(망각 게이트), input gate(입력 게이트), output gate(출력 게이트)를 활용해 장기 기억과 단기 기억에서 어떤 정보를 유지하고, 삭제하며, 새로운 정보를 추가할지를 조절함으로써 RNN이 가진 기울기 소실 문제를 완화할 수 있었습니다. 하지만 LSTM의 구조는 비교적 복잡하고 연산량이 많아 학습 속도가 느려지는 단점이 있습니다. 여기서 GRU(Gated Recurrent Unit)가 등장합니다. GRU는 LSTM과 유사한 성능을 유지하면서도, ... Read More
-
LSTM(Long Short-Term Memory): Gate를 도입해 RNN의 한계를 완화한 모델 TOP NEW
우리는 유튜브에서 자동 자막을 보거나, 번역 앱으로 외국어 문장을 번역하는 등 기계가 생성한 언어를 자주 접합니다. 이전 글에서 우리 언어인 자연어처럼 시간에 따른 의미가 변하는 데이터를 시퀀스라고 하고, 이를 다루는 딥러닝 모델로 RNN이 있다고 했습니다. RNN은 전통적인 ANN과 달리 순환구조를 통해 연속된 데이터를 처리하는 데에 적합합니다. 그러나 RNN에도 한계가 존재했는데, 바로 기울기 소실로 인한 장기 의존성 문제였습니다. 오늘은 RNN의 이 한계를 극복하기 위한 대안으로 제시된 게이트라는 개념과, 이를 적용한 LSTM의 구조를 뜯어보겠습니다. 정보의 전달 정도를 조절하는 Gate(게이트) 옛날 목... Read More
-
순환신경망(Recurrent Neural Network, RNN) TOP NEW
앞선 글에서 알아본 전통적인 인공 신경망은 데이터 속 패턴을 학습해 새로운 값을 예측해 낼 수 있습니다. 순전파를 통해 임의의 가중치로 모델의 예측값을 계산해 내고, 역전파를 통해 예측값과 정답 사이의 오차를 줄이는 방향으로 가중치를 업데이트했습니다. 이 모든 과정이 데이터의 패턴을 가장 잘 나타내는 가중치를 찾아내는 학습이었죠. 하지만 이 전통적인 인공 신경망은 순서가 있는 순차 데이터(sequential data, 이하 시퀀스 혹은 시퀀스 데이터)를 학습하기에 적합하지 않습니다. 이번 글에서는 이 시퀀스를 다루는 시퀀스 모델 중 가장 기본적인 인공신경망 모델인 순환 신경망(Recurrent Neural Netw... Read More
-
ANN의 학습 TOP NEW
인공신경망(Artificial Neural Network, ANN)은 데이터를 학습하고 패턴을 인식하며 새로운 데이터를 예측하는 혁신적인 알고리즘입니다. 앞선 글에서는 인공신경망의 역사와 개념을 살펴보며, 신경망이 어떻게 발전해 왔는지 이해했습니다. 이번 글에서는 ANN의 학습 과정을 자세히 탐구합니다. 임의의 가중치로 패턴의 예측값을 찾아내는 순전파(Forward Propagation)와 손실을 줄이기 위해 가중치를 업데이트하는 역전파(Backpropagation)의 원리를 설명하며, 이를 실제로 구현해볼 것입니다. 학생들의 학교 생활 데이터를 활용해 대입 합격 여부를 예측하는 신경망을 구축하면서, ANN의 작... Read More
-
ANN의 발전과 구조 TOP NEW
앨런 튜링의 논문, <Computer Machinery and Intelligence>의 일부 인간은 오랜 세월 동안 기계가 인간처럼 사고할 수 있을지 호기심을 가져왔습니다. 1950년, 엘런 튜링(Alan Turing)은 자신의 논문 <Computer Machinery and Intelligence>에서 “Can machines think?”라는 질문을 던지며, 기계의 지능에 대한 논의를 본격적으로 시작했습니다. 그는 이 질문에 답하기 위해 인간과 기계의 대화를 통해 기계의 지능을 평가하는 튜링 테스트를 제안했는데, 이러한 호기심과 도전은 인간의 지능을 모방하고 이를 넘어서는 시스템을 ... Read More