[플레이데이터 SK네트웍스 Family AI 캠프 6기] 8주차 회고 (11/11~11/15)

2024. 11. 18. 09:34AI

이론

2024.11.11

  1. Python & PyTorch
    • 함수의 return 값이 없으면 None 출력.
    • torch.flatten(대상, start_dim=1):
      • 입력 텐서를 1차원 이후로 평탄화.
    • nn.Flatten(): 반복 작업을 줄이기 위한 PyTorch 모듈.
    • item(): 텐서 내부의 값을 추출.
    • 데이터 타입:
      • 주로 float32 사용(메모리 효율성).
    • Batch Normalization: 배치별 정규화.
    • 학습 종료 전략:
      • Early stopping: 성능이 최고점 이후 학습 중단.
  2. 모델 유형별 구현
    • 공통:
      • Input layer의 in_features는 데이터 속성 개수와 맞춤.
      • Hidden layer 수와 feature는 경험적으로 설정.
    • 회귀 모델:
      • out_features: 정답의 개수.
      • Activation 함수: 주로 없음. 필요에 따라 Sigmoid나 Tanh.
      • Loss: MSELoss.
    • 다중분류 모델:
      • out_features: 클래스 개수.
      • Activation 함수: Softmax.
      • Loss: CrossEntropyLoss.
    • 이진분류 모델:
      • out_features: 1.
      • Activation 함수: Sigmoid.
      • Loss: BCELoss.

2024.11.12

  1. Learning Rate Scheduler
    • StepLR: 일정 에포크나 스텝 간격으로 Learning rate 감소.
    • CosineAnnealingLR: Cosine 주기로 Learning rate 조정(Global Optima 탐색).
    • CosineAnnealingWarmRestarts: 초기 Learning rate를 높이고 천천히 감소.

2024.11.13

  1. 넷플릭스 고객 이탈률 분석
    • 가상 데이터, 한국 데이터, 글로벌 데이터 활용.
    • 분석 초점: 인구통계학보다 콘텐츠 제작.

2024.11.14

  1. IBM HR 데이터 분석
    • 이직 데이터를 기반으로 이탈률 예측 모델링.
    • 데이터 전처리와 도메인 지식이 모델 성능에 중요한 역할.

2024.11.15

  1. 자연어 처리 (NLP)
    • 트랜스포머의 등장으로 성능 향상.
    • NLP 처리 도구:
      • NLTK, KoNLPy, Subword_tokenizer.
    • 정규표현식(RegEx):
      • 기본 문법:
        • 문자, 수량, 클래스, 메타문자(\d, \w, 등).
      • 파이썬: re 표준 모듈.
      • Greedy/Non-greedy 매칭.
    • NLTK 텍스트 정규화:
      • Tokenization, Stopword 처리 등.

느낀 점

  1. 2024.11.11~12
    • 학습의 본질은 효율성과 정교함에 있다. 특히 Early Stopping과 같은 전략은 시간과 자원을 절약하며 성능을 최적화하는 데 중요.
    • 작은 변수들이 큰 차이를 만들 수 있음을 학습하며, 개발자의 사고방식(반복을 피함)도 배울 점이 많다.
  2. 2024.11.13~14
    • 넷플릭스 이탈률 분석과 IBM 데이터 이직률 모델링은 데이터를 통해 실질적인 문제 해결에 초점을 맞췄다.
    • 도메인 지식과 데이터 분석의 융합이 중요하다고 느껴졌다.
  3. 2024.11.15
    • NLP 기술이 여전히 성장 가능성이 크며, 데이터의 정교한 처리와 이해가 핵심.
    • 정규표현식 학습은 실제 적용을 통해 직관과 감각을 익혀야 한다는 점에서 실천적 학습의 중요성을 깨달음.

 

 이번주는 특별히 프로젝트를 진행하였다. 프로젝트를 진행하면서 데이터에 대한 이해가 중요하다는 것을 다시금 깨닫게 되었다. 데이터에 대한 이해를 기반으로 모델링을 효율적으로 만들 수 있고, 더 나아가서는 어떤 것이 중요한 점인지 알 수 있다. 

 프로젝트를 진행하면서 처음에는 한 가지 주제를 끌고 가려고 하였으나 실제로 모델을 만들어보고 난 이후에 다른 데이터를 찾아봐야겠다는 깨달음을 얻었다. 확실히 딥러닝 혹은 머신러닝을 적용하려고 하더라도 양질의 데이터가 많아야 의미가 있다는 것을 생각하게 되었다. 

 

 데이터 마이닝을 주로 하는 사업 중 팔란티어 테크놀로지(Palantir Technologies)사가 떠오른다. 주로 공공데이터를 분석하는 회사인데 데이터를 추출해 그것을 AI 모델에 적용하기 용이한 형태로 변형시켜 주는 일을 수행하는 것으로 인지하고 있다. 

 

  AI산업의 활용은 점차 많아질 것이고, 이는 AI 서비스를 만드는 사람, 또 활용하는 사람들의 불편한 점이 점차 생길 것임을 예상해볼 수 있다. 어떤 점이 중요한 지도 흐릿하게나마 갈무리가 되는 것 같다. 

 

 2024년 칼텍 공대에서 엔비디아의 CEO인 젠슨 황이 졸업연설을 하였다. 졸업연설 간 앞으로 AI 공장이 세워진다고 하였다. AI 공장은 intelligent token을 생성한다고 한다. 이제 새로운 지식 자체를 AI가 사람의 통제 밖에서 생산해 낸다는 발상이다. LLM을 이제 막 배우는 입장에서 token에 대해서 이제 막 배우기 시작하였다. 그리고 지금 업계에서 이루어지는 첨단은 token의 상위 개념인 intelligent token을 생산해 내는 구상을 하고 있다. 

 

 아직 갈 길이 멀어보이지만, 사람들이 몇 십 년간 쌓아놓은 지식을 몇 개월 만에 습득한다는 사실에 괜스레 뿌듯한 마음도 있다. 다만, 학습을 하는 과정에서 본질을 생각해 내는 연습을 꾸준히 해야 할 것 같다. 본질을 파악해야 변화에도 쉽게 적응할 것 같기 때문이다. 

 

 AI의 본질은 무엇일까? 라는 질문을 갖고 글을 마무리하고자 한다.