You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ClovaAI의 SATRN은 tensorflow로 구현되어 있는데 pytorch로 바꿈. (인코더만)
transformer가 9 layers로 엄청 커서 줄임. (에메랄드색) 심상치 않다..! 화성 가나☄️
SATRN decoder를 GPT2로 바꿀 수 있을 것 같다. Hugging face 적용
BERT는 transformer 인코더에서 받아오는 구조라서 어려울 듯. QnA 같은 classification 문제는 잘 풀지만 generation에 약한 편이다.
Discussion
data_proportions = 0.1~0.3로 하면 NaN 에러 → amp. autocast() 때문인듯!
👇🏻 train_one_epoch 함수 고치기 (valid는 그대로 둬도 괜찮았다)
효과가 있을 것 같은 augmentation : RGBshift, CLAHE 등등 (Attention으로 빠르게 실험해보기)
데이터셋은 다다익선 같다. 인코더에서 데이터를 압축해서 디코더로 보내기 때문에 resize augmentation은 효과가 없을 것 같다..
shallow CNN이 정말 효과가 좋은가? 입력을 엄청 크게 주니까 shallow로도 가능한 거 아닐까.
(주영) 우리는 메모리 부족으로 input size를 줄여야 하니까 더 무거운 CNN 백본으로
좋은 피처를 뽑아서 디코더에 넘겨주는 게 맞는 것 같다.
(준철) CNN모델과 transformer가 받아들이는 파라미터 민감도가 다를 것.
보통 transformer가 학습이 더 오래 걸리는 것도 같은 맥락.
Attention은 모델 내부에서 1:4로 바꾸기 때문에 정사각형으로 넣어야 하고 SATRN은 상관없다.
우리 데이터(50%)에서 vocab만 늘려서 학습했는데 성능이 완전 이상하지는 않음.
vocab을 크게 설정하면 어느 하나의 토큰에 치중되지 않기 때문에 robust한 모델을 만들 수 있지만
dataset을 벗어나는 unseen token이 많은 것이 경진대회 특성상 도움이 될지는 미지수.
input size = (256, 256) 성능이 안 오르는 원인 분석
→ receptive field는 그대로 input image만 4배. feature가 이미지 전체를 담지 못하는 듯.
→ 인코딩 후 (4,16)으로 집약이 되어야 성능이 잘 나오는 것 같다.
→ input size를 늘릴거면 CNN layer를 더 쌓아줘야 할 듯.
💡 실험 아이디어
ASTER - Bi-Directional LSTM 추가해보기
CSTR (SOTA 2등 모델) - 깃헙 보면 형식이 달라서 일일이 맞춰주려면 시간이 오래 걸린다.
학습 이미지는 전부 똑바로 돌려서 학습시키고 inference 할 때 90,180,270 돌려서
네 가지에 대해 score를 측정하고 가장 높은 confidence 하나를 선택하면
평균으로 앙상블하는 거보다 좋지 않을까?? (직접 만들어야해서 조금 까다롭긴 하다.)
validation 보면서 주로 틀리는 이미지를 보강하기!!
🧑🏻🏫 준철이의 GAN 강의 기대 중!!
우리 vocab은 영어, 숫자 외에도 토큰이 많으니까 디코더도 늘려보면 좋을 것 같다.
vocab이 늘어난 만큼 복잡도가 늘어나니까 layer, hidden dim을 늘리면 될 것 같다.
데이터 증강: 갑자기 드는 생각...copy blob??? 눈알 붙이기??
내일 멘토링 질문 준비
번역 태스크에서 추천해 주실 만한 캐글 대회가 있을까요?
어떤 모델에서 성능 향상을 본 data augmenetation을 다른 모델에 적용했을 때 동일하게 좋은 효과를 볼 수 있을까요?
즉, augmentation이 모델에 관계없이 비슷한 효과를 내는지 궁금합니다.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
🚨 inference - albumentation으로 수정!!
학습 중단 후 연결해서 학습 시킬 때
📌 cosine annealing 주기 고려해서 lr 수정
📌 teacher forcing = 0으로 수정
오늘 제출 5회 남음
→ LB 0.0119...?? 아니 이게 무슨일??
→ LB 0.6047
(50에폭보다 더 돌리면어 어떨지?? 50에폭까지도 조금씩 올랐어서 기대기대!!)
협업과 분업
Issue 탭에는 모두가 꼭 읽어야 하고 코멘트가 필요한 것만 올리기
GitHub issue에 모든 내용이 다 섞여있어서 정리가 잘 안 된다.
EDA에서 얻은 인사이트 (준철)
성능 향상이 있었던 실험 요소 정리 (모두)
데이터 전처리 (누리)
머신러닝: Beam search (지형.준구.형민)
앙상블 (주영)
모델 연구
실험결과 & 진행 상황
우선순위큐 사용. decoder에서 logit을 argmax로 뽑아내서 학습하면 됨.
이미 학습된 모델에 사용하려면 좀 더 수정해야 함.
형민: output table만 가지고 beam search를 구현할 수 있을까?
마지막 shape = (batch, logit, token길이)
timm EfficientNetv2
layer_num: 6 → 3
hidden_dim: 300 → 512
filter_dim : 600 → 512
batch_size: 16
→ 인코더를 강화했으니 디코더 역할을 줄여줌.
transformer가 9 layers로 엄청 커서 줄임.
(에메랄드색) 심상치 않다..! 화성 가나☄️
BERT는 transformer 인코더에서 받아오는 구조라서 어려울 듯. QnA 같은 classification 문제는 잘 풀지만 generation에 약한 편이다.
Discussion
data_proportions = 0.1~0.3로 하면 NaN 에러 → amp. autocast() 때문인듯!
👇🏻 train_one_epoch 함수 고치기 (valid는 그대로 둬도 괜찮았다)
효과가 있을 것 같은 augmentation : RGBshift, CLAHE 등등 (Attention으로 빠르게 실험해보기)
데이터셋은 다다익선 같다. 인코더에서 데이터를 압축해서 디코더로 보내기 때문에 resize augmentation은 효과가 없을 것 같다..
shallow CNN이 정말 효과가 좋은가? 입력을 엄청 크게 주니까 shallow로도 가능한 거 아닐까.
(주영) 우리는 메모리 부족으로 input size를 줄여야 하니까 더 무거운 CNN 백본으로
좋은 피처를 뽑아서 디코더에 넘겨주는 게 맞는 것 같다.
(준철) CNN모델과 transformer가 받아들이는 파라미터 민감도가 다를 것.
보통 transformer가 학습이 더 오래 걸리는 것도 같은 맥락.
Attention은 모델 내부에서 1:4로 바꾸기 때문에 정사각형으로 넣어야 하고 SATRN은 상관없다.
우리 데이터(50%)에서 vocab만 늘려서 학습했는데 성능이 완전 이상하지는 않음.
vocab을 크게 설정하면 어느 하나의 토큰에 치중되지 않기 때문에 robust한 모델을 만들 수 있지만
dataset을 벗어나는 unseen token이 많은 것이 경진대회 특성상 도움이 될지는 미지수.
input size = (256, 256) 성능이 안 오르는 원인 분석
→ receptive field는 그대로 input image만 4배. feature가 이미지 전체를 담지 못하는 듯.
→ 인코딩 후 (4,16)으로 집약이 되어야 성능이 잘 나오는 것 같다.
→ input size를 늘릴거면 CNN layer를 더 쌓아줘야 할 듯.
💡 실험 아이디어
네 가지에 대해 score를 측정하고 가장 높은 confidence 하나를 선택하면
평균으로 앙상블하는 거보다 좋지 않을까?? (직접 만들어야해서 조금 까다롭긴 하다.)
vocab이 늘어난 만큼 복잡도가 늘어나니까 layer, hidden dim을 늘리면 될 것 같다.
내일 멘토링 질문 준비
즉, augmentation이 모델에 관계없이 비슷한 효과를 내는지 궁금합니다.
Beta Was this translation helpful? Give feedback.
All reactions