순차 데이터를 입력으로 사용하는 새로운 Pytorch 모델을 작업 중이며 단일 값만 출력해야합니다. 그런 다음 이진 교차 엔트로피 함수를 사용하여 1 또는 0의 확률로 평가합니다.
좀 더 구체적으로 말하자면, 내 시퀀스가 1000 개의 시간 단계이고 2 차원 사인파와 같이 2 차원으로 만 구성되어 있으므로 데이터 모양은 1000 x 2가됩니다.
온라인에 많은 콘텐츠가있는 RNN을 사용하기 전에 이와 같은 작업을 수행했습니다. RNN의 반복적 인 구조로 인해이를 수행하기 위해 시퀀스를 처리 한 후 RNN의 최종 출력 만 살펴 봅니다. 이런 식으로 최종 단계 출력은 2 차원이되고 선형 레이어를 적용하여 2-> 1 차원을 변환 할 수 있습니다.
내 문제:
지금 시도하고있는 것은 순환 네트워크를 사용하는 것이 아니라주의를 기울이는 인코더 (변압기)를 사용하는 것입니다. 따라서 인코더의 출력은 여전히 1000 스텝이고 내 임베디드 차원이 무엇이든 8과 같이 말합니다. 순차 인코더의 출력은 1000 x 8입니다. 그래서 제 문제는이 출력을 단일 출력으로 변환해야한다는 것입니다. 이진 교차 엔트로피 함수를 적용 할 수있는 값입니다. 나는 이것을하는 명백한 방법을 찾지 못하고 있습니다.
아이디어 :
전통적으로 이러한 종류의 순차 모델을 사용하면 인코더가 디코더에 공급되고 디코더는 가변 길이 시퀀스를 출력 할 수 있습니다 (이는 언어 번역 문제에 사용됨). 내 문제는 다른 시퀀스를 출력하지 않고 단일 값만 출력한다는 점에서 다릅니다. 이것이 작동하는 방식으로 디코더를 변환해야할까요? 디코더는 일반적으로 대상 값과 인코더의 출력을 입력으로 사용합니다. 디코더의 출력은이 목표 값과 동일한 모양을 갖습니다. 아이디어는 전통적인 디코더를 사용하고 1 길이 목표를 제공하는 것입니다. 그런 다음 1 길이 출력을 얻고이를 원하는 출력으로 변환하기 위해 전통적인 선형 레이어를 사용할 수 있습니다. 그러나 이것은 실제로 시퀀스를 출력하는 데 관심이 없지만 하나의 값에 불과하기 때문에 완전히 논리적이지 않은 것 같습니다.
어쨌든 커뮤니티에서 더 많은 아이디어를 찾고 있습니다. 감사!
나는이 논문 이 당신이 원하는 것을 한다고 생각한다 :) (아마도 이것을하는 첫번째 논문은 아니지만 최근에 읽은 논문이다)
논문에서 가져온 이미지 :
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다