파일 디스크립터(File Descriptor)파일 디스크립터(File Descriptor, FD)는 운영체제가 프로세스가 접근할 수 있는 파일, 소켓, 파이프 등을 구분하기 위해 부여하는 정수 값이다. 리눅스나 유닉스 계열 시스템에서 자주 사용되며, 시스템 콜(system call)을 통해 파일이나 네트워크 자원에 접근할 때 핵심적으로 활용된다. 간단히 말해, 프로세스 입장에서 파일 디스크립터는 파일을 가리키는 핸들(handle) 역할을 한다. 이 정수값을 통해 프로세스는 운영체제에게 어떤 파일에 어떤 작업을 수행할지를 요청할 수 있다. 프로세스가 시작되면, 기본적으로 세 개의 파일 디스크립터가 자동으로 열리게 된다.파일 디스크립터 번호이름설명0stdin표준 입력1stdout표준 출력2stderr표준 오..
음성정보처리를 수행할 때 Hidden Markov Model(HMM)에 대해 배우게 된다. 현재는 DNN 기반의 여러 방법들이 사용되고 있지만 레거시라고 그냥 넘어가기엔 큰 영향이 있었던 방법이므로 다시 정리하려한다. HMM을 살펴보기 전 Markov Model이 무엇인지 먼저 살펴보자. Markov ModelMarkov Model은 확률 기반 시퀀스 모델의 시작점으로 볼 수 있다. Markov Model은 시스템이 여러 상태를 가지고 있으며, 각 상태(State) 사이를 이동하는 확률인 전이 확률(Transition Probability)을 마르코프 성질로 정의한 확률 모델을 의미한다. 상태와 전이 확률을 다음과 같이 정의할 수 있다.상태(State): 시스템이 취할 수 있는 다양한 상태. 예) 날씨의..
일반적으로 Softmax 함수는 일반적으로 모델의 최종 출력층(final layer) 에서 사용된다. Softmax를 통해 출력된 값은 각 클래스에 대한 확률 분포로 해석할 수 있으며, 이를 기반으로 Cross Entropy Loss를 계산하여 ground truth와 예측 결과 간의 차이를 측정한다. 이때, Backpropagation 과정에서 Softmax와 Cross-Entropy에 대한 Chain Rule을 적용하여, Loss를 입력(logit)에 대해 미분함으로써 역전파를 시작한다. 우리는 Softmax와 Cross Entropy를 각각 따로 처리하는 대신 결합하여 하나의 연산처럼 다루는 것이 일반적이다. 이렇게 하면 수치적으로 더 안정적이며, 계산이 간편해진다. 특히, Softmax의 출력이..
Cross Entropy와 KL(Kullback–Leibler) Divergence는 머신 러닝과 딥러닝 분야뿐만 아니라 여러 분야에서 사용된다. 특히 분류 문제나 확률 분포를 다루는 모델에서 자주 등장하는 개념이다. 두 개념 모두 확률 분포 간의 차이(Divergence)를 측정하는 방법이라는 공통점이 있지만 목적과 수식 구조, 해석 관점에서는 차이가 있다. 위 주요 개념들에 대해 살펴보기 전에 정보량과 Entropy가 무엇인지 알고 넘어가자. 정보량(Information Quantity)정보량(Information Quantity)이라는 개념은 다소 추상적으로 느껴지지만, 실제로는 매우 논리적인 수식으로 설명이 가능하다. 정보량을 직관적 이해해 보자. 예를 들어, 어떤 사람이 대학교에서 수업에 지각했..
LTI(Linear Time-Invariant) Systems에 대해 확인하기 전 여기서 System이 뭘 의미하는지 살펴보자. System은 신호를 처리하여 새로운 신호 또는 새로운 신호 표현을 생성하는 방식으로 동작한다. 시스템의 입력과 출력이 모두 이산시간 신호일 경우, 해당 시스템을 이산시간 시스템(discrete-time system)이라고 부른다. 이런 시스템의 특성을 가진 LTI 시스템(Linear Time-Invariant System)은 이름에 나오듯 선형(linear)성과 시간 불변성(time-invariance)을 만족하는 시스템이다. 저 특성들에 의해 어떤 시스템을 Predictable하게 해주는 것이 핵심이라 생각한다. LTI에 대해 이해하기 전에 Causality(인과성)와 ..
기본적으로 변환(Transform)이라는 말이 붙은 모든 것들은 기존의 풀거나 해석하기 어려웠던 형태를 보다 더 쉬운 형태로 바꿔주는 수학적 기법들이다. Z Transform(Z 변환)은 좁게는 선형 차분 방정식(Linear Difference Equation)을 쉽게 풀 수 있게 만들어 주는 테크닉이라고 할 수도 있고, 좀 더 넓은 의미에서는 DTFT(Discrete Time Fourier Transform)의 일반화된 형태라고 할 수도 있다. Z 변환에는 One-Sided Z-Transform, Two-Sided Z-Transform이 있다. One-Sided Z-TransformOne side Z 변환은 +영역만을 사용하는 변환이다.$$ X(z) = \sum_{n=0}^{\infty} x[n] z..