1. LoRA(Low-Rank Adaptation)이란? LoRA는 거대한 사전학습 모델을 효율적으로 미세조정(fine-tuning)하기 위해 개발된 기법입니다. 전통적인 풀 파인튜닝에서는 모델의 모든 가중치를 업데이트해야 하지만, 모델 크기가 커질수록 계산량과 메모리 부담이 크게 늘어납니다. 예를 들어 GPT-3 175B 모델은 1750억 개의 파라미터를 전부 업데이트해야 하므로, 각각의 작업마다 별도 모델을 저장·운영하는 것이 거의 불가능합니다. 이에 LoRA는 사전학습된 가중치는 고정(freeze)한 채, 저차원 행렬을 각 Transformer 층에 추가하여 학습하는 방식을 제안합니다ar5iv.orghuggingface.co. 즉, 기존 가중치 $W^{(0)}$는 그대로 두고, 그 변화량 $\De..
1. DoReFa-Net low bit의 weight와 activation을 사용하여 CNN을 train하는 방법 이전에는 weight나 activation을 quantization하는 시도는 많았지만, DoReFa-Net은 gradient를 quantization함 backward pass중에 convolutional layer에 들어가기 전에 parameter의 gradient를 확률적으로 low bit quantize함 bit convolution kernel을 사용하여 training과 inference 속도를 높였다 bit convolution kernel은 bitwise operation만으로 dot product를 계산할 수 있도록 함 그러면서 GPU,ASIC,FPGA 뿐만 아니라 CPU에서..
학습된 weight tensor를 더 작은 단위의 vector나 tensor의 곱이나 합의 조합으로 근사적으로 표현하는 것 저장해야하는 weight가 줄어들어 computation이 줄어드는 효과 1. CP decomposition rank one tensor의 P개의 linear combination으로 주어진 tensor를 decomposition할 수 있다는 것 convolution weight tensor x를 vector a,b,c의 outer product(=rank one tensor)의 linear combination(summation)으로 근사적으로 분해함 실제 network에 활용할 때는 일반적으로 full convolution이 image에 filter tensor를 con..
이미지 사이즈를 줄이거나 fully connected 연산을 대체하기 위해 사용함 (average pooling) input을 filter에 의해 convolution 연산을 하고 pooling을 통해 이미지 사이즈를 줄인 output을 얻는 것이 기본적인 CNN 이미지에 있는 pixel 정보를 압축하면서 이미지 사이즈를 줄인다. max pooling, average pooling 등 여러가지가 있다. 다음은 4*4이미지에서 2*2 max pooling을 적용한 모습 다음은 4*4이미지에서 2*2 average pooling을 적용한 모습 pooling을 사용한 기본적인 CNN 구조
1. motivation Pix2Pix에서는 pairwise data로 x에 대한 ground truth인 y가 필요한 supervised learning 문제는 항상 이런 pairwise data를 얻는 것이 쉽지가 않다. 사실상 불가능한 경우도 많다 그래서 서로 무관한 X라는 style의 image dataset과 Y라는 style의 image dataset을 활용하는 방법은 없을까? 직접적인 대응관계가 없는 X,Y 사이에서 image translation이 가능하도록 만든 것이 CycleGAN이다. pairwise data가 필요하다는 제약사항을 뛰어넘으면서 응용범위가 늘어났다 2. CycleGAN loss X에서 Y를 생성하는 GAN loss와 Y에서 X를 생성하는 GAN loss와 Cycle c..
1. 전체 구조 이미지의 landmark를 추정하는 model 모래시계 모양(hourglass)의 network를 여러개 쌓아 올린 network 이미지를 최대한 작게 만들어 receptive field를 최대로 키워 landmark찾는데 신중하게 결론을 내리도록 함 skip connection 구조를 만들어 low level의 feature를 참고하여 더욱 정확한 landmark 위치를 찾도록 함 근데 단 1번의 network만 사용하지 않고 여러개 쌓아올렸다는 것은 network를 올라가면서 더욱 큰 그림을 그려가며 landmark 정보를 더욱 정교하게 찾아가도록 만들었음 2. hourglass module의 구조 하나의 stack인 hourglass module의 전반적인 구조는 위 그림의 모든 b..