brunch

You can make anything
by writing

C.S.Lewis

by florent Aug 27. 2024

성냥개비 상자와 신경망

이 글은 Brilliant 앱 내 Introduction to Neural Networks 내용을 추가, 번역, 의역, 재구성한 글입니다.




[생물학적 신경망(Biological Neural Network)]

뇌에서는 뉴런(neuron)이라고 불리는 800억 개의 세포들이 작은 전기 펄스(pulse of electricity)를 통해 정보(information)를 주고받는다. 그런데 이 세포들은 모두 직접적으로 신호를 주고 받지 않는다. 생물학적 신경망(biological neural network)라고 불리는 특별한 기능을 수행하는 구조를 통해 정보 교류가 이뤄진다.


그리고 뇌는 이 구조를 바탕으로 경험(experience)를 통해 학습(learn)한다. 공부를 하든, 게임을 하든 뇌는 해당 경험을 기반으로 특정 뉴런 간 통신(communication) 경로를 강화시키고 다른 뉴런 간의 연결성은 약화(prune)시킨다. 즉, 특정 경험을 함에 따라 뇌의 신경망 구조는 그에 맞게 발달한다.



[인공 신경망(ANN, Artificial Neural Network)]

인공 신경망은 포유류의 두뇌를 이해하고 모방하고자 고안된 개념이다. 연산 기술(computing power)의 발달에 따라 초 단위로 수십억개의 정보를 처리할 수 있게 되자, 과학자들은 생물학적 신경망을 모방하여 컴퓨터도 ‘학습’할 수 있게 됐다. 즉, 과학 기술의 발전으로 인해 인간만이 할 수 있었던 복잡한 작업을 인공 신경망이 수행할 수 있게 된 것이다.



[학습(learning)과 최초의 학습하는 컴퓨터]

학습이란, 기본적으로 어떤 작업을 수행하기위해 새로운 행동을 시도하는 것을 의미한다. 그리고 학습은 무엇이 정답이고 오답인지에 대한 피드백(feedback)이 존재하면 더욱 빨라질 수 있다. 


1960년경, 도널드 미치(Donald Michie)라는 인공지능 연구자가 틱-택-토(tic-tac-toe) 승리 전략을 학습하는 컴퓨터를 고안해냈다. 이 컴퓨터는 별 다른 지시사항(instruction) 없이 틱택토를 배워나가며 승리 확률을 점점 높여갔다. 이 컴퓨터는 아래와 같이 생겼다.

이미지 출처: https://odsc.medium.com/how-300-matchboxes-learned-to-play-tic-tac-toe-using-menace-35e0e4c29fchttps://www.linkedin.com/pulse/menace-seed-machine-learning-jeffrey-bustos-vdxme/


우리가 흔히 생각하는 컴퓨터가 아니다. 성냥개비 상자로 이뤄진 컴퓨터다. 각 성냥개비 상자의 위에는 틱택토의 보드 상태가 적혀있고, 상자 안에는 다양한 색상의 구슬들이 들어있다. 다양한 색상의 구슬들은 틱택토의 보드 상태에서 컴퓨터가 진행할 수 있는 다음 위치를 의미한다. 


각 엄청난 수의 보드 상태를 나타내는 많은 성냥개비 상자들 안에는 서로 동일한 양의 구슬을 가진 채로 게임을 시작한다. 컴퓨터는 성냥개비 상자를 열어 무작위의 구슬을 뽑은 후, 해당 구슬에 맞는 움직임을 진행한다. 승리를 할 경우 해당 위치의 구슬과 동일한 구슬을 몇 개 넣거나 패배할 경우 해당 위치의 구슬을 빼는 방식을 취한다. 그리고 게임을 계속해서 반복해 나간다.


각 성냥개비 상자 안에 얼마만큼의 구슬을 넣고, 게임 후 얼만큼의 구슬을 조정할지만 결정한다면, 이 방식은 두 가지 특징을 지니게 된다. (1) 컴퓨터가 모든 가능한 선택지를 탐색(explore)하게 된다는 것과 ,(2)의도한 움직임을 할 수 있도록 그 가능성을 조정(adjust)해 나가는 것이다.


https://chalkdustmagazine.com/features/menace-machine-educable-noughts-crosses-engine/


위의 그래프는 진행한 게임의 횟수가 증가함에 따라 성냥개비 박스 내의 구슬 수를 나타낸 그래프다. 처음에는 구슬이 줄어들다가, 어느 시점부터 계속해서 구슬 수가 증가한다. 계속해서 승리하며 구슬이 꾸준히 증가하게 된 것이다. 사람의 개입 없이, 그저 여러 번의 게임만 진행했을 뿐인데 승리 전략이 학습된 것이다.


학습이란, 기본적으로 어떤 작업을 수행하기위해 새로운 행동을 시도하는 것을 의미한다. 그리고 학습은 무엇이 정답이고 오답인지에 대한 피드백(feedback)이 존재하면 더욱 빨라질 수 있다.

