본문 바로가기

인공지능 대학원/AI 영상처리

인공신경망 MLP,CNN

 

1.  신경망(Neural Network) 학습 과정

  • 신경망은 입력 → 출력을 매핑해주는 모델로, 학습은 예측값과 실제값의 차이(=오차)를 줄이는 과정
  • 이때 중요한 역할을 하는 게 손실 함수 (Loss Function)!

2.  손실 함수 (Loss Function)

  • 예측값과 실제 정답 사이의 차이를 수치로 나타냄
  • 손실 함수 값이 작을수록 모델이 잘 맞췄다는 뜻
  • 분류 문제에서는 크로스 엔트로피 (Cross Entropy) 가 대표적:
    • 예측 확률 분포와 실제 정답(원-핫 벡터) 분포의 차이를 측정
    • 정답 클래스에 높은 확률을 줄수록 손실이 작아짐

3. 최적화 함수 (Optimizer)

  • 손실 값을 줄이기 위해 가중치(weight) 를 업데이트하는 도구
  • 대표적인 알고리즘:
    • SGD (Stochastic Gradient Descent): 기본적인 방법, 단순하지만 느릴 수 있음
    • Adam: 학습률 자동 조절, 빠르고 안정적으로 학습 가능. 많이 사용됨

4. 과적합(Overfitting)과 일반화(Generalization)

  • 과적합: 학습 데이터에는 잘 맞지만, 새로운 데이터(테스트 데이터)에는 성능이 안 좋음
  • 일반화: 새로운 데이터에도 잘 작동하도록 학습하는 것
  • 일반화를 위해 필요한 것들:
    • 정규화(Regularization): 불필요한 복잡함을 줄여서 모델이 새로운 데이터에 더 잘 대응하도록
    • 드롭아웃(Dropout): 학습 시 일부 뉴런을 랜덤하게 꺼서, 모델이 특정 뉴런에 과도하게 의존하지 않도록 방지

신경망 구조별 요약

5.  MLP (Multi-Layer Perceptron)

  • 가장 기본적인 신경망 구조 (완전연결층 = Linear Layer 만 사용)
  • 특징:
    • 입력은 이미지를 1차원 벡터(펼쳐진 픽셀들) 로 넣어야 함
    • 각 레이어마다 Linear + ReLU 구조.
    • 최종 출력층은 클래스 개수만큼 노드 (예: MNIST는 10개)
[입력 픽셀] → Linear → ReLU → Linear → ReLU → ... → Linear → [출력 10개]
  • 주의점:
    • 이미지를 flatten(1차원)으로 펼칠 때 크기를 잘 맞춰야 함 (예: 28x28 → 784).
    • 너무 깊거나 큰 모델은 과적합 위험 → 정규화 필요

6. CNN (Convolutional Neural Network)

  • 이미지 인식에 특화된 구조
  • 특징:
    • 이미지의 공간 구조(2차원 정보) 를 유지하면서 학습 가능
    • Conv2D(필터) 로 특징(feature)을 추출하고, MaxPooling 으로 크기를 줄임
    • 마지막에는 MLP처럼 Fully Connected Layer (Linear) 사용해서 출력
[입력 이미지] → Conv2D → ReLU → MaxPool → Conv2D → ReLU → MaxPool → Flatten → Linear → [출력 10개]
  • 선택적으로:
    • Dropout 사용 가능 (과적합 방지)
    • BatchNorm 사용 가능 (학습 안정화)

핵심 요약 정리

Loss Function 예측값과 실제값 차이 측정 (예: Cross Entropy)
Optimizer 손실을 최소화하기 위한 가중치 조절 도구 (Adam, SGD 등)
Regularization 모델의 일반화 능력 향상 (Overfitting 방지)
Dropout 일부 뉴런 비활성화로 과적합 방지
MLP 입력을 일렬로 펼쳐서 Linear 계층 사용
CNN 필터(Conv2D)로 이미지 특징 추출, 공간 구조 유지 가능
ReLU 비선형 활성화 함수, 학습 효율 개선
Pooling 특징 크기 줄이기, 계산량 감소, 중요한 정보만 유지

 

728x90