tensorflow 를 사용 하여 역방향 전파 구 도 를 실현 하 다.

코드 보 세 요~

X=tf.constant([-1,-2],dtype=tf.float32)
w=tf.Variable([2.,3.])
truth=[3.,3.]
Y=w*X
# cost=tf.reduce_sum(tf.reduce_sum(Y*truth)/(tf.sqrt(tf.reduce_sum(tf.square(Y)))*tf.sqrt(tf.reduce_sum(tf.square(truth)))))
cost=Y[1]*Y
optimizer = tf.train.GradientDescentOptimizer(1).minimize(cost)
with tf.Session() as sess:
    sess.run(tf.global_variables_initializer())
    print(sess.run(Y))
    print(sess.run(w))
    print(sess.run(cost))
 
    print(sess.run(Y))
    sess.run(optimizer)
 
    print(sess.run(w))
결 과 는 다음 과 같다.

W 는[2,3]에서[-4,-25]로 바 뀌 었 다.
프로 세 스:
f=y0*y=w0*x0*w*x=[w1*x1*w0*x0,w1*x1*w1*x1,]
f.w0 에 대한 가이드,w1*x0*x1+0=6 을 얻 었 기 때문에 새로운 w0=w0-6=-4
f 대 w1 구도,w0*x0*x1+2*w1*x1*x1=28,그래서 새로운 w1=w1-28=-25
[TensorFlow 편]-역방향 전파
앞에서 말 하 다
역방향 자동 구 도 는 TensorFlow 가 실현 하 는 방안 입 니 다.먼저 그림 의 전방 향 단 계 를 실행 하고 입력 에서 출력 까지 노드 를 계산 합 니 다.
값,그 다음 에 역방향 단계 로 출력 에서 입력 까지 모든 편향 을 계산 합 니 다.
구체 적
1.예 를 들 면

그림 은 두 번 째 단계 로 첫 번 째 단계 에서 x=3 과 y=4 부터 모든 노드 값 을 계산한다.
f ( x / y )=x 2 * y + y + 2
구 해 의 생각 은 점차적으로 그림 에서 아래로 f(x,y)의 편 도 를 계산 하고 모든 연속 적 인 노드 를 사용 하여 우리 가 변수 절 에 도착 할 때 까지 하 는 것 이다.
점,체인 가이드 법칙 에 심각하게 의존 합 니 다!
2.구체 적 인 과정:
n7 은 출력 노드 이기 때문에 f=n7 이 므 로*120597°f/*120597°119899°7=1
우 리 는 계속 n5 노드 까지 내 려 가자.+n6,그래서 우 리 는 구 할 수 있 습 니 다.
지금 우 리 는 노드 n4 까지 계속 걸 어 갑 니 다.
그림 을 따라 아래로 내 려 가면 우 리 는 모든 노드 를 계산 할 수 있 습 니 다.
그러면 우 리 는 위 와 유사 한 방식 으로 계산 할 수 있다.
이상 은 개인 적 인 경험 이 므 로 여러분 에 게 참고 가 되 기 를 바 랍 니 다.여러분 들 도 저 희 를 많이 응원 해 주시 기 바 랍 니 다.

좋은 웹페이지 즐겨찾기