최근 수업 중 custom loss를 구현하는 과제에서 알게 된 trick인데 softmax 연산을 수행할 때 내부적으로 overflow나 underflow를 방지하기 위한 방법으로 이 방식을 사용한다고 한다. 이름에 나오듯 Log와 Summation 그리고 Exponential을 이용한 트릭이다. exp를 기존 방식대로 계산해보면 아래와 같이 overflow가 발생하게 된다. import numpy as npx = np.array([1000, 1000, 1000])print(np.exp(x))# [inf inf inf] x와 같은 logit(입력값)을 구해 softmax 연산을 위해 적용하였을 때 overflow가 발생하게 되고 이는 결국 loss가 발산하거나 backpropagation이 실패하는 결..
신호처리에서 LTI 시스템과 같은 부분에 대해 공부하다 보면 Impulse Input(임펄스 입력)과 Impulse Response(임펄스 응답)에 대해 자주 접하게 된다. 더 나아가 이 개념과 함께 Convolution(컨볼루션)에 대해서도 함께 배우게 된다. 여기서 Convolution은 우리가 알고 있는 그 Convolution Neural Network(CNN)의 Convolution이다. 다만, CNN에서 사용하는 Convolution 연산은 수학적으로 엄밀한 의미의 Convolution이 아니라, 실제로는 Cross-Correlation이긴 하지만 어쨌든 단어 자체는 익숙할 것이다.이 글에서는 임펄스 입력과 출력이 무엇인지, 시스템이 그것에 어떻게 반응하는지를 설명하고, 이와 연결된 컨볼루션 ..
음성 인식 분야를 공부하며 Spectrum(스펙트럼)과 Cepstrum(켑스트럼)이라는 개념을 자주 접하게 된다. 두 개념은 모두 시간 영역(time domain)의 신호를 주파수 기반으로 분석하는 도구이지만, 처리 방식과 해석의 초점이 다르다.Spectrum: 신호의 주파수 구성 성분을 보는 방법Cepstrum: 주파수 구조 내부의 반복 패턴을 분석하는 방법이 글에서는 두 개념을 쉽게 비교하고, 음성 신호 처리에서 어떤 역할을 수행하는지 설명하려 한다. Spectrum(스펙트럼)Spectrum은 신호의 주파수 성분을 나타낸 것이다. 즉, 어떤 신호가 어떤 주파수로 구성되어 있는지를 보여주는 것이다. 시간 영역의 신호 \( x(t) \) 또는 이산 신호 \( x[n] \)에 대해, 푸리에 변환(Fouri..
딥러닝이나 머신러닝 모델을 다루다 보면 Logit(로짓)과 Odds(오즈)라는 용어를 자주 접하게 된다. 이 두 개념은 특히 분류 문제에서 모델의 예측 결과를 해석하거나 후처리하는 데 중요한 역할을 한다. 이 글에서는 logits와 odds의 정의부터 계산 방식, 그리고 실전 활용 예까지 정리하였다. Odds(오즈)Odds(오즈)는 어떤 사건이 일어날 확률 대비 일어나지 않을 확률의 비율이다. 확률과는 다른 개념으로, 주로 통계학과 로지스틱 회귀에서 사용된다. 정의는 다음과 같다.$$ p(x) = wx+b $$$$ \text{odds} =\frac{p(x)}{1-p(x)} $$ 여기서 \( p \)는 특정 사건이 발생할 확률이다. 예제 1\( p = 0.8 \)이라면 odds는 다음과 같다.$$ \te..
Penultimate: 마지막(끝)에서 두 번째Penultimate Layer: 제일 마지막 Layer 인 Classifier (Linear + softmax) 바로 직전 layer 간혹 대학원 수업 도중 Penultimate Layer에 대한 내용이 언급되고는 하였는데, 해당 Layer의 의미에 대해 정리해보려 한다. Penultimate Layer 딥러닝 모델에서 Penultimate Layer는 말 그대로 끝에서 두 번째 층을 의미한다. 특히 분류(Classification) 문제에서 이 층은 모델의 최종 표현(feature representation)을 생성하는 데 중요한 역할을 한다. 출력층 바로 앞에 위치하며, 모델이 입력 데이터를 어떻게 이해하고 있는지를 간접적으로 보여주는 층이기도 하다...
음성정보처리를 수행할 때 Hidden Markov Model(HMM)에 대해 배우게 된다. 현재는 DNN 기반의 여러 방법들이 사용되고 있지만 레거시라고 그냥 넘어가기엔 큰 영향이 있었던 방법이므로 다시 정리하려한다. HMM을 살펴보기 전 Markov Model이 무엇인지 먼저 살펴보자. Markov ModelMarkov Model은 확률 기반 시퀀스 모델의 시작점으로 볼 수 있다. Markov Model은 시스템이 여러 상태를 가지고 있으며, 각 상태(State) 사이를 이동하는 확률인 전이 확률(Transition Probability)을 마르코프 성질로 정의한 확률 모델을 의미한다. 상태와 전이 확률을 다음과 같이 정의할 수 있다.상태(State): 시스템이 취할 수 있는 다양한 상태. 예) 날씨의..