Machine Learning Models/Techniques (9) 썸네일형 리스트형 Open CLIP text embedding pooling 현재 인공지능의 대표적인 키워드를 하나 꼽으라면, 인간의 의사소통에서 사용하는 이미지, 텍스트, 음성 등의 다양한 매개체를 연결하는 multi-modality 구현일 겁니다. 특히 다양한 전달 매개체 중에 직관적이면서 다루기 쉬운 text 데이터와 이미지를 연결하려는 시도가 중심적으로 이루어졌고, OpenAI가 CLIP (Contrastive Language-Image Pretraining) 모델을 내놓으면서 multi-modality 연구의 중요한 분기점이 시작되었습니다. 이제는 CLIP 모델은 image-text 기반의 다양한 연구에 디폴트로 사용되고 있고 open_clip 라이브러리를 통해 매우 손쉽게 모델을 불러와 사용할 수 있습니다. import open_clip model, _, preproc.. Smooth L1 Loss vs Huber Loss 일반적인 회귀 (regression) 훈련에는 예측값과 실제값 차이의 절댓값인 L1 loss나 예측값과 실제값 차이의 제곱인 L2 loss를 목적 함수로 사용하게 됩니다. 잘 알려져 있다시피 L2 loss는 모든 구간에서 안정적으로 미분이 가능하지만 제곱이 들어가는만큼 아웃라이어 (이상치)에 민감하게 반응하고, L1 loss는 아웃라이어에 L2 loss 대비 강건한 대신 미분이 불가능한 지점이 존재하고 평균 대신 중앙값 (median)을 추정하는 만큼 부정확한 요소가 존재합니다. 따라서 L1, L2 loss을 합친 Smooth L1 loss나 Huber loss가 제안되었습니다. Huber loss, Smooth L1 loss 모두 L1과 L2의 장점 만을 합치고자 제안된 목적 함수로 공통적으로 예측값과.. GELU (Gaussian Error Linear Unit) BERT, GPT, ViT 모델에서는 인코더 블락 안의 2-layer MLP 구조의 활성화 함수로 ReLU가 아닌 GELU (Gaussian Error Linear Unit) 함수가 사용됩니다. 최신 NLP, Vision SOTA 성능을 도출하는 모델들이 GELU 함수를 사용하면서 최근에 발표된 것이 아닌가 싶지만 arxiv 상에서는 16년 6월에 올라온 나름 오래된 함수입니다. 입력 $x$의 부호에 대해서 self-gating 하는 ReLU 함수와 달리 ($x 1_{x>0}$) GELU 함수는 $x\Phi (x)$ 형태로 정의되는데요, 한번 살펴보도록 하겠습니다. GELU 함수는 dropout, zoneout, ReLU 함수의 특성을 조합하여 유도되었습니다. 먼저 ReLU 함수는 입력 $x$의 부호에 .. Label Smoothing Multi-class 분류를 위한 cross entropy loss 에서 목적함수의 타겟으로 사용되는 라벨은 일반적으로 정확히 하나의 클래스만 명확히 표현하는 (one-hot vector) hard 라벨이 사용됩니다. Label smoothing 기법은 한 클래스가 전체를 모두 차지하는 hard 라벨을 정답 클래스의 비중을 약간 줄이고 나머지 클래스의 비중을 늘리는 soft 라벨로 변환하는 기법인데요, 처음에는 Inception 구조의 성능을 높이고자 도입되었고 간단한 정규화 방법으로 image classification, speech recognition, machine translation 분야에 Table 1에서 처럼 적극적으로 사용되고 있습니다. $K$개의 클래스에 대해서 라벨을 얼마만큼 부드럽게.. CutMix 이번 포스트에서 살펴볼 내용은 네이버 Clova 에서 발표한 CutMix 입니다. 그동안 이미지 기반 태스크의 성능을 끌어올리기 위해 Mixup, Cutout 등과 같은 다양한 data augmentation 기법이 제안되었는데요, 이 방법들은 이미지에서 일부분을 잘라내서 0으로 채우거나 (Cutout) 다른 이미지와 겹침으로서 CNN 으로 하여금 이미지의 덜 중요한 부분까지 (사람으로 치면 머리가 아닌 다리) 포커싱하게 만드는 regional dropout 전략이라고 볼 수 있습니다. 하지만 Table 1에서 보다시피 Cutout 은 이미지의 일부분을 아예 삭제하여 정보 손실을 유발하고 Mixup 은 다른 이미지와 interpolate 함으로서 이미지 정보가 왜곡되어 버리는 현상이 발생합니다. CutM.. Mish 비선형 활성화 함수는 deep neuarl networks 설계에 필수적인 요소입니다. 초창기에는 sigmoid, tanh 같은 함수가 주로 사용되었지만 bounded 되어있는 특성상 gradient 포화현상이 발생하여 현재는 ReLU 함수가 거의 대부분의 (특히, CNN 계열의) neural networks 에서 대표적인 비선형 활성화 함수로 사용되고 있습니다. ReLU (Rectified Linear Unit) 은 sigmoid, tanh 함수에 비해 일반화 성능 및 수렴 속도가 좋다고 알려져 있지만 만능의 함수는 아닙니다. ReLU 의 대표적인 문제로는 dying ReLU 로서 이는 ReLU 함수 자체가 음수값을 아예 0으로 만들어버리기 때문에 값이 한번 음수가 되버리면 그 부분에 대해서는 기울기 .. Learning Deep Features for Discriminative Localization (CAM) 이번 포스트에서 다룰 내용은 explainable AI (XAI) 의 원조격인 CAM (Class Activation Mapping) 입니다. 2015년 CVPR 에서 발표되었고 이미지 classification 에 GAP (Global Average Pooling) 을 사용하여 이미지의 어느 부분이 모델의 판단 근거가 되었는지를 파악합니다. Figure 1에서 보듯이 GAP 층과 CAM 을 이용하여 이미지를 분류함과 동시에 이미지의 판단 근거가 되는 중요한 부분을 localization 하는 것이죠. Class activation mapping CAM 이란 각 카테고리 별로 모델이 카테고리를 파악하기 위한 중요하고 차별적인 이미지 부분을 말합니다. 이를 마지막 convolution layer 전체를 높.. Interpretable Explanations of Black Boxes by Meaningful Perturbation 딥러닝 모델은 여러 분야에서 기존의 방법보다 강력한 성능을 보이지만 수많은 비선형의 조합으로 이루어져 왜 잘되는지를 설명하기가 쉽지 않아 보통 black-box 함수로 불리웁니다. 의사 결정 시에는 딥러닝 모델의 결과를 무조건적으로 신뢰하는 것이 아니라 왜 그런 결과를 나타내는지에 대한 설명이 판단 근거로 필요하기 때문에 explainable AI (XAI) 분야에 대한 관심이 점점 높아지고 있는 상황입니다. 예를 들어 이미지의 어떤 부분을 보고 특정한 클래스를 예측했는지 설명이 필요하다는 것이죠. 이 논문은 딥러닝 모델, black-box 함수 $f$의 입출력 관계를 해석하는 방법으로 다음 그림처럼 classification 에서 이미지의 어떤 부분이 $f$의 결과에 가장 큰 영향을 미치는지 설명합니다.. 이전 1 2 다음