본문 바로가기

딥러닝(Deep Learning)56

[D&A Deep Session] 8차시 - 14. GRU, Seq2Seq # GRU ( Gate Recurrent units ) : LSTM 모델을 더 단순화 할 수는 없을까? 라는 아이디어에서 시작된 모델로 cell state를 사용하지 않고 Reset gate, Update Gate를 사용한다. 1. Reset gate를 계산해서 임시 h_t를 만든다. 2. Update gate를 통해 h_{t-1}와 h_t간의 비중을 결정한다. 3. z_t를 이용해 최종 h_t를 계산한다. * Reset Gate : 과거의 정보를 적당히 리셋시키는 것을 목적으로 sigmoid 함수를 활용한다. ( 이전 hidden state의 값을 얼마나 사용할지 ) * Update Gate : LSTM의 forget gate와 input gate를 합친 느낌으로 과거의 현재 정보의 최신화 비율을 결정.. 2022. 5. 16.
[D&A Deep Session] 8차시 - 13. RNN, LSTM # RNN ( Recurrent neural network, 순환 신경망 ) : 순서가 중요한 Sequence data에 사용하는 모델 구조로, 기존 인공신경망에서 '순환성'을 추가하였다. 입력받는 신호의 길이가 한정되지 않은 동적 데이터를 처리한다는 점에서 붙여진 이름으로, 전통적인 Neural Network에서 이전에 일어난 사건을 이후에 발생하는 사건에 활용할 수 없다는 단점을 극복하고자 반복을 통해 이전 단계에서 얻은 정보를 다음 사건에 사용하게 만들어주는 모델이다. RNN은 추가적인 저장공간을 얻을 수 있으며, 이를 응용한 LSTM, GRU 등이 존재한다. t = 1일때 은닉층의 각 노드 값 : t = 1 시점의 입력값과 t = 0 시점의 은닉층 값의 조합으로 계산 입력값 x_t와 이전 hidd.. 2022. 5. 16.
[D&A Deep Session] 7차시 - 12. Word Embedding # Word Embedding : 앞서 Tokenization을 통해 corpus를 token단위로 분리하였다면 이제는 나눠진 token을 컴퓨터가 인식할 수 있도록 벡터로 바꾸어야 한다. 이는 여러가지 Word Embedding 방법을 통해 구현한다. 1. 시소러스 ( 유의어 사전 ) : 인력을 동원하여 동의어, 유의어를 그룹 별로 분류한 사전으로 NLP에서는 '상위와 하위', '전체와 부분' 등의 더 세세한 관계까지 정의한다. ex ) car = auto, automobile, machine, motorcar object ∋ motor vehicle ∋ car, go-kart, truck 단어들의 관계를 그래프로 표현하여 단어 사이의 연결을 정의하기 때문에 단어의 유사도를 계산할 수 있다 ( 단어의 .. 2022. 5. 12.
[D&A Deep Session] 7차시 - 11. Tokenization # NLP ( Natural Language Processing, 자연어 처리 ) : 텍스트 데이터를 분석하고 모델링하는 것을 의미하며 자연어 이해(NLU) 분야와 자연어 생성(NLG) 분야로 나뉜다. - 자연어 이해 : 주어진 텍스트의 의미를 파악하는 것 ( Text -> Meaning ) - 자연어 생성 : 주어진 의미에 대한 자연스러운 텍스트를 만들어 내는 것 ( Meaning -> Text ) * NLP의 종류 : 감정 분석, 요약, 기계번역, 질문 응답 등이 존재한다. * NLP 과정 1. 데이터 수집 및 전처리 : 웹 크롤링 등을 이용하여 task 수행에 필요한 data를 수집한다. '!, ?' 등의 문장 기호들을 제거하고 소문자화, 조사 분리 등의 전처리를 수행한다. 2. Vectorizat.. 2022. 5. 11.
[D&A Deep Session] 6차시 - 10. ResNet # ResNet - 2015년 ILSVRC에서 우승을 한 알고리즘으로 152개의 층을 가진다. - 일반적으로 생각을 할 때 Layer를 계속 쌓아 층을 깊게하면 무조건 성능이 좋아질 것이라고 생각할 수 있다. 하지만 기존의 방식으로 네트워크를 만들어보면, 과적합때문에 층이 깊더라도 좋은 성능이 나오지 않는다. 따라서 ResNet의 저자는 우리가 일반적으로 생각할 수 있는 'Layer가 깊은 모델이 최소한 Layer가 낮은 모델보다는 더 성능이 좋을 것이다'라는 아이디어를 실현하고자 했다. - Layer가 깊어질 때 생기는 가장 큰 문제점은 Gradient Vanishing 문제이다. Layer가 깊기 때문에 작은 미분값이 여러번 곱해지게 되고 이 때문에 Gradient 값이 0에 가까워지는 것이다. 이는.. 2022. 5. 4.
[D&A Deep Session] 6차시 - 9. GoogleNet # GoogleNet - 2014년 ILSVRC에서 우승을 한 알고리즘으로 총 22개의 layer로 구성되어 있다. - 시간을 줄이면서 더 깊고 효율적인 알고리즘을 만드는 것이 목표이다. - 크게 Prelayer, Inceptions Layer + Auxiliary Classifier, GAP(Global Average Pooling)으로 나눌 수 있다. * 1x1 convolution : GoogleNet의 가장 큰 특징은 1 x 1 convolution을 통해 feature map을 줄이는 것이다. Inceptions Layer에서는 총 4가지의 관점으로 convolution을 진행하였는데, 그 이유는 우리가 주어진 이미지에서 어떤 Filter를 사용할 때 공간의 정보를 많이 담는지를 모르기 때문이다.. 2022. 5. 3.