Loading...
2024. 10. 1. 22:38

가장 좋은 augmentation을 찾기 위한 시도들 - AutoML, Rand augmentation

1. issue  task나 dataset 종류에 따라서 잘 되는 augmentation이 다르고 적용해야하는 강도나 크기도 달라  숫자를 인식해야하는 MNIST 데이터셋의 경우 9라는 이미지를 180도 회전한 이미지로 바꾸면 6으로 인식되는데  label은 여전히 9라고 하는데 누가봐도 6으로 보이니 성능이 저하될 수 있음 capacity가 작은 모델에 학습이 어려운 augmentation을 적용하면 오히려 부담을 느껴 성능이 저하됨  2. AutoAugment 그렇다면 컴퓨터의 힘을 빌려 AutoML을 통해 task와 데이터에 최적화된 augmentation을 찾아보자   데이터로부터 data augmentation의 policy를 학습하는 모델을 만드는것 모델로부터 데이터의 특징을 잘 살려주는 au..

정확히 배낭의 크기만큼 담아야하는 독특한 배낭 문제

13910번: 개업 (acmicpc.net) n그릇의 요리를 해야하는데 가지고 있는 도구 크기들이 주어질때,  주어진 도구를 사용할때는 정확히 해당 크기만큼 요리해야한다면 n그릇을 만들기 위해 최소 몇번 요리해야하는지 예를 들어 1그릇, 3그릇용 도구가 주어지면 3그릇용 도구로 2그릇을 요리하지는 않고,  1그릇용 도구만 사용하여 1그릇만 요리할 수도 있고 1그릇, 3그릇 도구를 동시에 써서 4그릇을 요리할 수도 있다 또한 4그릇을 만들어야할때, 5그릇을 만들지 않는다  배낭문제처럼 dp[i] = i그릇 요리를 만들기 위해 해야하는 최소 요리 수 0그릇 요리에는 당연히 0번이면 되니까 dp[0] = 0 i = 1,2,3,...,n에 대하여 j번째 도구를 사용할때, k = j+1,j+2,...,m-1번째 ..

2024. 9. 26. 22:56

hinton의 knowledge distillation이후에 발명된 knowledge distillation들 알아보기

1. introduction 기본적으로 알고있는 hinton의 최초 distillation이 baseline knowledge distillation  teacher를 여러명 두겠다는 ensemble of teacher   triplet network를 이용한 distillation   조교 선생님도 두겠다는 teacher assistant knowledge distillation  logit이 classification에서만 사용된다는 태생적인 한계 때문에 logit 말고도 다른 것에서도 지식을 배울 수 있다면? classification 문제 말고도 분명 다른 문제에서도 지식이라는 것이 있을 것임  그래서 예를 들어 최종 layer 말고 중간 layer에서 knowledge를 뽑는 feature di..

2024. 9. 26. 20:55

나눗셈 실수오차가 생긴다면 직접 나눗셈을 구현하기

1206번: 사람의 수 (acmicpc.net)  n명의 사람이 0점부터 10점까지 정수로 존재하는 설문조사 문항에 점수를 내서 각 문항마다 평균을 낸 점수가 실수로 주어질때, n이 될 수 있는 가장 작은 정수를 구하는 문제 평균이 소수점 셋째자리까지만 주어진다 예를 들어 32/106 = 0.3018867924528302... 인데 0.301만 주어지는 ---------------------------------------------------------------------------------------------------------------------------------- 만약 설문조사한 사람 수가 x명이고 i번째 문항의 점수 합이 v이면 $$\frac{v}{x} \approx A[i]$$ A..

좌표들이 주어질때 좌표간 간격이 될 수 있는 모든 수를 찾는 방법

30105번: 아즈버의 이빨 자국 (acmicpc.net) 초코바에 이빨 자국을 남기는데 이빨간 간격이 k라고 한다면 0이상의 수 x에 대하여 x부터 x+k에 이빨 자국을 남긴다 이빨자국을 동일한 위치에 여러번 남겨도 한번만 보인다 이빨자국이 남겨진 좌표들 x0,x1,x2,...,xn이 주어진다면 가능한 k를 모두 구해본다면?  1. 무식하게 찾는 방법 쉽게 생각할 수 있는 방법은.. 일단 모든 좌표쌍 (xi,xj)에 대하여 간격 k = xj - xi를 구하고 간격 k에 대응하는 xi,xj를 저장해둔다 모든 간격 k에 대하여 간격 k에 대응하는 x좌표가 주어진 이빨 자국 수와 같다면 해당 간격 k는 가능한 k라는 것 예를 들어 [0,5,10,15]로 주어질때 모든 쌍에 대하여 5-0 = 5이므로 h[5]..

2024. 9. 24. 20:30

knowledge distillation 자세하게

1. background  “model training과 deployment 단계에서 필요한 parameter는 다르다”  애벌레가 번데기가 되려면 다양한 환경에서 에너지와 영양소를 잘 흡수할 수 있어야함 그러나 번데기에서 나비로 어른이 될 때는 이와는 매우 다른 traveling, reproduction에 대한 요구사항이 필요함 이 때는 영양소를 흡수하는데 주력하기보다는 몸도 가볍고 생식도 잘하도록 최적화되어야함 머신러닝도 이와 마찬가지임  training 단계와 deployment 단계에서 필요로하는 요구사항이 완전히 다르다는 것임  training단계에서는 애벌레가 번데기가 되기위해 에너지를 잘 흡수하던것 처럼 주어진 대용량의 데이터로부터 구조와 지식을 잘 흡수해야함   deployment 단계에서..