본문 바로가기
교육/SK네트웍스 Family AI 캠프

[플레이데이터 SK네트웍스 Family AI캠프 14기] 11주차 회고

by shining park 2025. 6. 22.

Class Daily Log

 

 

✏️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

    • 점심 이후 오후 강의시간에 집중을 잘 못하는 것
    • 강의내용을 이해하기 보다 코드 따라 치기에 몰두해 있는 것
    • 실습문제

Try

  • 지하철 이용 시간에 독서나 Daily Log를 통한 복습을 진행할 것
  • 복습을 미루지 말 것
  • 운동을 꾸준히 해서 체력을 늘릴 것
  • 실습문제 진행할 때, 데이터 제대로 확인 후 진행할 것