대학 프로젝트의 경우 위치와 속도가 지정된 공을 칠 수 있도록 시뮬레이트 된 로봇을 훈련하고 싶습니다. 시도해 볼 첫 번째 일은 정책 그라디언트입니다. 파라 메트릭 궤도 생성기가 있습니다. 모든 트레이닝 포지션에서 필자는 네트워크를 통해 포지션을 피드하고 시뮬레이터에 궤적을 보내 보상을받습니다. 나는 이것을 손실로 사용하고, 그라디언트를 샘플링하고, 다시 피드하고, 내 네트워크의 가중치를 업데이트하여 다음에 더 좋게 사용할 수 있습니다.Keras/TensorFlow의 상징적 손실이 없음
그러므로 목표는 위치에서 궤적 가중치로의 매핑을 배우는 것입니다. Theano와 Tensorflow (또는 Keras)와 같은 올스타 계산 그래프 라이브러리를 사용할 때 실제로 그 시스템을 모델링하는 방법을 모르는 문제가 있습니다. 먼저 완전히 표준으로 연결된 레이어를 갖고 싶습니다. 그런 다음 출력은 내 궤도 가중치입니다. 그러나 어떻게 실제로 손실을 계산하여 백 드롭을 사용할 수 있습니까?
커스텀 손실 함수에서 나는 실제 레이블을 지정하지 않고 시뮬레이터를 실행하고 손실을 반환합니다. 그러나 내가 읽은 것에서는 상징적 인 Theano/Tensorflow 함수를 반환해야합니다. 내 손실은 매우 복잡하므로 시뮬레이터에서 네트워크로 옮기고 싶지 않습니다. 어떻게 구현할 수 있습니까? 그런 다음 그 그라디언트를 얻기 위해 표본 추출이 필요할 수 있으므로 그 손실을 구별하는 것이 문제입니다.
TensorFlow에서 모든 텐서를 공급할 수 있습니다. 즉, 더미 손실이있는 네트워크를 만든 다음 'feed_dict'를 사용하여 더미 손실을 외부에서 계산 된 손실/방향으로 바꿀 수 있습니다 –