본문 바로가기

SK네트웍스 Family AI캠프 10기/Weekly 회고

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

8주 차 학습

 

 

Deep Learning - Vision

 

Image Preprocessing

  • Torchvision
    • 딥러닝 모델 입력을 위한 전처리 및 데이터 증강
    • 학습 과정에서 이미지 변환(DataLoader 활용)
  • PIL
    • 이미지 파일 로드, 저장, 편집
    • 데이터 로드 시 기본 변환 수행

 

CNN(Convolutional Neural Network)

  • CNN 구성 요소
    • Convolutional Layer
      • 이미지의 중요한 특징 추출
      • 커널을 사용하여 특징 맵 생성
      • ReLU 활성화 함수를 적용하여 비선형성 추가
    • Pooling Layer
      • 특징 맵의 크기를 줄여 계산량을 감소시키고, 과적합 방지
      • 중요한 특징을 유지하면서 모델의 일반화 성능 향상
      • 일반적으로 Max Pooling 또는 Average Pooling 사용
    • Fully Connected Layer
      • Convolutional Layer와 Pooling Layer를 거친 특징을 기반으로 최종 예측 수행
      • Softmax 또는 Sigmoid를 사용하여 분류 작업 수행
  • CNN 종류
    • VGG
      • 여러 번의 작은 3×3 커널을 사용하여 깊이를 늘림
      • 구조가 단순하고 직관적임
      • 네트워크가 깊어질수록 기울기 소실 문제가 발생하여 학습이 어려워짐
    • ResNet
      • Residual Connection을 사용하여 깊은 네트워크에서도 효과적으로 학습 가능
      • 깊은 네트워크에서의 기울기 소실 문제 해결
      • VGG에 비해 구조가 복잡하고 연산량이 많음
    • MobileNet
      • Depthwise Separable Convolution을 사용하여 모델 경량화

 

 

Deep Learning - Fine Tuning

 

Fine Tuning

  • Pre-trained model을 기반으로, 새로운 dataset에 맞게 모델을 재학습하는 과정
  • Pre-trained model의 일부 layer를 수정하거나 학습시켜 새로운 데이터에 적합하게 만듦
  • Fine Tuning의 전략
    • dataset이 크고 유사성이 작은 경우
      • 전체 모델 학습
    • dataset이 크고 유사성이 큰 경우
      • Pre-trained model의 일부분과 Classifier만 학습
    • dataset이 작고 유사성이 작은 경우
      • pre-trained model의 일부분과 Classifier 학습
    • dataset이 작고 유사성이 큰 경우
      • classifier만 학습

 

XAI

  • SHAP
    • Shapley value를 기반으로 모델 예측에 대한 feature의 기여도를 수치적으로 설명
    • 각 입력 feature가 모델 예측에 미친 영향을 공정하게 계산하여, 모델이 내린 결정을 이해할 수 있도록 도움
  • Captum
    • PyTorch 기반의 딥러닝 모델에서 feature가 예측에 미친 영향 분석
    • 다양한 해석 기법을 통해 모델 내부의 기여도를 분석하고, 예측을 이해할 수 있게 해 줌

 

 

Deep Learning - TensorBoard

 

TensorBoard

  • Loss & Accuracy Graph
  • Histogram
    • 학습되는 파라미터의 분포와 변화 시각화
  • Embedding Visualizer
    • 고차원 데이터의 2D 또는 3D 임베딩 시각화
  • Model Graph
    • 모델의 구조 시각화

 

 

 

 

Deep Learning - HPO Tuning

 

Learning Rate Scheduler

  • StepLR
    • 일정한 step마다 learning rate를 감소시키는 방식
    • 학습 초기에 큰 learning rate로 빠르게 수렴하고, 후반에는 learning rate를 낮춰 더 세밀한 조정을 할 수 있 함
  • CyclicLR
    • learning rate을 주기적으로 변화시키는 방식
    • 주기적으로 learning rate를 증가시킨 후 감소시키는 과정을 반복하여 넓은 공간을 탐색할 수 있게 함

 

