수학을 못해도 될까요?

딥러닝처럼 인공 신경망이라는 오래된 수학 모델과 통계 기법을 기반으로 하는 경우는 어떨까요. 물론 요즘에는 신경망과 관련된 프레임워크, 라이브러리, 데이터셋 등이 풍부해 원하기만 하면 간단히 경험해 볼 수 있습니다. 하지만 신경망 안에서 실제로 어떤 일이 일어나는지 이해한다면 좋겠죠.  

‘친절한 딥러닝 수학’은 딥러닝 이해에 필요한 수학 기초를 탄탄히 다지고 싶은 이들을 위해 나왔습니다. 출판사에 따르면 이 책은 고등학교 수준의 수학을 이해하는 이들이라면 접할 수 있습니다. 원서는 일본에서 인공 신경망 분야의 베스트셀러이기도 합니다.

이 책에는 신경망을 공부 중인 프로그래머인 윤서, 대학에서 컴퓨터 비전을 전공하는 윤서 대학 친구 지우, 이과대학 4학년생인 윤서 동생 도현이가 등장합니다. 친근한 등장인물 세명이 이야기를 풀어가는 구성으로 딥러닝이 낯설게 느껴진 이들에게 편안하게 다가갑니다.

딥러닝에 대해 옮긴이(김형민)는 이렇게 말합니다.  

“딥러닝이라는 단어로 주목받고 있는 심층 신경망이 뇌 속의 뉴런이라는 세포를 모방했다는 것은 잘 알려져 있습니다. 뉴런의 가장 큰 역할은 전기적 신호를 잘 전달할 수 있는 네트워크를 만들어서 기억을 형성하는 것입니다. 뉴런의 네트워크는 기억을 위한 장치인 동시에 우리가 비슷한 상황을 만났을 때 반응할 수 있게 해주는 처리장치이기도 합니다. 비슷한 패턴이라고 인식되면 이전의 경험을 통해서 예측하고 반응합니다. 학습은 예측이 어긋난 순간 일어납니다. 심층 신경망도 입력을 통해 예측을 합니다. 딥러닝은 출력된 예측과 정답에 오차가 있다는 것을 확인하고 가중치와 편향으로 구성된 연결을 조절하는 것을 말합니다.”

‘친절한 딥러닝 수학’ 10줄 요약, 1장 신경망을 시작하자

1. 신경망은 인간의 뇌 기능을 흉내 낸 것으로 선형회귀와 같은 머신러닝 알고리즘 중 하나다. 신경망은 다른 머신러닝 알고리즘과 마찬가지로 회귀나 분류 문제를 해결할 수 있다.

2. 회귀는 연속값을 다룬다. 예를 들면 과거 주가에서 미래 주가나 그 경향을 예측할 때 이용한다. 분류는 연속값이 아니라 대상을 성격에 따라 그룹화한다.

3. 신경망은 유닛 연결마다 가중치라고 부르는 값을 갖는다. 가중치는 정보의 중요도나 관련성을 나타내는 지표가 된다. 신경망을 사용하기 위해서는 가중치가 필요하다.

4. 신경망은 유닛들이 서로 연결된 것이고 그 유닛들 사이의 가중치를 학습하기 위해 머신러닝을 사용한다고 할 수 있다.

5. 신경망을 공부하려면 당연히 수학 지식이 필요하다. 확률과 미분, 선형대수의 기초 정도만 알고 있으면 된다.

6. 머신러닝은 파이썬은 물론 C나 루비, PHP, 자바스크립트 등 어떤 언어든 좋다.

7. 신경망의 원형은 퍼셉트론이다. 1950년대 처음 그 아이디어가 나와서 ‘이거 광징한데’하고 유행했다. 하지만 단순한 문제밖에 풀 수 없는 단점이 있어서 점점 잊혀졌다. 하지만 이미 그 때 퍼셉트론을 조합한 아이디어, 즉 신경망을 사용해서 복잡한 문제를 풀 수 있을 것 같다는 의견이 있었다. 퍼셉트론 하나를 학습시키는 방법은 이미 알려졌지만, 이를 조합한 신경망을 효율적으로 학습시키는 방법은 알지 못해서 어려웠던 것 같다.

8. 1980년대에 이론적으로 오차역전파법이라는 방법으로 신경망을 학습시킬 수 있다는 것을 발견했다. 물론 일시적이었다. 신경망 훈련에 필요한 학습 데이터가 압도적으로 부족했다.

9. 규모가 큰 신경망은 이론상 학습이 가능하지만 실제로는 기울기 소실이라는 문제가 일어나서 제대로 학습이 되지 않는 경우도 많다.

10. 신경망은 2000년대 인터넷이 보급된 후 많은 데이터를 비교적 간단하게 얻을 수 있게 된 다음 다시 주목을 받았다. 지금까지의 역사를 보면 신경망은 인기를 얻었다 잃었다를 반복했다. 하지만 최근 현장에서 실제로 사용하려는 시도들이 늘고 있고 공부를 한다고 해서 손해 보는 일은 없을 것 같다.

IT조선 이윤정 기자 ityoon@chosunbiz.com

댓글을 남기세요

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다