딥러닝 연구의 패러다임

·2025년 8월 6일

just공부

목록 보기
38/41

Introduction

  • What make you a good deep learner?
    • 구현 실력 : Implementation Skills (Pytorch 사용)
    • 수학적인 실력 : Math Skills (Linear Algebra, Probability)
    • 트렌드 파악 : Knowing a lot of recent Papers

인공지능 정의

사람의 지능을 모방하는 것

  • Aritificial Intelligence
    • Machine Learning
      • Deep Learning : 기계 학습

Key Components of Deep Learning

  • The data that the model can learn from (강아지와 고양이를 분류한다고 했을 때, 학습시킬 데이터가 필요하게 된다.)
  • The model how to transform the data (데이터를 통해서 이미지를 라벨로 바꿔주는 모델)
  • The loss function that quantifies the badness of the model (모델을 학습시키기 위한 loss function)
  • The algorithm to adjust the parameters to minimize the loss (loss function을 최소화하기 위한 알고리즘이 필요하게 된다.)

네 가지 항목을 비춰 논문이나 연구를 바라보게 되면, 기존 연구에 비해 어떤 장점이 있는지 쉽게 알 수 있다.

Data

Data depend on the type of the problem to solve.
데이터라는 것은 풀고자 하는 문제에 의존하게 된다.

  • Classification
    • 강아지와 고양이를 분류할 때 이미지가 필요하게 된다.
  • Semantic segmentation
    • 이미지가 어떤 라벨인지 찾는 것이 아니라, 이미지의 픽셀별로 분류를 하는 것
  • Detection
    • 이미지라는 물체가 있을 때, 물체에 대한 바운딩 박스를 찾는 것. 어떤 영역에는 고양이가 있고, 사람이 있고 등등을 분류해주는 것
  • Pose Estimation
    • 이미지에 있는 사람의 3차원, 2차원 스켈레톤 정보를 나타내는 것
  • Visual QnA
    • 이미지와 문장이 주어지는 것
    • 여자의 눈 색깔이 무엇인가와 같은 질문이 주어졌을 때, 문제에 대한 답을 구하는 것

Model

이미지가 주어지거나, 텍스트가 주어졌을 때 이러한 단어를 내가 직접적으로 알고 싶어하는, class label이 되었던, 문장에 대한 sentiment analysis가 되었던 다양한 인공지능 모델을 통해 데이터의 의미를 효과적으로 파악하고 예측할 수 있다.

주요 모델

  • AlexNet
    • 대규모 이미지 데이터셋 분류를 위한 모델
    • 컴퓨터가 이미지를 보고 이 사진이 무엇이다 라고 맞추는 초기 모델이다.
  • GoogLeNet
    • 다양한 크기의 필터를 한 번에 사용하여 이미지를 여러 각도에서 잘 분석하게끔 만든 모델
    • 한 풍경 사진을 볼 때, 멀리 있는 산과 가까이 있는 꽃 등의 다양한 크기의 사물을 한 번에 감지할 수 있다.
  • ResNet
    • 많은 계층의 신경망도 잘 학습하게 해준 모델
    • 수십~수백 단계의 복잡한 계층을 거쳐 이미지를 이해한다.
    • 단순히 동물이 아니라 강아지의 품종까지 맞출 수 있다.
  • DenseNet
    • 모든 계층을 서로 연결하여, 이전 계층에서 얻은 정보를 재사용하기 때문에 아주 효율적으로 학습하는 구조
    • 한 번 배운 정보를 계속 활용하여 새로운 정보를 빠르게 학습할 수 있다.
  • LSTM
    • 단어들의 시간 순서를 기억하여 긴 문장이나 문맥을 뜻을 잘 이해하는 모델
    • 오늘은 날씨가 좋아서 ~~ 에서 이어질 말을 예측할 때, 문맥을 잘 기억하여 뒤에 올 수 있는 말을 자연스럽게 알려줄 수 있다.
  • Deep AutoEncoders
    • 입력을 압축하여 학습하는 비지도 신경망으로, 차원 감소, 노이즈 제거, 정보 복원 등 폭넓게 사용된다.
    • 최근에는 고해상도 이미지 압축 및 생성 모델의 인코더로도 널리 이용된다.
  • GAN (Generative Adversarial Network)
    • 생성자와 판별자가 경쟁적으로 학습하여 원본과 유사한 데이터를 생성한다.
    • 이미지 생성, 데이터 증강, 스타일 변환, 텍스트 생성 등 생성형 인공지능 연구의 핵심 모델이다.
      과 같은 모델이 있다.

같은 task가 주어졌더라도, 모델의 성질에 따라 결과가 달라진다.

