본문 바로가기
AI · 인공지능/알기쉬운 AI

[알기쉬운 AI - 18] 계층 신경망

by 두우우부 2020. 2. 5.
반응형

 

인간의 뇌는 뉴런(neuron)이라는 신경 세포의 네트워크 구조로 되어 있습니다. 뉴런에서 다른 뉴런에 신호를 전달하는 연결 부위를 시냅스라고 하고 뉴런은 시냅스에서 전기 및 화학 반응의 신호를 발신하여 정보를 교환합니다. 그리고 신경망은 이러한 인간의 뇌의 구조를 모방한 네트워크 구조로 되어 있으며, 이것이 현재의 인공 지능(예전에는 인공 두뇌라고 부르기도 했었지요...) 모델입니다(그림 1).

 

그림 1 : 뉴런과 신경망

 

신경망은 입력층으로 들어온 신호가 여러 노드(원형 부분 : 뉴런에 해당, 인공 뉴런이라고도 함)를 통해 전파되어 출력층에 전해지는 구조로 되어있습니다. 이것은 신경 세포의 신경을 통해 신호가 전달되는 원리와 비슷합니다. 입력층과 출력층 사이의 중간 계층이 은닉층이며, 이런 것들이 몇 층이든 겹쳐있는 것이 심층 학습입니다.

노드와 노드를 연결하는 선의 연결 부분이 시냅스에 해당합니다. 그림에서 선 두께는 같지만 실제로는 굵기가 다릅니다. 이 선의 두께(정보전달 용이성의 차이)를 가중치(weight)라고 합니다.

 


시그모이드(Sigmoid) 뉴런

가중치에 대해 그림 2의 예를 통해 좀 더 살펴보겠습니다. 당신의 동료가 '내일 소고기 먹으러 가자'고 합니다. 최근 지갑이 가벼운 당신의 판단에 영향을 미치는 요소는 다음의 3가지라고 합시다.

· 가격이 높지 않다 (w = 4.3)
· 고깃집이 멀지 않다 (w = 1.3)
· 그녀가 온다 (w = 7.14)

이때, 각 요소의 중요성(가중치)은 균등하지 않습니다. 당신에게는 그녀가 오는 것이 가장 중요하고, 다음이 가격, 그리고 위치 순으로 우선순위가 있습니다. 인공 뉴런은 임계 값(바이어스)이 있어서, 이 임곗값을 초과하면 신호가 전해져 발화(스파이크)합니다. 그림과 같이 역치가 6.2라고 하면 '그녀가 온다면 비싸도 멀어도 참석'이라는 것입니다.

오랜만에 혀에다 비싼 기름칠 좀 해줘도 좋겠다는 생각이 들어 임곗값을 5로 낮춘다면 어떨까요? 이 경우는 '가격 요소 + 거리 요소'의 값이 5.6으로 이미 임곗값을 초과하므로 '그녀가 오지 않아도' 참석할 가능성이 커집니다. '각 요소의 가중치 VS. 바이어스'가 아니고, '각 요소의 가중치의 합 VS. 바이어스'라는 점에 주의하십시오.

이 예에서는 3개의 입력과 1개의 출력입니다만, 실제로는 '맛있다, 음주 여부, 거절하면 어색' 등 입력 요인에는 여러 가지가 있을 수 있으며, 사람은 그것들을 종합하여 판단하고 있는 것입니다. 또한, 출력도 '참가', '거절' 외에 '대답 보류' 등 여러 선택이 있을 수 있습니다.

 

이러한 가중치와 임곗값(바이어스)에 의해 신호가 전해지는 모델을 '퍼셉트론'이라고 하며, 최근에는 '시그모이드(sigmoid) 뉴런'이라고도 합니다.

 

그림 2 : 시그모이드 뉴런 모델

 

