TodayLearn

전체 글22

Circular convolution 계산법과 언제 linear convolution과 같아지나 살피기 Circular convolution DFT 상에서의 \(X_1[k]\cdot X_2[k]\)를 IDFT하게 되면 linear convolution이 아니라 circular convolution으로의 \(x_1[n] \bigotimes x_2[n]\)로 나타내어진다. 만일 \(x_1[n]\)과 \(x_2[n]\)을 N=6, N=10에 대해서 circular convolution을 한다고 생각해보자. N=6인 경우는 사실 \(x_1[n]\)과 \(x_2[n]\) 중 max 값이기도 하다. 우선 linear convolution을 한다. $$x_1[n] * x_2[n] = \sum_{k=-\infty}^{\infty}x_1[k]x_2[n-k] = \sum_{k=0}^{}x_1[k]x_2[n-k]$$ n=0일.. 2023. 5. 24.
[파이썬]리스트에서 특정 column 내용 추출하기 보통은 데이터와 그에 해당하는 특징을 표현할 때 하나의 데이터를 한 묶음으로 feature을 열거하겠다. 예시를 들면 다음과 같다. Data = [ [사람 1의 나이, 키, 사는 곳], [사람 2의 나이, 키, 사는 곳], ...] 어느 i번째 데이터를 나타내려면 간단히 Data[i] 하면 되겠다. 그렇다면 "나이" 항목만 추출하여 [사람1의 나이, 사람 2의 나이, ...] 와 같은 식으로는 어떻게 나타낼까? for문을 돌리지 않고 나타낼 수 있는 경우에 한해 포스팅한다. 1) 데이터는 실제로 txt나 csv에서 정보를 제공해주기도 하므로 pandas를 써서 나타내면 아래와 같다. Data = [[25, 175, "Seoul"],[40, 166, "Gwanju"], [15, 160, "Busan"]] .. 2023. 5. 24.
음원 분리를 위한 mixture 생성 시 고려할 점 음원 분리를 위한 모든 source의 합 mixture을 구성할 때 단순히 summation으로 구할 수 있다면 좋겠지만 그것은 이상적인 이야기이다.. 실질적으로 어떤 처리를 해야할 지 알아보자.1. Paddingsources로부터 잘라서 사용한다거나, 데이터셋을 각기 다른 것으로부터 불러와 mixture을 만들 때 당연하게도 각 source마다 길이를 맞춰주어야 할 것이다.torch.nn.Functional의 F.pad를 사용하면 쉽게 가능하다.F.pad(wav, (num_padding_left, num_padding_right))이렇게만 알고 있어도 충분할 것이다. 2. Normalization (signal level 조정)같은 녹음 환경이 아니라면, 혹은 source의 특성 상 signal lev.. 2023. 5. 20.
내적, cosine similarity, projection 정사영 한번에 짚기 우리는 극좌표계를 통해서 다음과 같이 나타낼 수 있음을 안다. 여기서 r을 벡터 v의 크기로 보게 된다면 아래와 같이 충분히 표현 가능하다. 이번에는 벡터 a, b 두 개가 있고 b를 a에 정사영시킨다고 생각해보자. b를 a 방향으로 projection하는 것이다. 위에 본 바에 의하면 $$|proj_{ \vec{a}} \vec{b}|=| \vec{b}|cos{\theta}$$ 가 되는 것이 자연스럽다. 이는 정사영된 벡터의 크기가 되겠고 정사영벡터는 위에 정사영하고자 하는 벡터 방향으로의 크기가 1인 방향성만 추가해주면 되겠다. $$proj_{ \vec{a}} \vec{b}=| \vec{b}|cos{\theta} \cdot \frac{\vec{a}}{|\vec{a}|}$$ 여기서 내적 이야기를 할 수 .. 2023. 5. 17.

TOP

Designed by 티스토리