논리회로 작성? 논리회로 구현?(feat. 퍼셉트론)
논리회로 뜻 한줄 요약
논리회로란, 이진 값(0 또는 1)을 입력받아 특정 논리 연산을 수행한 후 결과 값을 출력하는 디지털 회로입니다.
이러한 논리회로의 종류로는 AND, OR, NOT, NAND, NOR, XOR 등이 있고, 퍼셉트론의 매개변수까지 고려해서 논리회로 문제를 한번 살펴보겠습니다.
퍼셉트론에 대해서는 퍼셉트론 뜻은? : 인공지능의 기초 에서 살펴보시기를 바랍니다. 대략 설명을 드리면, 입력 x1, x2에 가중치 w1, w2를 곱한 합이 정해진 값(θ) 보다 크면 출력 y를 1로, 작으면 0으로 결정하는 것이 퍼셉트론의 기본 원리입니다.
A-Dic
- 이진 값: 0과 1, 두 가지 숫자만을 사용하는 체계를 말합니다. 예를 들어 0101은 이진수인데 십진수로는 5입니다. (풀이: 0101 = 0*2^3 + 1*^2 + 0*2^1 + 1*^0 = 0 + 4 + 0 + 1 = 5)
- 논리연산: 0과 1로 이루어진 값들 사이의 연산을 말합니다. 예를 들어 AND 연산은 두 입력이 모두 1일 때만 1을 출력합니다.
- 디지털 회로: 0과 1의 이진 신호를 사용하여 논리 연산을 수행하는 전자 회로입니다. 예를 들어 컴퓨터나 스마트폰의 프로세서가 디지털 회로입니다.
A-Book
여기서 퍼셉트론의 매개변수 값을 정하는 것은 컴퓨터가 아니라 우리 인간입니다. 인간이 직접 진리표라는 ‘학습 데이터’를 보면서 매개변수의 값을 생각합니다. 기계학습 문제는 이 매개변수의 값을 정하는 작업을 자동으로 하도록 합니다. 학습이란 적절한 매개변수 값을 정하는 작업이며, 사람은 퍼셉트론의 구조(모델)을 고민하고 컴퓨터에 학습할 데이터를 주는 일을 합니다.
밑바닥부터 시작하는 딥러닝 p.50
자연계를 둘러보자. 소리, 크기, 밝기, 길이, 온도, 시간 등 모든 것이 연속적으로 변화하는 아날로그양이다. 이 아날로그양을 컴퓨터로 계산하고 처리하려고 모든 데이터를 0, 1로 수치화해서 표현한 것을 디지털이라고 한다. ..중략.. 정보사회가 발전하면서 전자 기기가 디지털로 바뀌었다. 컴퓨터는 0 또는 1이라는 디지털 신호로 계산해서 처리하는 일을 잘하지만, 아날로그 형태의 정보(데이터) 처리에는 적합하지 않기 때문이다. 0이나 1이라는 불연속한 신호는 2진수라는 매우 편리한 방식으로 아날로그 데이터를 변환할 수 있다.
반도체 구조 원리 교과서 p.106-107
디지털 데이터를 하드웨어로 처리하기 위해서는 디지털 회로가 필요하다. 입력 데이터와 출력 데이터 모두를 Low 상태와 High 상태만으로 이루어지는 디지털 정보를 처리하는 회로를 의미한다. 디지털 회로의 출발은 트랜지스터의 동작에서 시작되었다. 전압 동작범위를 바구어주면 스위칭 회로로 동작됨이 발견되어 입력신호에 따라 출력신호가 ‘스위칭 ON’ 혹은 ‘스위칭 OFF’ 상태만을 가지게 된다. 스위칭 회로는 ‘참’과 ‘거짓’ 등의 2가지 정보만을 다루기 때문에 논리회로라고 부르며, 논리회로의 기본 소자에는 OR, AND, NOT 게이트 등이 기본을 이루고 있다.
디지털 논리회로 이해 p.23-24
논리 게이트 종류 – 논리회로 작성
AND 게이트
- 두 입력이 모두 1일 때만 출력이 1인 논리 게이트
- 매개변수 예시: (w1, w2, θ) = (1, 1, 1.5)
# 계산 예시
input x1, x2가 각각 0, 1일 때, 0*1 + 1*1 = 1 < 1.5 --> 0
input x1, x2가 각각 1, 1일 때, 10*1 + 1*1 = 2 > 1.5 --> 1
NAND 게이트
- AND 게이트의 반대로, 두 입력 중 하나라도 0이면 출력이 1인 게이트
- 매개변수 예시: (w1, w2, θ) = (-2, -2, -3), 매개변수 값이 AND 요소와 달리 전부 마이너스 값임
OR 게이트
- 두 입력 중 하나라도 1이면 출력이 1인 게이트
- 매개변수 예시: (w1, w2, θ) = (1, 2, 0.5)
XOR 게이트
- 두 입력의 값이 서로 다를 때만 출력이 1인 게이트
- 이 게이트는 단층 퍼셉트론으로 구현이 불가함
논리 게이트 진리표
x1 | x2 | AND | OR | NOT | NAND | NOR | XOR |
---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 | 1 | 0 | 1 |
1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
- AND 게이트: x1과 x2가 모두 1일 때만 출력이 1이 됩니다.
- OR 게이트: x1과 x2 중 하나라도 1이면 출력이 1이 됩니다.
- NOT 게이트: x1이 0이면 출력이 1이 되고, x1이 1이면 출력이 0이 됩니다.
- NAND 게이트: AND 게이트의 반대 동작을 합니다. x1과 x2가 모두 1일 때만 출력이 0이 됩니다.
- NOR 게이트: OR 게이트의 반대 동작을 합니다. x1과 x2가 모두 0일 때만 출력이 1이 됩니다.
- XOR 게이트: x1과 x2가 서로 다를 때만 출력이 1이 됩니다.
정리하기
퍼셉트론 모델을 활용하면 적절한 가중치(w)와 임계값(θ)을 설정하여 AND, NAND, OR 등 간단한 논리 게이트를 손쉽게 구현할 수 있습니다. 이를 기반으로 하여 복잡한 논리회로도 설계할 수 있습니다.
이번 포스트에서도 에이딕(A-Dic)과 함께 공부하시느라 수고 많으셨습니다.
이상, Life2.0: AI Library에 A-Dic 이었습니다.
감사합니다.
‘secondlife.lol’의 모든 콘텐츠는 저작권법의 보호를 받습니다. 무단 전재와 복사, 배포 등을 금합니다.