AIㆍML

"퍼셉트론에서 트랜스포머, CNN까지" 신경망 기본 개념과 최신 스타일의 이해

Matthew Tyson | InfoWorld 2024.03.05
신경망은 현대 머신러닝과 AI의 기반이며, AI가 무엇이고 어떻게 작동하는지 이해하는 데 가장 필수적인 구성요소이기도 하다. 여기서는 신경망의 기본적인 부분을 알아본 다음, 챗GPT 및 바드와 같은 대규모 언어 모델부터 스테이블 디퓨전을 사용한 이미지 생성에 이르기까지 온갖 AI를 움직이는 순방향 및 순환 신경망과 같은 가장 일반적인 몇 가지 신경망 형태를 살펴본다. 
 

퍼셉트론 

모든 신경망에는 한 가지 공통된 기본 특징이 있다. 상호연결된 노드 그룹이라는 점이다. 더 엄밀히 말하면 그래프다. 노드의 특성과 에지가 연결되는 방식은 매우 다양하며, 가장 단순한 노드 구조는 물론 단일 노드다. 

퍼셉트론(perceptron)은 인간의 뇌세포에서 영감을 받은 극초기의 수학 모델 비전이다. 다만 둘 사이의 관계는 매우 느슨하다는 점에 유의해야 한다. 인간의 뇌는 신경망에 비해 근본적으로 더 정교하고 미묘하며 인식론적으로 불확실하다. 그래서 인간의 뇌는 이해의 대상이 이해하는 기관의 일부이기도 하다. 반면 소프트웨어 뉴런(neuron)은 그렇지 않다. 일반적으로 "뉴런" 개념은 하나 이상의 입력을 받은 노드가 생산할 출력을 결정한 다음 이 출력을 다음 노드 또는 최종 출력으로 보내는 것을 의미한다. 

뇌에 대한 비유는 특히 신경망이 인간의 뇌와 같은 방식으로 의식적이라는 결론에 이르면 혼란을 야기하지만 어쨌든 신경망은 매우 강력한 알고리즘 모델이다. 손실 함수를 통해 일련의 입력과 출력으로 축소할 수 있는 모든 문제는 (방대한 양의 데이터가 필요하긴 하지만) 신경망으로 처리가 가능하다. <그림 1>은 두 개의 입력과 하나의 출력이 있는 단순한 퍼셉트론을 보여준다. 
 
<그림 1> 단일 출력 퍼셉트론 모델

각 입력에 가중치를 곱하면 입력의 영향을 조정할 수 있다. 이후 입력은 함께 더해지고 편향에 추가된다. 편향은 노드의 전체적인 영향을 조정할 수 있게 해준다. 수학적인 다이어그램은 여기서 단일 계층 퍼셉트론 모델을 참조하자.

결괏값은 활성화 함수(activation function)로 전달된다. 활성화 함수는 많은 것이 될 수 있지만 퍼셉트론에서는 임계 함수, 많은 경우 헤비사이드 계단(Heaviside step) 함수이며, 이 함수는 기본적으로 값이 충분히 높은 경우 1을, 그렇지 않은 경우 0을 출력한다. 간단히 말해 이 함수는 게이트다. 간단한 온/오프 출력은 퍼셉트론의 대표적인 특징이다. 노드 내부 수준에서 이 기본 레이아웃은 신경망에 상당히 보편적이다. 입력과 출력의 수는 다를 수 있으며 뉴런에 전달되는 정보를 보통 특징(feature)이라고 한다. 

참고로 퍼셉트론은 단독으로, 즉 단일 노드 네트워크로 사용되는 경우가 매우 많다. 퍼셉트론이라는 용어가 단일 노드 신경망을 지칭하는 경우도 종종 있다. 여러 퍼셉트론을 하나의 계층으로 결합할 수 있다. 더 많은 계층이 사용되면 순방향 신경망으로 간주된다.
 

손실 함수와 머신러닝 

일반적으로 퍼셉트론과 신경망은 성능을 개선하기 위해 가중치와 편향을 조정할 방법이 필요하다. 성능은 손실 함수로 측정된다. 손실 함수는 계산을 어떻게 수행했는지를 신경망에 알려주며, 이 정보가 노드를 조정하는 데 사용된다. 뉴런의 가중치와 편향을 수정하는 것이 신경망 머신러닝의 핵심이다. 
 
