본문 바로가기
Artificial Intelligence

[Deep Learning] 인공 신경망 동작 원리 쉽게 이해하기

by blackjack_96 2022. 5. 4.

오늘은 인공지능의 동작 원리에 대해서 간략하게 설명하고자 합니다.

 

먼저 다음 사진을 같이 보도록 하겠습니다.

제가 손으로 4,1,0이라는 글씨를 써서 스캔을 뜬 사진입니다.

왼쪽에서부터 숫자가 4,1,0이라고 써져 있습니다.

여러분도 알다시피, 우리 인간은 위 이미지를 보자마자 바로 숫자 4,1,0이라는 사실을 알아챌 수가 있습니다.

 

 

하지만 인간이 아닌 프로그램은 저것을 숫자로 인식할 수가 있을까요??

예를 들어, 다음과 같은 인공지능 프로그램이 있다고 해 봅시다.

 

 

"우리가 손으로 글씨를 쓴 것을 스캔하여 문자열 텍스트로 변경해주는 기능을 제공하는 프로그램"

위 프로그램은 저 숫자가 4,1,0이라는 사실을 알고

텍스트 문자열 "410"으로 변환해 줄 것입니다.

즉, 이러한 프로그램들은 저 이미지만 보고도 어떠한 숫자인지를 알아낼 수가 있다는 것입니다.

 

 

이게 어떻게 가능할까요?

프로그램에 눈이 달려있는 것도 아니고, 어떻게 저 것을 숫자로 mapping시킬 수가 있는 것이죠??

그것은 "학습"이라는 것을 통하여 가능합니다.

 

 

인공신경망 동작 원리

그렇다면, 위 인공지능 프로그램의 내부를 한번 들여다 보도록 합시다.

아까 말씀 드렸다시피, 프로그램 자체에는

"저 그림은 숫자 4,1,0이다"라는 사실을 알아차릴 수 있는 능력이 전혀 없습니다.

저 숫자가 4,1,0이라는 사실을 알 수 있기 위해서는

학습이라는 과정이 필요하다고 하였죠.

 

 

실제 사람처럼 다음과 같이 신경세포층이 구성되어 있다고 해 봅시다.

 

그리고 1이라는 이미지를 입력시켰을 때

기계는 "이 이미지는 3이다"라는 판단을 했다고 할 때, 그림으로 그리면 이렇습니다.

 

1이라고 쓰여진 이미지 정보가 프로그램으로 입력되고

이 입력된 이미지 정보는 신경망의 높은 층으로 점진적으로 전달되며,

"판단"이라는 최종 정보가 출력되기에 이릅니다.

 

 

그리고 층과 층 사이에 신호가 전달될 때

입력된 Data는

Weight(가중치)와 Bias(편향)이라는 매개변수(Parameter)것에 의해 처리되어

다음 신경망 층으로 전달이 되는 것이죠.

 

 

프로그램이 내린 결론을 봅시다.

잘못된 판단을 내렸네요.

실제 이미지는 1인데, 이것을 3이라고 판단하였습니다.

 

 

그러면 신경망과 신경망 사이의 Weight와 Bias를 조금 수정합니다.

 

그러면 다시

1이라는 이미지를 프로그램에게 입력시켜서 읽어내도록 명령을 내려보도록 해 봅시다.

 

이번에도 잘못된 판단을 내렸습니다.

1이라는 이미지를 주었더니

"이것이 5다"라는 판단을 내렸네요

 

 

그러면 또 다시 중간중간의 weight와 bias를 수정합니다.

그리고 다시 프로그램에게 판별해보도록 명령을 내립니다.

 

 

이번에는 맞는 판단을 내렸습니다.

 

 

핵심은 이것입니다.

어떤 정보를 주었을 때 그 이미지에 대한 잘못된 판단을 하게 된다면

신경망 사이의 Weight와 Bias를 조금조금씩 수정하도록 합니다.

그렇게 하여

이미지를 입력했을 때, 그 이미지를 정확히 판별해내는 Weight와 Bias값을 가지도록 하는 것이죠.

이것이 바로 학습 과정입니다.

 

 

인공지능은 이렇게

인공 신경망으로 구성되어 있으며

Weight와 Bias값을 수정하는 과정을 통하여 학습이라는 것을 하게 됩니다.

 

 

감사합니다.