Loading...
2022. 2. 17. 19:46

knowledge distillation에 대하여 기초

1. basic idea 이미 학습을 완료한 teacher model의 지식을 더 작은 student model에게 주입하는 것이 목적 큰 모델에서 작은 모델로 지식을 전달하여 모델 압축에 유용하게 쓴다 최근에는 teacher model의 출력을 unlabeled data의 pseudo-label로 자동생성하는 방식으로 활용함 2. unsupervised learning label이 존재하지 않는 동일한 input을 이미 학습한 teacher model과 학습이 안된 student model에 넣어 각각 output을 출력 같은 입력에 대해 서로 다른 출력을 내놓을 것인데 둘의 차이를 구해주는 KL divergence loss를 구한다 이 loss를 최소화하는 방향으로 backpropagation에 의해..

2022. 2. 13. 21:15

가장 좋은 data augmentation이 있을까?

1. random augmentation 하나의 train dataset에서도 여러가지 수많은 augmentation 방법을 사용할 수 있는데 사람의 욕심은 어떠한 augmentation 방법을 써야 가장 좋은 성능을 낼 수 있을지 찾고 싶음 그래서 가능한 후보 augmentation 기법 K개를 선정함 예를 들어 위와 같은 augmentation 기법만 사용하겠다고 후보군을 만들었고 그런데 여기서 연산량을 더욱 줄이고 싶어서 이 후보들 중 random하게 augmentation의 기법 N개를 선정하고 선정한 N개의 모든 augmentation 기법의 강도를 M이라고 하자. 이 때 개별 augmentation 기법 별로 서로 다른 강도를 적용하는 것이 아니고 모든 augmentation 기법 강도를 동일..

2022. 2. 12. 19:50

컴퓨터비전에서 사용하는 기본적인 data augmentation

1. motivation train data와 real data사이에는 분명한 gap이 있다 이 gap을 채우기 위해 더 많은 데이터를 획득하거나 bias가 안된 데이터를 획득하거나 그런데 이제 데이터 획득 비용에는 한계가 있다 그래서 손쉽게 학습데이터의 데이터들에 기본적인 operation으로 데이터를 여러장 늘리자는 것이 data augmentation이다. 기본적인 방법은 이미지의 기하학 변환이나 색깔 변환 등으로 real을 반영하지 못한 부분을 조금이라도 채워나가는것 2. brightness data들의 밝기를 조절하여 여러장 만들어내는 방법 호랑이 이미지는 어두워졌고 개 이미지는 밝아진게 느껴지나 image의 R,G,B 채널 pixel에 일정 숫자 pixel을 더하거나 random samplin..

2022. 2. 12. 19:25

data augmentation은 왜 사용해야할까?

1. train data의 문제점 neural network는 데이터를 컴퓨터만 이해할 수 있는 지식의 형태로 녹여넣는 모델 데이터를 통해 패턴을 분석하고자하는 것인데 모델이 데이터를 편식하지 않고 전부 가져가면 가장 좋다 그러나 실제 세상의 데이터들은 bias가 많다 우리가 train data로 얻은 이미지들은 사람이 카메라로 찍은 이미지들이다. 사람이 카메라로 찍었다는 것은 당시 유행?에 따라 사람들이 보기 좋게 찍은 bias된 이미지 그러나 실제 세상은 사람들이 보기 좋게 찍은 구도 말고도 여러가지 많다 실제 test time에서는 어떤 image가 들어올지 모른다 이 말이야 train data는 실제 real data 분포에서 아주 극히 일부 sampling된 데이터라고 볼 수 있다 이게 왜 문제..

2022. 2. 10. 18:59

ResNet의 핵심 아이디어인 skip connection과 Residual learning

1. deep neural network는 학습하기가 어렵다 overfitting이란 train error가 줄어드는데도 test error는 증가하는, 방향이 반대되는 현상으로 parameter 수가 늘어나면 일반적으로 발생한다. 일반적으로 deep한 neural network는 shallow한 network에 비해 학습하기가 어렵다. train error가 줄어들면서 test error도 어느정도 줄어드니까 위와 같은 경우는 overfitting은 아니다. 물론 test error가 너무 커지는게 문제다. 아무리 학습을 잘 시킨다고해도 결국엔 20-layer가 56-layer보다 나았음 왜 학습하기가 어려웠나? 깊을수록 gradient vanishing 문제가 발생했기 때문이다 ResNet은 skip..

2022. 2. 9. 19:14

transfer learning이란 무엇일까?

1. motivation 지금까지 보지 못한 새로운 인공지능을 만들어야한다고 할 때 데이터부터 준비해야할 것이다. 기본적으로 인공지능은 어마어마한 데이터가 필요한데 입력데이터만 단순히 모으는 것이 아니라 데이터의 label도 필요함 이런 것은 단기간에 모으기 쉽지 않고 비용도 많이 나오고 외주업체에 맡겨도 사람이 하는 일이라 원하는 형태의 데이터보다는 질이 낮은 데이터가 얻어짐 만약 원하는 task와 연관된 어떤 task에 대해 미리 학습한 모델을 이용할 수 있다면? 적은 데이터로도 좋은 성능을 낼 수 있지 않을까? 2. definition 기존에 미리 학습시켜놓은 사전 지식으로 연관된 새로운 task에 적은 노력으로 높은 성능에 도달하겠다는 것이 목적 쉽고 경제적이며 어느 정도의 성능도 보장한다 직관적..