인공지능

알고 있으면 쓸모 있는 AI 지식(14)

원담 2025. 5. 26. 14:20
728x90

인공신경망 학습의 문제점

신경망 학습이 가진 구조적 어려움을 해결하기 위한 새로운 학습 방법들이 등장했습니다.

  • 설계 불확실성: 어떤 신경망 구조가 좋은 성능을 낼지 예측이 어렵다.
    • → 하이퍼파라미터(층 수, 노드 수, 학습률 등)가 너무 많음
  • 데이터 부족 문제: 대량의 학습 데이터가 필요하나, 항상 확보하기 어려움
  • 학습 시간 문제: 복잡한 모델은 학습에 매우 긴 시간이 소요됨
  • 불투명성 문제: 결과가 왜 그렇게 나왔는지 이해하기 어려움 -> 이로 인해 설명 가능한 인공지능(XAI) 필요성 대두

이 문제들을 해결하려는 접근이 아래와 같습니다.

Transfer Learning (전이 학습)

  • 정의: 기존에 잘 학습된 모델을 다른 유사한 작업에 재사용하는 방식
  • 예시: 폐렴 vs 정상 이미지 판별
    • 사전 학습(Pre-training)된 모델을 가져와 일부 레이어만 Fine-tuning 함으로써 빠르게 적은 데이터로 학습 가능
  • 대규모 데이터셋으로 미리 학습된 모델(예: ImageNet, BERT 등)의 가중치를 가져옴
  • 그리고 기존 모델의 하위 층(보통 feature extractor 역할)을 그대로 사용
  • 출력층(분류기) 만 새 데이터에 맞게 바꿔서 학습함 
    새로운 작업에 데이터가 적을 때
    → 기존 모델이 학습한 저수준/중간 수준의 특징은 그대로 쓸 수 있음

파인 튜닝

전이학습된 모델의 일부 또는 전체 가중치를 새 데이터에 맞게 다시 학습시키는 것

  • 전이학습 후, 모델의 상위 층 일부 또는 전체를 다시 학습시킴
  • 보통 출력층뿐만 아니라 중간층까지 gradient를 흘려서 가중치를 조정함
  • 모델이 새로운 도메인에 더 잘 맞게 조정됨

주로 사용하는 상황:
→ 새 데이터와 원래 학습 데이터 간에 차이가 클 때
→ 더 정밀한 성능 향상이 필요할 때

기존 모델이 학습하지 않았던 새로운 환경, 주제, 말투 등에 적응할 수 있도록 모델 내부의 파라미터를 미세 조정(Fine-Tune) 한다는 뜻이에요.

전이학습과 파인튜닝

단계  설명
전이학습 ImageNet으로 학습된 ResNet에서 마지막 분류기(1000개 클래스)를 "개구리/비개구리" 분류기로 교체하고, 그 부분만 학습
파인튜닝 위 전이학습 후, 중간 층부터 끝까지의 가중치를 다시 학습시켜, 개구리에 더 잘 맞도록 모델을 조정

Meta Learning (메타 학습)

  • 정의: "학습하는 방법을 학습"하는 기법
  • 목적: 다양한 상황에서도 빠르고 유연하게 적응할 수 있도록 함
  • 활용:
    • 신경망을 구성하는 최적의 파라미터를 찾는 방법을 스스로 학습
    • 메타 최적화기(Meta-Optimizer), 메타 표현(Meta-Representation), 메타 목표(Meta-Objective) 등을 조합
    • 다양한 AI 응용 (Few-shot, Continual, Active Learning 등)과 연관됨

