분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
public 0.85987] jigsawformer
인간이 퍼즐을 푸는 과정을 Transformer Architecture에 접목하려고 시도했습니다.
모델은 크게 2단계로 나누어져 있습니다.
1. 각 패치를 중심으로 인접한(상하좌우) 패치를 찾아 매트릭스 형태로 예측(16*16). 이를 통해 각 패치의 연결관계와 연결된 모양(ㅏ,ㅗ,ㅜ,ㅓ,+, ㄱ, 등)을 알 수 있음.
2. 1단계에서 구한 패치의 모양을 position bias로, 패치의 연결관계를 attention bias로 모델에 다시 입력. 최종 순서 예측
몇 가지 실험을 통해서 발견한 주요한 점은
1. patch embedding : 모델 학습 안정(4*4, relative pos는 시도해보지 않음)
2. model weight sharing : 모델 학습속도
3. joint training: 모델 학습속도(loss를 합쳐서 한번에 update)
입니다.
중간에 학습을 잘못 멈춰서 조금 더 학습을 한다면 0.88 이상은 가능하지 않을까 합니다.
해당 코드에는 추가적인 data transform, model ensemble, 등 이 포함되어있지 않습니다.
작성한 코드가 정확하지 않을 수 있습니다. transformer 접근법, utility등이 다른분들께 도움이 되었으면 좋겠습니다.
Reference
vision electra : https://openreview.net/pdf?id=yKC6Jd0CsP
vit jigsaw : https://www.sciencedirect.com/science/article/pii/S0167865522003920
수정1)
trainer.fit 부분에서 limit_train_batches, limit_val_batches 해제해주셔야합니다.
수정2)
def attention_forward 에서 attn + attn_bias 를 attn = attn + attn_bias 로 바꿔야합니다
저도 대회 시작하자마자 이 래퍼런스를 봤는데요. 그 래퍼런스를 데이콘에서 보니 더 새롭네요. 재밌게 읽었습니다 ㅎㅎ
삭제된 댓글입니다
공유 감사드립니다
이거 돌려보신 분들 중에 val_score 예제 처럼 나오시는 분 있나요?
데이터셋 전체에 대해 학습을 해야 나오는 거 같습니다.
아하 감사합니다
limit_train_batches 해제하셔야 합니다
앗 limit_train_batches 를 적어놨군요; 귀여미님 감사합니다
imit_train_batches, limit_val_batches 해제해주셔야합니다
감사합니다 !!
많은 도움이 되었습니다.
transform 수정 권장드립니다.
from torchvision.transforms import v2 as transforms
transform = transforms.Compose([
transforms.Resize(size=(256,256), interpolation=transforms.InterpolationMode.BICUBIC),
transforms.ToTensor(),
transforms.Normalize(mean=(0.5,0.5,0.5), std=(0.5,0.5,0.5)),
])
좋은 자료 공유해주신 덕분에 많이 배워갑니다. 혹시 이런 자료, 모델, 래퍼런스페이퍼들은 어디서 찾으시는지 물어봐도 될까요?
Oak_tree님 안녕하세요
보통 레퍼런스들은 구글검색이나 Paperwithcodes, 다른 경연대회, chatgpt 등을 참고합니다.
넵 감사합니다.
뭘 어떻게 해야될지 막막했는데, 코드공유 너무 감사합니다!
0.93까지 찍히네요!!
감사합니다 ㅎㅎ
정말 좋은 자료 감사드립니다
혹시 돌려본 분 있나요? 저는 validation step에서 에러가 뜨는 것 같아서요. 인수가 하나 부족하고 해서 batch_idx 인자도 넣어줬어요
저는 이상없이 처음부터 끝까지 잘 돌아갔습니다
사실 위 코드는 gpu가 없는데 gpu 있는 코드가 있을까요?
안녕하세요
두서없는 코드라 문제가 많을수있지만
말씀을 들어보니 lightning 라이브러리의 버전문제 일 수도 있을것 같습니다.
gpu는 L.trainer에서 자동으로 잡히게 되어있습니다. https://lightning.ai/docs/pytorch/stable/common/trainer.html#trainer-flags
파이썬초보만님이 코드 공유를 하긴 전 이 래퍼런스를 보고 코드를 돌려봤는데 개인적으로는 모델 성능이 잘 안나왔습니다. 하지만 이 코드를 baseline 삼아서 여려 유저들이 상위권 점수를 받은 거 보니 모델 선택 및 실험에 더 신중하게 생각해봐야겠다는 생각을 해봤습니다. 좋은 코드 감사합니다.
감사합니다.
저도 적절한 레퍼런스를 찾지못했는데 그래서 모델 고민하는 과정이 더 재밌었던것 같습니다. co1dtype님의 방법도 뛰어나셨습니다. 축하드립니다
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
jigsaw-vit 공부하고 있었는데 대딘하십니다