최근 ChatGPT와 같은 생성형 AI가 IT영역의 중요한 화두이자 관심사 입니다.
ChatGPT 역시 이름에서 와 같이 GPT라는 영역의 한 서비스 형태일 뿐이고, GPT는 Deep Learning의 부분이며, DeepLearning은 Machine Learning의 부분입니다.
우리는 머신러닝, 딥러닝이 필요에 의해서 발전된 기술의 형태임을 짐작 할 수 있습니다.
그러면, 왜 이렇게 기술이 발전하게 되고 어떤 차이가 있는지 알아보는것은 AI 기술을 이해하는데 많은 도움이 됩니다.
개 와 고양이의 분류 문제를 예로 들겠습니다.
1단계 : 사람이 직접 코딩
- 사람이 개,고양이의 특징(feature)과 조건을 분석해서 로직을 구현해서 판별 → 오류가 많고, 잘 안됨
- 개의 눈 크기, 모양, 생김새, 귀모양 등의 특징을 사람이 정의하고 판단 로직도 사람이 개발
2단계 : Machine Learning 도입
- 사람이 특징(feature)를 정의 → 기계가 특징을 기준으로 판단
- 특징은 여전히 사람이 정의하지만, 판단로직은 기계를 데이터로 학습하여 최적의 계산 로직(모델)을 만듦
- 방법
- (사람) 이미지 데이터 수집
- (사람) 특징 정의 : 귀 길이, 코의 색깔 등을 정의
- (사람) 학습 데이터 생성 : 특징을 기계가 학습할 수 있는 숫자 Data로 변환
- (기계) 데이터 학습 : 학습 데이터 연산후 예측값 → 정답과 비교 → 오차(정답vs예측)비교 → 연산식 조정 → 오차 비교 (반복) → 오차를 최소화 하는 연산식을 만듦
3단계 : Deep Learning 도입
- 특징정의 부터, 판단 하는 영역을 기계에게 맡김
- ML(Machine Learning)에 비해 계산이 훨씬 많기 때문에 이 연산이 Layer를 이루고 이것이 너무많아서 Layer가 깊어(Deep)지기 때문에 Deep Learning
- 특징을 기계가 결정하므로, 데이터셋 준비가 더 간단해 짐 → 이미지 픽셀 정보를 그대로 입력
(NLP의 경우 입력된 문장을 토큰화를 통해 쪼개는 작업이 선행됨) - RNN(Text에 적합), CNN(이미지에 적합) 등이 대표적입니다.
4단계 : Pre-trainning & Fine-tunning
- 기존 Deep Learning은 분류 대상이 바뀔 때 ( 사자 vs 토끼 ) 학습과 모델을 다시 만들어야 하는 치명적인 문제가 있습니다.
이를 해결하기 위한 방법이 바로 Pre-trainning & Fine-tunning 입니다. - 학습 단계
- Pre-trannig(1단계) : 특징을 찾아내는 단계를 모든 동물을 통해서 일반적인 동물들의 특징을 찾아냄
- Fine-tunnig(2단계) : 특징 찾는 부분은 재 학습없이, pre-trainnig 된 연산을 고정(freezing)하고 사자 vs 토끼 구분하는 판단하는 로직만 새롭게 학습
- pre-trainning 된 연산은 고정되므로, 이후 fine-tunning 에 해당되는 영역의 데이터 수는 확연히 줄어듭니다.
'AI' 카테고리의 다른 글
[NLP] word2vec 한번에 이해하기😏 (0) | 2022.12.30 |
---|---|
[SSL] Semi-supervised Learning (SSL) 이해 (0) | 2022.11.18 |
[객체검출] Object Detection #1 - 이미지 데이터 확인 (0) | 2022.11.08 |
객체 검출(Object Detection)이란? (0) | 2022.10.25 |