[비전공자를 위한 딥러닝] 인공신경망의 종류, 무엇이 있을까?

오영주 / 2021-03-22 01:47:14

인공지능의 종류에는 그 성능에 따라, 약한 인공지능, 강한 인공지능 그리고 초인공지능이 존재한다.

약한 인공지능은 특정한 목적에 최적화된 인공지능이다. 알파고가 오목 외에는 기능할 수 없는 것처럼 기능이 아주 협소한 인공지능을 의미한다.

강한 인공지능은 사람처럼 생각하는 인공지능이다. 기계가 계산과 추론을 통해 사람만이 할 수 있는 사고를 할 수 있어야한다.

초인공지능이란 사람을 능가한 인공지능이다. 사람보다 월등한 지능과 능력을 가진 인공지능이다. 평소 많은 사람이 ‘인공지능이 너무 발전해서 사람을 정복하려고 들면 어쩌지?’라는 생각을 할 때, 언급되는 인공지능이다.

현재, 우리는 약한 인공지능 사회에 살고 있으며, 아직까지 특정 분야에 한정적이지만 계속해서 발전을 거듭하고 있다. 약한 인공지능이 특정한 목적에 최적화되는 데는 딥러닝을 할 때에 구축하는 인공신경망의 종류가 결정을 한다.

인공신경망의 종류에는 어떤 것이 있을까? 어떤 기능을 수행할 때 어떤 인공신경망이 활용되는 걸까? 딥러닝 모델을 구축할 때 자주 사용되는 대표적인 인공신경망 2가지를 소개하고 어떻게 기능하는지 쉽게 풀어보았다.

1. CNN(Convolutional Neural Network)
CNN은 이미지 또는 영상을 인식하고 분류하는 모델을 구축할 때 사용된다. CNN는 두가지 단계를 거쳐 이미지를 처리하는데, 입력 이미지의 특징을 추출하는 과정과 특징 및 이미지를 분류하는 과정이다.

이미지의 특징을 추출하는 과정은 이미지의 픽셀 값들을 행렬로 변환한 데이터에 필터를 씌우면서 이미지 분류에 도움이 될 만한 특징들을 추출한다는 의미이다.

[httpsredcom.tistory.com1]

이미지는 자세히 들여다보면 수많은 픽셀들로 이루어져 있다. 이미지의 픽셀들을 실수화해서 다음과 같이 하나의 행렬로 변환한 다음, 필터라는 행렬을 곱해서 해당 이미지의 외곽선 등과 같은 특징들을 하나씩 추출한다. 이것을 콘볼루션(convolution) 과정이라고 한다.

[한성대학교]

추출한 특징은 풀링(pooling)이라는 과정을 거쳐 콘볼루션이 이루어지는 동안 발생한 불필요한 요소를 제거하고 다듬어서 보다 정교한 데이터를 모델에게 제공한다.

모델은 위의 콘볼루션과 풀링 과정을 반복하여 이미지의 자세한 특징들을 모아 최종적으로 어떤 어미지인지 판단한다.

[한성대학교]

CNN은 이미지 분류, 얼굴 인식, 손모양 인식 그리고 텍스트 인식 등에서 사용되고 있다.

2. RNN(Recurrent Neural Network)
RNN은 반복적이고 순차적인 데이터를 활용할 때 자주 등장하는 신경망이다. RNN이 기존의 신경망들과 다른 점은 기억을 갖고 있다는 것이다. RNN은 구글 번역기, 파파고, 자연어처리(NLP) 등에서 자주 등장한다.

[출처: GitHub]

RNN 신경망에 3번의 입력이 들어오는 경우를 살펴보자. 입력1이 들어오면 기억1이 생성된다. 다음에 들어온 입력2는 기억1을 바탕으로 기억2를 만든다. 마찬가지로 입력3은 기억2를 바탕으로 기억3를 만들고 이를 출력하고 최종적으로 요약된 정보를 내보낸다. 기억의 개수와 입력의 개수는 사용자가 RNN신경망의 계층의 개수와 노드의 개수를 조절하는 것을 통해 결정할 수 있다.

[출처: GitHub]

RNN은 고정된 입력(이미지, 영상 데이터) 또는 고정되지 않은 시퀀스 입력(사용자가 작성한 문장을 입력)과 고정된 출력 또는 고정되지 않은 시퀀스 입력에 따라 그 용도가 다양하다.

고정된 입력에서 시퀀스 출력이 나오는 예는 한 장의 이미지 데이터가 입력으로 들어가 해당 이미지를 설명해주는 한 문장을 생성해주는 모델이다. 고정되지 않은 시퀀스 입력이 들어가 고정된 출력이 나오는 예시로는 한 문장이 입력으로 들어가 그에 어울리는 이미지 또는 동영상이 출력으로 나오는 것을 언급할 수 있다.

시퀀스 입력으로 들어가 시퀀스 출력으로 생성되는 모델은, RNN 모델의 대표격인 외국어 번역기이다. 일련의 문장이 입력으로 들어가면, 번역된 일련의 문장이 출력으로 나오는 형식이다.

CNN과 RNN외에도 LSTM, GAN 등 인공신경망의 종류는 정말 다양하다. 각자 기능에 맞게 주로 사용되는 용도가 정해져 있으며, 여러 종류의 인공신경망들을 같이 사용하면서 새로운 기능을 구현하기도 한다.

현재 딥러닝은 텐서플로(Tensorflow)와 케라스(Keras) 등과 같은 프레임워크를 이용해 개발하기 때문에 각 신경망의 구체적인 동작방법과 연산방법을 몰라도 누구나 쉽게 모델을 만들 수 있다. 하지만, 복잡해 보이고 꺼려지는 신경망의 동작방식들 역시 사실 흥미롭고 간단한 내용이다.

[ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]

오영주

IT/Tech, 금융, 산업, 정치, 생활문화, 부동산, 모빌리티

뉴스댓글 >

- 띄어 쓰기를 포함하여 250자 이내로 써주세요.
- 건전한 토론문화를 위해, 타인에게 불쾌감을 주는 욕설/비방/허위/명예훼손/도배 등의 댓글은 표시가 제한됩니다.

댓글 0