기초 신경망 구조와 함께 Data Centric AI 패러다임을 소개합니다. 인공 지능 ‘학습’이란 무엇이고 어떻게 진행되는지, 간단한 예제와 사례를 통해 설명합니다.
*본 내용은 셀렉트스타의 '23/24 인공지능 인사이트' 매거진에서 발췌한 것입니다.
1.1 인공 신경망 기초, 퍼셉트론
컴퓨터의 어근 ‘Compute’는 ‘계산하다’는 뜻입니다. 1940년대, 초기 컴퓨터의 최대 목적은 수학 문제를 고속으로 푸는 일이었습니다. 당시 국가적 과제였던 항공 우주 분야에서 수학적 계산을 많이 요구했기 때문이죠. 계산뿐 아니라 모든 일상과 비즈니스에 활용되는 오늘날 컴퓨터의 모습과는 매우 다릅니다.
인공 지능도 마찬가지입니다. 초기 인공 신경망은 지금의 DALL-E나 ChatGPT처럼 복잡한 글과 그림이 아니라, 단순히 수를 처리하는 알고리즘이었습니다. 1957년 코넬 항공 연구소의 프랑크 로젠블라트는 인공 신경망 ‘퍼셉트론’을 고안했는데요, 동물의 신경계를 기반으로 만들었기에 개념적으로나 그 형태로나 비슷한 부분이 많습니다. 퍼셉트론(Perceptron)이라는 용어 또한 퍼셉션(Perception)과 뉴런(neuron) 두 단어의 조합입니다.
퍼셉트론은 다수의 입력으로부터 하나의 결과를 출력하는 알고리즘입니다. 숫자 여러 개를 입력하면, 그에 대한 답을 하나 출력하지요. 구조는 단순하지만 이를 반복하고 겹치어 발전시킨다면 다양한 작업을 수행할 수 있는 인공지능을 만들 수 있습니다. 무수히 많은 정보를 입력값으로 활용해, 최고 수준의 의사 결정과 추론을 수행할 수 있지요. 극단적으로는 날씨 예측을 위해 지구 반대편에 사는 나비의 날갯짓 여부를 입력값으로 활용할 수도 있겠습니다. 그만큼 정교하고 복잡한 연산으로 우수한 결괏값을 내보입니다. 요즘은 인터넷에 있는 방대한 데이터를 학습한 ChatGPT가 이런 역할을 어느 정도 하는 듯싶네요.
그렇다면 퍼셉트론은 어떻게 다양한 요소들을 결과를 출력할까요? 위 그림은 퍼셉트론을 도식화하여 나타낸 이미지입니다.
입력값(Input), 가중치(Weight), 활성화 함수(Activation Function) 등의 키워드가 눈에 띄는 데요, 먼저 수식 개념을 설명해 보겠습니다. 하나의 결과 및 현상에 영향을 미치는 요소는 다양합니다. 합리적인 의사 결정 및 추론을 위해서는 다양한 변인을 그 중요도에 따라 다르게 반영해야 합니다. 예를 들어 아파트 가격을 결정하는 요소로는 학군, 교통, 연식, 금리 등이 있습니다. 이런 변인 중에서도 상대적으로 중요한 요소가 있고 그렇지 않은 요소가 있습니다.
만약 금리가 가장 큰 영향을 미친다면, 아파트 가격을 예측하는 계산식은 ‘금리’를 크게 반영하도록 구성돼야 합니다. 아래 식에서는 ‘W, 가중치(Weight)’ 값이 그 역할을 합니다. 퍼셉트론은 먼저 입력값($x_{1}$ , $x_{2}$)마다 정해진 가중치를 ($w_{1}$, $w_{2}$)를 곱해 모두 더합니다. 그 결과를 가중합(Weighted Sum)이라고 하는데요, 계산 과정에서 ‘편향(Bias)’이라고 하는 상수를 더할 수도 있습니다.
위 식은 w로 표현된 가중치의 (절대)값이 클수록 변인 x를 더 크게 반영합니다. 식을 통해 가중합을 구했다면, 다음은 ‘활성화 함수(Activation Function)’에 가중합을 입력합니다. 이유는 신경망이 ‘비선형 문제를 학습하고, 더 복잡한 패턴을 인식할 수 있도록 하기 위함’인데요, 표현이 어려우니 구체적인 사례를 먼저 들어보겠습니다.
*어떤 학생이 시험에 통과할 수 있을지 없을지 예측하는 신경망을 설계하고자 합니다. 시험 점수가 70점 이상이면 통과, 미만이면 불통입니다. 먼저 학생이 시험에서 몇 점을 받을지 예측해야 합니다. 시험 점수에 영향 끼치는 변인으로는 ‘직전 시험 점수’ ‘남은 일수’ ‘하루 공부 시간’ 등이 있습니다. 이러한 변인 각각은 신경망의 입력값으로 삼아, 그 중요도에 따라 사전 설정된 가중치를 곱할 예정입니다.
먼저 ‘직전 시험 점수’ ‘남은 일수’ ‘하루 공부 시간’ 변인 세 개의 가중치를 각각 [0.9, 1.0, 2.0]으로 설정하겠습니다. 그렇다면 이전 시험에서 ‘70점’을 맞은 학생이 남은 ‘2일’ 동안 하루 ‘3시간’씩 공부한다면 그 점수는 (70*0.9) + (2*1.0) + (3*2.0) =71점으로 예상됩니다. 71점은 넘은 학생은 통과이니, 입력값이 70 이상이면 ‘통과’, 70 이하면 ‘불통’을 출력하는 활성화 함수를 설정하면 완성입니다. 여기서는 입력값이 임계값(threshold)을 넘으면 1, 그렇지 않으면 0을 출력하는 계단 함수(Step function)를 사용할 수 있습니다.
*63 + 2 + 6 = 71.
*퍼셉트론 연산 과정
1. 가중합 연산(Weighted Sum Operation)
2. 활성화 함수 적용
여기까지가 인공신경망의 단위가 되는 퍼셉트론의 구조입니다. 흔히 말하는 인공지능은 이러한 퍼셉트론을 무수히 중첩시킨 네트워크입니다. 깊게 쌓았기에 심층 신경망DNN(Deep Neural Network), 딥 러닝(Deep learning)이라고 합니다.
셀렉트스타는 더욱 스마트한 인공지능을 위한 고품질 학습 데이터를 제공합니다.