본문 바로가기

변수2

텐서와 변수 - 3 Tensorflow의 변수와 텐서와의 결정적인 차이는 가변성(mutability)이다. 변수는 값을 업데이트할 수 있지만, 텐서는 값을 변경할 수 없으며 새로운 텐서를 생성할 수 있을 뿐이다. 가변성이 무엇을 말하는지 구체적으로 알아보자. 다음 코드를 보자. a0 = tf.constant(2) a1 = a0 print(a0) print(a1) 이렇게 하면 a0라는 이름은 2라는 텐서 객체가 저장된 메모리의 위치를 가리킨다. a1도 a0와 동일한 메모리의 위치를 가리킨다. Output: tf.Tensor(2, shape=(), dtype=int32) tf.Tensor(2, shape=(), dtype=int32) 그런데 a1에 덧셈 연산을 하면 a1은 연산 결과인 3을 저장한 다른 메모리 위치를 가리킨다... 2021. 2. 11.
텐서와 변수 - 1 신경망은 일종의 수학 함수다. 입력 데이터를 신경망에 주면 각 레이어를 거치면서 여러가지 연산을 거쳐서 출력 데이터가 산출된다. 신경망 모델에 입력과 출력이 있듯이 모델 내부의 각 레이어에도 입력과 출력이 있다. 각 레이어의 입력은 신경망의 가중치(weight) 또는 파라미터와 벡터/행렬 연산을 거쳐서 출력을 산출하게 된다. 신경망의 파라미터는 학습을 시작하면 최적화 알고리즘에 의해서 그 값이 변경되고 반복적으로 업데이트 된다. 이와 같은 반복적인 업데이트를 통해서 목적함수를 최적화하도록 신경망의 파라미터를 계산하는 것이 딥러닝의 핵심이다. 텐서(tensor)는 Tensorflow에서 사용하는 데이터 구조로서 다차원 배열(n-dimensional array)이다. Tensorflow 프로그램에서는 모든 .. 2021. 2. 9.