Meta Learning 의 한가지 예시 Few-shot Learning / One-shot Learning

  • Few-shot Learning:
    • 학습 데이터가 매우 적은 경우에도 일반화 성능을 확보하는 기술
    • 예시: 4개의 클래스 각각 하나의 샘플(1-shot, 4-way)만으로 학습
    • 방식: 유사도 비교 → 기존 샘플과의 유사도(0 or 1)로 판단
    • 적은 데이터로 학습하는 것이 아니라, 적은 데이터를 가지고도 잘 학습할 수 있는 능력 자체를 학습하기 때문에 메타러닝이다.
    • Few-shot Learning
      ├── One-shot Learning (n = 1)
      ├── Two-shot Learning (n = 2)
      ├── Three-shot Learning (n = 3)
      └── ...
  • One-shot Learning:
    • 단 하나의 예제로 클래스 구분을 가능하게 하는 학습
    • 방식: 일반 분류기 → 입력 이미지가 어떤 클래스에 속하는지 판단

Siamese Network(유사도 판단 네트워크)

  • 정의: 두 개의 입력 이미지(또는 문장 등)를 각각 같은 신경망에 통과시켜 특징 벡터를 추출하고, 이들의 거리를 계산하여 유사도를 판단
  • 특징:
    • 이미지 인식, 문장 유사도 판단 등 다양한 작업에 활용
    • 학습 샘플이 매우 적은 경우에도 강력한 일반화 능력을 보임
    • 출력: 두 샘플 간의 유사도 점수(예: 0.3, 0.9 등)

기술목적 역할
Transfer Learning 기존 지식을 재사용하여 빠른 적응 및 학습
Meta Learning 학습 전략 자체를 학습하여 다양한 상황에 대응
Few-shot/One-shot 적은 데이터로 학습 가능하도록 구조화된 학습
Siamese Network 두 입력 간 유사도를 비교하여 분류/판단하는 구조

XAI의 핵심 개념

  • XAI(eXplainable AI): AI 모델의 판단과 결과에 대한 해석을 제공
  • 도움이 되는 이유:
    • 모델 성능 개선 방향 파악
    • 결과 신뢰성 확보
    • 실제 의사결정 활용 가능

XAI의 주요 접근 방법

① 모델의 결과(결정)를 설명하려는가?
          │
          ├── No → Neural Representations (모델 내부 구조 분석): 단순 모델과 내부를 확인한다
          │
          └── Yes → ② 모델이 본래 해석 가능한 구조인가?
                    │
                    ├── Yes → Interpretable Models (설명 가능한 모델 자체): 회귀, 디시젼 트리 등
                    │
                    └── No → ③ 모델 종류에 상관없이 설명할 방법이 필요한가?
                              │
                              ├── Yes → Model Agnostic (모델 무관한 해석 기법)
                              │
                              └── No → Model Specific / Example Based (모델 기반 해석 또는 예제 기반 해석)

1) Interpretable Models (해석 가능한 모델)

  • 구조 자체가 사람이 이해 가능한 모델. 예: 선형 회귀, 의사결정트리, KNN
  • 수식, 분기 조건 등으로 직접 해석 가능

2) Model Agnostic (모델 독립적)

  • 어떤 모델에도 적용 가능 (모델 종류에 무관함)
  • 대표 방법: SHAP
    • 각 feature가 예측에 미치는 영향력을 수치화해 시각화
    • 예: 나이, 성별, 혈압 등 다양한 요소가 모델 출력값에 미치는 영향 분석

3) Model Specific (모델 기반 해석)

  • 모델 내부 구조를 바탕으로 설명
  • 대표 기법: Attention
    • 예: 영어-프랑스어 번역 시 어떤 단어가 어떤 단어에 주목했는지를 시각화

4) Neural Representations (신경망 표현 시각화)

  • 신경망 각 층이 어떤 feature를 학습했는지 시각적으로 표현
  • 저수준 → 중간 → 고수준 feature로 이어지는 구조 파악 가능
  • 모델의 학습된 표현 자체를 시각적으로 분석 / CNN 등에서 계층별로 무엇을 학습했는지 시각화