Loss

The loss function is a proxy of what we want to achieve.
Loss function은 Model이 정해져 있고, 데이터가 정해져있을때 모델을 어떻게 학습할 것인지.
기준이 되는 loss function을 정하게 된다.

Regression Task를 푼다고 한다면, 뉴럴 네트워크의 출력값과 맞추고자 하는 타겟값 사이에 제곱 오차를 최소화하는 것이 일반적인 목적이 된다.

MSE=1Ni=1Nd=1D(yi(d)y^i(d))2\text{MSE} = \frac{1}{N} \sum_{i=1}^{N} \sum_{d=1}^{D} \left( y_i^{(d)} - \hat{y}_i^{(d)} \right)^2

Classification Task를 푼다고 한다면, 뉴럴 네트워크의 출력값과 라벨 데이터 사이에 cross entropy를 최소화하는 것이 목적이다. Cross entropy는 확률 분포 간의 차이를 측정하며, 모델이 출력한 확률 분포와 실제 정답 라벨의 one-hot 분포 사이의 차이를 최소화한다.

CE=1Ni=1Nd=1Dyi(d)logy^i(d)\text{CE} = - \frac{1}{N} \sum_{i=1}^{N} \sum_{d=1}^{D} y_i^{(d)} \log \hat{y}_i^{(d)}

Probabilitic Task를 푼다고 한다면, MLE 관점으로 문제를 풀게 될 수 있다. Loss 는 모델이 데이터를 생성할 가능도를 최대화하도록 유도한다.

MLE=1Ni=1Nd=1DlogN(yi(d);y^i(d),1)(=MSE)\text{MLE} = \frac{1}{N} \sum_{i=1}^{N} \sum_{d=1}^{D} \log \mathcal{N} \left( y_i^{(d)} ; \hat{y}_i^{(d)}, 1 \right) \quad (= \text{MSE})

Loss function은 우리가 실제로 원하는 성능지표(Accuracy, F1-score 등)의 근사치일 뿐이며, 항상 완벽하게 우리가 원하는 결과를 보장하지는 않는다.

예를 들어, Class Imbalance가 심한 데이터에서는 Cross Entropy만으로는 성능 저하가 발생할 수 있다.

따라서 실제 목적(metric)에 따라 적절한 loss function 선택 및 조정(class weight, focal loss 등)이 필요하다.

Optimization Algorithm

최적화 방법은 데이터, 모델, loss function이 정해져있을 때, 네트워크의 파라미터(가중치와 편향)를 어떻게 업데이트할지에 대한 내용이다.
뉴럴 네트워크의 파라미터를 loss function에 대해서 1차 미분한 정보를 활용할 것이다.

모델이 학습하지 않은 데이터에서 잘 동작하는 것이 중요하다.
아래와 같은 다양한 Technique들을 같이 사용해서 Test data와 실 환경에서 잘 동작하도록 해야 한다.

  • Dropout
    • 학습 시 일부 뉴런을 랜덤하게 제거하여 과적합을 방지한다.
  • Early stopping
    • 검증 성능이 더 이상 향상되지 않을 때 학습을 조기 종료한다.
  • k-fold validation
    • 데이터를 여러 조각으로 나눠 교차 검증, 과적합을 방지한다.
  • Weight decay
    • 가중치 크기에 패널티를 주어 과도한 학습을 방지한다.
  • Batch normalizaion
    • 각 배치마다 정규화를 적용해 학습 안정화 및 기속한다.
  • MixUp
    • 두 샘플을 섞어 학습 데이터의 다양성을 증가시키거나 일반화 향상시킨다.
  • Ensemble
    • 여러 모델의 예측을 결합하여 성능을 향상시킨다.
  • Bayesian Optimization
    • 하이퍼파라미터를 확률적으로 최적화한다.

Historical Review

2012 - AlexNet

Converlution이라는 네트워크, 심층 합성곱 신경망(Deep Convolutional Newural Network, CNN)을 도입하여 이미지 분류 대회에서 획기적인 1위를 차지했다. 딥러닝의 대중화를 촉진했으며, 실질적인 패러다임 전환을 야기했다.

2013 - DQN

Q-learning에 딥러닝을 접목하여 인간 수준의 전략을 학습할 수 있게 한 대표적인 심층 강화학습(Deep Reinforcement Learning) 모델이다. 알파고와 같은 AI 시스템의 기반이 되는 핵심 알고리즘 구조를 제시했다.

2014 - Encoder / Decoder