<그림 2> 고수준의 머신러닝

참고로 필자는 손실 함수의 세부적인 부분, 가중치와 편향이 조정되는 방식에 대한 이야기는 의도적으로 피하고 있다. 이 용도로는 일반적으로 경사하강법(gradient descent) 알고리즘이 사용된다. 경사하강법은 신경망을 미적분 함수로 보고 손실 함수를 최소화하도록 값을 조절한다. 다음으로 퍼셉트론 모델에서 학습하고 그 이상으로 넘어서는 다양한 신경망 스타일을 살펴본다. 
 

순방향 신경망 

순방향 신경망(Feedforward network)은 가장 전형적인 신경망으로 꼽힌다. 퍼셉트론에 비해 훨씬 더 높은 유연성을 제공하면서도 여전히 단순한 편이다. 순방향 신경망의 가장 큰 차이점은 일반적으로 둘 이상의 계층을 통합하는 더 정교한 활성화 함수를 사용한다는 것이다. 순방향의 활성화 함수는 단순히 0/1, 또는 온/오프가 아니라 노드에서 동적인 변수를 출력한다. 순방향 신경망에 사용되는 경사하강법 형태에는 더 많은 부분이 관련된다. 가장 일반적으로는 역전파다. 역전파는 신경망을 하나의 큰 다변량 미적분 방정식으로 보며 조정을 위해 편미분을 사용한다. 
 
<그림 3> 순방향 신경망

<그림 3>에서 전형적인 순방향 신경망을 볼 수 있다. 입력 계층(그냥 계층, 또는 계층 1이라고도 함)이 있고 두 개의 뉴런 계층이 있다. 노드와 계층은 매우 다양한 방식으로 연결이 가능하다. 여기서는 각 노드의 출력이 다음 계층의 각 노드로 전송되므로 "완전 연결" 또는 "밀집" 계층이다. 신경망의 내부 계층을 은닉 계층(hidden layer)이라고도 한다. 순방향 신경망의 핵심은 입력/출력을 항상 앞으로만 푸시하며, 다음에 설명할 순환 신경망처럼 뒤로 보내는 일이 없다는 점이다. 
 

순환 신경망(RNN) 

순환 신경망, 즉 RNN(Recurrent neural network)은 데이터가 계층 사이에서 뒤로 이동하는 신경망이다. 이 스타일의 신경망을 순환 그래프(cyclical graph)라고도 한다. 역방향 이동은 더 정교한 다양한 학습을 사용할 수 있게 해준다. 또한 이 특성으로 인해 RNN은 다른 일부 신경망에 비해 더 복잡하기도 하다. RNN은 일종의 피드백을 포용한다고 말할 수 있다. <그림 4>는 RNN에서 데이터 이동의 순환 패턴을 보여준다. 참고로 RNN과 같은 연결 구조에서는 뉴런에 대한 비유가 더 확장된다. RNN 신경망에서 볼 수 있는 일종의 역방향 이동은 생물학적 구조에서는 발생하지 않는다. 
 
<그림 4> RNN에서 데이터의 순환

RNN에 사용되는 또 다른 트릭은 은닉 상태(hidden state)다. 이 말은 실행 중에 노드가 일부 데이터를 내부적으로 저장할 수 있음을 의미한다. 기본적으로 머신 메모리 형태다. RNN에서 계층은 반복 실행이 가능하므로(다운스트림 계층의 출력이 업스트림의 입력이 됨) 은닉 상태는 신경망이 데이터의 장기적인 영향에 대해 학습할 수 있게 해준다. 

RNN은 현재 가장 많이 사용되는 신경망 형태 중 하나이며 매우 다양한 방법으로 구현된다. 가장 일반적인 구현은 장단기 기억(LSTM) 신경망이다. LSTM은 무엇이 가치 있는지 판단하고("망각 게이트") 무엇을 입력/출력할 것인지를 판단하기 위한("입력 및 출력 게이트") 일련의 게이트와 내부 상태가 있는 매우 복잡한 노드를 사용한다. RNN은 시계열과 같이 시퀀스 전반에서 과거 영향을 기억하는 능력이 중요한 순차 데이터에 가장 적합하며 실제로 그러한 분야에 적용된다. 
 

합성곱 신경망(CNN) 

