안정민 2024. 6. 1. 23:24

1. 딥러닝 기본 용어 설명

 

-딥러닝 Key Components

(1) 모델이 학습할 데이터

(2) 데이터를 변환할 (인덱스로, 라벨로, 정답값으로) 모델

(3) 모델의 성능을 평가할 손실함수 loss function

(4) 손실을 최소화하고자 하는 알고리즘 (optimizer)

 

 

2. Historical Review

(1) 2012  Alexnet : Convolutional neural network model, 합성곱 신경

: 224*224 이미지가 들어왔을 때 분류해내는 것이 이 모델의 목적

:이전에는 SVM, 커널 기반 모델 등의 고전적인 모델들을 조합하는 방법들이 1등을 하였지만, 12년도 Alexnet이 1등

 

(2)2013 DQN : Q 러닝이라고 불리는 강화학습 적용

 

(3)2014 Encoder/Decoder: NMT (Neural Machine Translation)

: 풀고자하는 문제는 단어의 연속이 주어졌을 때, 이를 어떻게든 잘 풀어내서 다른 언어로 뱉어내는 것

:어떤 벡터로 인코딩할 것인지, 같은 의미벡터를 가지고 다른 언어로 어떻게 잘 풀어낼 것인지 벡터 시퀀스로 활용

 

(4) 2014 Adam Optimizer

: 이를 활용하지 않으면 이전의 결과가 복원이 안 됨, 즉 성능이 더 나빠진다는 뜻

: 따라서, 딥러닝 모델을 만들 때 다양한 하이퍼 파라미터 서치를 진행함 (어떤 optimizer 할 지, 스케줄링, 학습률) , 이에 따라 결과값이 많이 차이가 나고, 이를 감행하기 위해서는 많은 컴퓨터 자원이 필요

:Adam은 실험하는 것에 있어서 어지간하면 잘 됨 -> 여러 개의 컴퓨터 자원 필요 없이 Adam을 활용하면 된다

 

(5) 2015 Generative Adversarial Network (GAN) : 이미지와 텍스트를 어떻게 생성해낼 수 있을지

:네트워크가 generate 와 discriminate 두 개를 만들어서 학습시키는 것...?

(6) 2015 Residual Networks (ResNet) : 딥러닝의 딥러닝이 가능해짐

: ResNet 이전에는 Deep learning 시에 네트워크 층을 너무 많이 쌓게 되면 학습이 어려워진다는 이야기가 돌았음

: Training은 아주 잘 되어서 에러가 낮아지지만, Test set에 있어서 결과가 안 좋아짐

: 1000단까지 쌓아도 아무 문제 없어! 까지는 아니어도, 20단만 쌓아야 더 성능이 안 좋아지는 걸 방지할 수 있었다면 ResNet 이후에는 20단을 100단까지로 늘려주었다고 생각하면 된다.

:네트워크를 깊게 쌓을 수 있도록 도와줌

 

(7) Transformer : 

 

(8) 2018 BERT (fine-tuned NLP Models)

: 하나의 단어 다음에 어떠한 그럴싸한 단어가 위치할 지 예측하는 모델

:이러한 구조로 나아가다 보니 그럴싸한 문장이 만들어졌고 그럴싸한 아이디어가 도출되었음

:큰 말뭉치를 활용해서 pretraining -> 내가 필요한 source들의 데이터로 파인튜닝을 진행해서 원하는 모델을 만들어냄

 

(9) 2019 Big Language Models (GPT-X)

: 2018년도 이전의 BERT의 끝판왕 느낌, 언어 모델

: 약간의 파인튜닝을 통해서 sequential model을 제작하게 됨

:굉장히 많은 파라미터를 가지고 있어서 BERT와는 다르게 Big Language Model이라고 부르게 됨 (175 billion parameter), 아무나 쉽게 tuning 할 수 없게 되었음

 

(10) 2020 Self Supervised Learning

: Sim CLR , a simple framework for contrastive learning of visual representation

: 한정된 학습 데이터를 주었을 때, 모델 및 loss function을 바꾸어가면서 성능을 좋게 만드는 것이 이전의 방식이었다면, self supervised learning의 경우, 주어진 학습 데이터 외에, 라벨을 알지 못 하는 unsupervised learning data를 활용

:  해당 기술 발표 이후에 다양한 방법론들이 제안되었음

:다른 한 가지 trend라면, image가 주어졌을 때 좋은 representation 에 대해 오히려 데이터를 만들어냄, 데이터샘플링

:학습데이터를 스스로 만들어내어서 학슴 모델 뻥튀기 -> 얘에 대한 연구도 많이 되고 있음

 

 

 

 

본 포스트의 학습 내용은 부스트클래스 <AI 엔지니어 기초 다지기 : 부스트캠프 AI Tech 준비과정> 강의 내용을 바탕으로 작성되었습니다.