텐서플로2 딥러닝 - 노드

텐서플로2 딥러닝 - 노드

https://www.youtube.com/watch?v=VWFPlPYxzNg&list;=PLVNY1HnUlO2702hhjCldVCwKiudLHhPG0&index;=1 불러오는 중입니다...

이 유투브를 따라가 보는 느낌으로 공부해 보려고 한다.

자료구조 시간에 한학기 정도 배운 파이썬이라 모르는 부분이 너무 많다.

처음 import 선언 부분도 그렇고, 문법 같은 경우에도 상당히 난해하다.

어떤 식으로 진행이 되는 지 이해하는 정도로만 공부해 보려고 한다.

노드

input x가 들어왔을 때, 가중치 w와 곱해주고 Bias B를 더해준 다음에 activation의 output을 만든다.

여기서 activation은 Sigmoid로 사용했다. ( Sigmoid 함수는 0과 1이 나온다. )

변수 파라미터 값인 w와 B는 풀어서 이해해 보자면, 노드가 들어온 인풋에 대하여 어떻게 생각하는지를 나타낸다.

class One_Feature_Node:

def __init__(self):

self.w = tf.Variable([[0.1]])

self.b = tf.Variable([[0.5]])

% w와 b는 변수 파라미터 값으로, 실행되면서 조금씩 변하게 되어 있다. 바뀌니까 Variable 변수로 선언을 했다.

def __call__(self, x):

return self.get_output(x)

def get_output(self,x):

out = tf.matmul(x,self.w) % w를 곱해주고

print("matmul result: ", out.numpy())

out = tf.add(out, self.b) % b를 더해주고

print("adding bias result: ", out.numpy())

out = tf.math.sigmoid(out) % sigmoid 처리를 해서 0과 1 사이의 값으로 나타낸다.

print("sigmoid result:", out.numpy())

return out

x = tf.constant([[1.0]])

one_feature_node = One_Feature_Node()

one_feature_node(x)

matmul result: [[0.1]] % input으로 들어온 1 값에 w 가중치 0.1이 곱해져서 나오고

adding bias result: [[0.6]] % 0.1에 b 0.5가 더해져서 나온다.

sigmoid result: [[0.6456563]] % 이를 0과 1로 표현하면 이런 값이 나오게된다.

이런 노드들은 and나 or 연산으로 사용할 때 유용하다.

input 부터 output까지 나아가는 과정을 forward propagation 이라고 하며, 학습 중 w와 b를 업데이트 하는 과정을 back propagation이라고 한다.

from http://kingjae.tistory.com/65 by ccl(A) rewrite - 2021-07-26 20:00:19