본문 바로가기

분류 전체보기271

Maximum Mean Discrepancy(MMD, 최대 평균 불일치) 개념 정리 데이터 분석에서 정답을 맞히는 작업은 분포를 비슷하게 가져가는 것과 같은 말인데요. 확률 분포 간의 차이를 측정하는 효과적인 방법에 대한 연구는 학계에서 계속되고 있을 정도입니다. 그 결과 다양한 통계 기법이 출현하게 되었죠. 그중에 눈에 띄는 강력한 방법 중 하나는 최대 평균 불일치(MMD)입니다. MMD 지표는 데이터셋 간의 차이를 수치화하기 위한 역할을 하고 있습니다. 도메인 적응(Domain Adaptation), 커널 기반 방법 및 생성 모델링과 같은 분야에서 활용하고 있죠. 이 글에서 MMD(최대 평균 불일치)의 원리와 머신러닝, 딥러닝 영역에서 그 중요성을 다뤄 보겠습니다. 최대 평균 불일치(MMD)란? 최대 평균 불일치는 두 확률 분포 간의 차이점을 평가하기 위해 고안된 측정지표입니다. M.. 2024. 1. 31.
신경망 모델 최적화는 어떻게? 기울기, 학습률, 로컬 미니멈 우리가 신경망(딥러닝) 모델을 최적화를 말하자면 매개변수 갱신에 대해 이야기하게 됩니다. 매개변수 갱신을 위해서는 기울기와 학습률이라는 개념을 알아야 되죠. 매개변수 갱신을 하다 보면 로컬 미니멈과 글로벌 미니멈이 있다는 것을 알게 되죠. 그리고 로컬 미니멈에 안 빠지게 하는 기법들로 옵티마이저라는 개념을 배우게 됩니다. 그럼 하나하나 이야기해보도록 하겠습니다. 매개변수 갱신이란? 신경망 매개변수 업데이트는 훈련 단계에서 신경망의 매개변수(가중치 및 편향)를 조정하는 프로세스를 말합니다. 이 매개변수를 효과적으로 갱신하기 위해서 옵티마이저를 사용합니다. 옵티마이저는 손실 함수 값을 최저로 하는 매개변수를 찾기 위한 문제를 푸는 역할을 합니다. 딥러닝의 특성상 매개변수 수가 엄청나게 많아 쉽게 찾기는 어려.. 2024. 1. 30.
신경망 매개변수 갱신: 옵티마이저 이번 포스팅은 신경망의 매개변수 갱신하는 최적화 방법인 옵티마이저에 대해 알아보도록 하겠습니다. 이 부분에 대해 가장 잘 정리된 '밑바닥부터 시작하는 딥러닝' 저서를 기반으로 작성했습니다. 확률적 경사 하강법(SGD, Stochastic Gradient Descent) 최적의 매개변수 값을 찾는 단서로 매개변수의 기울기(미분)을 이용하는 방법입니다. 매개변수의 기울기를 통해 매개변수 값을 경신하면서 최적의 값에 다가갑니다. 수식 : $ 𝑊⟵𝑊 −𝜂 \dfrac{𝜕𝐿}{𝜕𝑊} $ , 𝜂(에타)는 학습률을 의미(0.01, 0.001로 미리 정의) 이 방법은 기울어진 방향으로 일정 거리(학습률)만큼 갱신한는 단순한 방법입니다. 장점 : 단순하고 구현이 쉬움 단점 비등방형 함수에서는 탐색 경로가 비효율적 비등방.. 2024. 1. 29.
오차역전파 알고리즘: ReLU, Sigmoid, Affine, Softmax 계산 이전 오차역전파를 이용한 계산에 이어 ReLU, Sigmoid, Affine, Softmax 는 역전파에서 어떻게 동작하는지에 대해 알아보겠습니다. 연쇄법칙을 이용한는 것을 기본공식으로 해서 각각의 특징적인 노드별로 계산법을 알아두면 딥러닝의 계산은 간단하게 정리됩니다. ReLU 계층 계산 그래프 ReLU의 수식인 $ 𝑦= \begin{cases} 𝑥, 𝑥>0 \\ 0, 𝑥≤0 \end{cases} $ 을 미분하면 $ dfrac{𝜕𝑦}{𝜕𝑥}= \begin{cases} 1, 𝑥>0 \\ 0, 𝑥≤0 \end{cases} $ 이 됩니다. 순전파에서 입력이 x > 0이면 역전파에서 upstream 값을 그대로 downstrem으로 보냄(1을 곱하는 효과) 반면, 입력이 x 2024. 1. 26.
오차역전파 알고리즘: 핵심은 연쇄법칙(chain rule) 오차역전파가 딥러닝에 발전에 많은 영향을 미쳤다는 것을 "퍼셉트론과 오차역전파" 라는 글에서 이야기한 적이 있습니다. 이번 글은 오차역전파의 원리와 계산하는 방법을 자세히 알아 보겠습니다. 오차역적파와 계산 그래프 오차역전파를 이해할려면 계산 그래프를 알아야 합니다. 오차역전파는 가중치 매개변수의 기울기를 효율적으로 계산하는 방법인데요. 오차역전파를 이해하는 방법은 계산 그래프를 이용한 수식 계산입니다. 그래서 개산 그래프는 말 그래도 계산 과정을 그래프로 나타내는 방법입니다. '밑바닥부터 시작하는 딥러닝' 이라는 책에서 계산 그래프를 통해 설명하고 있죠. 계산 그래프는 노드(node)와 에지(edge, 노드사이 직선)로 표현할 수 있습니다. 계산 그래프 구성하는 방법은 데이터와 연산자를 모두 노드로 연.. 2024. 1. 25.
딥러닝 모델 일반화(regularization) 총정리 이번 포스팅에서 딥러닝 모델의 일반화 방법들에 대해 알아보겠습니다. 성능 좋은 딥러닝 모델을 만들려고 하면 일반화 방법을 사용해야 하는데요. 여러 가지 일반화 기법들이 있습니다. 이 글에서 각 기법별로 특징과 어떤 경우에 사용하는지를 살펴보도록 하겠습니다. 왜 모델을 일반화할까? 모델을 학습하다보면 Training 데이터만 잘 맞추고 새로운 데이터에 대해 정확하게 예측하지 못하는 경우가 생깁니다. 이 현상을 과대적합(Overfitting)이 발생했다고 하죠. 모델이 다양한 실제 상황에서 잘 수행되게 만드는 과정이 일반화 과정이라고 합니다. 아래에서 소개하는 기법들을 통해 학습을 개선하게 됩니다. 데이터셋 큐레이션(의미부여 재창출) '쓰레기가 들어오면 쓰레기가 나온다'는 말처럼 우선 데이터에 집중해서 생각.. 2024. 1. 24.
딥러닝 하이퍼파라미터 튜닝 및 설정 이번 포스팅에서는 딥러닝에서 하이퍼파라미터 튜닝과 설정에 대해 알아보도록 하겠습니다. 딥러닝 모델링은 Layer 설계 단계, 컴파일 단계, 모델 fit 단계로 나눌 수 있습니다. 각 단계별로 하이퍼파라미터와 어떤 설정들을 고려해야 하는지 살펴보겠습니다. Layer 설계 단계 입력 층 : tensor 정의, 미니 배치 크기(Mini-batch Size) 정의 출력 층 : 출력이 몇개인지, 활성화 함수(ReLU 등) 설정 은닉 층 : 은닉층의 뉴런 개수, 활성화 함수 설정 네트워크 : Layer 몇층할지, 노드 몇 개 할지, 연결방식 결정 컴파일 단계 1.손실함수 설정 입력에 따른 예측 값이 실제 값과 차이를 계산하는 함수 훈련 과정에서 최소화할 값 현재 작업이 성공적인지에 대한 척도 MSE, Crossen.. 2024. 1. 23.
딥러닝의 수치미분과 편미분: 꼭 알아야 할 미분 공식 이번 포스팅에서는 딥러닝에서 미분이 왜 필요하고 딥러닝에서 중요한 미분 공식 5가지에 대해서도 살펴보도록 하겠습니다. 딥러닝을 배우다 보면 손실함수의 대한 미분, 수치미분, 편미분이라는 용어들이 나오게 되죠. 왜 딥러닝은 미분과 밀접한 관계가 있는지 알아보도록 하겠습니다. 손실함수에 미분은 왜 필요한가?손실함수(Loss Funcation)는최적의 매개변수를 찾는 과정이라고 했습니다. 최적의 매개변수를 찾기 위해 미분을 사용한다는 이야기인데요. 미분은 입력변수 x가 미세하게 변할 때 함수 f(x)가 얼마나 변하는지 알 수 있는 식입니다. 손실함수 f(x)는 입력 x의 미세한 변화에 얼마나 민감하게 반응하는지 그 기울기를 계산하기 위해 미분이라는 방법을 사용합니다. 미분계수 : 순간변화율 = 접선의 기울기특.. 2024. 1. 22.
카이제곱분포 사용 방법 이번 포스팅에서는 카이제곱분포에 대해 알아보도록 하겠습니다. 카이제곱 분포는 통계, 특히 가설 검정 및 신뢰 구간 구성의 맥락에서 발생하는 확률 분포입니다. 머신러닝이나 딥러닝에서 카이제곱분포는 속성 선택(feature seletion), 독립성 테스트, 적합도 평가 등에서 일반적으로 사용됩니다. 카이제곱분포란? 나무위키에 따르면 카이제곱분포(chi-squared distribution, χ2 분포)는 n개의 서로 독립적인 표준 정규 확률 변수를 각각 제곱한 다음 합해서 얻어지는 분포라고 설명하고 있습니다. 예전 표현으로 카이자승분포라고 하기도 합니다. 즉 다차원. n차원 확률벡터 y ~ N(0, I)에 대한 분포가 카이제곱분포입니다. 참고로 χ는 그리스 문자 카이(chi)입니다. 좀 더 쉽게 말하면, .. 2024. 1. 20.