목록[간단 정리] (7)
TechY
최근에 openai 의 structured output 지원이 공개되었는데 기존에 지원하던 json mode보다 더 강력한 구조화 출력이 지원된다.공개 문서를 읽어보니 structured output 을 만든 방법을 간단하게 써줬길래 잊어버리고 싶지 않아 간단하게 정리해본다. 1. 학습을 많이 시킴- gpt-4o-2024-08-06 모델이 structured output 을 지원하는데, 복잡한 스키마를 이해하고 이를 기반으로 출력을 생성하게끔 학습을 많이 시켰다고 한다.- 하지만 LLM은 태생적으로 non-deterministic 하기에 deterministic 한 engineering-based approach 를 추가로 사용했다. 2. Constrained decoding- 우선 constrained..
calibration 1편에서는 calibration 이란 무엇인지와 주로 사용되는 metric 에 대해 다루었고, calibration 2편에서는 고전적인 calibration 방식이자 sklearn.calibration module 이 지원하는 방법론인 sigmoid 와 isotonic method 에 대해 알아봤다. 이번에는 딥러닝에서 사용되는 calibration method 에 대해 알아보려 한다. 참고한 논문은 아래와 같다. On Calibration of Modern Neural Networks [링크] Calibrating Deep Neural Networks using Focal Loss [링크] On Mixup Training: Improved Calibration and Predict..
지난 1편에 이어, 이번에는 model calibration 에 대한 기법들을 알아보려 한다. model calibration 기법은 크게 두 개로 나뉘어질 수 있다. 1. 모델을 학습한 후 (train-set), calibration post-processing 진행 (validate-set) 2. 모델을 학습할 때, calibration method 동시에 학습 (train-set), calibration method 에 대한 hyper-parameter tuning (validate-set) 이번에 다뤄보려고 하는 것은, 위의 1번에 해당하는 post-processing 기법이며 특히 sklearn.calibration.CalibratedClassifierCV 모듈에 있는 기법인 'sigmoid' ..
model distilation 논문을 보면, teacher model이 주어진 input 에 대한 예측값, 더 정확히는 특정 class labels 에 할당된 predicted probability 을 사용해 student model 을 학습시킨다. 이는, 모델이 주는 probability 는 모델의 knowledge 라고 할 수 있음을 시사한다. calibration 이란 예측된 probability 가 옳음의 우도 (likelihood of correctness) 를 나타내게 하는 task 를 의미한다. 한 논문의 예시를 가지고 와보면, 100개의 예측값이 있다고 하고 모델이 특정 class label 에 대한 예측 probability/confidence (probability 는 불확실성을 내포..
neural network 의 vector output 은 D를 output dimension 이라고 하면, 데이터 하나에 [1XD] 의 형태를 띄고 있다. neural netowork 모델 파라미터를 고정시키고, output vector 를 input 으로 하는, (non) linear regression 을 통해, task 를 해결하려고 할 때, input 의 형태를 보면, multi-collinearity 의 형태를 띄고 있다. multi-collinearity 는 parameter estimate 의 variance 를 크게 만들기 때문에, 평소 SVD를 해서 사용해오던 차에, 논문을 읽었는데, 글을 인용해본다. "Due to its overparameterization, the coeficien..
kernel method pattern analysis의 목적은 general type of relation in dataset이라고 할 수 있다. 다양한 algorithm을 통해 이를 해결할 수 있는데 이중 kernel method는 kernel function으로 high-dimensional mapping 을 하며, inner-product를 통해 이들 간의 similarity(relation) 를 계산한다. Φ(𝑥𝑖)𝑇Φ(𝑥𝑗) kernel trick 위의 연산은 고차원 연산과 내적 연산이 따로 이루어져, computationally expensive 하다. mercer's theorem에 따라, 두 연산을 한 번에 진행해주는 kernel function 𝐾K를 정의한다. 𝐾(𝑥𝑖,𝑥𝑗)=Φ(𝑥𝑖..
본 포스팅은 해당 블로그 를 참조하고 나름대로 번역하여 만들어졌습니다. RNN 기반의 sequence model 의 코드를 보다보면, torch.nn.utils.clip_grad_norm_(model.parameters(), clip) 와 같은 코드 라인을 만나게 됩니다. 과연 어떤 것을 위한 것이고 어떻게 작용하는 것일까요? RNN(recurrent neural net)을 공부하다보면, 자연스레 long term dependency를 해결하기 위해 LSTM , GRU 를 공부하게 되는데, 이유는 vanishing gradient로 인해서, 멀리 떨어져있는 단어들 간의 관계성을 잃어간다는 것에 있었습니다. 그 이유는, RNN의 특성 상, 계속 recurrent 해갔기 때문인데, 여기서 recurrent ..