인공지능 31

Logit Standardization in Knowledge Distillation

개요Knowledge distillation에서 logit을 Standardization하는 것이 더 효과가 좋다는 것을 보여준다위 그림을 보았을 때, 실제로는 오른쪽 student가 더 예측을 잘했음에도 불구하고 오른쪽 student의 KL-divergence가 더 높습니다. standardization을 시키면 그 문제가 해결됩니다 저자는 probability function로 Softmax를 써야한다고 말한 후 수식을 통해 기존의 문제점을 지적하고 standardization을 쓰면 개선된다고 얘기합니다 Derivation of softmax in Classificationsoftmax는 엔트로피를 높이는 probability function 중 최적의 해이다probability function을 ..

라그랑주 승수법 (Lagrange multipliers)

이 글을 보는 모든 분들은 라그랑주 승수법 개념은 알고 계실것 같습니다 고등학교 다닐 때 이런 문제를 많이 보셨을 것 같습니다(모의고사나 수능문제 있는지 찾아봤는데 못찾겠네요) $y = −x+1$ 위에 있는 점들 중 $f(x,y)=x^2+y$의 최소값을 찾아라 풀이$x^2+y=k$로 두고 그래프를 그립니다이차함수 그래프는 (0,k)를 지납니다k가 최소가 되려면 두 그래프가 접해야 합니다 라그랑주 승수법제약식 g(x,y)=k 이 주어졌을 때 (k는 임의의 상수) f(x,y)의 최대 또는 최소를 만족하는 점은 f와 g가 접하는 점에 있다이를 식으로 나타내면, 서로 gradient vector가 같아야 한다는 의미이다$\nabla f = \lambda \nabla g$ 제약식이 여러개 일때 라그랑주 승수법함수..

인공지능/기타 2024.08.05

Revisit the Power of Vanilla Knowledge Distillation: from Small Scale to Large Scale

요약큰 데이터셋에 한해서 vanilla KD가 다른 기법들과 차이가 거의 나지 않는다 Small-scale dataset vs Large-scale datasetPrevious recipe는 원 논문의 결과이고 stronger recipe는 다른 training 기법을 쓴 것 입니다original paper의 기법만으로는 DKD나 DIST와 vanilla-KD와 확연한 차이를 보여줍니다stronger recipe에서는 Cifar100은 2400 epoch만큼 학습했고 ImageNet-1K는 30%/60%/full은 각각 4000/2000/1200 epoch만큼 학습을 돌렸고 augmentation도 했습니다. 이러한 기법들로 학습을 더 돌렸을때, ImageNet-1k에서는 DKD나 DIST같은 방법과 비..

Transformer: Attention is All you need

미뤘던 transformer 아키텍처입니다저는 최대한 원 논문 위주로 이해하려고 노력하는데 transformer는 논문만 보고 이해하는 것은 거의 불가능합니다영상 및 다른 자료들을 여러개 보는 것을 추천합니다 Overview 1. 단어들을 한번에 전달합니다 - 단어가 한번에 1개씩 들어가는 RNN과 달리 모든 단어들을 한번에 전달받고, Positional Encoding으로 단어의 순서를 표시합니다2. Encoder : query / key / value를 이용하여 문맥 정보를 이해하는 단계입니다 - Input끼리의 단어들간의 관계를 학습합니다3. Decoder : 이전 예측을 입력으로 받아 다음 단어를 예측합니다 - 이 과정에서 Encoder의 key와 value를 전달받아 Input의 전반적인 문맥을..

인공지능/기타 2024.07.27

Knowledge Distillation from A Stronger Teacher

Strong teacher?- 성능이 좋은 모델 (파라미터가 큰 모델일수도 있고, data augmentation이나 epoch을 늘린 모델일수도있음)  이전에 진행되었던 연구 방향Intermediate representation으로 성능향상- OFD, CRDstudent모델과 teacher 모델의 차이가 크면 Student가 잘 학습이 이루어지 않는다- TAKD, DGKD : teaching assistant가 있다  모델의 크기가 커지면 오히려 student의 성능이 떨어지는 경우도 있다왜냐하면, teacher 모델이 복잡해질수록 student가 teacher를 재현하기 힘들다따라서, teacher의 정확한 값을 복원하기보다 예측값의 상대적인 순위를 student에 distillation 해주는 것만..

Entropy, Cross Entropy, KL divergence

Entropy엔트로피는 Random Variable의 평균 정보량을 의미합니다 $H(X) = -\sum_X p(x)I(x)$ I(x)는 information function입니다$I(x) = -log(p(x))$로 정의되는데, 어떻게 이렇게 정의될 수 있는지 살펴보겠습니다 정보량이라는 것이 무슨의미를 가지는 것인지 생각해봅시다 어떠한 사건이 발생했을 때 그 사건이 일어날 확률이 높을수록 정보량은 적다고 할 수 있습니다예를들어, 당첨되지 않는 로또번호를 아는 것은 주는 정보가 매우 적습니다.왜냐하면 대부분의 로또번호는 당첨되지 않기 때문입니다하지만 당첨되는 로또 번호를 아는 것은 적은 확률에 대한 정보를 알고있는 것이기 때문에 정보량이 많다고 할수있습니다 이러한 사실들로 다음과 같은 식을 만족하는 I를 i..

인공지능 2024.07.07

TVM - autoTVM

https://arxiv.org/pdf/1805.08166 이전 글에서 TE를 통해 최적화하는 방법을 올렸습니다하지만, 어떤 조합(transform, hyperparameter)을 통해 최적화를 하는 것이 가장 좋은 방법인지는 여전히 알 수 없습니다autoTVM은 machine learning을 통해 어떠한 조합이 가장 성능이 뛰어난지 알려줍니다 참고로 autoTVM은 template-based입니다즉, 사용자가 search space를 파이썬 소스를 통해 정의하고, 정의된 search-space 안에서 최적의 code를 찾습니다.완전히 automated된 방법을 쓰려면 다음에 나온 autoScheduler를 써야합니다(https://arxiv.org/pdf/2006.06762) 논문으로 히스토리를 찾았..

인공지능/TVM 2024.05.20

TVM - Tensor Expression Optimization

최적화를 할 때 relay를 TE로 가져와 TE를 직접 다루지는 않는 것 같습니다.TE에서 어떠한 방식으로 최적화가 이루어지는지 살펴봅시다 https://tvm.apache.org/docs/how_to/optimize_operators/opt_gemm.html#sphx-glr-how-to-optimize-operators-opt-gemm-py How To Guides > Optimize Tensor Operators > How to optimize GEMM on CPU Edit on GitHub Note This tutorial can be used interactively with Google Colab! You can also click here to run the Jupyter notebook lo..

인공지능/TVM 2024.05.15

TVM introduction

TVM은 인공지능 모델(TF, torch, onnx)을 하드웨어(CPU, GPU, FPGA)에 최적화된 코드로 변환한다.TVM은 추론과정에서만 쓰인다. 학습과정에서는 딥러닝 프레임워크 자체에 있는 최적화 방법을 쓴다 TVM이 최적화하는 과정은, 요약하자면 Lowering(더 낮은 레밸의 언어로 변환)과 optimization을 반복수행하는 것이다.  1. 딥러닝 프레임워크(TF/torch/onnx)로부터 모델을 불러온다 2. Relay 라는 언어로 변경한다. (IR = intermediate representation)인공지능 모델은 Computational Graph (computation을 표현하는 Directed Acyclic Graph)로 나타낼 수 있다.Relay는 Computational Gr..

인공지능/TVM 2024.05.06