즉, 성냥개비 박스는 승리와 패배라는 ‘피드백’을 통해 승리할 수 있는 전략을 ‘학습’한 것이다. 


하지만 여기서 짚고 넘어가야할 점이 있다. 해당 컴퓨터는 틱택토 게임에서 패배하지 않고 승리하는 방법을 학습한 것이지, 틱택토 게임을 하는 방법을 깨우친 게 아니라는 점이다. ‘상대방에 의해 막히지 않은 일자 라인을 따라 위치해야한다.’의 의미를 이해한 것이 아니라, 틱택토에서의 승리와 패배를 의미하는 피드백 체계를 학습한 것일 뿐이다.


성냥개비 컴퓨터처럼, 인공 신경망 또한 다수의 탐색적 시도를 통해 피드백을 기반으로 작은 변화를 만들어내며 복잡한 작업을 수행하며 학습한다. 이렇게 훈련된 ANN은 이미지에서 고양이를 인식하거나, 자동차 운전을 하는 등의 작업을 배울 수 있다.



[인공 신경망의 기본 구성요소]


인공 신경망은 기본적으로 입력(input)과 인공 뉴런(artificial neuron)으로 구성되어 있다. 각 입력은 가중치(weight)와 곱해져 뉴런에 전달된다. 뉴런은 이러한 가중 입력들의 총합을 계산한 뒤, 여기에 편향(bias)을 더한다. 이 결과값이 활성화 함수(activation function)에 입력되어 최종 출력을 결정한다. 활성화 함수의 특성에 따라, 입력에 대한 연산 값이 특정 임계값을 넘으면 뉴런이 활성화(activated)되고, 그렇지 않으면 비활성화(inactive) 상태가 된다. 이 과정을 통해 뉴런은 입력 신호에 대해 비선형적인 반응(response)을 보이게 된다.


I=입력, b=편향일 때, 뉴런의 활성화 조건(activation condition)은 다음과 같이 표현될 수 있다.


뉴런의 활성화 조건은 다양한 변수에 의해 영향을 받는다.

(1) 입력이 없는 경우, 출력은 전적으로 편향에 의해 제어되며, 편향을 증가시키면 출력이 감소한다.

(2) 입력이 있는 경우, 가중치를 증가시키거나, 편향을 감소시켜 출력을 증가시킬 수 있다. (반대로 하면 감소)



[다층 신경망(layered networks)과 예측의 정확성]

다층 신경망은 최종 뉴런의 반응에 영향을 끼치는 다른 뉴런이 중간층에 존재하는 구조다. 즉, 입력들은 중간층의 뉴런에 대해 직접적인 영향을 미치지만 최종 뉴런에 대해서는 간접적인 영향을 미치게 된다. 예를 들어, "X가 참이거나 Y가 참일 때, 그리고 X와 Y가 동시에 참이 아닐 때, Z가 참이다”를 의미하는 XOR 네트워크는 기본적으로 은닉층을 가지는 구조를 지닌다. 


신경망의 예측 능력은 정보를 뉴런의 층을 통해 얼마나 효율적이고 효과적으로 처리하냐에 달려있다. 즉, 여러 층의 구조를 통해 정보의 복잡한 패턴을 얼마나 더 정확하게 학습하고 처리하여 예측할 수 있는지가 중요한 것이다. 이러한 중간층(들)은 주로 은닉층(hidden layer)을 구성한다.


은닉층은 뉴런들의 입력 조합을 변환하는 역할을 수행하여 출력 뉴런이 기본적인 논리 함수만을 적용시킬 수 있도록 돕는다. 역전파(back-propagation)와 같은 훈련 알고리즘을 사용하여 가중치와 편향을 설정하는 방식으로 은닉층의 효과는 더욱 강해질 수 있다. 


인공 신경망이 학습하고자 하는 데이터는 정교한 결정 경계(decision boundary)를 요구한다. 결정 경계란, 데이터 포인트가 경계의 어느 쪽에 위치하는지에 따라 데이터의 클래스(class)를 결정하는 기준선이다. 은닉층을 활용하면 결정 경계에 곡선 맞춤(curve fitting)을 적용하며 더욱 정교한 분류가 가능해진다.


하지만 은닉층을 설정하여 훈련 데이터를 100% 정확도로 분류하는 법을 배운다고 해서 신경망의 능력이 뛰어나지는 것은 아니다. 너무 많은 은닉층을 구성할 경우, 훈련 데이터의 디테일 하나하나를 모두 습득하게 되어 목적에 맞지 않는 특징까지도 학습하게 된다. 즉, 인공 신경망이 너무 복잡해지면 훈련 데이터의 모든 세세한 부분을 학습하여 과적합(overfitting) 문제로 이어져, 새로운 데이터에 대한 일반화 능력이 떨어질 수 있다.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari