본문 바로가기
딥러닝

Neural Networks - MLP

by 우당탕탕 is me 2024. 7. 28.

참고자료 ➡️ https://www.boostcourse.org/ai111/lecture/1108319

(개인적으로 진짜 추천!! 딥러닝을 처음 접하는 사람들이 이해하기 쉽게 설명해주심)

 

딥러닝 기초 다지기

부스트코스 무료 강의

www.boostcourse.org

 

딥러닝 기초 개념 정리


신경망(Neural Networks)

  • 정의: 신경망은 동물의 뇌를 구성하는 생물학적 신경망에서 영감을 받은 컴퓨팅 시스템.
  • 뉴럴 네트워크는 여러 개의 노드(뉴런)와 그들을 연결하는 가중치(weight)로 구성되어 있음.
  • 데이터를 학습하여 예측, 분류, 생성 등의 다양한 작업을 수행.
  • 역전파(Backpropagation): 역전파는 신경망 학습 과정에서 손실(loss)을 최소화하기 위해 가중치를 업데이트하는 알고리즘.
  • 인간의 뇌에서는 일어나지 않는 현상. 비록 뉴럴 네트워크의 노드를 뉴런이라고 부르지만, 인간의 지능이나 뇌를 모방한다고 설명할 필요는 없음.

뉴럴 네트워크의 발전

 

  • 초기 모방: 뉴럴 네트워크는 처음에 뇌와 뉴런의 동작 방법을 모방하는 것으로 시작.
  • 그러나 현대 딥러닝에서는 생물학적 모방을 넘어서 독립적인 수학적 모델로 발전.
  • 비교 사례
    • Avion III (1897): 새를 모방한 비행 기계로, 비행을 위해 새의 날개 구조를 흉내내려고 함.
    • Write Brothers (1903): 프로펠러와 날개가 있는 비행 기계를 만들어 공기 역학을 이용하여 비행에 성공.
    • F-22 Raptor: 우리가 하늘을 날기 위해 꼭 새를 모방할 필요가 없음을 보여줌.
    • 결론: 빠르게 뛰기 위해 치타를 모방할 필요가 없듯이, 뉴럴 네트워크도 뇌를 모방할 필요 없이 자체적으로 효율적인 모델로 발전할 수 있음.

뉴럴 네트워크의 실제 모델

  • 본질: 뉴럴 네트워크는 선형 변환(affine transformation)과 비선형 변환(nonlinear transformation)을 반복적으로 쌓아놓은 함수 근사기(function approximator).
    • 이는 주어진 입력 데이터를 출력으로 변환하는 복잡한 함수로 볼 수 있음.
  • 역할: 주어진 이미지(텐서)를 라벨로 변환하는 모델. 예를 들어, 이미지 분류 문제에서는 입력 이미지가 주어졌을 때, 해당 이미지가 어떤 카테고리에 속하는지를 예측.
  • GoogLeNet 예시: GoogLeNet은 여러 층의 컨볼루션 연산과 비선형 변환(ReLU 등)이 반복적으로 일어나 이미지를 분류하거나 생성하는 신경망 구조. 이는 이미지에서 특징을 추출하고 이를 바탕으로 최종 분류를 수행.


기본 개념 예시: 1차원 입력과 출력

  • 설명: 가장 간단한 형태는 1차원 입력과 1차원 출력을 연결하는 모델.
    • 이는 선형 회귀 모델로 설명할 수 있음.
  • 정의: 선형 모델은 직선의 기울기(slope)와 절편(intercept)을 찾는 문제로, y-offset을 얼마나 멀리할지 결정하는 두 개의 파라미터(W와 b)를 찾음.
    • 선형 회귀 공식: y = Wx + b
    • W는 기울기, b는 절편.

 


손실 함수(Loss Function)

  • 정의: 손실 함수는 예측 값과 실제 값 사이의 차이를 수치화한 함수로, 우리가 원하는 현상이 이루어졌을 때 줄어드는 함수.
  • 예시: 가장 간단한 회귀 문제에서는 제곱 손실 함수(squared loss function)을 사용.
    • 이는 예측 값과 실제 값의 차이를 제곱하여 평균을 구한 값.
    • 제곱 손실 함수(MSE, Mean Squared Error):

 


역전파(Backpropagation)와 경사하강법(Gradient Descent)

https://medium.com/@jaleeladejumo/gradient-descent-from-scratch-batch-gradient-descent-stochastic-gradient-descent-and-mini-batch-def681187473

  • 목표: 손실 함수를 최소화하는 지점을 찾는 것.
  • 방법: 손실 함수를 파라미터(W와 b)로 편미분한 값을 사용하여 파라미터를 업데이트.
  • 편미분 값을 적절한 비율로 곱하여 현재 파라미터에서 빼주는 과정을 반복.
    • 역전파(Backpropagation): 손실 함수의 값이 줄어들도록 가중치를 업데이트하는 알고리즘.
    • 경사하강법(Gradient Descent): 이 과정을 통해 손실 함수가 최소화되는 방향으로 파라미터를 업데이트 하는 방법.
    • 수식:

 

728x90
반응형