딥러닝 기본 용어와 역사

Heath_Jeong·2021년 3월 7일
0

Ustage Week3 - DL Basic

목록 보기
2/10

딥러닝 기본 용어 설명 - Historical Review

Introduction

  • 딥러닝의 분야는 광범위해서 한 사람이 모든 것을 다룰 수 없음, 많은 사람이 다루는 중
  • 좋은 딥러너의 조건?
    • 구현 스킬 (텐서플로우나 파이토치), 머릿속의 아이디어를 실제로 돌려보는 것
    • 수학 스킬 (선형대수학, 확률론 등)
    • 많은 최신 논문에 대해 아는 것
  • 인간의 지능을 모방하는 인공지능 (AI) ← 머신 러닝 (데이터로 학습) ← 딥러닝 (뉴럴 네트워크를 사용하는 세부적인 분야)
  • 뉴럴 네트워크 구조를 사용하면서 데이터로 학습하는 분야!
  • 딥러닝의 네가지 주요 요소 (논문을 볼 때도 이 4가지에 집중해서 볼 것)
    • 모델이 학습할 데이터
    • 데이터 (입력) 를 아웃풋으로 변형시키는 모델
    • 모델의 성능을 개선시키는 loss 함수
    • loss 를 최소화시키는 변수를 조정하는 알고리즘

Data

  • 데이터는 해결하고자 하는 문제의 유형에 의존적임
    • Classification, Semantic Segmentation, Detection, Pose Estimation, Visual QnA 등

Model

  • 데이터가 주어졌을 때 원하는 결과로 바꿔주는 것
  • 결과로 잘 바꿔주기 위한 테크닉 필요
  • AlexNet, GoogLeNet, ResNet, LSTM, GAN 등

Loss

  • 우리가 얻고자 하는 기준
  • 회귀에서는 MSE, 분류 문제에서는 CE, 확률적 모델에서는 MLE 를 최소화 (100% 일치하지는 않음, 왜 쓰는지 고려하고 써야함)

Optimization Algorithm

  • SGD, NAG, Adagrad 등 사용하여 loss 최적화
  • Dropout, Early stopping 등 사용하여 실제 환경에서 한 번도 보지 못한 데이터에도 잘 동작하도록 하는게 목적

Historical Review

  • Denny Britz 페이퍼 기반 설명
  • 2012 - AlexNet
    • 224 x 224 이미지를 분류하는게 목적
    • 이미지넷 대회 1등
    • 이전까지는 딥러닝 말고 고전적 방법 사용
    • 이후 딥러닝 방법들만 1등함
    • 딥러닝 : 블랙매직 (왜 잘되는지 모르지만 잘 됨)
    • 이후 기계학습의 판도가 바뀜
  • 2013 - DQN
    • 딥마인드의 강화학습 모델, Q 러닝을 딥러닝에 적용
  • 2014 - Encoder / Decoder
    • NMT 문제 해결, 단어 문장을 잘 표현해서 다른 언어의 단어 연속으로 바꾸는게 목적
    • seq-seq 모델
  • 2014 - Adam Optimizer
    • 이제 학습시킬 때 Adam optimizer 사용함
    • 왜 쓰는지 보통 사람들 잘 모름, 그냥 씀, 결과가 잘나와서
    • 논문들 보면 왜 Adam 썼는지, 왜 러닝레이트를 그렇게 했는지 말 안함 (그냥 그렇게 해야 좋은 성과 나옴)
  • 2015 - GAN, Generative Adversarial Network
    • 이미지를 생성해냄
    • 네트워크가 generator 와 descriminator 를 만들어서 생성해냄
  • 2015 - Residual Networks
    • 이 논문 덕분에 딥러닝이 딥러닝이 됨
    • 딥러닝은 네트워크를 깊게 쌓는 방법, 네트워크를 너무 깊게 쌓으면 트레이닝은 잘 되지만 실제 예측 성능은 좋지 않았음 → ResNet 이 해결
    • 여전히 1000단 쌓으면 안되지만, 원래 20단 쌓던거 100단 쌓았을 때도 잘되게 만들어줌
  • 2017 - Transformer
    • Attention Is All You Need
    • 지금은 어텐션이 웬만한 분야 모델 다 이김
    • Multi head attention 이해 하는거 중요
    • 기존 구조에 비해 어떤 장점이 있는지 중요
  • 2018 - BERT
    • Bidirectional Encoder Representations from Transformer
    • 날씨 예측이나 뉴스 기사 작성 모델을 만들고 싶은데 뉴스 기사 데이터가 별로 없을 때, pre-training 에서는 굉장히 큰 말 뭉치를 사용 → Fine-Tuning 에서 소수의 뉴스 기사 데이터를 줘서 좋은 성능 냄
  • 2019 - Big Language Models
    • OpenAI 에서 GPT-3 냈음
    • 굉장히 많은 파라미터 (1750억개) 를 사용하여 좋은 성능 냄, BERT 의 끝판왕
  • 2020 - Self Supervised Learning
    • SimCLR : a simple framework for contrastive learning of visual representations
    • 한정된 학습 데이터에서는 모델을 바꿔가며 학습하는게 일반적, 이제는 라벨은 모르지만 이미지임은 아는 데이터를 비지도학습 모델에 활용. 어떻게 이미지를 컴퓨터가 이해하는 벡터로 바꿀지 고민.
    • 무작위 이미지에서 좋은 피쳐를 뽑아 학습에 이용하겠다.
    • 학습데이터를 스스로 만들어내서 (뻥튀기 시켜서) 좋은 성능 만들어내기도 함

참조

  • BoostCamp AI Tech
profile
데이터로 문제를 해결하는 엔지니어를 꿈꿉니다.

0개의 댓글