분류 기준  질문  특징
Interpretable 애초에 사람이 해석 가능한 모델인가? 구조 자체가 단순하고 해석 가능
Model Agnostic 어떤 모델에도 적용 가능한 해석이 필요한가? 입력-출력만 보고 해석 가능
Model Specific 모델 내부 구조를 해석할 수 있는가? 모델의 gradient, attention 등 분석
Neural Repr. 학습된 표현의 시각적/구조적 해석을 원하는가? 계층별 특징 시각화
Example Based 예시 데이터가 어떤 영향을 미쳤는지 알고 싶은가? 구체적인 사례로 해석 (adversarial, influence)

XAI의 효과

  • 모델이 어떤 feature를 중요하게 여기는지 알 수 있음
  • 각 feature가 예측 결과에 미치는 영향력을 파악
  • 일반적인 feature의 효과도 분석 가능

XAI가 필요한 상황

  • 디버깅: 모델이 왜 오작동하는지 원인 분석
  • 피처 엔지니어링: 유용한 피처 도출을 위한 인사이트 제공
  • 데이터 수집 가이드: 불필요한 데이터 제외 가능
  • 신뢰성 확보: 예측 결과 기반 의사결정 시 사용

신경망의 성능 개선 방법

  • 모델 설계 접근법:
    • Model driven: 모델의 구조나 학습 방법 자체를 개선
    • Data driven: 데이터의 품질 또는 특성을 활용해 개선

Model driven 접근법 정리

  • Weight Initialization
    • 초기 가중치 설정이 학습 성능에 영향
    • Xavier 초기화: tanh, sigmoid에서 효과적
    • He 초기화: ReLU에서 적합
  • Dropout
    • 학습 중 일부 뉴런을 무작위로 제거 → 과적합 방지
    • 출력 노드에 신호를 일정 확률로 전달하지 않음 → 일반화 성능 향상
  • Batch Normalization
    • 배치 단위로 평균을 0, 분산을 1로 정규화
      • 학습 속도 향상
      • regularization 효과 유발 (과적합 방지)
  • Early Stopping
    • 검증 정확도가 떨어지기 시작하면 학습 중단
    • 과적합을 방지하고 불필요한 연산 절약
  • Transfer Learning
    • 기존에 학습된 모델을 재활용하여 새로운 문제 해결
      • 학습 시간 단축
      • 적은 데이터로도 높은 성능
      • 유사한 문제에서는 특히 효과적
  • End to End vs Part 방식
    • End-to-End: 입력에서 출력까지 모든 것을 하나의 모델이 처리
    • Part 방식: 여러 단계로 나누어 처리
  • ML vs DL 관점
    • ML (기존 머신러닝): 규칙 기반, 통계 기반
    • DL (딥러닝): 데이터 기반으로 feature도 자동 추출
구분 
머신러닝 (ML)  딥러닝 (DL)
가중치 학습 기계가 학습함
예: 선형 회귀에서 기울기 w, 절편 b 를 데이터 기반으로 최적화
기계가 학습함 (수백만 개 파라미터를 백프로 자동 학습)
특징 추출 (Feature) 사람이 직접 의미 있는 피처(변수)를 만들어줘야 함
예: 고양이 사진이면, '귀 크기', '코 색상'을 사람이 선택
입력(예: 픽셀값)을 그대로 넣으면 모델이 알아서 의미를 학습
모델 구조 비교적 단순 (선형회귀, SVM 등) 복잡한 다층 신경망 구조 사용
  • 선형 회귀, 로지스틱 회귀, SVM 등 머신러닝 모델도 "손실 함수를 줄이도록 파라미터(가중치)를 최적화"합니다.
  • 하지만 머신러닝에서는 입력으로 어떤 feature를 쓸지는 사람이 도메인 지식을 활용해서 골라줘야 합니다.
  • 딥러닝은 그 feature 선택조차 기계가 스스로 특징을 추출해서, 매우 복잡한 문제에 강합니다.
