본문 바로가기

Deep Learning

[밑바닥부터 시작하는 딥러닝] Chapter 2. 퍼셉트론 Perceptron

벌써 스터디 2번째...!

사실 급하게 시작했고 지금 다른 프젝 마감에 쫓기지만..

일단 아좌좌!!

 

이전 챕터가 궁금하신 분은 밑에 글을 참고해주시길 바랍니다.

2023.06.03 - [Deep Learning] - [밑바닥부터 시작하는 딥러닝] Chapter 1. 헬로 파이썬

 


해당 포스팅은 "밑바닥부터 시작하는 딥러닝"을 공부하고 정리, 요약한 글입니다. 

모든 내용은 해당 도서 내용 기준입니다.


이번 장에서는 퍼셉트론 알고리즘을 공부할 것이다.

퍼셉트론은 신경망의 기원이 되는 알고리즘이기 때문에 꼭 알아둬야 한다.

 

2. 1 퍼셉트론이란?

퍼셉트론 : 다수의 신호를 입력으로 받아 하나의 신호를 출력한다.

* '1' 신호가 흐른다. '0' 신호가 흐르지 않는다.

 

퍼셉트론 수식

입력신호가 뉴런에 보내질 때는 각각 고유한 가중치가 곱한다. 이때 정혜진 한계를 넘어설 때만 1을 출력하며 그 한계를 임계값(θ)이라 한다.

퍼셉트론은 복수의 입력 신호 각각에 고유한 가중치를 부려하며 가중치는 각 신호가 결과에 주는 영향력을 조절하는 요소로 작용한다.

즉, 가중치가 클수록 해당 신호가 그만큼 더 증가함을 뜻한다.

 

가중치는 각 입력 신호가 결과에 주는 영향력(중요도)를 조절해주는 매개변수이다.

 

2. 3 퍼셉트론 구현하기

2.3.2 가중치와 편향 도입

 

가중치와 편향이 들어간 퍼셉트론

편향 (bias) : 한쪽으로 치우져 균형을 깬다.

편향은 뉴런이 얼마나 쉽게 활성화(결화로 1을 출력)하느냐를 조절하는 매개변수이다.

 

2. 4 퍼셉트론의 한계

퍼셉트론을 이용하면 AND, NAND, OR의 2가지 논리 회로를 구현할 수 있다. 하지만 지금까지 본 퍼셉트론으로는 XOR 게이트를 구현할 수 없다.

왼쪽은 O, 세모는 xor 게이트의 출력을 나타냄 /  오른쪽은 OR 게이트의 출력

위 그래프에서 O과 세모를 직선 하나로 나눌 수 있을까?

다른 게이트들에 비해 xor게이트는 직선 하나로 영역을 나눌 수 없다.

그렇게 때문에 퍼셉트론으로 구현할 수 없다.

 

 

하지만 만약 이게 선형이 아닌 곡선이라면??

즉, 비선형이라면 나눌 수 있게 될 것이다.

 

2. 5 다층 퍼셉트론이 충돌한다면

퍼셉트론으로는 XOR 게이트를 표현할 수 없었다. 하지만 퍼셉트론을 층을 쌓아 다층 퍼셉트론으로 만들어서 XOR 게이트를 표현할 수 있다.

즉, 단층 퍼셉트론으로는 XOR 게이트를 만들 수 없지만 다층 퍼셉트론으로는 XOR 게이트를 만들 수 있다.

 

 

XOR의 퍼셉트론

위 그래프의  동작.
1. 0층의 두 뉴런이 입력 신호를 받아 1층의 뉴런으로 신호를 보낸다.
2. 1층의 뉴런이 2층의 뉴런으로 신호를 보내고, 2층의 뉴런은 y를 출력한다.

 

결국 이를 통해 단층 퍼셉트론으로는 표현하지 못한 것을 층을 늘려 구현할 수 있다는 것을 알 수 있다.

퍼셉트론을 층을 쌓아(깉게 하면) 더 다양한 것을 표현할 수 있다.

 

 

2. 6 NAND에서 컴퓨터까지

다층 퍼셉트론은 지금까지 본 회로보다 복잡한 회로들을 만들 수 있다. 그래서 퍼셉트론을 이용하면 '컴퓨터'도 표현할 수 있다.

 

 

2. 7 정리

  • 퍼셉트론은 입출력을 갖춘 알고리즘이다. 입력을 주면 정해진 규칙에 따른 값을 출력한다.
  • 퍼셉트론에서는 '가중치'와 '편향'을 매개변수로 설정한다.
  • 퍼셉트론으로 AND, OR 게이트 등의 논리 회로를 표현할 수 있다.
  • XOR 게이트는 단층 퍼셉트론으로는 표현할 수 없다.
  • 2층 퍼셉트론을 이용하면 XOR 게이트를 표현할 수 있다.
  • 단층 퍼셉트론은 직선형 영역만 표현할 수 있고, 다층 퍼셉트론은 비선형 영역도 표현할 수 있다.
  • 다층 퍼셉트론은 (이론상) 컴퓨터를 표현할 수 있다.

 

아좌좌 아좌좌~~