Neural Network

JJong·2023년 12월 3일
1

MACHINE LEARNING

목록 보기
4/7
post-thumbnail

Neural Network

Content

  • Perceptron
  • From Perceptron to Neural Network

1. Perceptron

퍼셉트론(Perceptron)은 신경망의 기원이 되는 알고리즘 이다. 이후 노드(Node), 가중치(Weight), 층(Layer)과 같은 새로운 개념이 도입되었다.

딥러닝을 포함하여 현대 신경망은 퍼셉트론을 병렬 구조와 순차 구조로 결합한 형태이다. 즉, 퍼셉트론은 Neural Network의 중요한 구성 요소이므로 구조와 동작, 학습 알고리즘, 특성을 제대로 이해할 필요가 있다.

1-1 단층 퍼셉트론(Single_Layer Perceptron)

단층 퍼셉트론은 값을 보내는 단계(input)와 값을 받아서 출력하는 단계(output) 이렇게 두 단계로만 이루어져 있다.

  • x1, x2 : 입력값 = input
  • w(weight) : 가중치라고 불리는데, 각 입력신호(input)가 결과에 영향력(중요도)을 조절하는 매개변수이다.
  • b(bias) : 뉴런이 얼마나 쉽게 활성화되는지를 결정하는 매개변수이다.
  • 단층 퍼셉트론의 작동 방식은 입력받은 각 신호(input)에 가중치(weight)를 곱한 후, 다음 뉴런에 전달하는 방식이다. 사진에 나와 있듯이 입력값에 가중치를 곱한 값이 특정 입계값을 넘어서면 y에 신호가 흐르는 구조이다.

2. From Perceptron to Neural Network

2-1. Feed Forward Neural Network(FFNN)

: 신호가 한쪽 방향으로만 흐르는 인공신경망의 일종이다. (input -> output)

2-2. Fully Connected Layer(Dense Layer)

2-3. Multi-layer Perceptron(MLP)

  • MLP 구성
  1. 입력층(Input layer) : 데이터를 입력받는 층
  2. 은닉층(hidden layer) : 입력층과 출력층 사이에 있는 모든 층
  3. 출력층(Output layer) : 최종 출력값이 존재하는 층으로 출력층에는 대부분 활성함수(activation function) 가 존재하는데 활성함수는 풀고자 하는 문제에 따라 다른 종류를 사용한다.

2-4. Activation Function

💡 활성화 함수는 항상 비선형 함수를 사용해야 한다!!

  • 선형 함수를 활성화 함수로 사용하면 층을 깊게 쌓는 의미가 없다.

    • 은닉층(hidden layer)이 없는 신경망과 같은 기능이 된다.

    사진처럼 선형 함수은 h(x) =cx를 활성화 함수로 하는 Three-layer FFNN을 보면 가중치가 1이라고 가정했을때 은닉층이 없는 신경망과 같은 결과값이 나오게 된다.

2-4.1 Actication Function 종류

Sigmoid 함수

  • 출력 값 범위 : 0~1
  • 이진 분류 문제를 위해 출력층(Output layer)에서 사용하기도 한다.
  • 출력값이 0~1 사이에서 기울기(미분값)가 0에 가깝다.

Hyperbolic tangent(tanh) 함수

  • 출력 값 범위 : -1 ~ 1

ReLU 함수

  • y = max(0,x)
  • 출력 값 범위 : 0~inf
  • 입력 값이 음수인 경우 0, 양수인 경우 입력 값 그대로를 반환한다.
  • 많은 딥러닝 모델의 은닉층(hidden layer)의 활성화 함수로 자주 사용된다.

Leaky ReLU 함수

  • y = max(ax, x), a는 1 이하의 양수
  • 출력 값 범위 : -inf ~ inf
  • 입력값이 음수일 경우 입력 값에 a를 곱한 값을, 양수일 경우 입력 값을 반환
  • 많은 딥러닝 모델의 은닉 층의 활성화 함수로 자주 사용된다.

profile
please bbbbbbbbb 😂

0개의 댓글