줘이리의 인생적기

[tensorflow 05] AND 연산 뉴런 본문

공부/tensorflow

[tensorflow 05] AND 연산 뉴런

줘이리 2021. 4. 7. 22:00
728x90

AND 연산하는 뉴런을 만들어보겠습니다.

 

AND 연산 진리표

 

정수 입력 AND 연산 진리표

진리표는 위와 같습니다.

 

입력 2개, 편향 1개인 뉴런 계산식

x, y 는 numpy로 구성해주고, 가중치와 편향은 난수 생성으로 구성하겠습니다.

import tensorflow as tf
import math
import numpy as np

def sigmoid(x):
    return 1 / (1 + math.exp(-x))

x = np.array([[1,1], [1,0], [0,1], [0,0]])
y = np.array([[1], [0], [0], [0]]) # 참 거짓 거짓 거짓
w = tf.random.normal([2], 0, 1)
b = tf.random.normal([1], 0, 1)

for i in range(2000):
    error_sum = 0

    for j in range(4):
        output = sigmoid(np.sum(x[j]*w)+ 1*b)
        error = y[j][0] - output

        w = w + x[j] * 0.1 * error

        b = b + 1 * 0.1 * error

        error_sum += error

    if i % 100 == 99:
        print(i, "error_sum = ", error_sum)

결과

error의 합이 점점 줄어드는 것을 확인할 수 있습니다.

'공부 > tensorflow' 카테고리의 다른 글

[tensorflow 07] XOR 연산 뉴런  (0) 2021.04.09
[tensorflow 06] OR 연산 뉴런  (0) 2021.04.08
[tensorflow 04] 뉴런02 - 뉴런 학습  (0) 2021.04.06
[tensorflow 03] 뉴런01 - 뉴런의 기본  (0) 2021.04.05
[tensorflow 02] 난수 생성  (0) 2021.04.02