딥러닝의 역사
인공 신경망의 발전은 컴퓨터와 생체 신경망 연구의 발전과 맞물려 있다. 대규모 컴퓨팅 자원이 필수적인 인공지능은 컴퓨터의 성능과 최전선에서 관계를 이루기 때문에, 컴퓨팅 파워와 함께 발전한다는 말이 과언이 아니다. 또한 생체 신경망의 원리를 모방하고 있는 만큼 생체 신경망에 대한 연구가 진행될수록 인공 신경망 또한 더욱 사람처럼 학습하고 추론하게 될 것이다.
최초의 인공 신경망: 매컬러-피츠 모델
매컬러-피츠(McCulloch-Pitts) 모델은 '최초의 인공 신경망' 모델로서 인간의 신경계를 이진 뉴런으로 표현하려고 했다. 신경 생리학자인 매컬러는 인간의 신경계를 범용 계산 장치로 모델링할 수 있을지 궁금해했고, 천재 수학자 피츠를 만나면서 세계 최초로 인공 신경망을 정의했다.
이들이 정의한 모델은 활성 상태와 비활성 상태를 갖는 이진 뉴런(binary neuron)으로 구성되며, 생체 뉴런과 같이 시냅스의 흥분과 억제에 따라 신호가 전달되고 특정 임계치를 넘어야 신호가 발화한다.
이러한 이진 뉴런 신경망은 튜링 머신과 동등한 연산을 수행할 수 있음을 증명했고, 생체 신경망을 수학적으로 모델링했을 때 임의의 논리 연산과 산술 연산이 가능하다는 것을 보여줌으로써 인간의 두뇌가 잠재적으로 매우 강력한 연산 장치임을 증명하고자 했다. 이는 AI의 창시자이자 현대 컴퓨터 구조를 제시한 폰 노이만(John von Neumann)에게 큰 영향을 끼쳤다.
학습하는 인공 신경망: 퍼셉트론
학습 과정이 없는 매컬러-피츠 모델은 해결하고자 하는 태스크에 따라 신경망의 구성도 매번 바뀌어야 했다. 이런 문제를 해결하기 위해 프랭크 로젠블랫(Frank Rosenblatt)은 헵의 학습 가설에 따라 인공 신경망이 스스로 문제에 맞춰 학습하는 모델인 퍼셉트론(Perceptron)을 개발했다. 퍼셉트론의 학습 알고리즘은 새로운 입력에 대한 오차가 발생하면 뉴런의 연결 강도를 조절하는 방식이다. 퍼셉트론은 이윽고 숫자와 알파벳을 인식하는 데 성공했고, 당시 전 세계의 기대를 한 몸에 받았다.
퍼셉트론은 입력 데이터가 들어오면 가중치와 곱해서 가중 합산을 하며 그 결과가 0보다 크면 1, 그렇지 않으면 0을 출력한다. 즉, 가중 합산과 계단 함수(step function)를 순차적으로 실행하는데 이때 계단 함수는 퍼셉트론의 활성 여부를 결정하며, 활성 함수(activation function)라고도 부른다.
신경망 연구의 암흑기, XOR
지능의 인공적인 생성 방법에 대한 이론에는 크게 두 가지 학파가 관여했다. 기호 주의(Symbolism) 학파는 실세계의 사물과 사상을 기호화하고 그들 사이에 관계를 정해주면 논리적 추론을 통해 지능을 만들 수 있다고 주장하였고, 연결주의(Connectionism) 학파는 뉴런 수준에서 지능이 형성되는 과정을 모방하면 데이터로부터 스스로 지능을 만들 수 있다고 주장하였다.
당시 기호 주의 학파의 수장이었던 마빈 민스키(Marvin Lee Misky)와 시모어 페퍼트(Seymour Papert)는 '퍼셉트론 Perceptron'이라는 책을 통해 프랭크 로젠블랫의 퍼셉트론이 XOR 문제로 대표되는 비선형 문제를 풀 수 없다는 한계를 지적했고, 이를 입증했다.
XOR 논리 연산은 두 개의 논리 값이 모두 참이거나 모두 거짓이면 결과가 거짓이 되고, 둘의 논리 값이 서로 다르면 참이 된다. 이를 좌표상에 나타내면 대각선에 존재한 값끼리 같은 결과를 가지게 되는데, 이는 두 개의 선으로 영역을 분리하여야 해결할 수 있다.
이 두 선을 로젠 블렛의 퍼셉트론으로 표현할 수는 있었지만, 두 직선을 AND 연산으로 연결할 수 있는 방법이 없었다. 로젠 블랫은 이러한 퍼셉트론의 한계를 극복하기 위해 직선을 만드는 층과 AND 연산을 수행하는 층을 모두 가지는 다층 퍼셉트론의 개념을 제시했지만, 학습 규칙을 만드는 데에 실패하였다. 이로 인해 인공 신경망에 대한 분위기가 비관적으로 변했고, 그에 따라 투자가 동결되며 신경망 연구의 암흑기가 찾아왔다. 이러한 암흑기는 약 20년 후 역전파 알고리즘이 등장할 때까지 이어졌다.
역전파 알고리즘의 발견
1974년 하버드 대학교 박사 과정에 재학 중이던 폴 워보스(Paul Werbos)는 박사 학위 논문에서 다층 퍼셉트론을 학습시킬 수 있는 역전파(Backpropagation) 알고리즘을 제안했다. 하지만 당시에는 신경망 연구가 침체되어있었기 때문에 이 알고리즘의 존재가 널리 알려지지 못하였다.
그러나 약 10년 후, 딥러닝의 아버지 제프리 힌턴(Geoffrey Hinton)을 포함한 6명의 과학자에 의해 역전파 알고리즘이 재조명을 받게 된다.
역전파 알고리즘은 신경망의 뉴런에 분산된 파라미터의 미분을 효율적으로 계산하기 위한 알고리즘이다. 인공 신경망은 각 파라미터의 출력 값과 정답 값 사이 오차를 최소화하는 방향으로 파라미터를 조정한다. 이러한 과정을 최적화(optimization)라고 하는데, 역전파 알고리즘에서는 오차가 출력 계층(output layer)에서 입력 계층(input layer) 방향으로 한 계층씩 이동하면서 각 파라미터의 오차에 대한 기여도를 미분으로 계산하여 다음 계층에 전파한다. 이때 계산의 중복 없이 모든 파라미터의 미분을 한 번의 패스에 계산할 수 있어 굉장히 효율적이다.
역전파 알고리즘의 발견은 마빈 민스키와 시모어 페퍼트가 지적했던 비선형 문제를 해결할 수 없다는 퍼셉트론의 한계를 반박하였다.
그러나 역전파 알고리즘이 발견된 이후에도 몇 가지 문제로 인해 인공 신경망은 여전히 잘 활용되지 않았다.
문제 #1) 모델이 데이터를 암기하는 현상: 과적합
다음 그림과 같이 관측 데이터가 점으로 존재할 때, 이러한 데이터들을 가장 잘 설명하는 곡선은 검은색 선일 것이다. 이처럼 모델이 표현하는 선이 관측 데이터의 평균 지점을 지나는 부드러운 곡선일 때 잘 적합(good fitting)되었다고 말한다.
반면 초록색 선처럼 곡선이 너무 data-specific 하게 형성된다면 실제 데이터(테스트 데이터)에 대해서는 오히려 적합이 잘 안 될 수 있다. 이러한 경우를 과적합(overfitting)이라고 하며, 말 그대로 모델이 과하게 학습되어 학습 데이터를 '암기'하게 되는 경우를 의미한다. 모델은 학습을 거듭할수록 학습 데이터에 더 가깝게 곡선을 그리게 되기 때문에 학습 데이터에 대한 정확도는 점점 올라간다. 하지만 본 적 없는(unseen) 데이터에 대해서는 어느 순간 정확도가 오히려 감소하게 된다. 보통 이 시점을 과적합되는 시점이라고 판단하여 학습을 종료하곤 한다.
과적합의 주요 원인은 앞서 언급한 것처럼, 너무 많은 학습 횟수가 원인이 될 수 있으며, 그 외에도 학습 데이터가 모델 파라미터 수보다 적은 경우, 모델이 해결하고자 하는 문제 대비 너무 강력한 경우 (사실 둘은 거의 같은 이야기이다) 발생할 수 있다.
반대로 곡선이 데이터의 분포를 제대로 반영하지 못하는 경우도 있는데, 이러한 경우는 과소 적합(underfitting)이라고 한다.
문제 #2) 학습이 중단되는 현상: 그레디언트 소실
그레디언트 소실(Gradient vanishing)은 깊은(deep) 신경망을 학습할 때 역전파 과정에서 미분 값이 사라지면서 학습이 중단되는 현상을 말한다.
위 그림과 같이 역전파 알고리즘은 입력 계층으로 진행될수록 미분 값이 0에 수렴하는 경우가 발생할 수 있다. 이러한 현상은 신경망이 깊어질수록 두드러지게 나타난다.
NOTE
입력이 n차원 벡터이고 출력이 실수인 실함수의 1차 미분을 그레디언트(gradient)라고 한다. 인공 신경망의 미분을 그레디언트로 표현하는 이유는 인공 뉴런이 위와 같은 실함수이기 때문이다.
깊은 신경망을 안정적으로 학습시킬 수 있는 딥러닝의 등장
인공 신경망의 학습을 어렵게 만드는 과적합과 그레디언트 소실 문제는 오랫동안 해결되지 않고 과학자들을 괴롭혔다. 그러던 중 2006년 제프리 힌턴에 의해 딥러닝(deep learning)이 제안되었다. 이는 각 계층을 제한적 볼츠만 머신(Restricted Boltzmann Machine, RBM)으로 정의해서 사전 학습한 뒤 한 계층씩 쌓아서 깊은 신경망을 만드는 방식이다.
제한적 볼츠만 머신은 입력 계층과 은닉 계층(hidden layer)으로 이루어진 에너지 기반의 생성 모델이다. RBM은 DBN(Deep Belief Network)라는 심층 신뢰 신경망을 구성하는 기본 요소로, 가시층(visible layer)과 은닉층(hidden layer)으로 이루어진다.
첫 번째 계층이 될 RBM1은 Inputdata를 입력 계층인 가시층에서 은닉층으로 전달하고, 다시 은닉층에서 가시층으로 복구(reconstruction)하면서 발생하는 오차를 역전파해서 가중치를 학습한다.
RBM1의 사전학습이 완료되면 RBM1의 은닉층을 두 번째 계층이 될 RBM2의 입력 계층으로 사용하여 위 과정을 반복한다.
이를 반복하여 모든 계층의 사전 학습이 완료되면, 입력 계층과 은닉층을 모두 쌓아 올려 DBN을 만들고 여기에 다시 출력 계층을 추가하여 깊은 신경망을 완성한다. 어떻게 보면 역전파가 부분적으로 진행된 후 통합된다고도 할 수 있을 것이다.
제프리 힌턴은 이와 같은 방식으로 학습하면 깊은 신경망이 최적의 값에 도달할 수 있다는 것을 증명해냈으며, 이후 드롭아웃(dropout) 기법을 제안하여 RBM의 사전학습과 계층을 쌓는 전처리 과정 없이도 딥러닝 모델을 바로 학습할 수 있도록 했다.
이를 기점으로 인공 신경망의 1차 겨울이 종료되었고, 딥러닝의 시대가 열렸다. 1차가 종료되었다는 것은 2차가 있었다는 이야기이다.
'ML&DL > ML DL 기본기' 카테고리의 다른 글
범용 함수 근사기로서의 신경망 (0) | 2022.06.15 |
---|---|
순방향 신경망 구조 (0) | 2022.06.08 |
지능과 인공 신경망 (0) | 2022.05.25 |
회귀분석 (0) | 2021.12.11 |
통계학 기초: 회귀분석을 위한 통계 (0) | 2021.12.08 |
댓글