뇌의 뉴런을 본뜬 인공신경망의 구조를 이해하고, 가중치·임곗값·활성화함수를 이용해 퍼셉트론의 출력을 직접 계산합니다.
| 단계 | 활동 | |
|---|---|---|
| 도입 | 사람의 뉴런은 어떻게 신호를 전달할까? | 5분 |
| 활동1 | 인공신경망과 퍼셉트론의 구조 | 10분 |
| 활동2 | 퍼셉트론 계산기로 출력값 $y$ 구하기 | 20분 |
| 활동3 | 확인하기 — 가중치가 바뀌면 결과도 바뀔까? | 10분 |
| 정리 | 단층 퍼셉트론과 다층 퍼셉트론, 딥러닝 | 5분 |
사람의 뇌는 수많은 뉴런이 서로 연결된 신경망으로 이루어져 있습니다. 뉴런은 가지돌기로 자극(입력 신호)을 받아들이고, 자극의 세기가 일정한 크기(임계)를 넘으면 축삭돌기를 통해 다음 뉴런으로 신호(출력 신호)를 전달합니다.
뇌의 뉴런을 본뜬 것이 인공신경망입니다. 인공신경망은 $n$개의 입력 변수 $(x_1, x_2, \dots, x_n)$에 대응하는 $n$개의 가중치 $(w_1, w_2, \dots, w_n)$를 각각 곱하여 더한 값
$x = x_1w_1 + x_2w_2 + \cdots + x_nw_n$
이 주어진 값 $c$(임곗값)보다 크거나 같으면 1을 출력하고, 그렇지 않으면 0을 출력한다고 할 때, 이를 활성화함수 $f(x)$를 이용하여
$$f(x) = \begin{cases} 0 & (x < c) \\ 1 & (x \ge c) \end{cases}$$
와 같이 나타냅니다. 이처럼 다수의 값을 입력받아 하나의 값으로 출력하는 구조의 인공신경망을 퍼셉트론(Perceptron)이라고 하며, 퍼셉트론은 가장 작은 인공신경망 단위입니다.
| 용어 | 의미 |
|---|---|
| 가중치 $w_i$ | 각 입력값에 곱하여 각 입력 신호가 출력 신호에 미치는 중요도를 조절하는 변수 |
| 임곗값 $c$ | 출력이 0에서 1로 갈라지는 경계가 되는 값 |
| 활성화함수 $f(x)$ | 합한 값 $x$가 임곗값보다 큰지 작은지 구별하여 출력 변수 $y$를 결정하는 함수 |
세 입력 변수 $x_1, x_2, x_3$에 가중치 $w_1, w_2, w_3$를 곱해 더한 값 $x$를 구하고, 임곗값 $c$와 비교해 출력 변수 $y$를 계산해 봅니다. 아래 버튼으로 교과서의 예제를 불러오거나, 값을 직접 바꾸어 볼 수 있습니다.
세 입력 변수 $x_1, x_2, x_3$에 대한 가중치가 각각 $w_1=0.5, w_2=-4, w_3=2$이고, 활성화함수 $f(x)$가 $f(x)=0\,(x<2),\ 1\,(x\ge2)$일 때 다음을 구해 봅시다. 위 계산기의 확인하기 2 버튼으로 값을 불러온 뒤 계산해 보세요.
| 조건 | 출력 $y$ | |
|---|---|---|
| ⑴ | 임곗값 | $c=2$ |
| ⑵ | $x_1=0,\ x_2=1,\ x_3=2$ | ? |
| ⑶ | $x_1=2,\ x_2=1,\ x_3=3$ | ? |
퍼셉트론에서 입력값을 보내는 단계를 입력층, 값을 받아서 출력하는 단계를 출력층이라고 합니다. 입력층과 출력층 사이에는 은닉층이 존재할 수 있는데, 입력층과 출력층만 있으면 단층 퍼셉트론, 은닉층이 1개 이상 있으면 다층 퍼셉트론이라고 합니다.
오늘은 퍼셉트론의 구조와 계산 방법을 배웠습니다. 다음 시간에는 퍼셉트론으로 논리 연산(AND, OR, NOT)을 직접 만들어 봅니다.