Loading...
2024. 3. 1. 01:53

gradient descent를 위한 gradient vector의 이론적 설명 간단하게

1. 방향도함수(directional derivate) 이변수함수 z = f(x,y)와 임의의 단위벡터(norm이 1인 벡터) u = (a,b)에 대하여... 벡터 u를 지나는 평면으로 z = f(x,y)를 잘랐을때 생기는 곡선 위 (x0,y0,z0)위에서의 접선의 기울기? 다음과 같이 정의되는 식을 u = (a,b)에 대한 방향도함수라고 부른다. g(h) = f(x0 + ha, y0 + hb)라고 하자. h = 0이면 g(0) = f(x0,y0)이므로.. 그런데 x(h) = x0 + ha, y(h) = y0 + hb라 하고 g(h) = f(x(h), y(h))라고 하자. 합성함수 미분법에 의하여... 다음과 같이 유도가능하다. 위 식에 h = 0을 넣으면 g'(0)이고 이는 방향도함수와 같으므로... ..

reproducibility를 위한 random seed

1. 필요성 모델의 재현성 cross validation의 경우 실행할 때마다 매번 다르게 sampling되어 model의 성능이 매번 다르다 반복해서 실행했을 때 동일한 조건에서 동일하게 sampling되어야 정확하게 model 성능 측정이 가능함 머신러닝 모델도 random하게 작동하므로 작업 복원을 위해서라도 반드시 필요함 어떤 가설을 설정하고, 그것이 맞는지 실험할려고 하는데 재현이 안된다면 가설에 의한 변화 때문에 성능이 바뀐건지, 다른 원인이 있는건지 파악할 수 없음 2. seed 모델의 랜덤성 때문에 풀고자 하는 문제에 대하여 데이터가 매번 바뀌면 모델 성능 측정시 내가 만든 feature나 전처리 방식이 효과적인지 확인이 어렵다 랜덤성을 제거하기 위한 seed를 고정 feature engi..

2023. 9. 13. 04:06

구현하면서 배우는 weight initialization(가중치 초기화) 중요성

가중치 초기화(weight initialization)은 모델을 만들고 훈련하기 전에 한번 수행을 한다 좋은 가중치 초기화는 모델이 optimal point에 더 빠르게 다가갈 수 있게 한다 1. 상수 가중치(all zero or one) occam's razor(경제성의 원리)에 따르면 모든 가중치 값을 동일한 상수로 가정하는게 최적의 솔루션일 수 있다 모든 weight가 동일하다면, 각 layer의 뉴런이 동일한 output을 내놓기 때문에 모델이 어떤 weight를 바꿔야 최적해를 찾는지 결정하기 어려워서 training을 어렵게 한다 FashionMNIST 데이터셋에 동일한 MLP 모델을 training하는데 가중치를 모두 0으로 초기화하는거랑 1로 초기화하면... 2. random weight ..

2023. 9. 13. 00:34

구현하면서 배우는 batch normalization에 대한 몇가지 핵심사항

면접에서 batch normalization이 training하기 전에 실행하냐? training하면서 실행하냐? 이런걸 물어봤는데 batch normalization에 대해 몇가지를 배워보자 1. 핵심 아이디어 The idea is that, instead of just normalizing the inputs to the network, we normalize the inputs to layers within the network. network에 대한 input을 normalizing하는 것 대신에 network 내부의 layer에 대한 input을 normalizing함 It's called batch normalization because during training, we normalize e..

2023. 7. 5. 23:14

컴퓨터로 sound data를 표현하는 방법들에 대하여(Fourier transform, spectrogram, melspectrogram, MFCC)

1. sound representation 기본적으로 sound data는 1d signal waveform으로 주어짐 waveform에서 점을 임의로 뽑아 다음과 같이 1d tensor로 만듦 시간축에 따른 waveform을 그대로 사용하기는 어려워서 주파수 축에 옮기기 위해 Fourier transform을 이용 근데 그냥 전부 옮기는 것이 아니고 시간에 따른 변화를 파악하기 위해 굉장히 짧은 구간에서 변형시키는 short time Fourier transform을 사용 시간에 따른 변화를 구할려면 sliding window방식으로 구간을 옮겨가면서 변화시켜야함 짧은 구간인 A(20~25로 hyperparameter)에서 가운데 부분을 강조시키면서 boundary는 약하게 만들어서 spectrum으로..

2023. 6. 18. 01:46

Nearest neighbor search vs. t-sne를 이용한 차원 축소 기법

1. Nearest neighbor search - idea high level에서 나온 feature에 대한 분석 여러가지 이미지 데이터를 주고 데이터 베이스에 저장된 데이터중 이들과 가장 비슷한 데이터를 유사도에 따라 정렬 왼쪽이 input으로 준 이미지 데이터이고 오른쪽이 유사한 정도에 따라 정렬한 결과 이 결과를 잘 살펴보면 코끼리 같은 경우 코끼리라는 의미로 비슷한 이미지들이 clustering되어있는 것을 확인 가능 이 모형이 이미지의 의미를 잘 파악했구나로 생각 가능하다 비슷한 이미지 검색을 어떻게 했을지 생각해본다면 단순하게 두 이미지 사이에서 대응하는 pixel별로 거리가 가까운 걸 고를수있는데 그렇게 한 경우 마지막 줄에 주어진 개 이미지의 경우 포즈가 거의 비슷한 개만 출력해야하는데 ..