신경망 속을 열어보기
3.1에서 우리는 가중치 3,075개를 맞췄어요. 그런데 그 가중치가 어디에 붙어 있는지는 안 봤죠.
지금 열어 볼 거예요. 생각보다 훨씬 단순해요.
작은 계산기 하나
숫자 몇 개를 받아서, 각각에 가중치를 곱하고, 전부 더하고, 답 하나를 내보내요. 그게 전부인 작은 계산기가 있어요.
이 계산기 하나를 이라고 불러요.
그리고 이 뉴런을 여러 개 만들어서 층층이 이어 붙인 것을 이라고 해요.
가중치는 그 이음매마다 하나씩 붙어 있어요. 3.1의 3,075개는 이음매 3,075개였던 거예요.
직선이 스스로 움직여서 자리를 찾았죠.
오른쪽 그림을 보세요. 선이 굵은 것도 있고 가는 것도 있어요. 저 굵기가 가중치예요. 굵을수록 크게 돌아간 거예요.
1.2에서 손으로 돌리던 그것이 여기 이렇게 붙어 있어요. 이 실습에는 두 개뿐이고, 3.1에서는 3,075개였고, 진짜 AI에는 수백만 개예요.
뉴런 하나로는 직선 하나
여기서 중요한 게 나와요. 뉴런 하나가 그을 수 있는 건 직선 하나뿐이에요.
곱하고 더하는 게 전부니까요. 그 계산으로는 직선보다 복잡한 걸 그을 수가 없어요.
지금까지는 괜찮았어요. 왼쪽 빨강, 오른쪽 파랑은 직선 하나로 나뉘니까요.
그런데 이런 배치라면요?
배치 예시 · 대각선을 누르고 다시 학습시켜 보세요. 판이 위에 그대로 있어요.
직선이 계속 흔들리죠. 멈추지 않아요. 몇백 번을 돌려도 안 돼요.
직선 하나로는 이 배치를 나눌 수가 없거든요. 직접 그어 보세요. 어떻게 그어도 한쪽이 섞여요.
1969년에 벌어진 일
1958년의 그 기계 이름이 이에요. 뉴런 하나로 된, 가장 단순한 신경망이죠.
1969년, 두 연구자가 방금 우리가 겪은 걸 증명했어요. 퍼셉트론은 직선 하나밖에 못 긋고, 그래서 세상에서 가장 쉬운 문제 축에 드는 이것을 못 푼다고요.
기대가 컸던 만큼 실망도 컸어요. 돈과 사람이 빠져나갔고, 신경망 연구는 20년 가까이 얼어붙었어요.
버튼 하나
이제 그 문제를 풀어 볼까요.
풀리죠.
경계선이 이제 직선이 아니에요. 굽었어요. 뉴런을 한 층 더 넣었더니 직선 여러 개를 조합할 수 있게 된 거예요.
방금 누른 그 버튼이, 세상이 누르는 데 20년이 걸린 버튼이에요.
2.2로 돌아가요
2.2 끝에서 질문 하나를 미뤄 뒀어요.
필터 안의 숫자는 누가 정할까요?
이제 답할 수 있어요. 아무도 안 정해요. 학습이 정해요.
필터 안의 아홉 개 숫자도 가중치예요. 처음엔 아무 숫자나 들어 있고, 틀릴 때마다 조금씩 고쳐져요. 그러다 보면 어떤 필터는 세로선을 찾게 되고, 어떤 필터는 가로선을 찾게 돼요. 아무도 그렇게 하라고 안 했는데요.
그렇게 필터를 여러 층 쌓은 신경망을 이라고 불러요. 2.2에서 층층이 열어 봤던 그것이 이거예요.
| 2.2에서 본 것 | 지금 부르는 이름 |
|---|---|
| 작은 창(필터) | 가중치 아홉 개 |
| 층을 쌓으면 선 → 무늬 → 덩어리 | CNN |
| 1층 필터가 선을 찾더라 | 학습이 그렇게 만든 것 |
그럼 층을 잔뜩 넣으면 되겠네요
층을 더하니 풀렸죠. 그럼 층과 뉴런을 아주 많이 넣으면 뭐든 다 풀 수 있을까요?
그게 그렇지가 않아요. 다음 챕터에서 가중치가 너무 많을 때 벌어지는 일을 봐요.
이 챕터의 근거
- 8 "New Navy Device Learns By Doing", The New York Times (1958-07-08)
- 13 Minsky & Papert, Perceptrons (MIT Press, 1969)
- 29 Rumelhart, Hinton & Williams, "Learning representations by back-propagating errors", Nature 323 (1986)