로딩
요청 처리 중입니다...

(pytorch) PackedSequence object

 (pytorch) PackedSequence object

PackedSequence object Padding 우리가 수집한 데이터의 길이가 모두 같은 것은 아니다. 보통 딥 러닝에서 Layer를 거칠 때 node의 수는 고정되어 있기 때문에 데이터의 길이를 통일해줄 필요가 있는데, 이를 위해 아무 의미 없는 값을 추가하여 모든 데이터의 길이를 똑같이 맞춰주는 작업을 Padding이라 한다.

위 그림과 같은 느낌으로 모든 데이터의 길이를 통일해주는 것을 의미한다. RNN : Padding의 문제점 단순히 padding을 하여 바로 학습에 사용하면 되지, 왜 여기서 문제가 발생할 수도 있다는걸까?

그것은 바로 의미없는 [pad] 값 (여기서는 0) 이 계속해서 RNN 연산에 참여하기 때문이다. 위 예제의 빨간 부분을 보면서 생각해보자.

빨간 부분의 첫 번째 원래 sequence 길이는 9인데 반해 두 번째 원래 sequence 길이는 3이다. 학습을 위해 의미 없는 값인 0으로 padding하여 길이를 맞춰준 것인데 길이가 성능에 큰 영향을...