본문 바로가기

RNN4

[자연어 처리 입문] 순환 신경망 (Recurrent Neural Network) 을 읽고 간단하게 정리한 내용이다. Vanilla RNN에 대해서 알아보고, Vanilla RNN의 한계를 개선한 LSTM과 GRU에 대해서 간단하게 알아본다. 기존의 신경망들은 입력의 크기가 정해져있다는 단점이 있었다. 하지만, 자연어 처리를 위해서는 다양한 길이의 입력을 처리할 수 있는 인공신경망이 필요했다. # RNN (Recurrent Neural Network) RNN은 시퀸스 모델이다. 시퀸스 모델이란 입력과 출력을 시퀸스 단위로 처리한다는 뜻이다. RNN 은닉층의 셀에서는 셀의 값을 출력층 방량으로 보낼 수 도 있고, 재귀적으로 은닉층의 다음 입력의 계산을 위한 입력으로 사용되기도 한다. 은닉층의 셀은 이전 값을 기억하기 위해 값을 저장하는 역할을 수행하기 때문에, 메모리 셀이라고도 한다. .. 2021. 1. 7.
[논문 리뷰] Neural machine translation by jointly learning to align and translate (2014 NIPS) Attention 기법을 사용해서 Neural Machine Translation의 성능을 향상시킨 내용이다. 논문의 원본은 여기서 확인할 수 있다. 과거의 Machine Translation은 phrase based로서, 다양한 sub-component로 구성되어 있었고, 각 component는 각각 학습되고 구성되었다. 이후에는 하나의 큰 neural network를 이용한 translation 방법들이 제안되었다. Neural Machine Translation은 대부분 encoder-decoder 형식으로 이루어져 있다. Encoder의 경우, 입력 문장을 고정 길이 벡터로 변환시키고, decoder는 해당 벡터를 이용해서 번역 결과를 생성해낸다. 해당 모델을 입력으로 제공된 Input sente.. 2020. 10. 26.
[CS224N] Lecture 7 - Vanishing Gradients, Fancy RNNs CS224N의 7번째 강의, Vanishing Gradient와 다양한 RNN의 종류에 대한 내용이다. 해당 강의는 여기에서 직접 들을 수 있다. 잘못된 내용, 궁금한 점, 피드백 모두 환영입니다 :) 주요 내용 : Vanishing Gradient, RNN, LSTM, GRU, Bidirectional RNN, Multi-layer RNN # Vanishing/Exploding Gradient # Exploding Gradients Back-propagation을 할 때 발생할 수 있는 문제 중 하나인 exploding gradient이다. [식-1]을 보면 gradient와 learning rate을 이용해서 파라미터 값을 업데이트하는 식을 확인할 수 있다. 이때, gradient의 값이 너무 커지는.. 2020. 8. 23.
[CS224N] Lecture 6 - Language Models and RNNs CS224N의 6번째 강의, Language Model과 RNN에 대한 내용이다. 해당 강의는 여기에서 직접 들을 수 있다. 잘못된 내용, 궁금한 점, 피드백 모두 환영입니다 :) 주요 내용 : Language Modeling, RNN # Language Modeling 이번 강의에서는 NLP의 대표적인 task 중 하나인 Language Modeling(LM)에 대해서 이야기한다. LM은 이전 단어들이 주어졌을 경우, 그다음으로 올 단어를 예측하는 문제이다. [그림-1]을 보면, "the students opened their"라는 단어들이 주어지고, 다음에 오는 빈칸에 어떤 단어가 가장 적합한지 예측하게 된다. 해당 그림에서는 books, laptops, exams, minds 등 다양한 예시를 제공.. 2020. 8. 23.