Class Daily Log
- MON : https://www.notion.so/NLP-Sequence-Model-GRU-NSMC-lstm-based-stock-price-prediction-214743164153802e9a14fb12b88db3d4?source=copy_link
- TUE : https://www.notion.so/NLP-Sequence-Model-lstm-based-stock-price-prediction-NLP-tasks-text-classification-naive-baye-21474316415380bb9362ddaaa475936c?source=copy_link
- WED : https://www.notion.so/NLP-tasks-multi-label-classification-subword-tokenizer-sentencepiece-BertWordPieceTokenizer--216743164153807887dcdbb7a2725905?source=copy_link
- THU : https://www.notion.so/NLP-Language-Modeling-n-gram-nnlm-seq2seq-seq2seq-translation-217743164153809bb44efc98f8e0db48?source=copy_link
- FRI : https://www.notion.so/NLP-Seq2Seq-Seq2seq-Translation-Bleu-Score-transformer-attention-transformer-218743164153807a849dcf9cd7ededa2?source=copy_link
✏️11주차 진행 내용 : Deep Learning NLP
📍이번주의 중요 내용
⭐NLP > Transformer⭐
- ⭐️Transformer 모델
- 자연어 처리와 같은 시퀀스 데이터를 처리하는데 혁신적인 방법을 제시한 딥러닝 모델
- 기존 RNN 기반 모델의 한계를 극복하고 효율성과 성능을 크게 향상시킨 모델
- https://www.tensorflow.org/text/tutorials/transformer
- 주요 구성 요소
- Encoder 인코더 : 입력 시퀀스를 처리
- Decoder 디코더 : 인코더의 결과를 기반으로 출력 시퀀스를 생성
- Self-Attention Mechanism
- 입력 데이터 내의 각 단어가 다른 단어와 어떤 관계를 가지는지 학습하는 메커니즘
- 단어 간 상관관계를 효율적으로 계산하며, 이를 통해 문맥 정보를 반영
- ⭐️핵심 구성 요소
- Query (Q) : 현재 단어의 정보
- Key (K) : 비교 대상 단어의 정보
- Value (V) : 실제 반환될 정보
- ⭐️핵심 구성 요소
- Multi-Head Attention
- Self-Attention을 여러 개의 서로 다른 공간에서 병렬적으로 계산하여 다양한 문맥 정보를 학습
- 각 헤드에서 서로 다른 부분의 관계를 포착하고 이를 결합
- Feed-Forward Neural Network
- 각 단어 위치별로 독립적으로 처리하는 완전연결층
- 비선형성을 추가하여 모델의 표현력을 높임
- Positional Encoding
- Transformer는 RNN처럼 순차적인 정보 흐름을 따르지 않으므로, 단어의 위치 정보를 추가적으로 학습해야 함
- 이를 위해 각 단어에 고유한 위치 정보를 더하는 Positional Encoding을 사용
- 일반적으로 사인(sin)과 코사인(cos) 함수를 이용해 계산
- Residual Connection
- 학습이 더 잘 이루어지도록, 각 층의 입력을 출력에 더하는 연결을 사용
- 이로 인해 모델이 더 깊어져도 학습이 안정적으로 진행된다.
- Layer Normalization
- 각 층의 출력을 정규화하여 학습 속도를 높이고 안정성을 확보
- 외워야 할 부분 정리
- output, (⭐hidden, cell) = lstm(x)
- output, ⭐hidden = gru(x)
output = self.fc(hidden[-1]) # hidden → (layer, batch, hidden)
- RNN (딥러닝) 기반 다중 레이블 분류
- ⭐다중분류 인데 왜 손실함수로 이진분류에 사용되는 BCEWithLogitsLoss 사용할까? ⇒ 각 클래스마다 독립적으로 이진분류 (binary classification) 하고 있기 때문 → 클래스별 sigmoid 사용
- ⭐다중 레이블 분류 모델 : OneVsRestClassifier(LogisticRegression())
Keep
- 실습과제를 빼먹지 않은 것
- 복습을 꾸준히 하고, 파이썬으로 코딩테스트 문제를 조금씩이라도 푼 것
- 지각, 결석이 없는 것
Problem
- 점심 이후 오후 강의시간에 집중을 잘 못하는 것
- 강의내용을 이해하기 보다 코드 따라 치기에 몰두해 있는 것
- 실습문제
- genres name을 뜯으면서 바로 리스트화 했어야하는데, 뜯고 띄어쓰기로 리스트화 해서 장르 안에 'Science Fiction’ → 'Fiction', 'Science’ 2개로 나뉘어버림
- https://github.com/skn-ai14-250409/deep_learning_nlp_workspace/issues/224
Try
- 지하철 이용 시간에 독서나 Daily Log를 통한 복습을 진행할 것
- 복습을 미루지 말 것
- 운동을 꾸준히 해서 체력을 늘릴 것
- 실습문제 진행할 때, 데이터 제대로 확인 후 진행할 것
'교육 > SK네트웍스 Family AI 캠프' 카테고리의 다른 글
[플레이데이터 SK네트웍스 Family AI캠프 14기] 3개월차 회고 (0) | 2025.07.06 |
---|---|
[플레이데이터 SK네트웍스 Family AI캠프 14기] 12주차 회고 (2) | 2025.06.29 |
[플레이데이터 SK네트웍스 Family AI캠프 14기] 10주차 회고 (5) | 2025.06.15 |
[플레이데이터 SK네트웍스 Family AI캠프 14기] 2개월차 회고 (4) | 2025.06.09 |
[플레이데이터 SK네트웍스 Family AI캠프 14기] 9주차 회고 (1) | 2025.06.07 |