Boostcamp AI Tech (P4 - Day12)
Peer session
한 일
- 배철환
- CROHME 작업 중 -> INKML 파일을 JPG로 변환하는 코드 완성
- 이제 할 것은 외부 데이터의 라벨링을 우리꺼랑 비교해서 넣어주기
- CSTR 기준 Adam 계열은 좋지 않은 퍼포먼스를 보임
- 논문에서 제시한대로 Adadelta를 줘야 할 듯 + 추가로 스케쥴러
- 10에폭 기준 스케쥴러를 주지 않았을 때 보다 train - val 차이가 많이 줄어듬 (거의 비슷비슷)
- 그래도 더 지켜봐야 함
- 서준배
- dim증가한것이 약간의 증가는 있었음
- 0.7278 -> 0.7361
- dim 조금씩 증가시키면서 확인
- dim증가한것이 약간의 증가는 있었음
- 임기홍
- AIDA 추가 해서 모델 돌렸지만 0.7077 -> 0.7124
- Math expression 이 좀 긴 데이터를 찾고싶은데 짧은거나 Symbol 밖에 안나옴
- 긴 데이터를 어떻게 만들까?
- 기존데이터를 Augmentation하는 것으로 넘어가야할꺼같음
- { } \left \right 짝 틀린케이스 없음.
- 김현우
- 준배님 코드 + AdamW + lr 1e-4 + 가로 -> 세로 + rotate 15 + 100 epochs
- 조호성
- adaptive + defrom 적용해봄.
- attention 기반 모델 앙상블할때 도움이 될까해서 하는중
- 바꿔볼만한 것이 모델부분에서는 feature 추출하는부분? 말고 또 있을까
- 윤준호
- epoch 181 제출해봄. 0.7190 달성.
- GT - PR 비교해볼 때 괄호 하나가 안 맞아서 sentence 예측 자체가 틀린 걸로 나오는 경우가 종종 있었음
- 괄호쌍이 맞지 않는 것들을 후처리로 맞춰줄 수 있지 않을까?
- (철환님) 괄호쌍이 맞는 것 / 안 맞는 것 binary feature 생성해서 loss에 더해주는 방법은?
- (호성님) self-attention은 문장 내 맥락 맞는 쌍을 잘 찾는 걸로 아는데, CNN 단에서 feature 뽑는 과정에서 괄호를 못 잡아낸 걸 수 있을 것 같음. input_size를 키워 feature_map을 크게 해보는 것도 좋을듯.
- beam search 찾아봤는데 rnn 예시들에서처럼 단순히 독립적인 word prediction list를 받아서 확률을 계산할 게 아니라, self-attention에서는 한 token이 선택될 때 다음 token들의 확률이 어떻게 바뀌는지를 계산하면서 동시에 beam search를 해야하는 것 같음. 또한, 단순히 후보들을 k개 뽑아 최대 확률을 선택한다고 해도 최적임을 보장할 수 없기 때문에 language model 등으로 학습해서 beam search와 결합해서 사용하는 예시가 있었음.
- 구현하기 쉽지 않을 것 같음.
- 구현한다고 해도 시간 복잡도가 굉장히 증가할 것 같음.
해볼 일
- SATRN
- 1) adaptive2d + AdamW + lr 1e-4 + 가로 -> 세로 + rotate 15 + 100 epochs(현우님)
- 2) aida dataset + adaptive2d
- 3) adaptive2d + deformable(호성님)
- CSTR
- 1) 데이터 추가, 괄호 loss
- 괄호쌍 맞는지에 대한 loss 계산해서 CEloss에 더해주는 방법 구현
고려할 것
괄호 규칙
- 같은 괄호인데 left가 있고 없는게 존재한다 함
'\\left\\{': 2711, '{': 209606,
- ‘\left{’
- ‘\left[’
- ‘\left(‘
- 아래첨자 괄호
lim_{a->0} \lim_{a\leftarrow 0}
- 입력하는 이미지 크기를 늘리면 좀더 attention하는게 늘어나지 않을까
- 128 x 128에서 더 늘리기
- 메모리 늘어난다