GradientTape를 다차원 텐서와 함께 사용할 수 있습니다.
2, 2))) ➊ with tf.GradientTape() as : = 2 * + 3 = .gradient( , ) ➋= tf.Variable(tf.zeros((
➊ 크기가 (2, 2)고 초깃값이 모두 0인 변수를 생성합니다.
➋ grad_of_y_wrt_x는 (x와 크기가 같은) (2, 2) 크기의 텐서로 x = [[0, 0], [0, 0]]일 때 y = 2 * x + 3의 곡률을 나타냅니다.
변수 리스트의 그레이디언트를 계산할 수도 있습니다.
2, 2))) = tf.Variable(tf.zeros((2,))) = tf.random.uniform((2, 2)) with tf.GradientTape() as : = tf.matmul( , ) + ➊ = .gradient( , [ , ]) ➋= tf.Variable(tf.random.uniform((
➊ matmul은 텐서플로의 점곱 함수입니다.
➋ grad_of_y_wrt_W_and_b는 2개의 텐서를 담은 리스트입니다. 각 텐서는 W, b와 크기가 같습니다.
다음 장에서 그레이디언트 테이프에 대해 자세히 알아보겠습니다.