퍼셉트론
모든 신경망에는 한 가지 공통된 기본 특징이 있다. 상호연결된 노드 그룹이라는 점이다. 더 엄밀히 말하면 그래프다. 노드의 특성과 에지가 연결되는 방식은 매우 다양하며, 가장 단순한 노드 구조는 물론 단일 노드다.퍼셉트론(perceptron)은 인간의 뇌세포에서 영감을 받은 극초기의 수학 모델 비전이다. 다만 둘 사이의 관계는 매우 느슨하다는 점에 유의해야 한다. 인간의 뇌는 신경망에 비해 근본적으로 더 정교하고 미묘하며 인식론적으로 불확실하다. 그래서 인간의 뇌는 이해의 대상이 이해하는 기관의 일부이기도 하다. 반면 소프트웨어 뉴런(neuron)은 그렇지 않다. 일반적으로 "뉴런" 개념은 하나 이상의 입력을 받은 노드가 생산할 출력을 결정한 다음 이 출력을 다음 노드 또는 최종 출력으로 보내는 것을 의미한다.
뇌에 대한 비유는 특히 신경망이 인간의 뇌와 같은 방식으로 의식적이라는 결론에 이르면 혼란을 야기하지만 어쨌든 신경망은 매우 강력한 알고리즘 모델이다. 손실 함수를 통해 일련의 입력과 출력으로 축소할 수 있는 모든 문제는 (방대한 양의 데이터가 필요하긴 하지만) 신경망으로 처리가 가능하다. <그림 1>은 두 개의 입력과 하나의 출력이 있는 단순한 퍼셉트론을 보여준다.
각 입력에 가중치를 곱하면 입력의 영향을 조정할 수 있다. 이후 입력은 함께 더해지고 편향에 추가된다. 편향은 노드의 전체적인 영향을 조정할 수 있게 해준다. 수학적인 다이어그램은 여기서 단일 계층 퍼셉트론 모델을 참조하자.
결괏값은 활성화 함수(activation function)로 전달된다. 활성화 함수는 많은 것이 될 수 있지만 퍼셉트론에서는 임계 함수, 많은 경우 헤비사이드 계단(Heaviside step) 함수이며, 이 함수는 기본적으로 값이 충분히 높은 경우 1을, 그렇지 않은 경우 0을 출력한다. 간단히 말해 이 함수는 게이트다. 간단한 온/오프 출력은 퍼셉트론의 대표적인 특징이다. 노드 내부 수준에서 이 기본 레이아웃은 신경망에 상당히 보편적이다. 입력과 출력의 수는 다를 수 있으며 뉴런에 전달되는 정보를 보통 특징(feature)이라고 한다.
참고로 퍼셉트론은 단독으로, 즉 단일 노드 네트워크로 사용되는 경우가 매우 많다. 퍼셉트론이라는 용어가 단일 노드 신경망을 지칭하는 경우도 종종 있다. 여러 퍼셉트론을 하나의 계층으로 결합할 수 있다. 더 많은 계층이 사용되면 순방향 신경망으로 간주된다.
손실 함수와 머신러닝
일반적으로 퍼셉트론과 신경망은 성능을 개선하기 위해 가중치와 편향을 조정할 방법이 필요하다. 성능은 손실 함수로 측정된다. 손실 함수는 계산을 어떻게 수행했는지를 신경망에 알려주며, 이 정보가 노드를 조정하는 데 사용된다. 뉴런의 가중치와 편향을 수정하는 것이 신경망 머신러닝의 핵심이다.참고로 필자는 손실 함수의 세부적인 부분, 가중치와 편향이 조정되는 방식에 대한 이야기는 의도적으로 피하고 있다. 이 용도로는 일반적으로 경사하강법(gradient descent) 알고리즘이 사용된다. 경사하강법은 신경망을 미적분 함수로 보고 손실 함수를 최소화하도록 값을 조절한다. 다음으로 퍼셉트론 모델에서 학습하고 그 이상으로 넘어서는 다양한 신경망 스타일을 살펴본다.
순방향 신경망
순방향 신경망(Feedforward network)은 가장 전형적인 신경망으로 꼽힌다. 퍼셉트론에 비해 훨씬 더 높은 유연성을 제공하면서도 여전히 단순한 편이다. 순방향 신경망의 가장 큰 차이점은 일반적으로 둘 이상의 계층을 통합하는 더 정교한 활성화 함수를 사용한다는 것이다. 순방향의 활성화 함수는 단순히 0/1, 또는 온/오프가 아니라 노드에서 동적인 변수를 출력한다. 순방향 신경망에 사용되는 경사하강법 형태에는 더 많은 부분이 관련된다. 가장 일반적으로는 역전파다. 역전파는 신경망을 하나의 큰 다변량 미적분 방정식으로 보며 조정을 위해 편미분을 사용한다.<그림 3>에서 전형적인 순방향 신경망을 볼 수 있다. 입력 계층(그냥 계층, 또는 계층 1이라고도 함)이 있고 두 개의 뉴런 계층이 있다. 노드와 계층은 매우 다양한 방식으로 연결이 가능하다. 여기서는 각 노드의 출력이 다음 계층의 각 노드로 전송되므로 "완전 연결" 또는 "밀집" 계층이다. 신경망의 내부 계층을 은닉 계층(hidden layer)이라고도 한다. 순방향 신경망의 핵심은 입력/출력을 항상 앞으로만 푸시하며, 다음에 설명할 순환 신경망처럼 뒤로 보내는 일이 없다는 점이다.
순환 신경망(RNN)
순환 신경망, 즉 RNN(Recurrent neural network)은 데이터가 계층 사이에서 뒤로 이동하는 신경망이다. 이 스타일의 신경망을 순환 그래프(cyclical graph)라고도 한다. 역방향 이동은 더 정교한 다양한 학습을 사용할 수 있게 해준다. 또한 이 특성으로 인해 RNN은 다른 일부 신경망에 비해 더 복잡하기도 하다. RNN은 일종의 피드백을 포용한다고 말할 수 있다. <그림 4>는 RNN에서 데이터 이동의 순환 패턴을 보여준다. 참고로 RNN과 같은 연결 구조에서는 뉴런에 대한 비유가 더 확장된다. 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 흐름을 볼 수 있다.
합성곱(convolution)이라는 용어는 잘 알려진 수학적 절차를 가리킨다. 이 합성곱 신경망 가이드에서 합성곱 프로세스가 잘 표현된 애니메이션 시각화를 볼 수 있다.
트랜스포머와 어텐션
트랜스포머(Transformer)는 챗GPT, 바드와 같은 LLM의 아키텍처인 만큼 요즘 많이 거론된다. 트랜스포머는 인코더-디코더 구조를 사용하며, 어텐션(attention) 메커니즘을 구현한다. 트랜스포머 신경망에 대한 더 자세한 내용은 이 논문을 참고하면 된다. 어텐션은 모델이 문장의 일부분, 그리고 무엇이 중요한지에 집중할 수 있게 해준다는 면에서 언어 처리의 혁신이다. 트랜스포머는 인코더/디코더 구조와 단어 토큰의 위치 인코딩을 사용한다. 이 영상은 아키텍처를 이해하기 쉽게 잘 설명한다. 트랜스포머는 매우 강력하고 매우 복잡하기도 하다. 인코더 및 디코더 구성요소 내부의 하위 신경망으로 밀집 순방향 신경망을 사용한다. 또한 상당한 컴퓨팅 성능을 요구한다.적대적 신경망
적대적 신경망(Adversarial network)은 두 개의 모델이 겨루는 매우 흥미로운 개념이다. 한 모델이 예측 출력을 시도하면 다른 하나가 가짜를 찾으려고 시도한다. 높은 수준에서 보면 상대방이 손실 함수 역할을 하는 정교한 손실 메커니즘으로 작동한다.소프트웨어 개발자의 필수 지식
신경망은 문제에 대해 생각하고 손실 감소를 기반으로 머신러닝 알고리즘을 적용하기 위한 강력한 방법이다. 연결되고 복잡한 여러 가지 형태가 있으며, 막대한 자금과 연구 활동이 이 분야에 투자되고 있다. 신경망의 기본을 이해하면 의식의 본질, 그리고 이 본질 측면에서 인공지능(현재 형태의)의 의미에 대한 더 깊은 질문에도 대응할 수 있다. 다행히 신경망의 기반 개념은 이해하기 어렵지 않다. 신경망의 여러 변형과 각 동작 방식에 대한 이해는 소프트웨어 개발자에게 유용할 뿐만 아니라 점점 더 필수적인 지식이 되고 있기도 하다. 신경망은 앞으로 수십 년 동안 더 큰 산업과 세계에 계속해서 영향을 미칠 혁신 영역이다.editor@itworld.co.kr
Sponsored
Surfshark
“유료 VPN, 분명한 가치 있다” VPN 선택 가이드
ⓒ Surfshark VPN(가상 사설 네트워크, Virtual Private Network)은 인터넷 사용자에게 개인 정보 보호와 보안을 제공하는 중요한 도구로 널리 인정받고 있다. VPN은 공공 와이파이 환경에서도 데이터를 안전하게 전송할 수 있고, 개인 정보를 보호하는 데 도움을 준다. VPN 서비스의 수요가 증가하는 것도 같은 이유에서다. 동시에 유료와 무료 중 어떤 VPN을 선택해야 할지 많은 관심을 가지고 살펴보는 사용자가 많다. 가장 먼저 사용자의 관심을 끄는 것은 별도의 예산 부담이 없는 무료 VPN이지만, 그만큼의 한계도 있다. 무료 VPN, 정말 괜찮을까? 무료 VPN 서비스는 편리하고 경제적 부담도 없지만 고려할 점이 아예 없는 것은 아니다. 보안 우려 대부분의 무료 VPN 서비스는 유료 서비스에 비해 보안 수준이 낮을 수 있다. 일부 무료 VPN은 사용자 데이터를 수집해 광고주나 서드파티 업체에 판매하는 경우도 있다. 이러한 상황에서 개인 정보가 유출될 우려가 있다. 속도와 대역폭 제한 무료 VPN 서비스는 종종 속도와 대역폭에 제한을 생긴다. 따라서 사용자는 느린 인터넷 속도를 경험할 수 있으며, 높은 대역폭이 필요한 작업을 수행하는 데 제약을 받을 수 있다. 서비스 제한 무료 VPN 서비스는 종종 서버 위치가 적거나 특정 서비스 또는 웹사이트에 액세스하지 못하는 경우가 생긴다. 또한 사용자 수가 늘어나 서버 부하가 증가하면 서비스의 안정성이 저하될 수 있다. 광고 및 추적 위험 일부 무료 VPN은 광고를 삽입하거나 사용자의 온라인 활동을 추적하여 광고주에게 판매할 수 있다. 이 경우 사용자가 광고를 보아야 하거나 개인 정보를 노출해야 할 수도 있다. 제한된 기능 무료 VPN은 유료 버전에 비해 기능이 제한될 수 있다. 예를 들어, 특정 프로토콜이나 고급 보안 기능을 지원하지 않는 경우가 그렇다. 유료 VPN의 필요성 최근 유행하는 로맨스 스캠은 인터넷 사기의 일종으로, 온라인 데이트나 소셜 미디어를 통해 가짜 프로필을 만들어 상대를 속이는 행위다. 이러한 상황에서 VPN은 사용자가 안전한 연결을 유지하고 사기 행위를 방지하는 데 도움이 된다. VPN을 통해 사용자는 상대방의 신원을 확인하고 의심스러운 활동을 감지할 수 있다. 서프샤크 VPN은 구독 요금제 가입 후 7일간의 무료 체험을 제공하고 있다. ⓒ Surfshark 그 외에도 유료 VPN만의 강점을 적극 이용해야 하는 이유는 다음 3가지로 요약할 수 있다. 보안 강화 해외 여행객이 증가함에 따라 공공 와이파이를 사용하는 경우가 늘어나고 있다. 그러나 공공 와이파이는 보안이 취약해 개인 정보를 노출할 위험이 있다. 따라서 VPN을 사용하여 데이터를 암호화하고 개인 정보를 보호하는 것이 중요하다. 서프샤크 VPN은 사용자의 개인 정보를 안전하게 유지하고 해킹을 방지하는 데 유용하다. 개인정보 보호 인터넷 사용자의 검색 기록과 콘텐츠 소비 패턴은 플랫폼에 의해 추적될 수 있다. VPN을 사용하면 사용자의 IP 주소와 로그를 숨길 수 있으며, 개인 정보를 보호할 수 있다. 또한 VPN은 사용자의 위치를 숨기고 인터넷 활동을 익명으로 유지하는 데 도움이 된다. 지역 제한 해제 해외 여행 중에도 한국에서 송금이 필요한 경우가 생길 수 있다. 그러나 IP가 해외 주소이므로 은행 앱에 접근하는 것이 제한될 수 있다. VPN을 사용하면 지역 제한을 해제해 해외에서도 한국 인터넷 서비스를 이용할 수 있다. 따라서 해외에서도 안전하고 편리하게 인터넷을 이용할 수 있다. 빠르고 안전한 유료 VPN, 서프샤크 VPN ⓒ Surfshark 뛰어난 보안 서프샤크 VPN은 강력한 암호화 기술을 사용하여 사용자의 인터넷 연결을 안전하게 보호한다. 이는 사용자의 개인 정보와 데이터를 보호하고 외부 공격으로부터 사용자를 보호하는 데 도움이 된다. 다양한 서버 위치 서프샤크 VPN은 전 세계 곳곳에 여러 서버가 위치하고 있어, 사용자가 지역 제한된 콘텐츠에 액세스할 수 있다. 해외에서도 로컬 콘텐츠에 손쉽게 접근할 수 있음은 물론이다. 속도와 대역폭 서프샤크 VPN은 빠른 속도와 무제한 대역폭을 제공하여 사용자가 원활한 인터넷 경험을 누릴 수 있도록 지원한다. 온라인 게임, 스트리밍, 다운로드 등 대역폭이 필요한 활동에 이상적이다. 다양한 플랫폼 지원 서프샤크 VPN은 다양한 플랫폼 및 디바이스에서 사용할 수 있다. 윈도우, 맥OS, iOS, 안드로이드 등 다양한 운영체제 및 디바이스에서 호환되어 사용자가 어디서나 안전한 인터넷을 즐길 수 있다. 디바이스 무제한 연결 서프샤크 VPN은 무제한 연결을 제공하여 사용자가 필요할 때 언제든지 디바이스의 갯수에 상관없이 VPN을 사용할 수 있다.