본문 바로가기

신경망과 심층학습

1. 신경망 입문

1.1 소개

artificial neural network 는 생명체의 학습 메커니즘을 흉내내는 기계 학습 기법, 

인간의 신경계는 뉴런 neuron 신경세로들로 이뤄진다. 뉴런들은 축삭돌기 axon 와 수상돌기 dendrite 로 연결되어 있으며, 축삭돌기와 수상돌기가 접하는 부분을 시냅스 synapses 라고 부른다. 이 연결의 강도는 종종 외부 자극에 반응해서 변한다. 학습은 그러한 변화 때문에 일어난다.

 

인공 신경망은 이러한 생물학적 매커니즘을 흉내 낸다. 인공 신경망은 뉴런을 본뜬 계산 단위 computation unit 들로 이루어진다. 인공 신경망의 뉴런들은 가중치를 통해서 연결되어 있는데, 가중치는 생명체의 시냅스 연결 강도와 같은 역할을 한다. 뉴런에 죽어지는 각 입력에는 뉴런의 가중치가 곱해지므로 가중치는 해당 계산 단위가 계산한느 함수의 값에 영향을 미친다.

 

인공 신경망은 각 입력 뉴런의 계산 결과를 출력 뉴런으로 전파함으로써 전체적으로 하나의 함수를 계산하는데, 그 계산 과정에서 가중치들이 중간 매개변수로 작용한다. 학습은 뉴런들을 연결하는 가중치들을 변경함으로써 일어난다. 

생명체의 학습에 외부 자극이 필요한 것과 마찬가지로 인공 신경망의 학습에도 외부 자극이 필요하다. 인공 신경망의 경우에는 학습하고자 하는 함수의 입력-출력 쌍에 해당하는 견본들을 담은 훈련 자료가 그러한 외부 자극을 제공한다.

 

이러한 훈련 자료 쌍들을, 주어진 입력 표현을 이용해서 해당 출력 분류명을 예측하는 신경망에 공급한다. 

훈련알고리즘은 특정 입력에 대해 신경망이 예측한 결과가 훈련 자료에 있는 출력 분류명과 얼마나 잘 부합하는지에 기초해서 신경망의 가중치들의 정확성을 평가한다. 

신경망의 함수 계산에서 발생하는 오차는 뉴런 사이의 가중치가 예측 오차에 기초해서 반한다. 가중치 변경의 목표는 이후의 반복에서 예측 결과가 좀 더 정확해지도록 신경망의 함수를 수정하는 것이다.

 

유한한 수의 입력-출력 쌍들로 훈련한 신경망이 미지의 입력을 정확하게 계산하는 능력을 가리켜 모형 일반화 model generalization 라고 부른다. 

모든 기계 학습 모형의 유용함은 기본적으로 알려진 훈련 자료로부터 학습한 것을 아직 보지 못한 견본들로 일반화하는 능력에서 비롯된다.

 

신경망의 기본 계산 단위들은 대부분 최소 제곱 회귀 least-squares regression 나 로지스틱 회귀 logistic regression 같은 전통적인 기계 학습 알고리즘에서 영감을 얻은 것이다. 신경망의 능력은 그런 기본 단위들을 대량으로 연결하고, 서로 다른 가중치들을 결합적으로 jlintly 학습해서 예측 오차를 최소화하느 ㄴ데서 비롯된다. 

이러한 관점에서 신경망은 일단의 기본 단위들로 이루어지 일종의 계산 그래프 computational graph 에 해당하는데, 그러한 단위들을 어떻게 연결하느냐에 따라 신경망의 능력이 달라진다.

 

다수의 단위를 함께 연결하지 않는 가장 기본적인 형태의 신경망에서 학습 알고맂므은 전통적인 기계 학습 모형들의 하나로 환원될 때가 많다. 고전적 방법들에 비한 신경망 모형의 위력은 그런 기본 계산 단위들이 결합될 때, 그리고 기본 모형들의 가중치들을 서로에 대한 의존관계를 이용해서 훈련할 때 비로소 발휘된다.

 

다수의 단위를 결합하면 신경망 모형은 기초적인 기계 학습의 기본 모형들이 배울 수 있는 것보다 더 복잡한 함수를 배우게 된다. 그런 단위들이 결합되는 방식 역시 신경망 구조의 능력에 영향을 미치는데, 능력이 높아지도록 단위들을 결합하기 위해서는 해당 응용 분야에 대한 이해와 분석가의 통찰이 어느 정도 필요하다.

더 나아가, 확장된 계산 그래프에 있는 좀 더 많은 가중치를 학습하려면 충분한 양의 훈련 자료도 필요하다. 

 

1.1.1 인간 대 컴퓨터 : 인공지능의 한계 확장

뛰어난 성과를 보인 심층 학습 구조 중에는, 계산 단위들을 아무렇게 연결해서 만들어 낸 것이 아닌 것들이 많다.

심층 신경망의 우월한 성과는 생물학적 신경망이 가진 능력 역시 깊이에서 비롯되었다는 사실을 반영한다. 

더 나아가서, 생물학적 신경망의 연결 방식을 우리는 아직 완전히 파악하지 못한다. 생물학적 신경망의 구조가 어느 수준까지 파악된 몇 안되는 사례에서는, 그런 방향으로 인공 신경망을 설계함으로써 진전이 있었다. 

그런 종류의 구조로 전형적이 예는 이미지 인식을 위한 합성곱 신경망 convolutional neural network 이다.

전통적인 기계 학습에 비한 신경망의 핵심 장점은 자료 영역에 관한 의미론적 통찰을 표현한느 고수준 추사잉 가능하다는 것이다. 자료 영역에 관한 의미론적 통찰은 계산 그래프의 구졸르 적절히 선택함으로써 표현할 수 있다. 

신경망의 또 다른 장점은, 신경망 구조에 뉴런들을 더 추가하거나 제거함으로써 모형의 복잡도를 주어진 훈련 자료의 양이나 계산 능력에 맞게 손쉽게 조정할 수 있다는 것이다.