AI VIDEO BRIEFING
딥러닝 쉽게 이해하기: 프로그래밍과 신경망의 결정적 차이를 짚은 카오스재단 공개강연 정리
카오스재단 공개강연이 짚은 딥러닝의 출발점을 정리했다. 컴퓨터가 모든 것을 숫자로 다루는 방식부터, 알고리즘으로는 고양이 사진 하나 판별하지 못했던 이유, 그리고 신경망 뉴런 하나가 실제로 하는 곱셈과 덧셈까지 차근차근 짚는다.

핵심 메시지
쉽게 이해하기
강연자는 최근 사람들을 놀라게 하는 인공지능 서비스의 95% 이상이 속을 열어 보면 딥러닝에 기대고 있다고 말하며 이야기를 시작한다. 딥러닝을 제대로 이해하려면 먼저 그것과 비교할 대상, 즉 지금까지의 프로그래밍이 무엇이었는지를 봐야 한다는 것이 강연의 구성이다.
컴퓨터는 이름 그대로 계산하는 기계다. 우리가 쓰는 컴퓨터와 손안의 계산기는 화면과 입력 장치의 크기가 다를 뿐 내부에서 계산하는 방식은 같다. 화면 속 글자 'A'는 검은색 0과 흰색 1 사이의 숫자들이 모인 격자이고, 유튜브 영상도 스마트폰으로 찍은 동영상도 음악도 모두 숫자로 바뀌어 오간다. 그 숫자들을 부르는 다른 이름이 디지털이다.
그렇게 단순한 계산기가 가상현실까지 만들어내게 된 것은 전부 프로그래밍 덕분이었다. 강연자는 개발자가 코드를 한 글자도 틀리지 않게 한 줄씩 써 내려가야 하고, 논리적 실수가 조금이라도 있으면 안 된다고 설명한다. 마이크로소프트 윈도우는 이미 10년 전에 코드가 1억 줄을 넘었고 오피스도 마찬가지다. 그리고 코드를 쓰기 전에 사람이 먼저 논리와 절차, 곧 알고리즘을 생각해야 한다. 1억 줄짜리 프로그램의 알고리즘을 플로우차트로 그리면 얼마나 거대할지 상상해 보라는 것이다.
그런데 이렇게 대단한 방식으로도 오랫동안 못 푼 문제가 있었다. 사진을 보고 고양이인지 개인지 가려내는 일이다. 프로그래밍으로 하려면 고양이를 판별하는 논리와 절차가 있어야 하는데, '다리가 네 개'라는 특징은 다른 동물에도 해당하고, 그렇다면 '다리란 무엇인가'를 다시 정의해야 하며, 심지어 사진에 다리가 보이지 않는 경우도 있다. 말도 잘 못하는 두 살 아이는 아는 것을 컴퓨터는 알지 못했다.
딥러닝이 만드는 프로그램은 사람이 알고리즘을 짜서 코드로 옮긴 결과물이 아니다. 강연자가 보여 주는 신경망 그림은 오히려 플로우차트보다 단순하다. 네모도 마름모도 뒤로 돌아가는 화살표도 없이 동그라미와 화살표만 대칭적으로 이어져 있다. 동그라미 하나를 확대하면, 앞에서 들어온 입력 x 각각에 숫자 w를 곱하고 그 결과를 모두 더한 다음, f라는 함수 하나를 통과시켜 숫자 하나를 내보내는 것이 전부다. 여기서 w가 바로 딥러닝이 찾아내는 숫자이고, f는 두 값 중 큰 쪽을 내보내는 max(x, 0)이라는 매우 단순한 함수다.
주요 인사이트
- 딥러닝의 새로움은 계산이 복잡해진 데 있지 않다. 뉴런 하나가 하는 일은 중학교 수준의 곱셈과 덧셈, 그리고 max 함수 한 번이다. 달라진 것은 사람이 규칙을 정해 주는 대신 가중치라는 숫자를 데이터에서 찾아낸다는 점이다.
- '프로그래밍으로 못 푸는 문제'라는 기준은 인공지능을 판단하는 실용적인 잣대가 된다. 논리와 절차로 또박또박 적을 수 있는 일이라면 굳이 딥러닝이 필요하지 않고, 사람은 쉽게 하지만 규칙으로 옮겨 적기 어려운 일일수록 딥러닝이 힘을 발휘한다.
- 고양이 판별 사례가 보여 주듯, 사람에게 쉬운 일과 컴퓨터에 쉬운 일은 전혀 다른 목록이다. 두 살 아이가 하는 인식을 1억 줄짜리 코드로도 못 만들었다는 사실은 지능에 대한 우리의 직관이 얼마나 어긋나 있었는지를 드러낸다.
- 모든 입출력이 숫자라는 전제를 이해하면 이미지·음성·텍스트가 같은 구조로 처리되는 이유가 자연스럽게 풀린다. 강연이 신경망보다 먼저 '컴퓨터는 모든 것을 숫자로 본다'를 길게 설명한 이유이기도 하다.
자주 묻는 질문
딥러닝과 기존 프로그래밍의 가장 큰 차이는 무엇인가?
기존 프로그래밍은 사람이 논리와 절차, 즉 알고리즘을 먼저 생각하고 그것을 코드로 옮겨 프로그램을 만든다. 딥러닝도 결국 프로그램을 만드는 일이지만, 사람이 알고리즘을 생각해 코드로 옮긴 결과물이 아니라는 점이 다르다.
신경망의 뉴런 하나는 실제로 어떤 계산을 하나?
앞쪽에서 들어온 입력 값 x 각각에 w라는 숫자를 곱하고, 나온 숫자들을 모두 더한 뒤, f라는 단순한 함수에 넣어 숫자 하나를 내보낸다. 그 값이 복사되어 다음 동그라미들로 전달되며, 연결마다 w가 다르므로 서로 다른 숫자가 전해진다.
강연에서 말한 f 함수는 무엇인가?
max(x, 0) 함수다. 두 숫자 중 큰 값을 내보내는 함수이므로, x가 0보다 크면 x가 그대로 나가고 0보다 작으면 0이 나간다.
왜 사진 속 고양이를 알아보는 프로그램을 만들지 못했나?
판별을 하려면 논리와 절차가 필요한데, '다리가 네 개'는 다른 동물에도 해당하고 '다리란 무엇인가'를 다시 정의해야 하며 사진에 다리가 보이지 않는 경우도 있다. 두 살짜리 아이도 알아보는 일을 규칙으로 적어 내려갈 방법이 없었던 것이다.
원문과 출처
이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.
YouTube 원본 영상 보기 ↗