예를 들어 756차원에서 10차원으로 갈때, 756, 512, 256, 128, 64, 10 으로 갔거든? 왜 이렇게 한건지 잘 모르겠어.. 그리고 10차원에서 20차원으로 보내고 10차원 결과 얻는거 랑 10, 10, 10 이랑 차이가 있어?
댓글 2
데이터에 따라 다르겠지만, 일반적으로 차원이 줄어들수록 정보를 잃게 됨. 각각의 데이터를 표현하는 parameter의 개수가 줄어드는 거니까.
756차원으로 표현된 어떤 feature들을 가지고 10개의 class로 분류하는 task는 756차원의 공간에서 10개의 decision boundary를 나누는 거라고 해석할 수 있음.
즉, 낮은 차원으로 projection한 뒤에 10개를 분류하는 건 데이터가 그 낮은 차원에서 분류가 잘 될 것이라는 생각하고 하는 거
Xst(121.190)2021-11-19 20:05
답글
예를 들어, 64차원의 Feature들만 가지고 충분히 분류될만큼의 데이터 특성을 가진다면 굳이 더 높은 차원에서 할 필요가 없는 거임. 메모리나 시간 낭비가 된다는 거.
그런데 애초에 딥러닝을 하는 사람 입장에서는 데이터의 특성 자체를 사람이 직접 handcraft을 하기 싫거나 어렵기 때문에 그걸 모델에 맡기는 거라 보통 경험적으로 차원을 늘리거나 줄여가면서 ablation study를 함
데이터에 따라 다르겠지만, 일반적으로 차원이 줄어들수록 정보를 잃게 됨. 각각의 데이터를 표현하는 parameter의 개수가 줄어드는 거니까. 756차원으로 표현된 어떤 feature들을 가지고 10개의 class로 분류하는 task는 756차원의 공간에서 10개의 decision boundary를 나누는 거라고 해석할 수 있음. 즉, 낮은 차원으로 projection한 뒤에 10개를 분류하는 건 데이터가 그 낮은 차원에서 분류가 잘 될 것이라는 생각하고 하는 거
예를 들어, 64차원의 Feature들만 가지고 충분히 분류될만큼의 데이터 특성을 가진다면 굳이 더 높은 차원에서 할 필요가 없는 거임. 메모리나 시간 낭비가 된다는 거. 그런데 애초에 딥러닝을 하는 사람 입장에서는 데이터의 특성 자체를 사람이 직접 handcraft을 하기 싫거나 어렵기 때문에 그걸 모델에 맡기는 거라 보통 경험적으로 차원을 늘리거나 줄여가면서 ablation study를 함