나는 회귀 범주의 분류에 실제로 속하지 않는 tensorflow에서 신경망을 만들려고합니다. 아마도 보강 학습에 더 가깝습니다.특정 사용자 정의 비용 함수가있는 Tensorflow NN
필자는 ReLU 숨겨진 레이어가 3 개인 softmax 출력 레이어로 끝나는 네트워크를 만들었습니다. 각 표본의 표적 벡터는 특정 선택을하기위한 보상 (페널티는 음수, 중립은 0 일 수 있음) (3이 있음)입니다. 아이디어는 모든 샘플에 대해 누적 된 보상을 최대화하는 것입니다.
목표 Y = [d, e, f]로 모델 출력 M = [a, b, c]에 매핑되는 하나의 샘플 입력이 주어지면; 특정 샘플에 대한 손실은 M * Y '이거나 간단히 -tf.matmul (model, Y, transpose_b = True)입니다. 그러나 벡터 대신 행렬을 사용하는 일괄 처리 작업을 수행 할 때 TensorFlow의 최적화 프로그램에서 사용할 수있는 비용 함수로 이것을 표현하는 방법을 잃어 버렸습니다. 위의 예제 코드를 사용하면 의미없는 batchsize^2 크기의 행렬을 얻을 수 있습니다.
어떻게하면됩니까?