벌써 개강 전이다. 나름 열심히 살았는데도 생각보다 뭘하지 못했다. 흠.. 앞으로 3개월동안 변화가 필요한 시점이다.
1. 아침에 물 한잔 O
2. 연구: vision transformer review 다시 정리 O
10분 휴식 및 스트레칭 (인공눈물 점안, 멀리보기, 스마트폰 사용 금지, 스트레칭, 수분크림) O
3. 연구: vision transformer review 회의 O
10분 휴식 및 스트레칭 (인공눈물 점안, 멀리보기, 스마트폰 사용 금지, 스트레칭, 수분크림) O
5. 연구: repbert train 구현 마무리 O
10분 휴식 및 스트레칭 (인공눈물 점안, 멀리보기, 스마트폰 사용 금지, 스트레칭, 수분크림) O
6. 미용: 이소티논 복용? + 마데카솔 상처치료 구매 V -> 아 자꾸 까먹네..
10분 휴식 및 스트레칭 (인공눈물 점안, 멀리보기, 스마트폰 사용 금지, 스트레칭, 수분크림) O
7. 춤: 힙합 베이직 클래스 O
8. 건강: 토마토, 견과류, 영양제, 블루베리(브로콜리 대체) O
9. 인간에 대한 이해 O
내일?
피부, 옷
최신 인공지능 수업듣기
repbert 학습하고 evaluate 코드 살펴보기 -> multi-gpu로 바꾸면 좋을듯!
최신 인공지능 신청 말씀드리기 (신청날짜 확인!)
논자시 시험 준비하기 (시각적 이해 첫 부분 복습하기!)
연구노트 작성하기
다음 주 월요일 청각
로라처럼 weight를 쪼개서 파라메터를 아끼는 것은 rank, scale같은 hyperparameter search에 시간이 많이 들고 학습이 안정적이지 않다.
그래서 SVD를 써서 u,v를 orthonormal bases(= pre-trained knowledge), singular value를 spectrum으로 본다면 spectrum을 tuning해서 중요한 정보들만 남기고 recombining하면 overfitting을 방지할 수 있고, 덜 중요한 basis vector와 관련된 spectrum을 pruning하여 hyperparameter tuning에 sensitive한 것을 개선할 수 있다.
이를 위해서 svd를 쓰고 singular value중에 essence만 담긴 top-d singular value를 선택한다. 그러면 U, V에는 hxd, wxd로 d orthonormal column vector가 선택된다.
여기서 W0, U, V는 원래 정보를 가지고 freeze시키고 Sigma부분만 Tuning한다.
Sigma를 A, H, B product로 나누고 각각의 사이즈는 dxr, rxr, rxd다. 각각 0, identity matrix, N(0, square(1/d)) 초기화 되어있고, fine-tuning 중에 학습이 가능하다.
A, H, B는 low-rank로 r << min(h,w)고, d ≤ min(h, w)로 top-d singular value를 선택한 상태이다.
- 여기서 r, d도 결국 튜닝되어야하는 것 아닌가?
특히, H는 모든 layer에서 공유돼서 gradient가 layer간에 잘 퍼질 수 있도록 만들어준다. gradient가 모든 레이어의 summation과 같다. (gradient highway) 뒤로 가면 점점 gradient가 사라지는 vanishing문제 같은 걸 해결한듯.
- (3)번 식에서 downstream loss라고 표현되고 나서 loss는 주어지지 않았는데 어떻게 미분을 구한거지?
pruning은 singluar-guided weight decay를 이용해서 soft weight pruning을 한다.
U에는 d개의 orthonormal bases가 column으로 되어있고, A의 row를 singular value를 사용해서 prune하면 U에서 덜 중요한 vector를 제거하여 parameter efficient하게 만들 수 있다.
- (7)번 식에서 i에 대한 설명이 없다.
- 이걸 recombine이라고 표현할 수 있나? 그냥 낮은 singular value 버리고, singular value에 따라서 pruning을 해준 것 밖에 없는데?
singular value의 크기에 따라서 크기가 크면 pruning이 잘 안되고 크기가 작으면 pruning이 잘 되게 해서 덜 중요한 knowledge와 관련된 vector의 경우에는 값이 작을 것이고 중요한 knowledge의 경우에는 값이 클 것이다.
- A, B에서 gradient imbalance를 야기한 것은 이전 연구에서 발생한게 아니고 여기서 새로운 방법을 적용하면서 생긴문제인데 왜 contribution에 넣는거지? Wup, Wdown이 불안정한 것을 이전 논문의 문제점으로 잡기 위해서는 A,B에 적용한 것과 더불어서 Wup, Wdown에도 적용해서 보여줘야 하는 거 아닌가?
- A, B의 초기화가 잘못돼서 gradient가 불안정하여 normalization썼다고 이해했는데 ablation study에서는 geometric한 경우 pretraining task에 없어서 새롭게 학습하느라 gradient가 불안정하다고 했는데.. 어쨋든 성능이 올랐으니 그렇게 볼 수는 있지만 확실하게는 말할 수 없는 게 아닌가?
- figure3에서 특정 layer만 정하고 보여준 건 다른 layer에서 안 그런건가? (그냥 부가적인거니깐 넘어간다.)
근데, 이렇게 해서 parameter가 줄어드는 건 알겠는데 왜 hyperparameter tuning에 좋지?
- 그냥 r, d를 정해놓고 학습시키는 건가? 그렇다면 완전 여러가지 모델에도 적용된다는 보장이 없지 않나? 이것도 결국 sample size에 따라서 rank r, specturm size d, insertion position a,p 정해줘야하는 거 아닌가? 그렇게 정해주는 게 많이 개선됐다는 소리인가? with the same hyper-parameters for all tasks.?
- 매번 모든 dataset에 대해서 hyperparameter search가 필요했는데 여기서는 sample size에 따라서만 통합된 hyperparameter을 써도 충분히 성능이 좋다는 건가? 결국에 search가 필요하지 않나?
- tuning하는데 resource가 많이 발생한다고 했는데 그에 대한 비교는 왜 없지? 특히 fact-tk의 경우에는 params도 훨씬 적고 성능은 같은 수준인데 training resource가 search에 비해서 얼마나 이득이 있는지 모르겠다.
ImageNet-21k에 있는 것들 they are saying that even if they pruned the dimensions, they keep the essence and prune the less important knowledge. and that is verified by already known task
- 내가 제시한 질문들이 곧 졸업하는 박사누나랑 매우 비슷했다. 그런데, 누나는 3시간 만에 논문을 이해했다고 한다. 나는.. 거의 10시간 읽었다. ㅋㅋㅋㅋㅋㅋㅠ
- repbert 모델 구현했고, multilabelmargin loss랑 save model 부분 (module) 공부하고 다시 작성해보고 실제로 1 epoch 돌리고 학습하면 되겠다.
'일기장 > 매일매일온전히집중하기' 카테고리의 다른 글
23.09.04 월 (0) | 2023.09.04 |
---|---|
23.09.01 금 (0) | 2023.09.01 |
23.08.30 수 (0) | 2023.08.30 |
23.08.29 화 (0) | 2023.08.29 |
23.08.28 월 (1) | 2023.08.28 |