본문 바로가기
딥러닝(Deep Learning)/D&A Deep Session

[D&A Deep Session] 2차시 - 3. 퍼셉트론

by rahites 2022. 3. 21.

 

# 인공 신경망

 

인공신경망 (https://ko.wikipedia.org/wiki/%EC%9D%B8%EA%B3%B5_%EC%8B%A0%EA%B2%BD%EB%A7%9D)

입력층 : 입력된 데이터

은닉층 : 입력층과 출력층 사이에 추가된 밀집층 ( 밀집층 : 픽셀과 뉴런이 연결되어 빽빽한 모습의 층 )

출력층 : 신경망의 최종 값을 출력

 

- 각각에 입력층에 각기 다른 가중치로 계산되어 다음 은닉층으로 이동 -> 이 때 절편값인 b도 더해진다.

- 인공 신경망에서는 출력층에서 계산되는 z값을 계산하는 단위를 뉴런이라고 부른다. ( 최근에는 유닛이라고 부름 )

- 양쪽의 뉴런이 모두 연결되어 있기 때문에 완전 연결층이라고도 부른다. 

- 출력층에 적용하는 활성화 함수(뉴런에서 출력값을 변경시키는 함수)는 종류가 제한되어 있고 이진 분류일 경우 시그모이드 함수, 다중 분류일 경우 소프트맥스 함수를 사용한다.

- 은닉층의 활성화 함수는 비교적 자유롭다. ( ex. Relu 함수 등... )

- 분류 문제는 클래스에 대한 확률을 출력하기 위해 활성화 함수를 사용하지만 회귀의 출력은 임의의 어떤 숫자이므로 활성화 함수를 적용할 필요가 없다. ( 즉, 회귀의 출력은 선형 방정식의 계산을 그대로 출력한다. ) 

- 활성화 함수는 뉴런에 신호가 일정 크기 이상이 되면 값을 출력한다.

 

이때 활성화 함수와 함께 사용되는 단일 신경망을 '퍼셉트론'이라 한다!! ( 활성화 함수가 값을 0 또는 1로 출력한다. )

 

* 퍼셉트론 

 

단층 퍼셉트론의 한계 : 퍼셉트론은 input 값을 받아 선형결합을 한 뒤 비선형 함수로 한번 꼰다. 

-> 하지만 이 때 한번 꼬는 것 만으로는 XOR 문제를 해결할 수 없다. ( XOR : 같으면 0, 다르면 1을 출력 )

 

비선형 함수 ( Activation Functions ) 

: 선형 함수를 사용하면 신경망의 은닉층을 여러 개 추가하더라도 별다른 의미가 없기 때문에 비선형 함수를 사용한다.

ex. Sigmoid, Softmax, Relu 함수 등..   

 

퍼셉트론은 선형 결합을 한 뒤 비선형 함수를 통과하게 된다. 이 때 퍼셉트론을 많이 쌓더라도 하나의 퍼셉트론에서 진행하는 일은 하나의 직선 긋기이다. 하지만 하나의 직선을 그은 뒤 다음 퍼셉트론으로 넘어갈 때 축이 바뀌기 때문에 이것이 반복되다 보면 최종적으로 x에 대해서 바라봤을 때 비선형 형태의 출력이 이루어진다. 

 

 

**세 줄 요약**

1. 복잡한 Task를 수행하기 위해 신경망 모델을 사용하고 이 때 단일 신경망의 단위를 퍼셉트론이라고 부른다.

2. 단일 퍼셉트론은 선형분류만 수행할 수 있지만, 퍼셉트론 여러개가 쌓이게 되면 비선형 분류를 할 수 있다.

3. 퍼셉트론을 쌓는 것은 벡터를 바라보는 시점을 변경하는 것을 의미하며 활성화 함수를 적용해 계산한다.

 

댓글