Neural Machine Translation(NMT)의 표준이 되었으며, 자연어 처리에서 시퀀스 간 변환 문제에 응용되고 있다.
단어의 연속(문장)이 주어졌을 때, 잘 표현해서 우리가 원하는 다른 언어의 연속적인 문장으로 변환해주는 것이다.

2014 - Adam Optimizer

Adam (Adaptive Moment Estimation) optimizer는 변현된 확률적인 경사하강법(SGD)에 기반하여 각 파라미터의 적응적 학습률을 자동으로 조정한다. 계산 효율성과 튜닝의 용이성으로 대부분의 딥러닝 연구와 실무에서 표준적으로 사용되고 있다.

공식 문헌에서도 Adam을 기본 선택으로 두는 경우가 많으며 빠른 수렴이 중요하거나 자원 제약이 있는 환경에서 강점이 있다.
많은 컴퓨팅 리소스가 필요한데, 일반적인 사람들은 지표가 한정적인 리소스가 있기 때문에 아담 방법론이 가장 무난하게 사용할 수 있다고 한다.

2015 - Generative Adaversarial Network

생성자 (Generator)와 판별자(Discriminator)라는 두 신경망이 경쟁적으로 학습하는 구조로, 이미지나 텍스트, 오디오 등을 생성하는 데 주로 사용된다.

2015 - Residual Networks

Residual Networks(ResNet)의 등장으로 딥러닝이 실질적으로 깊은 네트워크를 구성할 수 있는 전환점이 마련되었다고 볼 수 있다.
이전에는 네트워크의 깊이를 늘릴수록 성능이 저하되거나 학습이 제대로 이뤄지지 않는 degradation 문제가 있었지만 ResNet이 나온 이후, 네트워크를 깊게 쌓을 수 있도록 만들어준 패러다임의 전환점이 되었다.

2017 - Transformer

'Attention Is All You Need' 라는 논문에서 소개된 Transformer 아키텍처는 RNN, CNN 없이 오직 Attention 매커니즘만으로 시퀀스 데이터를 처리한다.
대부분의 자연어 처리(NLP) 과제에서 최고 성능을 기록하여 대규모 사전학습 언어모델의 토대가 되었다.

구조의 단순성과 병렬처리 효율성으로 대규모 데이터 학습이 용이해졌다는 점이 중요한 점이다.

2018 - BERT (fine-tuned NLP models)

NLP 모델은 랭귀지 모델이라는 학습을 하게 된다. 앞선 단어가 나왔을 때 다음에 올 단어를 맞추게 되는 방식이다. 이 과정을 반복하게 되면 그럴싸한 문장이나 프로그램이 만들어지게 된다.

실제 우리가 풀고자 하는 문제는 여기에 맞는 충분한 학습 데이터를 확보하기 어렵다는 한계가 있다.
예를 들어, 날씨 예측과 같은 뉴스 데이터는 수가 많지 않다.
이때, BERT는 위키피디아와 같은 대규모 일반 텍스트 데이터를 확용하여 pretraining 한 후, 우리가 원하는 작업에 맞게 소량의 도메인 데이터로 추가 학습(fine-tuning)을 한다.

즉, BERT는 일반적인 언어 이해 능력을 먼저 학습한 후 다양한 NLP task에 맞춰 쉽게 적응할 수 있도록 설계된 모델이다.
이로 인해 모델을 처음부터 새로 학습하는 것이 아니라, 사전학습된 언어 모델을 미세조정하여 문제를 해결하는 방식이 표준으로 자리잡게 되었다.

2019 - BIG Language Models

약간의 fine-tuning이나 prompt만으로 다양한 과제를 해결할 수 있게 되었다.

  • GPT-3 : 1750억개의 파라미터로 이뤄진 초대형 언어모델

2020 - Self Supervised Learning

SimCLR : a simple framework for contrastive learning of visual representations

기존에는 한정된 학습 데이터가 주었을 때, 모델과 loss function을 바꿔가면서 최적화 하는 것이 일반적이었다.
하지만 실제 환경에서는 라벨이 없는 데이터가 더 많기 때문에, 이를 효과적으로 활용하기 위한 방법으로 Self-Supervised Learning이 제시되었다.

Self-Supervised Learning은 라벨이 없는 데이터 간의 관계나 패턴을 학습하여 의미 있는 표현(Representation)을 추출할 수 있도록 하는 학습 방식이다.

SimCLR은 이러한 Self-Supervised Learning의 대표적인 프레임워크로 이미지를 컴퓨터가 이해할 수 있는 벡터로 변환하는데 효과적인 성능을 보인다.

REFERENCE

profile
Whatever I want | Interested in DFIR, Security, Infra, Cloud

0개의 댓글