[DL Basic] 1강 Historical Review

지구인 ㅣ 2022. 2. 10. 11:53

728x90

Deep Learning Basic


 

 

Introduction

  • 인공지능 분야 공부 시 주의할 점 : 분야의 범위가 매우 방대하기 때문에, 각자 자기가 공부하는 아주 세부 분야밖에 알 수 없다는 점
  • good deep learner
    • 좋은 구현 실력 : 요즘은 pytorch가 대세. pytorch를 이용해 실습할 예정
    • 수학 스킬 : 선형대수학, 확률론
    • 최신 논문 공부
  • 인공지능의 정의
    • 인공지능 : 인간의 지능모방 (mimic human intelligence)
    • 머신러닝 : 데이터를 통한 학습 (Data-driven approach)
    • 딥러닝 : 뉴런 네트워크 기반 세부 분야  딥러닝 ≠ 인공지능 전체  우리가 배울 건 인공지능 전반이 아닌 딥러닝
  • 딥러닝의 주요 개념
    • 모델이 배울 수 있는 데이터
    • 데이터를 레이블로 바꿔줄 모델
    • 모델의 손실을 계산하는 손실 함수
    • 손실함수를 최소화하는 알고리즘

        → 새로운 논문, 연구를 볼 때 이 4가지 항목에 비추어 바라보게 되면 기존 연구들과의 장단점 및 차별점 등을 보다

            쉽게  판단 가능

 

Data

  • 데이터는 해결 과제의 형태에 따라 달라짐
  1. Classification 분류
  2. Semantic Segmentation : 이미지의 각 pixel을 클래스별로 분류
  3. Detection : 특정 이미지의 bounding box(영역)을 찾으려는 것
  4. Pose Estimation : 사람의 2,3차원 스켈레톤 정보를 알아냄
  5. Visual QnA : (이미지 + 질문)을 데이터로 주면 인공지능이 답을 구하는 것

 

Model

  • AlexNet
  • GoogLeNet
  • ResNet
  • DenseNet
  • LSTM
  • Deep AutoEncoders
  • GAN

 

Loss

  • 손실 함수
    • Regression : MSE (Mean Squared Error )
      • 회귀 문제
      • 오차 제곱 평균
    • Classification : CE (Cross Entrophy loss)
      • 분류 문제
      • ①뉴럴 네트워크에서 나온 출력값 ②라벨 데이터 사이에 CE라 불리는 loss를 최소화하게 됨
    • Probabilistic : MLE (Maximum Likey Estimation)
      • 확률적인 모델을 활용할 때, 출력값 자체가 중요하다기 보단 그에 대한 확률적인 요소들로 모델링 할 때 사용

※ 손실 함수는 우리가 이루고자하는 것의 proxy(대용물)에 불과하다는 점 항상 염두에 두기

 

 

Optimizing Algorithm

 

Q. 다른 요소들이 모두 정해져 있는 상태에서, 네트워크를 어떻게 줄일까?

  • 일반적으로 활용하는 방법은 모두 first-order-methods
  • 뉴럴 네트워크의 파라미터를 손실 함수에 대해 1차 미분한 정보를 활용
    • 이를 그냥 활용하는 방법 : sgd
    • 이를 변형한 다양한 최적화 방법론들을 배울 예정
    • 학습이 잘 되는 것을 막는 규제(regularizer)도 있음
  • 종류 :  Dropout / Early stopping / k-fold validation / Weight decay / Batch normalization / MixUp / Ensemble / Bayesian Optimization 

 

 

Historical Review

Denny Britz의 논문 「Deep Learning's Most Important Ideas - A Brief Historinal Review」를 토대로


  • 2012 - AlexNet : 딥러닝이 처음 실제로 성능을 냈던 때
    • CNN
  • 2013 - DQN(강화학습)
    • 딥마인드가 '아탈'이라는 아케이드 게임을 해당 알고리즘으로 풀어냄
  • 2014 - Encoder / Decoder
    • 단어의 시쿼스가 주어질 때 이를 어떤 벡터로 인코딩해서 다른 언어의 시퀀스로 뱉어냄
    • 기계어 번역에 변화를 줌
  • 2014 - Adam Optimizer
    • Momentum + Adagrad
    • 성능이 좋다. 웬만해선 결과가 좋기 때문에 연구 실험할 때 잘 쓰임.
    • 논문 살펴보면 하이퍼 파라미터 튜닝에 대한 설정 근거가 부재한 경우 다수 → 특별한 이유가 있다기 보다는, 그렇게 하지 않으면 결과가 더욱 나빠져서임. 따라서 논문에 굉장히 특이한 튜닝 방식이 쓰인 것이 종종 보임.
  • 2015 - ① Generative Adversarial Network
    • 매우 중요한 알고리즘
    • 네트워크가 어떤 generator(생성기)와 discriminator(판별기)를 만들어서 학습 시키는 것
    • acknowledgement(논문사사 문구. 감사의 말과 같음.)에 술집 이름이 들어가 있는 특이한 논문. 술집 술이 너무 맛 없어서 딴 생각하다가 논문 아이디어가 급 떠올랐다는 이야기.
  • 2015 - ② Residual Networks (ResNet)
    • 진정한 의미의 딥러닝하는 딥러닝
    • 딥러닝 이름의 이유 : 네트워크를 deep하게 깊게 쌓아서임(확실하지는 X)
    • 그러나 이전까지의 문제점 : 일정 수준 이상 네트워크를 깊게 쌓으면 성능이 낮아짐 → 딥러닝이지만 그다지 딥하지 않은 문제
    • ResNet 출현 이후 : 문제가 얼추 해결됨. 예를 들어, 10층까지만 쌓을 수 있었다면 1000층까진 아니더라도, 100층까지 쌓을 수 있도록 문제 해결됨.
  • 2017 - Transformer
    • 웬만한 RNN보다 뛰어남은 물론이고 CV까지 넘보길 기대하고 있음
  • 2018 - BERT (fine-tuned NLP models)
    • Transformer + bidirectional Encoder = BERT
    • BERT는 Bidirectioinal Encoder Representations from Transformers
    • 딥러닝의 흐름을 바꾼 것에 있어서 중요한 개념 : fine-tuning
  • 2019 - BIG Language Models
    • openAI = fine-tuned-NLP의 끝판왕과 같음
    • BERT와 다르게 big language 모델임
  • 2020의 화두 - Self Supervised Learning
    • SimCLR
      • 한정된 학습 데이터를 가지고 모델, 손실 함수를 바꿔가며 여러 modification을 주어서 좋은 결과를 내려는 것이 일반적이었다면, Self Supervised Learning 는 주어진 학습 데이터 외에 라벨을 모르는 unsupervised-data도 활용
      • Self Supervised Learning을 통해 데이터를 만들어내려는 트렌드로 있음 (내가 가진 지식과 데이터등을 통해)
    • 기존의 labeled data에 새로운 unlabeled data를 추가해 학습
    • self supervised data sampling : 내가 특정 분야의 많은 지식이 있을 때 데이터 자체제작
728x90