본문 바로가기

밑바닥 딥러닝/밑바닥부터 시작하는 딥러닝27

8장 8.1 어텐션의 구조 8.2어텐션을 갖춘 seq2seq 구현 8.3 어텐션 평가 8.4 어텐션에 관한 남은 이야기 8.5 어텐션 응용 8.6 정리 우리는 2개의 RNN을 연결하여 하나의 시계열 데이터를 다른 시계열 데이터로 변환한 모델인 seq2seq를 배웠다. 이번 장에서는 seq2seq의 가능성과 RNN의 가능성을 한 걸음 더 깊이 탐험한다. 8.1 어텐션의 구조 seq2seq를 더 강력하게 하는 어텐션 메커니즘이라는 아이디어를 소개한다. 이는 필요한 정보에만 주목할 수 있게 해주며 seq2seq가 안고 있던 문제를 해결하게 도와준다. 1) seq2seq의 문제점 seq2seq에서는 Encoder가 시계열 데이터를 인코딩한다. 그리고 인코딩된 정보를 Decoder에 전달한다. 이때 Encoder의 출.. 2023. 8. 28.
7장 7.1 언어 모델을 사용한 문장 생성 7.2 seq2seq 7.3 seq2seq 구현 7.4 seq2seq 개선 7.5 seq2seq를 이용하는 애플리케이션 7.6 정리 이번 장에서는 언어 모델을 사용해 '문장 생성'을 수행한다. 구체적으로는 말뭉치를 사용해 학습한 언어 모델을 이용하여 새로운 문장을 만들어낸다. 또한 seq2seq라는 새로운 구조의 신경망을 다룬다. Seq2Seq는 인공 신경망을 사용하여 입력 시퀀스를 다른 형태의 출력 시퀀스로 변환하는 모델 구조를 말한다. 7.1 언어 모델을 사용한 문장 생성 1) RNN을 사용한 문장 생성의 순서 앞장에서 구현한 모델의 신경망 구성이다. 언어 모델에게 문장을 생성시키는 순서를 알아보자 "you say goodbye and I say hello"라는 .. 2023. 8. 21.
6장 6.1 RNN의 문제점 6.2 기울기 소실과 LSTM 6.3 LSTM 구현 6.4 LSTM을 사용한 언어 모델 6.5 RNNLM 추가 개선 6.6 정리 5장에서 본 RNN은 장기 의존 관계를 잘 학습할 수 없다. 이번 장에서는 RNN을 대신하는 계층으로써 LSTM과 GRU와 같은 게이트가 추가된 RNN을 소개한다. 6.1 RNN의 문제점 BPTT에서 기울기 소실 혹은 기울기 폭발이 일어나기 때문에 RNN은 장기 의존 관계를 잘 학습하지 못한다. 1) RNN 복습 RNN은 순환 경로를 가지고 있다. RNN 계층은 시계열 데이터인 x_t를 입력하면 h_t를 출력한다. 이 h_t는 RNN 계층의 은닉 상태라고 하여 과거 정보를 저장한다. RNN의 특징은 바로 이전 시각의 은닉 상태를 이용한다는 점이다. 2) .. 2023. 8. 14.
5장 5.1 확률과 언어 모델 5.2 RNN이란 5.3 RNN 구현 5.4 시계열 데이터 처리 계층 구현 5.5 RNNLM 학습과 평가 5.6 정리 지금까지 살펴본 신경망은 피드포워드라는 유형의 신경망. 피드포워드란 흐름이 단방향인 신경망이다. 피드포워드 신경망은 구성이 단순하여 구조를 이해하기 쉽고 많은 문제에 응용이 가능하다. 그러나 피드포워드 신경망은 시계열 데이터의 성질을 충분히 학습할 수 없다. => 순환신경망 RNN 등장 5.1 확률과 언어 모델 1) word2vec을 확률 관점에서 바라보다. 지금까지는 맥락을 항상 좌우 대칭으로 생각해왔다. 맥락을 왼쪽 윈도우만 고려보자 이 경우 CBOW 모델이 출력할 확률이다. CBOW모델이 다루는 손실 함수이다. (교차 엔트로피 오차에 의해 유도한 결과) 2).. 2023. 8. 13.
4장 4.1 word2vec 개선 4.2 word2vec 개선_2 4.3 개선판 word2vec 학습 4.4 word2vec 남은 주제 4.5 정리 CBOW모델은 말뭉치에 포함된 어휘 수가 많아지면 계산량도 커진다. word2vec의 속도개선을 위해 3장의 단순한 word2vec에 Embedding라는 새로운 계층 도입 / 네거티브 샘플링이라는 새로운 손실 함수 도입. 4.1 word2vec 개선 앞 장의 CBOW모델은 단어 2개를 맥락으로 사용해 이를 바탕으로 하나의 단어(타깃)를 추측한다. 이때 입력 측 가중치(Win)와의 행렬 곱으로 은닉층이 계산되고 다시 출력 측 가중치(Wout)와의 행렬 곱으로 각 단어의 점수를 구한다. 이 점수에 소프르맥스 함수를 적용해 각 단어의 출현 확률을 얻고 이 확률을 정답.. 2023. 8. 7.
3장 3.1 추론 기반 기법과 신경망 3.2 단순한 word2vec 3.3 학습 데이터 준비 3.4 CBOW 모델 구현 3.5 word2vec 보충 3.1 추론 기반 기법과 신경망 단어를 벡터로 표현하는 방법: 통계 기반 기법 & 추론 기반 기법 1) 통계 기반 기법의 문제점 대규모 말뭉치를 다룰 때 문제 발생 거대 행렬에 SVD를 적용하는 일은 불가능 함. (SVD = 특이값 분해) 통계 기반 기법은 말뭉치 전체의 통계(동시발생행렬과 PPMI 등)를 이용해 단 1회의 처리(SVD 등)만에 단어의 분산 표현을 얻는다. 추론 기반 기법에서는 미니배치로 학습하는 것이 일반적이다. 통계 기반 기법: 학습 데이터 한꺼번에 처리(배치학습). 추론 기반 기법: 학습 데이터의 일부를 사용해 순차적으로 학습(미니배치 학습).. 2023. 7. 20.