안녕하세요 제가 pretrained된 시계열 파운데이션 모델을 깃허브에서가져와서 finetune하려고 합니다.
문제는 finetune 하려는 파운데이션 모델은 12채널로 pretrained 되어있고, 제가 finetune시키려는 데이터는 4채널입니다.
데이터의 특징에 대해 잠깐 설명하자면, 4채널 데이터에는 12채널의 정보가 잘려서 제한적으로 들어있다고 생각하시면 됩니다.
이렇게 pretraining된 파운데이션 모델에 이전과는 다른 쉐잎의 데이터를 finetune데이터로 쓸려면 어떤 방식으로 하는지 어떤 검색을 하면 나올까요?? 의견 감사드립니다.
ECG임?
네 맞아요
1. 4채널 가지고 12채널 합성시킨 다음 인풋으로 사용 (작년인가 재작년 icassp에 나온 논문 중에 2채널인가 가지고 12채널 만드는 연구 있음)
2. 12채널로 pre-train된 모델이 augmentation으로 random lead masking (
https://arxiv.org/abs/2203.06889
참고) 사용했다면, finetune할 때 4채널 말고 다른 리드 채널은 0으로 패딩해서 12채널 만든다음 인풋으로 사용
위 두 방법 안되면 다른 방법은 없음. 학습된 인풋 레이어를 4채널짜리 새로 random init된 인풋 레이어로 만들면 당연히 안되는게, 모델 내부의 모듈들은 이미 CNN이든 MLP이든 기학습된 인풋 레이어 상의 스페이스 위에서 돌아가는 애인데 그 인풋을 random init으로 바꿔버리고 fine-tune하는 건 아예 새로 학습시키는 거나 다를 바가 없음
감사합니다!
자세한 답변 정말 도움되었습니다
일단 인풋레이어 새로 만들어서 그것만 학습시키기?
하.. 이 방법이 잘 안통하니 답이 없네요 성능이 너무 떨어져셔..
4채널*3해서 12채널로만들기
해봤어유 ㅠ
저게 되나? 이미 12채널로 학습이 된 상태인데 저럴거면 저 모델을 쓰면 안됨 학습된 거 자체가 아닌데
파인튜닝하는 이유가 비슷한 도메인에 쓰기 위해서 쓰는거지 저렇게 쓰라고 파인튜닝이 나온 게 아님
저건 토크나이저를 완전히 다른걸로 쓰는 거랑 같은 효과가 불러올거임
차라리 저렇게 쓸거면 4채널에서 12채널 변환기나 변환 모델을 써서 그 출력값을 넣어야함
그것도 좋은 방법이네요