퍼셉트론과 시그모이드 뉴런
퍼셉트론도 시그모이드 뉴런도 인공 뉴런입니다. 뭐가 다른지 간단히 설명해 보면, 퍼셉트론은 1957년에 고안된 역사 깊은 이론으로, 위에서 설명했듯이 인간의 뇌를 모델링 한 것입니다. 이를 바탕으로 1985년에 퍼셉트론을 사용한 2층 모델(볼츠만 머신)이 고안되었습니다만, 그때의 퍼셉트론은 입출력이 1 또는 0의 두 값뿐이었습니다.

그리고 층이 늘어난 것이 다층 퍼셉트론으로 입출력이 1 또는 0이 아닌 실수가 된 것이 시그모이드 뉴런입니다. 또한 이후에 설명하겠지만 레이어가 여러 층으로 깊어진 것이 딥러닝입니다.

 

제한된 볼츠만 머신(RBM)
제한된 볼츠만 머신(Restricted Boltzmann machine)이라는 말도 알아둡시다. 그림 1과 같은 노드와 연결선 (Connection)을 사용한 모델에서 입력층(bisible layer)과 은닉층(hidden layer)의 2개 층만 있는 것이 볼츠만 머신입니다. 딥 러닝에서 중간층의 것을 은닉층이라고 부르는 것은 이 볼츠만 머신으로부터 시작된 것입니다.

그리고 동일 계층 내에서 정보를 전달하지 않는다는 조건이 '제한된'의 뜻입니다. 제한을 붙이는 이유는 만약 제한을 두지 않으면 다소 까다롭기 때문입니다. 다층화하여 동일층은 정보를 전달하지 않는 모델을 통해서 행렬 연산이 쉬워지고 있는 것입니다.


그런데, 현실 사회를 다시 봅시다. 일상생활에서는 그림 2와 같이 입력과 출력으로 구성된 간단한 모델은 많지 않습니다. 정말 그녀가 올지는 잘 모르겠고 어떻게 대답해야 할지 망설일 것입니다. 이에 대응하기 위해 레이어를 하나 늘려 3층으로 하여 봅시다. 이 경우, 그녀도 올 것이라는(아마도) 판단 요소를 세 가지 추가합니다(그림 3).

그림 3 : 3계층 신경망

 

· 그녀도 초대받았다
· 그녀는 소고기를 좋아한다
· 그녀의 집에서 가깝다

임곗값을 5로 하면 3개의 요소의 합계가 거의 한계의 5를 초과하기 때문에 아마도 그녀가 올 것이라고 종합 판단하여 '참석'이라고 대답할 것입니다. 지금까지 다층 퍼셉트론이라고 했는데 더 복잡한 사고 회로에 대응하려면 더 층을 늘려야 합니다.

예를 들어, 정신 팔다가 '그녀도 초대받았다'라는 요소를 들을 수 없었던 경우, 이제 1개 층을 더해 다음과 같은 요인에 의해 '그녀도 초대받았다'라는 가능성을 판단하는 것입니다.

· 직장동료 슬기는 그녀와 절친이다
· 슬기는 오는 것 같다
· 2개월 전 노래방에서도 슬기는 그녀를 불러냈었다

자, 여기까지 구조를 이해하면 기계 학습과 심층 학습의 차이점이 눈에 들어옵니다. '딥 러닝은 모든 기계 학습 중간에 은닉층(Hidden Layers)을 다층화하여 깊어지는 것"이라는 것입니다.

또한, 실제 뉴런은 깨끗이 계층으로 나뉘어있는 것은 아니지만, 신경망은 이러한 층을 분리하여 행렬 연산 처리하는 경향이 있습니다.

 


오차 역 전파(Back propagation)

그렇다면, 딥러닝은 왜 머리가 좋아지는가?
이 간단한 질문에 대한 답변이 오차 역 전파입니다. 네, 왠지 어려울 것 같은 말이지만 이것은 한마디로 '책임 소재를 분명히 하고, 신뢰를 낮추는' 것입니다. 여기서 말하는 책임이 '오차'이고 신뢰가 '가중치'입니다.

