[Deep Learning] 뉴런

띠로리·2024년 2월 13일

4학년 2학기, 졸업 프로젝트에서 인공지능을 활용한 이후 상당히 큰(?) 관심이 생겨 꾸준히 공부해오고 있는 내용들을 블로그에도 다시 정리하기로 했다. 노션에 정리했던 글과는 다르게 조금 더 정리된 형태로 글을 적어 올리는 게 목표! ⭐

1. 뉴런이란?

딥러닝의 목적

딥러닝의 목적은 인간 뇌의 작동 방식을 모방하는 것이다.

왜?

인간의 뇌가 지구상에 존재하는 가장 뛰어난 학습 도구, 학습 메커니즘 중의 하나이기 때문이다. 이러한 이유로 딥러닝에서 '인공 신경망'을 만들기 위한 첫 번째 과제는 '뉴런'을 재현하는 것이다.

뉴런 자체는 별로 강하지 않지만 수많은 뉴런이 협업하면 많은 일을 할 수 있다. 😎

뉴런의 구성 요소

  • 가지 돌기 (Dendrites, 수상 돌기) : 뉴런을 위한 신호 수신기
  • 축삭 돌기 (Axon) : 뉴런을 위한 신호 발신
  • 시냅스 (Synapse) : 신경 세포의 신경 돌기의 말단이 다른 신경 세포에 접합하는 부분

2. 뉴런을 어떻게 만들 수 있을까?

노란색 : 입력층, 신호(입력 값)가 들어오는 전면의 바깥쪽 층에 있는 모든 뉴런
빨간색 : 출력값, 연속적인 것일 수도 있고 / 분법적인 것일 수도 있고 / 범주형 변수일 수도 있다. (만약 범주형 변수라면 출력값이 여러 개)

The Neuron

  • 입력층은 인간의 뇌와 비슷하게 생각하면 된다. 즉, 시각, 청각, 촉각, 후각, 미각 같은 모든 감각이 신호라고 생각하면 된다.
  • 입력값들, 신호들은 시냅스를 통해 뉴런으로 들어오고 뉴런이 출력값을 가지게 된다. → 계속해서 전달됨.
  • 왼쪽의 입력 값들은 독립 변수이다.
    변수1, 변수2, ... 변수 m 까지 → 모두 관측치(데이터 베이스) 하나를 위한 값.
    모든 게 우리가 모델을 훈련하고 예측을 실행하고 있는 특정 '어떤 것'에 대한 묘사이다.

뉴런을 만들기 위해 우리는

  • 변수들을 표준화해주어야 한다.
    ✏️ 표준화 : 평균이 0이고 분산이 1이게 만드는 것
    ✏️ 정상화 : 최솟값을 빼서, 최댓값에서 최솟값을 뺀 값으로 나누는 것 → 0 ~ 1 사이 값을 얻도록 한다.
  • 모든 변수가 같은 값의 범위 내에 있는 유사한 값인 게 좋다.
    → 왜? 모든 값들은 신경망으로 보내질 텐데, 합산되거나 가중치가 곱해질 것이다. 이때 값이 모두 비슷하면 신경망이 처리하기 더 쉬워지기 때문이다.

3. 시냅스

  • 시냅스는 가중치를 할당 받는다.
    가중치는 인공 신경망이 기능하는 데 꼭 필요한 것으로, 이를 통해 신경망이 학습한다.
  • 신경망은 모든 경우에 가중치를 조정하면서 결정을 내린다.
    특정 뉴런에 어떤 신호가 중요하고/중요하지 않고, 전달되고/전달되지 않을지, 어느 강도의 신호가 전달 될 지를 정한다. 그래서? 가중치가 중요하다. 😎
  • 인공 신경망을 훈련할 때는 전체 신경망에 퍼져 있는 모든 신경망을 조정한다.
    이 때 사용되는 게 경사하강법과 오차역전파

4. 뉴런에서는 어떤 일이 벌어질까?

  1. 입력된 모든 값이 합산된다. (== 모든 입력 값의 가중 합계가 필요하다!)
    합산해서 가중치를 곱하고 더해준다는 뜻

  2. 활성화 함수를 적용한다.
    활성화 함수란, 뉴런 또는 전자에 할당된 함수이다. → 가중 합계에 적용됨

  3. 1, 2번을 통해 뉴런이 신호의 전달 여부를 이해한다.
    즉, 함수에 따라 뉴런이 신호를 전달하거나 전달하지 않는다.


혹시 오타나 잘못된 내용이 있을 경우 알려주시면 감사하겠습니다. 😊

profile
차곡 차곡 기록 쌓기

0개의 댓글