기술 비평을 위한 가벼운 딥러닝 - 1편: 딥러닝의 뼈대, 신경망
2016년 nature지에 이례적으로 컴퓨터 공학 논문이 실렸습니다. 이 논문은 딥러닝 기술과 tree search(경우의 수 탐색) 기법을 결합한 새로운 알고리즘을 제안하고, 바둑에 이를 적용하여 그 유용성을 입증했습니다. 우리에겐 "알파고"로 더 친숙하지요! 딥러닝 기술은 학계에서는 2012년 이미지 식별 능력으로 이미 주목받았지만 대중적으로는 알파고가 이세돌 기사를 꺾으면서 널리 알려졌습니다.
6년이 흐른 지금, 딥러닝은 일상의 기술이 되었습니다. 우리가 매일 보는 유튜브, 넷플릭스, 각종 쇼핑몰의 추천 알고리즘은 모두 딥러닝으로 구현한 기술입니다. 또한 딥러닝은 영상 인식, 기계 번역, 음성 합성, 로보틱스, 나아가 제약, 생물학 연구 등 다양한 분야에서 활발히 쓰이고 있습니다. 그렇다면 딥러닝은 대체 어떻게 작동할까요? 우리가 신뢰하고 미래를 내맡길 수 있는 기술일까요? ‘기술 비평을 위한 가벼운 딥러닝’은 이러한 문제에 답할 수 있도록, 각종 딥러닝 기술의 핵심을 뽑아 쉽게 설명하고자 합니다. 오늘은 딥러닝의 뼈대를 이루는 신경망 구조에 대해 알아보도록 하겠습니다! 신경망이 무엇인지 답하기 위해선, 먼저 선형 회귀에 대해 이해해야 합니다.
선형 회귀
선형 회귀(Linear regression)란 종속변수 y와 한 개 이상의 독립변수 x들과의 상관관계를 선형적으로 모델링하는 회귀분석 기법입니다. 용어를 풀이하자면 종속 변수는 출력(output)이고, 독립변수는 입력(input)입니다. 선형적으로 모델링한다는 의미는, 가중치 곱과 덧셈으로만 표현한다는 의미입니다. 예를 들어, 우리 집의 가격이 1억 * 면적 + 3 * 인테리어 비용(원)으로 결정된다고 합시다. 여기서 출력은 우리 집의 가격이고, 입력은 면적과 인테리어 비용이죠. 즉 y는 1개이고, x는 2개입니다. 또 면적에 곱해진 1억과 인테리어 비용에 곱해진 3은 가중치입니다. 우리 집의 가격은 이로써 면적과 인테리어 비용과 '선형적 관계'가 있다고 말할 수 있습니다. 이점에서 선형 회귀가 선형적 관계를 어떻게 모델링하는지 자연스럽게 유추할 수 있습니다. 주어진 x로 y를 찾으려면 바로 '가중치'를 찾아야 하기 때문이죠! 선형 회귀는 다름 아닌 가중치를 찾는 과정입니다.
그렇다면 선형 회귀는 가중치를 어떻게 찾을까요? 흔히 인공지능 모델은 데이터를 이용한다는 말을 들어보셨을 것입니다. 데이터란 입력 x와 출력 y의 쌍으로 이뤄진 정보들의 모임을 말하는데요, 선형 회귀도 이 데이터를 이용해 가중치(이하 w)를 추론합니다. 데이터에는 x, y만 있을 뿐 그 상관관계를 의미하는 w의 값은 직접 주어져 있지 않습니다. 따라서 y와 x가 주어졌을 때 역으로 w를 찾기란 어려운 일입니다. 만약 y와 x의 관계가 '선형적'이지 않거나, 데이터를 측정할 때 문제가 있어서 오차가 많다면 w를 찾는 일은 더욱 어려울 것입니다.
x와 y의 상관관계를 잘 설명하는 w를 좋은 w라고 하겠습니다. 정량적으로 표현하면, "기존의 데이터에 대입했을 때, w와 x를 곱한 값이 실제 출력 값 y과 차이가 적으면 좋은 w"라고 할 수 있을 것입니다. 여기서 차이란 곧 오차를 의미합니다. 우리의 집값 모델에서 만일 wx가 10억 원이고, y가 11억 원이었다면, 오차는 1억 원인 것이죠. 따라서 좋은 w란 오차 y-wx를 최소화하는 w입니다. (안타깝게도, 보통 오차는 0이 아닙니다.)
이제 오차를 최소화하는 w를 찾는 방법에 대해 생각해봅시다. w를 구하는 방법은 크게 두 가지로 나눌 수 있습니다. 첫 번째 방법은, 수학적인 공식을 통해 단 한 번의 연산으로 w를 찾아내는 방법입니다. (다만, 우리가 논의하고 있는 선형 회귀에서만 가능합니다.) 이 방법을 최소제곱법(Least square method)이라고 합니다. 최소제곱법은 기하학적인 아이디어를 차용하는데요, x, y가 모두 벡터라고 볼 때, x 변수들이 나타내는 평면에 y 변수가 나타내는 벡터를 정사영(projection)시킨 어떤 벡터 wx가 y와 가장 차이가 적다는 점에서 착안한 방법입니다.
두 번째 방법은 경사하강법(Gradient Descent)입니다. 경사하강법은 오차의 ‘방향’을 이용합니다. 예를 들어 w의 값을 줄였을 때 오차가 줄어든다면 오차와 w는 음의 상관관계를 가지므로, 그래프에서 음의 기울기를 가질 것입니다. 경사하강법은 이 기울기를 계산해 w를 작게 해야 하는지 크게 해야 하는지 판별하면서 w를 차근차근 갱신합니다. 무척이나 현명한 방법이죠! 만약 오차를 w에 대한 함수로 나타낸다면, 경사하강법을 아래 그림과 같이 표현할 수 있습니다.
일반적으로, 단순한 선형 회귀는 굳이 경사하강법을 사용할 이유가 없습니다. 최소제곱법을 쓰면 바로 최적의 w를 구할 수 있으니까요. 하지만 딥러닝에선 경사하강법이 사용됩니다. 딥러닝은 최소제곱법이 전제하는 ‘선형성’을 가정하지 않기 때문입니다.
딥러닝, 다중 퍼셉트론 구조
앞에서 살핀 선형 회귀를 그림으로 나타내면 아래와 같이 표현할 수 있습니다. 여러 입력인 x1, x2..가 있고, 출력 o1이 있으며, 이때 o1은 각 x들과 가중치가 곱해진 값의 합으로 나타납니다.
그리고 대망의 딥러닝의 구조는 아래와 같습니다.
그림에서 볼 수 있듯 딥러닝과 선형 회귀와의 차이점은, 바로 입력과 출력 중간에 있는 은닉층(hidden layers)의 유무입니다. 은닉층을 달리 표현하면, 선형 회귀를 연이어서 수행하는 것이라 볼 수 있습니다. 이때 은닉층은 여러 개일 수 있고, 이렇게 여러 개의 은닉층으로 이뤄진 구조를 다중 퍼셉트론 구조(Multi Layer Perceptron, MLP)라 합니다. 딥러닝은 다름 아닌 이 다중 퍼셉트론 구조에 기반한 모든 기계 학습 모델을 일컫는 말입니다. 은닉층이 많으면 모델이 ‘깊다’고 비유할 수 있으므로 딥러닝(Deep Learning)이라 불리는 것입니다.
은닉층의 또 다른 특징은 ‘활성화 함수’의 존재입니다. 사실 다중 퍼셉트론 구조는 단순히 선형 회귀를 연이어 수행하는 것이 아니라, 각 은닉층에서 ‘활성화 함수’를 통해 중간 출력 값 h에 ‘비선형성’을 부여합니다. 비선형성은 지수 함수, 삼각 함수, 다항 함수 같이 단순히 곱과 합으로(즉, 선형적으로) 표현될 수 없는 관계들을 말합니다. 정리하자면 은닉층은 입력 데이터의 선형적 관계로 표현된 결과가 그다음 층의 입력이 되도록 하며, 여기에 활성화 함수를 통해 비선형성을 부과합니다. 이런 방식에는 어떤 장점이 있는 것일까요? 세상에 존재하는 많은 현상들은 우리의 집값 모델과는 달리, 선형 회귀로는 설명하기 힘든 복잡한 상관관계를 갖고 있습니다. 그리고 딥러닝의 비선형성과 여러 개의 은닉층은 복잡한 상관 관계도 효과적으로 근사(approximation)할 수 있음이 실험적, 이론적으로 입증되었습니다. 즉 데이터 안에 내재하고 있는 선형적이지 않은 복잡한 관계(패턴)를 잘 포착할 수 있다는 장점이 있습니다.
한편 딥러닝 모델들은 각각의 층마다 아주 많은 수의 파라미터를 가지고 있습니다. 왜 많은 수의 파라미터가 필요한 것일까요? 앞선 집값 모델 예시에서, 면적과 인테리어 비용 말고도 많은 변수들이 가격을 결정한다고 가정해봅시다. 이런 경우엔 면적과 인테리어 비용만으로 가격을 설명하기 힘들기 때문에, 더 많은 변수들이 필요할 것입니다. 즉 상관관계가 복잡할수록 파라미터의 수를 늘려야 하는 것이지요. 우리의 집값 모델에서는 파라미터가 두 개에 불과했지만, 실제 딥러닝 모델에서는 그 개수가 1억 개를 넘기는 경우가 허다합니다.
뇌구조와의 유사성
다중 퍼셉트론 구조의 또 다른 이름은 신경망(Neural Network, NN)입니다. 왜 다중 퍼셉트론 구조를 신경망이라고 부를까요? 아래 그림은 우리 뇌의 신경세포, 뉴런의 구조를 나타냅니다. 가지 돌기(Dendrite)에서 전달된 여러 신호는 변형을 거쳐 핵(Nucleus)에 도달한 후, 축삭(Axon)을 통해 축삭 돌기(Axon Terminal)로 전해집니다. 이때 여러 개의 input이 가중치와 곱해지고 합해지는 과정을 가지 돌기에 전달된 신호가 변형을 거쳐 핵에 도달하는 것에 비유할 수 있고, 축삭을 통해 축삭 돌기로 정보가 전달될 때 가해지는 변형을 활성화 함수로 처리된 출력이 나오는 과정에 비유할 수 있습니다. 그리고 뉴런들은 서로 얽혀 있기 때문에, 마치 은닉층이 작동하듯 이 축삭 돌기의 신호는 또 다른 가지 돌기의 입력으로 주어지게 됩니다. 이런 공통점으로 인해 딥러닝 모델은 흔히 신경망 구조로 불립니다.
Black Box 문제와 연금술 비판
우리는 앞서 신경망의 구조가 ‘비선형성을 더한 깊은 선형 회귀’로 요약됨을 알 수 있었습니다. 그리고 신경망은 방대한 규모와 뛰어난 성능을 자랑합니다. 그러나 날카로운 통찰력을 가진 사람들과 통계학을 전문적으로 공부한 사람들은 딥러닝에 강한 의구심을 품습니다. ‘그게 대체 왜 좋은데?’ 라고요. 이들이 질문을 던지는 이유는 크게 두 가지입니다. 첫 번째로 딥러닝이 그다지 ‘실용적’이진 않을 수 있습니다. 사실 딥러닝이 적용될 만한 분야는 한정되어 있고, 방대한 파라미터로 인해 사용하는 비용이 높은 데다, 다른 기계학습 방법에 비해 단점도 있기에 결코 만능이 되지 못합니다. 두 번째 이유는, 신뢰할 수 없기 때문입니다. 앞서 신경망에는 여러 층에 걸쳐 1억 개가 넘는 파라미터가 있다고 했습니다. 하지만 그 1억 개의 파라미터가 대체 “뭘 하는 것인지”는 오늘날에도 아주 불투명합니다. 전통적인 통계 분석 기법들은 모델이 내놓은 결과의 이유를 추적하기가 용이합니다. 하지만 딥러닝은 그렇지 않습니다. 1억 개의 파라미터들이 결과에 무슨 영향을 주었는지 분석하는 작업은 아주 난해하고 어렵습니다. 게다가 딥러닝의 취약점을 밝힌 여러 연구들에 의하면, 이 파라미터들은 잘못된 상관관계를 익히는 경우도 많다고 합니다. 기업 면접, 의료 분야와 같이 신중한 의사결정이 중요한 영역에, 당장의 지표가 좋더라도 섣불리 딥러닝을 적용하기 힘든 이유입니다. 인공지능의 윤리와 신뢰성에 대한 많은 비판은 실제로 이 점을 지적하고 있습니다.
또 성능이 좋은 딥러닝 모델이 나올 때마다, 많은 학자들은 그것이 좋은 이유를 과학적으로 분석하기보다는 소문과 노하우의 형태로 별 검토 없이 차용해 왔습니다. 그래서 신경망 모델 안에는 성능을 끌어올리기 위한 디테일한 테크닉이 많지만, 그러한 테크닉들이 실제로 무슨 역할을 하는지 구체적으로 밝혀지지 못한 상태입니다. 일부 학자들은 이러한 연구 행태를 ‘연금술’과 같다고 비판하기도 했습니다. [1]
이렇듯 딥러닝 모델은 그 안에 들어있는 수많은 파라미터와 각종 테크닉의 역할이 제대로 규명되지 못한 탓에
Black Box 모델이라고 불리기도 합니다. 다행히도 여러 연구들에서 딥러닝을 수학적으로 정식화하고 어떻게 설명할 수 있는지 논의 중이며, 최근에는 성능 경쟁이 정체되면서 이런 연구들이 더욱 주목받고 있습니다.
나가는 글
오늘 우리는 선형 회귀에서 출발해 다중 퍼셉트론 구조, 신경망에 대해 배웠습니다. 그리고 이 신경망 구조를 기반으로 하는 딥러닝 모델의 특징과 한계점에 대해 살펴보았습니다. 특히 딥러닝 모델의 취약점과 black Box 문제는 신뢰할 수 있는 기술이 되기 위해 갈 길이 멀다는 점을 시사합니다. 과연 ‘복잡한 선형 회귀’는 우리의 미래를 이끌 진정한 인공지능이 될 수 있을까요? 앞으로 ‘기술 비평을 위한 가벼운 딥러닝’ 시리즈는 독자 여러분이 여러 신경망 기반 인공지능 기술에 대해 비평할 수 있도록 딥러닝 분야의 최신 지식을 쉽고 재미있게 설명하려 합니다.
참고문헌
https://en.wikipedia.org/wiki/Least_squares
https://en.wikipedia.org/wiki/Gradient_descent
https://towardsdatascience.com/black-box-and-white-box-models-towards-explainable-ai-172d45bfc512
A. Zhang et al, Dive into Deep Learning, 2021
✔️ 이번 뉴스레터는 어떠셨나요? 뉴스레터를 평가해주세요!
✔️ 뉴스레터를 구독하시면 매주 새로운 레터를 이메일로 쉽게 확인하실 수 있어요! 뉴스레터 구독하기
✔️ 철학이야기 카카오톡 오픈채팅도 운영하고 있습니다! 철학이야기 오픈채팅