Ray Tune

  • 하이퍼파라미터 최적화를 위한 라이브러리

 

 

Deep Learning - 추천 시스템

 

추천 알고리즘

  • 비개인화 추천 알고리즘
    • 조회수 기반 추천(Most Popular)
      • 가장 많은 조회수를 기록한 아이템을 추천하는 방식
    • 평점 기반 추천(Highly Rated)
      • 사용자들이 가장 높은 평점을 준 아이템을 추천하는 방식
    • Knowledge-Based Filtering
      • 추천하고자 하는 분야의 도메인 지식을 활용하여 추천하는 방식
  • 개인화 추천 알고리즘
    • Content-Based Filtering
      • 아이템의 메타 정보를 활용해 콘텐츠별로 특징 정보를 만들어 이를 바탕으로 추천하는 방식
      • 사용자의 과거 활동이나 선호도를 반영하여 비슷한 특성을 가진 아이템 추천
    • Collaborative Filtering
      • Memory-Based Algorithm
        • User-Based Filtering
          • 사용자가 좋아한 아이템을 기반으로 유사한 취향을 가진 다른 사용자가 선호한 아이템을 추천하는 방식
          • 시간의 흐름에 따라 사용자의 선호도가 변할 수 있음
        • Item-Based Filtering
          • 사용자가 좋아한 아이템과 유사한 다른 아이템을 추천하는 방식
      • Model-Based Algorithm
        • 행렬 분해 기법을 통해 잠재 요인을 추출하여 이를 바탕으로 추천하는 방식
  • Hybrid Recommender System
    • Content-Based Filtering 방식과 Collaborative Filtering 방식을 결합한 추천 시스템
    • 아이템마다 가중평균을 통해 랭킹을 구함

 

추천 평가 지표

  • Precision@K
    • 내가 추천한 K개 아이템 중에서 실제 사용자가 관심 있는 아이템의 비율
  • Recall@K
    • 실제 사용자가 관심 있는 아이템 중에서 내가 추천한 K개 아이템의 비율
  • Mean Average Precision@K
    • 성능 평가에 순서 개념을 도입한 평가 지표
    • 정확도의 평균을 구하는 방식
  • NDCG@K
    • 추천된 아이템들의 순서를 고려한 평가 지표
    • 추천된 아이템의 위치에 따라 가중치 부여
  • Hit Range@K
    • 전체 사용자 수 대비 적중한 사용자 수
    • 하나 이상의 관심 있는 아이템을 추천한 사용자의 비율

 


8주 차 회고

 

 

Keep

 

꾸준한 SQLD 공부

 매일 미루지 않고 SQLD 공부를 하루 분량 씩 하고 있다. 아무래도 2주라는 짧은 기간 안에 시험을 대비해야 해서 하루라도 밀리면 힘들기 때문에 매일 공부를 마칠 수 있어서 다행이다.

 

 

Problem

 

내가 하고 싶은 공부의 우선순위 문제

 빅데이터분석기사 자격증을 딸지 아니면 데이콘에 참여하여 데이터 분석의 과정을 경험해 볼지, 코딩 테스트에 집중해야 할지 고민을 했다. 언니와 얘기를 해본 결과, 데이콘과 코딩 테스트는 언제라도 할 수 있지만 빅데이터분석기사는 이번 기회에 따야 적어도 하반기 때는 지원서에 넣을 수 있기 때문에 일단 빅데이터분석기사에 집중하기로 했다. 데이콘과 코딩 테스트도 하긴 하지만 중요도를 낮추기로 했다.

 

 

Try

 

SQLD 시험 준비

 이제 SQLD 시험까지 일주일도 남지 않았다. 모의고사를 풀어보니 합격 점수가 나오긴 했지만, 실제 시험은 더 어려울 수 있기 때문에 부족한 부분을 더 채워야 한다.

 

단위 프로젝트

 단위 프로젝트가 수요일이면 끝나게 되기 때문에 마지막까지 힘을 내 볼 생각이다. 아무리 노력해도 모델의 정확도를 높이는 것이 힘들었다. 다른 팀들의 결과가 궁금하다.