그림 4를 사용하여 설명합시다. '회식에 참여'했는데 실망(기대와 차이가 큼)했다고 칩시다. 그 원인이 생각보다 가격이 높아서였으면, '가격이 높지 않다' 요소의 가중치(신뢰성)를 줄입니다.

한편, '그녀가 오지 않았다'라는 엄청나게 슬픈 현실이 기다리고 있었다면 '그녀가 온다'의 오차 원인을 격렬하게 추구합니다. 무려 사실은 주선자가 그녀를 초대하지 않은 것입니다. 설마 그건 아니겠지…. 라고 이성을 유지하며, '그녀도 초대받았다'의 오류(착각) 원인을 찾습니다. 놀랍게도 사실은 슬기도 오지 않았습니다. 뭐야, '슬기는 오는 것 같다'가 처음부터 틀린 게 아닌가...

 

그림 4 : 오차 역 전파


이렇게 5번에 의한 원인 분석(오차 전파)을 통해 각층에서의 범인(원인)을 알고 그 범인에 대한 신뢰도(가중치)를 조금씩 낮추는 것입니다. 그리고 다음부터는 '슬기는 오는 것 같다', '그녀도 초대받았다', '그녀가 온다'는 요소의 신뢰도를 낮추는 것이 학습에 의해 머리가 좋아지는 방법입니다.

입력층에서 출력층을 향한 정보의 흐름이 순방향(순전파)인데 반해, 위처럼 오차를 출력층부터 거슬러 올라가기 때문에 이를 오차 역 전파라고 하는 것입니다.

품질 불량이 발견되었을 때 원인을 역으로 분석하여 문제점을 개선하고 오류가 발생하기 어려운 상황이 되어가는 것과 구조가 비슷하네요. 같은 원리로, 오차 역 전파를 반복함으로써 신경망은 똑똑해져 가는 것입니다.

신경망은 계층 구조
그림 1과 같이 옆에서 보면 알아보기 어렵지만 그림을 90도 각도 아래에서 위로 바라보면 신경망이 계층 구조임을 잘 알 수 있습니다. 어떻게 보면 또, 회사 조직이 떠오릅니다. 회사에서 문제가 발생했을 때 사장의 지시로 상무가 원인을 찾고 상무에서 부장, 부장에서 차장으로 이어지고, 문제의 원인이 된 사람은 신뢰를 잃어버리는 것입니다.

 

기계 학습 알고리즘과 딥러닝의 차이

이것으로 기계 학습과 딥러닝(심층 학습)의 차이는 두 가지라고 알았습니다.
정의 1 : 딥 러닝은 기계 학습의 일부이다.
정의 2 : 딥 러닝은 모든 기계 학습에서 은닉층(Hidden Layers)이 깊어지고 다층화된 것.

사실 가장 중요한 게 남아있는데, 다음의 정의가 있습니다.
정의 3 : 기계 학습은 규칙 기반의 계산이고 딥러닝은 블랙박스이다.

이를 설명하기 위해  이번에는 관점을 바꾸어 학습 방법의 차이에 주목해 보십시오. 기계 학습은 학습 알고리즘이 수식으로 표현되며 어떤 논리로 그 결과가 도출되었는지 명확합니다. 한편, 딥러닝은 기본적으로 AI가 어떻게 그 결론을 끌어냈는지 블랙박스입니다(그림 5).

그림 5 : 딥러닝은 납득하기 어렵다


기존 기계 학습 기반(규칙 기반 알고리즘)에서 이뤄지던 결함 감지 및 분류, 회귀 처리 등의 대부분이 딥러닝 기반으로 대체되고 있습니다. 아직 기계 학습 기반이 더 좋은 처리들도 많아, 전부 딥러닝으로 대체된 것은 아니지만, 여러 가지 처리가 딥러닝 기반으로 변해갈 것입니다.

반응형