lookbackjh / pytorch_SEFS

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

Semi-supervision 결과 공유 #20

Closed glistering96 closed 1 year ago

glistering96 commented 1 year ago

image

전부 pi 잘 찾아냄.

그런데 내 생각에는, 기존에 self-supervision -> supervision 구현에서 뭐가 문제가 있는거 같음.

얘는 pi 수렴이 잘 안되고 좀 이상함.

self-supervision -> supervision 과정에서 우리가 놓친 것들 확인 가능?

참고로 그래프 여러개인 이유는 l1-regularization coefficient 저번처럼 바꿔가면서 실험한 결과임

@lookbackjh

lookbackjh commented 1 year ago

확인

@glistering96

흠근데 SEmi가 어째 수렴이 너무 잘되는것같은데 근데 기존 논문 self+ supervision에서 저렇게 완벽히 수렴하지는 않아서 (우리가 한 self+supervision이랑 비슷함) 내생각에는 로스문제일 가능성이 크지않을까 pi를 확죽여버리거나 pi를 무조건 살린다거나
일단 확인해보겠슴

glistering96 commented 1 year ago

그래서 원래 방식대로 (main branch) 해봤는데 이 방법으로는 pi가 다 0으로 수렴해가더라. 좀 이상한듯?

아니면 실제 데이터에 넣어서 돌려보고 결과 비교해 봐도 ㄱㅊ할듯.

근데 애초에 pi를 확죽여버리거나 살리는게 좋은거 아닌가? 그림 자세히 보면 histogram 높이가 0이랑 1이랑 차이가 좀 많이 남.

애초에 synthetic 데이터가 유의미한 feature가 단 두개 뿐이라 저렇게 나오는 것도 이해가 가는 결과라고 해석했는데 어떻게 생각하심??

lookbackjh commented 1 year ago

다 0으로 가는건 좀 이상하네 , 그리고 feature이 두개인데 2개만 1로가야하는데 1로 왤케많이가지

image 이게 원래 논문실험 돌린건데 (Beta=0.1) 이란 말이야?

근데 이렇게 좀 애매한 편이 좀나을수도 잇을 거 같은 게, 변수 중요도를 pi기준으로 랭킹매길때 편한 부분이 있는것같음 Synthetic은 일단 지금읽는거 마저읽고 교수님이 말하신거 읽어보고 구현해보는걸로해보겠음내가

glistering96 commented 1 year ago

이거 그냥 pi 찍은건가? self-supervision에서 beta 값을 좀 줄여보고 테스트하고 저렇게 pi 값 bar graph로 찍어다 볼게

lookbackjh commented 1 year ago

ㅇㅇ 그냥 pi찍은거 @glistering96 형그리고 내꺼에서 돌릴때, supervision에서 trainlosstotal 이랑 vallosstotal 찍으면 negative나오는데, 이거 말안되지않음? 형것도 그럼? Binary cross entropy양수고 , l1norm도 양수일거고, pi도 clamp해놨는데 뭔가 이상한데

glistering96 commented 1 year ago

뭔가 이상한가 보네. Loss 음수나오는건 어딘가에 문제 있는듯.

나 뭐 좀 다른거 해야해서 좀 이따 나도 확인해 봄

2023년 6월 28일 (수) 오후 1:12, Junho Jeong @.***>님이 작성:

ㅇㅇ 그냥 pi찍은거 형그리고 내꺼에서 돌릴때, supervision에서 trainlosstotal 이랑 vallosstotal 찍으면 negative나오는데, 이거 말안되지않음? Binary cross entropy양수고 , l1norm도 양수일거고, pi도 clamp해놨는데 뭔가 이상한데

— Reply to this email directly, view it on GitHub https://github.com/lookbackjh/Feature-Selection/issues/20#issuecomment-1610670252, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXAXHW2YPZV6UWY7W7MX243XNOVLBANCNFSM6AAAAAAZWMMIXA . You are receiving this because you were mentioned.Message ID: @.***>

lookbackjh commented 1 year ago

음수나오는게 pi가 negative되서 그렇네 그건그렇고 pi[0]가 0으로 수렴하는것도 문제긴해서 이거좀 다시살펴봐봄

glistering96 commented 1 year ago

self-supervision 약 30만번 supervision 10만번 돌린 결과의 pi.

image

self-supervision 약 30만번 supervision 10만번 돌린 결과의 loss들

image

lookbackjh commented 1 year ago

1,2번 feature가 영향력 크게나온건 좋은거같다. 저기 안나와있는건 0으로 한거?? 베타 몇으로한거??

그리고 오늘 논문좀 읽으면서semi 에서 로스설정을 어케해야할지 감이 좀잡힘 이번주내로 좀더 구체화해봄

glistering96 commented 1 year ago

근데 저거 보면 확률이 1이 아님 ㅋㅋㅋㅋㅋㅋ 뭔 문제인지 모르겠네.

비어 보이는건 다 확률 0인 것들임

2023년 6월 28일 (수) 오후 5:56, Junho Jeong @.***>님이 작성:

1,2번 feature가 영향력 크게나온건 좋은거같다. 저기 안나와있는건 0으로 한거?? 베타 몇으로한거??

그리고 오늘 논문좀 읽으면서semi 에서 로스설정을 어케해야할지 감이 좀잡힘 이번주내로 좀더 구체화해봄

— Reply to this email directly, view it on GitHub https://github.com/lookbackjh/Feature-Selection/issues/20#issuecomment-1611027622, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXAXHWZGS5EJ3KYVWBSLFC3XNPWUDANCNFSM6AAAAAAZWMMIXA . You are receiving this because you were mentioned.Message ID: @.***>

lookbackjh commented 1 year ago

ㅇㅇ 그러게 ㅜ 근데 저거 나온형태는 거의 정답과 같은거같아서 코드문제는아닌거같기도하고 베타 좀 많이 줄여도 저럼?

glistering96 commented 1 year ago

한 번 돌리는데 2시간 넘기 걸려서 그건 혀ㅏㄱ인 안해봄 ㅎ; 지금은 semi 쪽 돌려보는 중

혹시 semi-supervision loss에서 pi의 합이 1이 되도록 하는 regularization을 넣어보면 되지 않을까?

2023년 6월 28일 (수) 오후 6:00, Junho Jeong @.***>님이 작성:

ㅇㅇ 그러게 ㅜ 베타 좀 많이 줄여도 저럼?

— Reply to this email directly, view it on GitHub https://github.com/lookbackjh/Feature-Selection/issues/20#issuecomment-1611032548, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXAXHW5ZOLMVIUVXV32OBB3XNPXBPANCNFSM6AAAAAAZWMMIXA . You are receiving this because you were mentioned.Message ID: @.***>