합성곱 신경망, 즉 CNN(Convolutional neural network)은 데이터 그리드를 처리하도록 설계된 신경망이다. 데이터 그리드는 특히 이미지를 의미한다. 안정적 확산과 같은 생성형 AI 모델의 학습 및 손실 단계에서 하나의 구성요소로 사용되며 다양한 이미지 분류 작업에도 사용된다. 

CNN은 2차원 소스 데이터를 가로질러 이동하면서 뷰에서 정보를 추출하고 상호 연결하는 창문과 같은 역할을 하는 행렬 필터를 사용한다. 이런 특성 덕분에 이미지 처리에 알맞다. 창문은 뷰를 가로질러 이동하면서 세부적이고 상호 연결된 데이터 그림을 생성한다. RNN이 일련의 시간순 데이터에서 잘 작동하듯이 CNN은 이 방식으로 2차원 공간 평면에서 잘 작동한다. 

대부분의 CNN은 2단계 프로세스로 동작한다. 필터링 이후 평탄화가 수행되고 순방향 신경망으로 전달된다. 필터링 단계는 신경망 스타일의 노드 그래프가 아닌 데이터 그리드를 사용하여 진행되는 경우가 많으므로 경사하강법 알고리즘을 사용해 손실 함수를 기반으로 학습한다 해도 전체 프로세스는 신경망과 다르다. 

CNN에서 또 다른 중요한 작업은 풀링(pooling)이다. 풀링은 필터링 단계에서 생산된 데이터를 받아 효율성을 위해 압축한다. 풀링은 데이터의 차원을 축소하면서 출력의 관련된 부분을 유지하도록 설계된다. <그림 5>에서 일반적인 CNN 흐름을 볼 수 있다. 
 
<그림 5> 일반적인 CNN 흐름도

합성곱(convolution)이라는 용어는 잘 알려진 수학적 절차를 가리킨다. 이 합성곱 신경망 가이드에서 합성곱 프로세스가 잘 표현된 애니메이션 시각화를 볼 수 있다. 
 

트랜스포머와 어텐션 

트랜스포머(Transformer)는 챗GPT, 바드와 같은 LLM의 아키텍처인 만큼 요즘 많이 거론된다. 트랜스포머는 인코더-디코더 구조를 사용하며, 어텐션(attention) 메커니즘을 구현한다. 트랜스포머 신경망에 대한 더 자세한 내용은 이 논문을 참고하면 된다. 어텐션은 모델이 문장의 일부분, 그리고 무엇이 중요한지에 집중할 수 있게 해준다는 면에서 언어 처리의 혁신이다. 트랜스포머는 인코더/디코더 구조와 단어 토큰의 위치 인코딩을 사용한다. 이 영상은 아키텍처를 이해하기 쉽게 잘 설명한다. 트랜스포머는 매우 강력하고 매우 복잡하기도 하다. 인코더 및 디코더 구성요소 내부의 하위 신경망으로 밀집 순방향 신경망을 사용한다. 또한 상당한 컴퓨팅 성능을 요구한다. 
 

적대적 신경망 

적대적 신경망(Adversarial network)은 두 개의 모델이 겨루는 매우 흥미로운 개념이다. 한 모델이 예측 출력을 시도하면 다른 하나가 가짜를 찾으려고 시도한다. 높은 수준에서 보면 상대방이 손실 함수 역할을 하는 정교한 손실 메커니즘으로 작동한다. 
 

소프트웨어 개발자의 필수 지식

신경망은 문제에 대해 생각하고 손실 감소를 기반으로 머신러닝 알고리즘을 적용하기 위한 강력한 방법이다. 연결되고 복잡한 여러 가지 형태가 있으며, 막대한 자금과 연구 활동이 이 분야에 투자되고 있다. 신경망의 기본을 이해하면 의식의 본질, 그리고 이 본질 측면에서 인공지능(현재 형태의)의 의미에 대한 더 깊은 질문에도 대응할 수 있다. 다행히 신경망의 기반 개념은 이해하기 어렵지 않다. 신경망의 여러 변형과 각 동작 방식에 대한 이해는 소프트웨어 개발자에게 유용할 뿐만 아니라 점점 더 필수적인 지식이 되고 있기도 하다. 신경망은 앞으로 수십 년 동안 더 큰 산업과 세계에 계속해서 영향을 미칠 혁신 영역이다. 
editor@itworld.co.kr
 Tags 신경망 CNN RNN
Sponsored

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.