목록전체 글 (6)
오늘도 꾸준히

머신러닝/딥러닝 모델을 공부하다 보면 "가중치 업데이트"에 대한 말을 많이 들어보셨을 것입니다.이에 관련된 내용으로 경사하강법과 같은 기법들을 다들 들어보셨을텐데요,결국 손실을 최소화하기 위해 학습하며 가중치를 업데이트 한다는 것입니다. 하지만, 만약 잘못된 손실 함수를 모델에게 준다면, 결과가 어떻게 될까요?손실 함수는 모델이 올바른 방향으로 가중치를 업데이트 하기 위해 매우 중요한 기준이 됩니다. 우리는 흔히 아래와 같은 이야기를 많이 듣고 접근 하는데요,회귀에는 MSE를 많이 쓰고, 분류에는 BCE를 많이 쓰더라!하지만 회귀/분류만 구별하고 이러한 방식으로 접근한다면, 성공적인 모델을 만들지 못할 것입니다. 오늘의 핵심은 데이터의 분포에 따라 손실 함수를 결정해야 한다는 것입니다.한 가지 예시를 들..

흔히들 머신러닝이나 딥러닝 모델을 돌리게 되면, 모델의 구조나 데이터 크기에 따라 시간이 기하급수적으로 늘어난다. 종종 2~3일 내내 돌아가는 딥러닝 모델도 존재한다. 학습 모델을 저장하는 이유는 여러 가지가 존재할 수 있는데, 학습 모델을 실제 산업 현장에 적용 한다거나, 크기가 매우 큰 딥러닝 모델을 여러번 나누어 학습할 때 사용할 수 있다. 난 그 중에 학습 모델을 실제 현장에 적용하기 위해 학습 모델을 저장해보고자 한다. 매 번 현장에서 학습 모델을 돌리고 예측값을 생성하면 너무 시간이 오래 걸리기 때문에, 학습된 모델의 가중치를 저장한 뒤, 실제 현장에서는 예측값만 생성하는 것이다. 학습 모델을 저장하는 데에는 Pickle 을 많이 사용하는데, Pickle의 한계점은 무엇이고, dill은 또 무..

기상청 API를 사용해서 분 단위 날씨 데이터를 수집해야 하는데, 일반적으로 사용하는 종관기상관측((ASOS))에서는 시간 단위 날씨 데이터를 제공했다. 분 단위 데이터를 찾기 위해 구글링을 하던 중, 방재기상관측((AWS))에 대해 알게 되었고, AWS를 활용해서 분단위 날씨 데이터 수집을 해보고자 한다. * 종관기상관측 vs 방재 기상관측종관기상관측이란 정해진 시각의 대기 상태를 파악하기 위해 모든 관측소에서 같은 시각에 실시하는 지상관측을 말합니다. 시정, 구름, 증발량, 일기현상 등 일부 목측 요소를 제외하고 종관기상관측장비((ASOS, Automated Synoptic Observing System))를 이용해 자동으로 관측합니다.방재기상관측이란 지진 · 태풍 · 홍수 · 가뭄 등 기상현상에 따..

통화 음성 데이터에서 두 화자를 분리시킨 후 화자별 음성 데이터를 각각 저장하기 위해 Pyannote를 직접 활용해볼 것이다.Pyannote는 화자 분리를 위한 오픈소스 toolkit이다. HuggingFace Token만 발급받으면 누구나 쉽게 사용할 수 있다.Pyannote의 구체적인 정보는 해당 깃허브에서 확인하길 바란다. Pyannote Github: https://github.com/pyannote/pyannote-audio GitHub - pyannote/pyannote-audio: Neural building blocks for speaker diarization: speech activity detection, speaker change deteNeural building blocks f..

CNN, 정말 많이들 들어본 딥러닝 모델일 것이다. RNN과 같은 다른 딥러닝 모델과 결합하기도 하는데, 이럴 때마다 CNN을 결합한다는 것이 정확히 무슨 의미인 지 이해가 안갔었다. 따라서, 이번 시간에 CNN이 무엇인 지 완벽하게 이해하고자 한다. CNN은 영상과 이미지 분야에서 탁월한 성능을 보여주는 딥러닝 모델이다. 컴퓨터가 데이터를 인식할 때, 숫자로 인식한다는 것을 들어봤을 것이다. 그렇다면, 컴퓨터는 이미지를 어떻게 인식하는 것일까?컴퓨터가 이미지를 인식하는 방법컴퓨터는 이미지를 비트맵 이미지로 인식한다. 비트맵 이미지는 픽셀 별 색상 정보를 의미하는데, 각 픽셀의 색상 정보 값은 0(검은색) 부터 255(흰색)으로 표현된다. 흑백 이미지의 경우는 0과 255만으로 표현될 것이고, 색상 이미..

손실함수((loss\ function))은 모델의 예측값과 실제값의 다른 정도를 측정하는 함수다. 손실함수가 작을수록, 모델의 예측값이 실제값과 비슷하다고 보면 된다. 실제값과 예측값의 차이를 Residual이라 표현하는데, 식으로 표현하면 다음과 같다.$$ d_i = (y_i^{(true)} - y_i^{(pred)}) $$흔히 사용되는 손실함수인 잔차제곱합의 식은 다음과 같다.$$RSS = \sum_{n=0}^{N-1} d_i ^2$$이러한 손실함수의 값을 최소화하는 방법을 Optimization이라고 한다.Optimizer의 종류는 경사하강법, 최소제곱법, Adam 등이 있다.이번 글에서는 Gradient Descent에 대해 자세히 알아볼 것이다. Gradient Descent손실함수가 최적화한다..