[DL] Neural Network (인공 신경망)

HanSol Choi·2024년 6월 19일

Neural Network (인공 신경망)

-생물학적 신경망에서 영감을 받아 개발된 기계 학습 모델이다.
-입력 데이터를 처리하여 유용한 패턴이나 정보를 학습하고 예측하는 데 사용된다.
-신경망은 인공 뉴런으로 구성된 계층(Layer)들로 이루어져 있으며, 각 뉴런은 입력을 받아 가중치를 적용한 후 활성화 함수(Activation Function)를 통해 출력을 생성한다.

3 basic layers


입력층(input layer), 은닉층(hidden layer), 출력층(output layer)

  • 신경망의 구조
    -입력층 수 = 출력층 수 = 1개
    -은닉층의 수 → 사용자가 결정
    -은닉층의 수가 적은 경우 → 얕은 신경망 (shallow NN)
    -은닉층의 수가 여러 개인 경우 → 다층 신경망 (Deep NN) → 딥러닝

  • 각 층(or 노드)의 주요 역할

    • 입력층
      -독립변수의 값(features 정보)을 입력 받아 다음 층으로 전달
      -입력 노드의 수 = 독립변수의 수
    • 은닉층
      입력받은 데이터에서 종속변수의 값을 예측하는데 중요한 특성을 추출
    • 출력층
      -종속변수의 예측치를 출력
      -출력 노드의 수 → 문제의 종류에 따라 상이
  • bias node(편향 노드)
    입력층과 은닉층에 존재
    선형 회귀 모형의 intercept와 비슷한 역할
    bias node에서 출력되는 값 → 1의 값 출력

  • 출력노드의 수

    • 회귀문제
      출력노드 1개
      출력노드가 출력하는 값 = 종속변수의 예측치
    • 분류문제
      출력노드의 수 = 종속변수가 취할 수 있는 값의 수

비용 함수

-신경망의 예측이 실제 데이터와 얼마나 잘 일치하는지를 측정하는 데 사용
-모델의 예측이 실제 값에 가까워지도록 모델의 파라미터(가중치와 편향)를 조정
-위 과정을 통해 신경망이 주어진 데이터에 대해 최적의 예측을 수행하도록 예측

  • 비용 함수 종류
    -비용 함수의 종류는 문제 종류에 따라 달라짐
    -분류 문제 : 교차 엔트로피
    -회귀 문제 : 평균 제곱 오차 (Mean Squared Error, MSE)

  • 비용 함수의 역할

    • 모델 평가
      비용 함수는 모델의 예측이 실제 값과의 차이를 수치적으로 표현 (비용 함수 값이 낮을수록 실제 데이터와 잘 부합함)
    • 모델 최적화
      학습 과정은 비용 함수의 값을 최소화하기 위해 가중치와 편향을 조정하는 과정

NN 작동 원리

  • 신경망 기본 작동 방식
  1. 정답이 있는 데이터 준비
  2. 정답이 있는 데이터를 학습 데이터와 평가 데이터로 분리
  3. 신경망(딥러닝 모델)을 이용해 데이터에 존재하는 독립변수와 종속변수의 관계 파악 ← 학습
  4. 비용 함수를 최소화하는 파라미터의 (최적)값을 탐색
  5. 모델 성능 평가
  6. 평가 결과가 좋을 경우, 해당 모형을 풀고자 하는 문제에 대한 데이터에 적용하여 종속변수 값을 예측
  • 일반적인 작동 방식
  1. (편향노드를 제외한) 각 노드는 이전 층으로 전달 받은 값들을 입력 받고 그 값을 출력, 다음 층의 노드로 전달
  2. 입력노드는 입력된 (독립변수 or feature)값을 그대로 출력
  3. 은닉노드는 입력 받은 값을 변환하여 출력, 이때 특정 함수 사용 → 활성화 함수
  4. 출력 노드는 문제의 종류에 따라 활성화 함수를 사용 or 사용하지 않음
    • 회귀 문제 : 활성화 함수 x
      분류 문제 : (대부분)소프트맥스 함수 사용

인공 신경망 학습 프로세스

  1. 초기화 (Initialization)
    학습 과정을 시작하기 위한 준비 단계, (보통)무작위 값으로 초기화
  2. 순전파 (Forward Propagation)
    -입력 데이터가 신경망의 입력층으로 주어짐, 각 층의 뉴런을 통과하면서 활성화 함수에 의해 처리
    -신경망의 출력층까지 과정 수행
    -활성화 함수 노드의 출력 값 결정, 신경망에 비선형성을 도입하여 복잡한 문제 해결 수행
  3. 오차 계산 (Error Calculation)
    -신경망의 출력과 실제 타깃 값 사이의 차이를 계산
    -신경망의 예측이 얼마나 정확한지를 수치적으로 표현
  4. 오류 역전파 (Error Backpropagation)
    -계산된 오차는 출력층에서부터 입력층 방향으로 역전파 되어 각 가중치가 오차에 얼마나 기여하는지 계산 → 가중치 조정
  5. 가중치 업데이트 (Weight Update)
    -경사 하강법을 사용하여 각 가중치를 업데이트
    -오차를 최소화하는 방향으로 가중치를 조정하여 신경망의 성능 개선
  6. 과적합 (Overfitting) 및 정규화 (Regularization)
    -학습 과정 중 과적합 발생 가능
    -이의 방지를 위해 정규화 기법(L1, L2 규제, 드롭아웃 등)을 사용, 모델의 복잡도를 제어하고 과적합을 줄임
  7. 반복 학습 (Iterative Learning)
    위의 과정 계속 반복, 최적화 진행
profile
ML/DL Study,기록📝

0개의 댓글