AI

Deep Learning 기초 지식

eun2ng 2025. 2. 11. 19:17

딥러닝의 발전 5단계

  • AI/ML/DL 관점에서 크게 5단계로 개발 방법론이 진화
  • 세 단계로 나누면 SW 1.0, SW 2.0, SW 3.0으로 구분

SW 1.0

Rule-based Programming

  • 사람이 이미지의 특징을 직접 설계해 조건에 맞으면 고양이로 판단
  • 예: if ear_length > 10 and nose_color == 'black': cat

SW 1.5

Conventional Machine Learning

  • 특징 추출은 사람이 설계하고, 연산 조건은 기계가 학습

머신러닝 과정

  1. 학습 데이터 준비
    • 이미지 수집, 특징 정의, 학습 데이터 생성
  2. 모델 학습
    • Try & Error 방식으로 최적의 연산 집합을 찾음

SW 2.0

Deep Learning

  • 출력 계산을 위한 모든 연산을 기계가 고안
  • CNN, RNN 같은 구조를 사용해 데이터에 맞는 연산 구조를 잡음
  • 더 많은 데이터를 필요로 함

텍스트 데이터 준비 과정

  1. 텍스트 수집
  2. 토큰화(텍스트를 의미 단위로 분할)
  3. 학습 데이터 생성

SW 2.5

Pre-training & Fine-tuning
기존 방식의 문제: 태스크가 바뀔 때마다 다른 모델 필요

해결 방법: Pre-training + Fine-tuning

  • Step 1: Pre-training
    • 일반적인 특징을 학습
  • Step 2: Fine-tuning
    • 기존 특징 추출은 고정하고, 특정 태스크에 맞는 연산만 학습

텍스트 데이터 관점 (GPT-1)

  • Step 1: Pre-training
    • 라벨링 없이 인터넷 데이터를 활용해 학습(Self-supervised Pre-training)
  • Step 2: Fine-tuning
    • 텍스트 분류와 같은 특정 태스크에 미세 조정

SW 3.0

Big Model & In-context Learning

  • 태스크별로 모델을 새로 만들거나 데이터를 모을 필요가 없음
  • 특정 모델 크기 이상부터 Fine-tuning 없이도 높은 성능 가능

학습 방식

  • Zero-shot: 예시 없이 해결
  • One-shot: 예시 하나 제공
  • Few-shot: 예시 몇 개 제공

딥러닝 기술 종류: 학습 방식에 따른 구분

교사 학습 (Supervised Learning)

특정 입력에 대한 정답을 알려주는 방식으로 학습

  • 라벨링 데이터
  • 직접 피드백
  • classification
  • regression

원하는 정답을 직접적으로 알려주는 방식으로 학습 -> 데이터가 정말 중요함 -> 학습 데이터, 평가 데이터로 나눔

정답 데이터를 확보하는 작업 = 라벨링, 어노테이션

 

분류 (Classification)

기정의된 클래스들 중 입력이 어느 클래스에 해당하는지 맞추는 태스크

결과값은 클래스의 종류 중 하나이므로, 양수의 정수값으로 보통 표현

ex) 음식의 종류 분류 프로그램

 

회귀 (Regression)

입력 데이터에 대한 실수 혹은 실수의 집합(벡터) 출력으로 맵핑해주는 태스크

ex) 음식의 온도 예측 프로그램분류 + 회귀분류와 회귀를 동시에 진행하는 경우 존재

객체 검출

ex) 이미지 내 음식들 종류와 위치 라벨링

노이즈 (Labeling Noise)

교사 학습에서 중요한 것은 데이터의 품질이고, 라벨링 노이즈에 따라 교사 학습의 성능이 좌지우지 됨

라벨링 결과에 대한 노이즈 = 라벨링 작업에 대해 일관되지 않음의 정도 라벨링 작업에 대해 일관되지 않음의 정도


비교사 학습 (Unsupervised Learning)

특정 입력에 대한 정답을 알려주지 않고 학습시키는 방법

  • 라벨링 데이터 X
  • 피드백 X
  • 숨은 구조 찾기(정답을 간접적으로 찾기)
  • Clustering 군집화
  • Demensionally Reduction 차원 축소

Clustering (군집화)

  • 유사한 특징끼리 그룹화

차원 축소 (Dimensionality Reduction)

Auto Encoder

입력 데이터 n개 ---차원축소---> 출력 ---차원확대---> 입력

n차원으로 축소했을 때 입력이 복원이 가능한 정도의 정보는 담고 있어야함