문제 상황  더 적합한 방식  이유
고객 이탈 예측 (고객 정보 + 결제 이력) 머신러닝 해석이 중요하고 데이터가 구조화되어 있음
고양이 vs 개 사진 분류 딥러닝 (CNN) 이미지 → 자동 특징 추출 필요
뉴스 기사에서 긍정/부정 감정 분류 딥러닝 (RNN, BERT 등) 문맥 파악 및 시계열 관계 필요
대출 사기 여부 판단 머신러닝 규칙 기반, 피처 해석 중요함 (설명 가능해야 함)
자율주행 차량 인식 딥러닝 복합적인 영상 데이터 처리 필요

Data Driven 접근법 정리

  • Data Distribution
    • 데이터가 정규분포 또는 로그정규분포 등 어떤 패턴을 따르는지 파악하고, 왜곡된 분포는 변환(log, Box-Cox 등)을 적용해 모델 학습을 돕습니다.
    • 대부분의 ML/DL 모델은 정규분포에 가까운 데이터에서 성능이 좋음. 분포가 왜곡되면 모델이 특정 값에 과도하게 집중하거나 학습이 불안정해짐. (예: 로그변환으로 극단값 영향 완화)
    • 예시: 소득 데이터가 대부분 200~400만 원에 몰려 있고 일부는 2000만 원처럼 극단적으로 큼 → 로그 변환을 하면 극단값 영향이 줄어들어 학습 안정화됨
  • Data Scale
    • 데이터의 단위나 범위가 다른 경우 StandardScaler MinMaxScaler를 사용해 정규화/표준화합니다.
    • 스케일이 다르면 모델은 크기가 큰 feature에만 민감하게 반응함. 이는 잘못된 가중치 업데이트를 유발하여 학습 불균형을 초래함. 
    • 키(cm)는 160, 연봉(천만원)은 3200 → 둘을 같이 쓰면 연봉이 너무 커서 모델은 연봉에만 집중 → 표준화(StandardScaler)로 모두 평균 0, 분산 1로 맞춤 혹은 MinMaxScaler 로 모든 값을 0~1 사이로 압축, 값 범위가 너무 차이 나는 경우 추천
    • 데이터 스케일은 공정한 출발선을 의미한다. 모든피쳐(변수) 가 비슷한 범위에서 다뤄지면 모델이 모든 피쳐를 고르게 학습하고 성능도 좋아진다.
  • Domain Knowledge
    • 단순 수치가 아닌 의미 있는 패턴을 만들기 위함. 사람이 알고 있는 전문적 맥락을 적용해 데이터에 의도와 목적성을 부여하면 모델도 더 빠르고 정확하게 학습함.
    • 전문 지식을 바탕으로 binning, 그룹핑 등을 통해 더 의미 있는 데이터를 구성할 수 있습니다.
    • 어떤 기준으로 나눌지 전문가 지식이 중요함 예: “혈압이 120 이상이면 고혈압이다” 같은 기준은 의학 지식 기반임
  • Feature Engineering
    • 원래 주어진 데이터는 모델이 학습하기 어려운 형태일 수 있음. 데이터를 변형해서 목표 변수(Target)와의 관계를 명확히 하면 모델이 더 잘 학습함. (즉, 학습 방향을 더 선명하게 만들어줌)
    • 기존 피처를 변환, 생성하여 목표값과 더 관련성 높은 형태로 만듭니다. 예: 비율, count, encoding, 그룹화, 파생 변수 생성
    • 날짜 데이터를 년/월/일로 나누거나, 요일로 변환, 또는 주말 여부로 바꿔서 고객 방문 패턴을 더 잘 예측할 수 있게 함
  • Dimension Reduction
    • 너무 많은 피처는 모델을 헷갈리게 하고 과적합의 원인이 됨. 정보가 풍부한 피처만 남기면 모델이 더 본질적인 구조를 학습할 수 있음. 특히 샘플 수가 적을수록 중요.
    • 너무 많은 피처로 인해 학습이 어렵거나 overfitting이 발생할 수 있으므로, Feature Selection 또는 Feature Extraction(PCA 등)으로 차원을 줄입니다.
    • 이미지에서 1024개의 픽셀값이 있지만, PCA를 통해 20개의 주요 축(feature)로 줄여도 분류 정확도 유지 + 연산도 빨라짐
  • Train/Test/Real 불일치 해결
    • 모델은 훈련한 분포에서 잘 작동하지만, 실제 데이터와 분포가 다르면 예측 정확도 급락. 현실에서 사용 가능한 모델이 되려면 데이터셋 간 차이를 최소화해야 함.
    • 학습용 데이터(train), 검증용 데이터(test), 실제 데이터(real)의 차이를 고려하여 모델 일반화를 도모합니다. 데이터 불일치가 성능 저하 원인이 되기도 함
    • 학습은 쇼핑몰 여름 시즌 리뷰 데이터만, 실제는 겨울 시즌 고객 리뷰 예측 → 단어 사용 방식이 달라져서 예측 정확도 낮아짐

