본문 바로가기
컴퓨터&프로그래밍&머신러닝

[딥러닝] 퍼셉트론 - 논리게이트 #1

by 토들백만장자 2020. 10. 26.

우리나라에 알파고(AlphaGo) 사태가 일어난 이래 4년정도의 시간이 지난 지금,

머신러닝, 딥러닝이란 것에 대해 조금이라도 관심있는 사람들이라면 다 알고 있을법한 내용을 다루려고 한다.

 

블로그 필자는 현재 AI 스타트업에서 머신러닝 연구직을 맡고 있으며,  알파고 사건부터 

조금씩 조금씩 미약하게나마 배워온 머신러닝 관련 지식들을 체계화 시켜 정리하고자 하는 생각에 글을 작성하게 됨을 알리는 바이다.

 

혹시나 이 블로그를 보고 도움이 되거나, 잘못된 내용이 있거나, 혹은 개선될 점이 있다면 자유롭게 글을 남겨주면 

필자에게 매우 큰 도움이 될 것 같다.

 

잡다한 이야기는 이쯤에서 정리하고 글의 제목에 대한 이야기로 넘어가보자.

 


 

딥러닝은 컴퓨터의 신호정보 체계를 동물의 신경세포(계)처럼 모사함으로써 발달된 머신러닝의 분야이다.

 

이미지 출처: https://bioinformaticsandme.tistory.com/233

 

뉴런(Neuron)이라 불리는 신경세포는 전기적 신호를 입력받고 세포의 몸체 내에서 신호를 가공한 뒤,

다음 신경세포로 가공된 신호를 전달해주는 역할을 한다. 

 

딥러닝에서의 퍼셉트론(Perceptron)은 신호를 입력받고 가공하고 전달하는 과정을 일컫는 알고리즘이다.

 

신호 > 가공 > 전달

 

여기까지는 누구나 듣고도 말할 수 있는 간단한 개념이다. 하지만 구체적으로 알고 구현하는 것은

조금 더 살펴봐야 할 부분이다. 필자와 같이 차근차근 따라가 보자.

 

퍼셉트론을 이해하는 가장 쉬운 예시로 논리게이트가 있다. 

 

신호1: '1+1은 2이다' (참 신호)

 

신호2: '-1은 0보다 크다' (거짓 신호)

 

위 두가지 신호를 받았을 때 어떤 결과를 내뱉는지 가공하는 방식이 논리게이트이다.

전기적 신호는 간단하게 보면 참(On) 혹은 거짓(Off)으로 분류되어 이를 적절히 가공하는 방식은 몇가지로 요약된다.

 

대표적인 두 입력신호 조합 방식

 

   - 두 신호 모두 참일때만 출력 (AND, 논리 곱)

   - 하나라도 참일때 출력 (OR, 논리 합)

   - 두 신호 모두 참일때만 출력 안함(NAND, 역 논리 곱)

   - 하나만 참일때만 출력(XOR, 배타 논리합)

 

 

전기신호에서는

 

참 = '신호가 흐른다', 숫자 1로 표현한다.

거짓 = '신호가 꺼졌다', 숫자 0으로 표현한다. 

 

 

그래서 논리게이트의 조합방식을 숫자로 표현하면 다음과 같다(X1: 1번 입력신호, X2: 2번 입력신호).

 

 

AND, 논리곱 게이트

X1 X2 결과
0 0 0
1 0 0
0 1 0
1 1 1

AND 게이트

 

 

 

OR, 논리합 게이트

X1 X2 결과
0 0 0
1 0 1
0 1 1
1 1 1

 

OR 게이트

 

 

NAND, 역 논리곱 게이트

X1 X2 결과
0 0 1
1 0 1
0 1 1
1 1 0

NAND 게이트

 

XOR, 배타 논리 합 게이트

X1 X2 결과
0 0 0
1 0 1
0 1 1
1 1 0

XOR 게이트

 

 

두가지 전기신호를 통한 4가지 조합방식 논리게이트를 살펴보았다.

 

다음 포스팅에서 논리게이트를 토대로 딥러닝의 이야기를 한층 더 깊이 이야기 해보겠다.

댓글