본문 바로가기

딥러닝(Deep Learning)/D&A Deep Session16

[D&A Deep Session] 9차시 - 16. BERT # BERT : BERT는 Transformer를 이용하여 구현되었으며, 위키피디아의 25억 단어와 BooksCorpus의 8억단어와 같은 레이블이 없는 텍스트 데이터로 사전 훈련된 언어 모델이다. 이와 같이 다른 작업에 대해서 파라미터 재조정을 위한 추가 훈련 과정을 파인 튜닝(Fine-tuning)이라고 한다. 결국 BERT는 특정한 task를 해결하기 위한 모델이 아닌, 언어 전반을 이해하고 이를 벡터로 표현하는데에 특화된 모델이다. * BERT의 기본구조 BERT는 Transformer 모델의 Encoder를 쌓아올린 구조입니다. BERT-Base는 12개의 layer, BERT-Large는 24개의 layer를 쌓은 구조이다. * BERT의 두 가지 특별 토큰 1. CLS -> 분류 문제를 풀기.. 2022. 5. 25.
[D&A Deep Session] 9차시 - 15. Attention, Transformer ## 지금까지 Sequence data를 처리하는데 사용한 RNN계열의 알고리즘은 t-1번째 hidden state와 t번째 input data를 활용하여 recurrent model을 만들었다. 하지만 Sequence가 진행됨에 따라 Sequence 앞에 존재하던 원소의 영향은 약해지게 된다. 따라서 앞에 존재하는 원소가 뒤에 존재하는 원소에 중요한 영향을 미치는 경우에 그 영향력을 제대로 계산하지 못하는 경우가 발생하는데, 이를 Long-Term Dependency Problem이라고 한다. RNN에서는 특히 입력되는 Sample Sequence의 길이에 따라 은닉층의 계산이 반복되기 때문에 더 큰 문제를 가지고, RNN을 개선한 모델인 LSTM과 GRU에서도 이러한 문제가 남아 있기 때문에 Atte.. 2022. 5. 24.
[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.