lookbackjh / pytorch_SEFS

Pytorch Reimplementation of SEFS : Self-Supervision Enhanced Feature Selection with Correlated Gates(ICLR 2023)
0 stars 0 forks source link

Semi-Supervised 참고할만한 것들 #18

Closed lookbackjh closed 1 year ago

lookbackjh commented 1 year ago

VAE쓴 킹마가 Semi-Supervised 관점에서 VAE를 어떤식으로 적용하는지에 대한 게 있더라고 링크 1 이거랑그 SEFS에서 MUltibernoulil 참고한 논문(링크 2)에서 이걸 베르뉴이 관점에서 어떻게 적용시키는지도 적어놔서(Section 5.2) 이걸 좀 이해하고 짜면 괜찮지 않을까 이론적으로 바로 온전히 받아드리지는 못해서 일단 이번주에 이거 과정을 좀 열심히 읽어볼예정임

glistering96 commented 1 year ago

링크2의 논문

image

SEFS

image

Gumbel-softmax 적용하는 부분 수식이 다른거 같은데?

lookbackjh commented 1 year ago

같지 않나 $\alpha$랑 $\pi$ 부분만 다른 것 같은데, 원래 논문에서는 $\alpha$의범위를 $(0,\inf)$ 로 줬는데, $\pi$ 의 범위는 (0,1) 이니까 이게 이사람은 $\frac{\pi}{1-\pi}$ 형태로 바꿔서 $\alpha$랑 범위를 맞춘듯 @glistering96

glistering96 commented 1 year ago

https://arxiv.org/abs/2206.08564

NeurlIPS poster 논문인데 이 간단히 읽어봤는데

이 논문은 feature masking은 그냥 random으로 perturb하는 대신에

Denoising Auto-encoder (DAE) 구조에 transformer를 써서 VIME 보다 좋은 성능을 냈다고 함

아마 feature interaction이 transformer에서 학습이 되는 것 같음.

나도 꼼꼼하게 본 건 아니라 나중에 다시 자세히 볼 예정.


P.S. Transformer를 사용해서 interaction을 학습한다고 하면, Semi-supervision과 supervision 단계 모두에서 같은 구조를 들고 갈 수 있다는 장점이 있음. 왜냐하면 transformer는 입력 시퀀스 길이에 구애 받지 않기 때문.

X: (n, d), y: (n, 1) 짜리 데이터가 있다고 가정.

이때 semi-supervision에서는 X만을 사용하기 때문에 feature의 개수 (d) 만큼이 DAE의 입력으로 사용됨.

그리고 supervision에서는 X, y의 interaction을 학습하고 싶다면 feature의 개수 + label의 dimension (d+1)이 입력으로 사용됨.

Transformer 식의 구조를 사용하면 이런 문제를 비교적 쉽게 다룰 수 있어 보임.

glistering96 commented 1 year ago

https://openreview.net/forum?id=row6cEJ2aBT

ICML 2023 accept된 방법

아직 안 읽어봄.

Abstract 따르면 mutual information 기반 마스킹 하는듯

lookbackjh commented 1 year ago

밑에꺼 내가 함 읽어보고 요약해보겄음

glistering96 commented 1 year ago

https://openreview.net/forum?id=qcXwX7CJvX&referrer=%5BTMLR%5D(%2Fgroup%3Fid%3DTMLR)

ICML 이 아니었네; 내가 잘못 봤나 봄. 구글 AI 쪽에서 나오긴 했는데 Mutual information을 집어 넣는 과정이 전부 좀 모호함.

실제로 해당 문제에 대해서 이미 reviewer들이 제기한 이슈들이 위 링크에 있어서 한 번 보면 좋을 듯.

Sparase Masking 자체는 쉽게 이해가 가고 그럴듯한 이야기인듯

추가

while I still think this operation could be replaced by simple softmax+some temperature scaling.

메인 리뷰에서 sparsemax에 대해서 Gumbel-softmax 쓰면 되지 않느냐고 하네

lookbackjh commented 1 year ago

ICLR 인데 아직 accept는 안된걱가 하튼 application to feature selection에서 notation이 너무헷갈린다진짜

glistering96 commented 1 year ago

TMLR? 인가 같은데 reject됨

나는 R(X, y)가 대체 뭘 의미하는지도 이해가 안간다.

X랑 y 같이 들어가서 확률값을 뱉는게 대체 ㅜ머지?

lookbackjh commented 1 year ago

저거 근데 약간 이용해서 우리 로스텀에 갖다붙이면 괜찮을거같기도 한데 E(X,Y) 가 모델이 얼마나 잘만들어졌냐의 기댓값이고 모든 x,y값에 대하여 이를 summation (marginalize) 해줘야 되는거니까 특정 샘플 x,y에 대해서 R(x,y)가 x가 들어갔을때 y가 나올 확률을 이용해서 평가하는 지표를 만들기 위해 사용되는듯

lookbackjh commented 1 year ago

image 이건 SEFS 결관데 빨간색이 cor 높은것들인데 잘찾긴한다 ㅋㅋㅋ...

내용정리해서 좀필요한 부분들 이랑 모델합치면서 생각한것들 정리해서 주말에 메일한번 더보내보겄음.