왜 줄일까?

  1. 정보 압축 : 이미지/비디오/오디오 압축
  2. 정보 시각화 : 사람이 눈으로 확인할 수 있는 것은 3차원까지
  3. 정보 특징 : 중요한 특징을 추출하여 분석에 사용 10개 클래스가 잘 구분되는 2차원의 특징 벡터를 찾는다면 훨씬 분류 성능이 뛰어난 모델을 만들 수 있음

 


강화 학습 (Reinforcement Learning)

출처 : https://kr.mathworks.com/discovery/reinforcement-learning.html

주어진 환경에서 더 높은 보상을 위해서 최적의 행동을 취하는 정책을 학습

에이전트 / 보상 / 행동 / 환경

  • 라벨링 데이터
  • 지연 피드백
  • 보상 신호

model - free 강화학습 2가지 AI

- 정책 AI : 이런 이미지가 들어왔을 때 어떻게 행동해야하는지 예측하는 AI

- 보상 AI : 현재 상태에서 이런 행동을 하게 되면 보상이 얼마일거야 라고 예측하는 AI 모델


딥러닝 기술 구분: 데이터 형식에 따른 구분

정형 데이터 (Tabular Data)

  • Excel 같은 표 형식 데이터
  • 회귀 및 분류 태스크에 사용

비정형 데이터 (Unstructured Data)

  • 이미지, 텍스트, 음성 같은 데이터

컴퓨터 비전 (CV)

: 입력으로 이미지나 동영상 데이터를 받는 AI

  • ChatGPT 이전에는 가장 많이 상품화된 AI 기술이었으며, 딥러닝 기술을 선도함

ex) 입력 데이터가 이미지 ⇒ cv

얼굴 인식 → 누구의 얼굴? : 분류

얼굴 검출 → 얼굴의 위치? : 회귀

성별 인식 → 성별? : 분류

나이 인식 → 나이? : 회귀

 

자연어 처리 (NLP)

 

: 입력으로 텍스트 데이터를 받는 AI

ex)

문장 작성 → 주어진 글에 이어서 문장 작성 : 생성

혐오글 분류 → 혐오적인 표현 존재 여부 : 분류

번역 → 다른 나라 언어로 번역 : 생성

감정 분류 → 글에서 느껴지는 감정 : 분류

  • 각 NLP 태스크 별로 별도의 NLP AI를 만들어야 했지만, LLM 출현으로 하나의 모델로 다 대응 가능 (SW 3.0)

음성 인식/생성

: 입/출력으로 음성 데이터가 활용되는 AI

ex)

음성 인식 → 음성 속에 담긴 글자 인식 : 인식

감정 분류 → 음성 속에 담긴 감정 분류 : 분류

나이 인식 → 발화자의 나이 인식 : 회귀

화자 분류 → 화자 별로 신호 분류 : 분류

  • 출력 데이터가 텍스트 인 것도 있어서 NLP와 함께 쓰이기도 함

딥러닝 기술 구분: 태스크 종류에 따른 구분

인식 기술 (Recognition)

  • 비정형 데이터에서 특정 정보를 추출
  • 예: 개와 고양이 구분

생성 기술 (Generation)

  • 의도된 정보를 담은 비정형 데이터 생성
  • 예: 이미지 생성, 텍스트 생성

인식 기술이 먼저, 후에 생성 (생성이 더 어려움)내가 만들어낼 수 없다면, 완벽하게 이해한 것이 아니다.

 

이미지 생성 모델의 역사

  • 2014 GAN(Generative Adversarial Network)
    : 이미지 생성은 가능하지만 통제력은 다소 부족해서 상업적으로는 사용이 어려운 상황
  • 2021 DALL-E (OpenAI)
    : 통제력 달성을 입력을 텍스트로 받아서 해결 ” 아보카도 모양 안락 의자”
  • 2023 Stable Diffusion (Stability)
    : 상업적으로도 이용가능하면서 오픈소스 → 관련 산업 급격히 성장 원하는 그림에 대해서 상세하게 묘사 ⇒ Prompt Engineering

 

텍스트 생성 모델의 역사

  • 2023 ChatGPT(OpenAI) : 입력된 텍스트에서 스스로 태스크를 파악하여 그에 맞는 결과를 텍스트 출력
  • 2018년 부터 ChatGPT의 근간이 되는 LLM 기술이 개발되기 시작
  • 5년 후 일반 사용자가 느꼈을 때 상품화된 기술이 등장