standardScaler vs minMaxScaler

시스템 관점에서의 인공지능 이해

  • 기술적인 ML 알고리즘만이 아니라, 전체 시스템과 인프라를 포함한 큰 그림에서 AI를 이해해야 한다.
  • 실제 ML 시스템에서 ML 코드(모델)는 작은 부분일 뿐.
  • 대부분은 이를 지지하는 인프라와 운영 시스템:
    • 데이터 수집, 구성 관리
    • 피처 추출, 검증
    • 자원 관리, 분석 도구, 프로세스 도구
    • 배포 및 모니터링 시스템 등
  • 요점: AI는 단순 모델이 아니라, 운영 가능한 시스템 전체로 봐야 한다.

Machine Learning Lifecycle: 머신러닝 프로젝트의 전체 생명주기 (4단계)

  1. 문제 정의
    • ML로 해결 가능한 문제인가?
    • 데이터 수집 가능 여부, 인력, 일정 등 검토
  2. 수집 & 전처리
    • 데이터 수집, 정제, 라벨링, 시각화 등
  3. 학습
    • 모델 설계, 학습, 성능 평가, 개선
  4. 배포
    • 모델을 실 서비스에 적용, 모니터링 및 업데이트

실무에서는 "학습"만이 아니라 수집, 배포, 모니터링까지가 AI 프로젝트 전체임.

AI 프로젝트 구성원: AI 프로젝트는 다양한 역할이 협업해야 완성됨

  • 기획자: 요구사항 정의 및 전체 전략 기획
  • 데이터 관리자, 분석가: 데이터 수집, 전처리, 분석
  • 어노테이션 관리자: 라벨링 품질 관리
  • 도구 개발자: 데이터 분석 및 검증 자동화 도구 개발
  • 모델러, 서비스 개발자: 모델 학습 및 실제 서비스화

협업 기반 프로젝트로서, 단순 모델 개발자가 전부가 아님을 강조.

Machine Learning Architecture 4단계 파이프라인

  1. Process Data 수집(Collect), 전처리(Preprocess), 피처 엔지니어링
  2. Develop Model 모델 학습, 튜닝, 평가 (Train, Tune, Evaluate)
  3. Deploy 실제 환경에 배포 (배치/실시간 추론)
  4. Monitor 성능 모니터링, 모델 드리프트 감지, 알람/스케줄링

데이터 및 아티팩트 저장소 (Artifact Registry), 피처 스토어, 모델 레지스트리 등 운영을 위한 체계 포함

머신 러닝 아키텍쳐

728x90

'인공지능' 카테고리의 다른 글

Post Transformer(feat. GPT, BERT)  (2) 2025.05.27
RNN 기반 Sequence-to-Sequence 모델과 Attention  (3) 2025.05.27
NLP(Natural Language Processing) (13)  (2) 2025.05.26
Embedding(12)  (1) 2025.05.24
Computer Vision Task & CNN (11)  (2) 2025.05.23