반응형

음식도 맛있고 양도 많은데 가격까지 저렴하다면 우리는 가성비가 좋다고 표현한다.

음식과 가격 둘 다 만족해야 가성비라는 표현을 쓴다.

이 중 하나라도 맘에 안들면 가성비가 좋다고 하지 않는다.

논리 회로 중 하나인 AND 게이트가 바로 이 역할을 한다.

AND 게이트는 딥러닝 퍼셉트론에서 어떻게 활용하는지 알아보자.

AND 게이트와 퍼셉트론

AND 게이트는 무엇인지 의미를 알아보자.

AND는 우리말로 "그리고", "~과/~와"로 해석된다.

가성비 이야기에서 둘 다 만족해야 한다고 했다.

AND가 이 역할을 한다.

가성비를 파이썬 프로그램으로 간단하게 구현해 보자.

1
2
3
4
5
6
7
8
food = "good"
price = "cheap" 
 
if (food=="good" and price=="cheap"):
        print ("effective")
else:
        print ("ineffective")
 
cs

food와 price 둘 다 만족해야 (true) effective가 출력된다.

파이썬 문법도 둘 다 만족하는 조건식에 "and"를 사용한다.

컴퓨터가 좋아하는 0과 1로 변경해서 다시 코드를 작성해 보자.

1
2
3
4
5
if (x==1 and y==1):
        print (1)
else:
        print (0)
 
cs

만약 x와 y가 1이면 출력값은 1이다.

둘 중 하나라도 1이 아니면 출력값은 0이 된다.

AND 게이트 진리표

AND 게이트 진리표를 표로 정리해 보자.

x1 x2 y
0 (false) 0  (false) 0  (false)
1 (true) 0  (false) 0  (false)
0  (false) 1  (true) 0  (false)
1  (true) 1  (true) 1  (true)

1:true, 0:false로 생각하면 된다.

x1과 x2 둘 다 1 (true)인 경우만 출력값 y가 1 (true)가 된다.

AND 게이트 논리 회로는 이렇게 구성되어 있다.

 

AND 게이트와 퍼셉트론의 활용

이제 퍼셉트론을 활용해서 계산을 해보자.

퍼셉트론에서 사용되는 가중치 w와 임계값 𝞱를 이용해서 AND 게이트를 계산한다.

퍼셉트론 계산식을 다시 보자.

퍼셉트론 포스팅에서 봤던 동작 원리 공식이다.

2024.11.19 - [인공지능(AI)/딥러닝(DeepLearning)] - [딥러닝]퍼셉트론(Perceptron)이란? 초보 인공지능(AI) 개발자를 위한 쉬운 설명, 퍼셉트론 뜻

 

[딥러닝]퍼셉트론(Perceptron)이란? 초보 인공지능(AI) 개발자를 위한 쉬운 설명, 퍼셉트론 뜻

인공지능(AI) 프로그래머가 되고 싶다.처음 보는 단어가 많다.하나씩 정리해 본다.인공지능(AI) 개발자의 필수 공부 딥러닝(DeepLearning) 그리고 퍼셉트론(Perceptron)인공지능(AI) 개발자가 되기 위해서

tiboy.tistory.com

위 식과 AND 게이트 진리표를 활용해서 출력값을 확인해 보자.

위 식을 보면 입력값 x에 가중치 w를 곱한 값들을 더해서 임계값( 𝞱 )보다 크면 1을 반환한다.

입력값 x는 AND 게이트의 진리표에 정의되어 있다.

가중치와 임계값을 정하자.

입력값 x는 x1, x2 두 개이므로 각 입력값에 대응할 가중치도 w1, w2 두 개로 정한다.

(w1, w2, 𝞱 ) 

w1 = 0.7, w2 = 0.3, 𝞱 = 0.9

(0.7, 0.3, 0.9)

임계값 (𝞱) 는 AND 게이트에 적합한 출력값을 만들기 위해서 가중치 중 최대값(w1=0.7)보다 크게 설정한다.

이제 AND 게이트 값을 활용해서 계산해보자.

(x1, x2) -> (0, 0)

0 * 0.7 + 0 * 0.3 = 0 <= 0.9 이므로 출력값 y = 0 이 된다.

(x1, x2) -> (1, 0)

1 * 0.7 + 0 * 0.3 = 0.7 <= 0.9 이므로 출력값 y = 0 이 된다.

(x1, x2) -> (0, 1)

0 * 0.7 + 1 * 0.3 = 0.3 <= 0.9 이므로 출력값 y = 0 이 된다.

(x1, x2) -> (1, 1)

1 * 0.7 + 1 * 0.3 = 1.0 > 0.9 이므로 출력값 y = 1 이 된다.

결과를 보면 (0.7, 0.3, 0.9)는 AND 게이트와 같은 출력값을 만드는 가중치와 임계값이 된다.

만약 다음과 같이 가중치와 임계값을 설정했다면 어떤 결과가 나올까?

(w1, w2,  𝞱 

w1 = 0.7, w2 = 0.3, 𝞱 = 0.5

(0.7, 0.3, 0.5)

(x1, x2) -> (0, 0)

0 * 0.7 + 0 * 0.3 = 0 <= 0.5 이므로 출력값 y = 0 이 된다.

(x1, x2) -> (1, 0)

1 * 0.7 + 0 * 0.3 = 0.7 > 0.5 이므로 출력값 y = 1 이 된다.

(x1, x2) -> (0, 1)

0 * 0.7 + 1 * 0.3 = 0.3 <= 0.5 이므로 출력값 y = 0 이 된다.

(x1, x2) -> (1, 1)

1 * 0.7 + 1 * 0.3 = 1.0 > 0.5 이므로 출력값 y = 1 이 된다.

두 번째  (x1, x2) -> (1, 0) 입력값에 대한 출력값이 0이 아닌 1이 나왔다.

AND 게이트의 출력값과 다른 결과가 나왔다.

AND 게이트가 성립하도록 임계값( 𝞱 )을 잘 설정하자.

AND 게이트와 퍼셉트론은 어떻게 활용하지?

식당을 방문한 고객들의 리뷰 정보를 활용해서 가성비 식당 판별을 해보자.

총점을 100점으로 정하고 맛과 가격의 비율을 정한다.

맛과 가격을 6:4 비율로 정하고 100점 기준 70점 이상이 나오면 가성비 식당으로 출력한다.

리뷰에서 맛과 가격 두 가지 입력값을 받는다.

맛있으면 "O" 아니면 "X", 적정가격 이하면  "O" 비싸면 "X"를 선택한다.

A는 맛은 O, 가격도 O를 선택했다.

B는 맛은 O, 가격은 X를 선택했다.

C는 맛은 X, 가격도 X를 선택했다.

이 입력값으로 사용자들의 가성비 평가를 해보자.

(0.6, 0.4, 0.7) 가중치 6:4 비율에 임계값이 100점 기준 70점이면 1 기준 0.7이다.

A : 1 * 0.6 + 1 * 0.4 = 1.0 > 0.7 결과는 1로 가성비 맛집으로 평가됨.

B : 1 * 0.6 + 0 * 0.4 = 0.6 <= 0.7 결과는 0으로 가성비 맛집 미달됨.

C : 0 * 0.6 + 0 * 0.4 = 0.0 <= 0.7 결과는 0으로 가성비 맛집 미달됨.

이렇게 입력값에 가중치(중요도)를 정하고 결과를 정하는 임계값을 기준점 정한 뒤 비교해서 출력값을 만든다.

이제 딥러닝에서 AND 게이트와 퍼셉트론을 활용하는 방법을 이해하게 되었다.

끝.

반응형