'Machine Learning' 카테고리의 글 목록 (3 Page) — 뚝딱이

Machine Learning

Machine Learning/이론

[ML] 규제, 가중치 감소

규제, 가중치 감소 $$ w^{T}x+b=0 $$ \( w^{T}x+b=0 \)에 2를 곱하면 \( 2w^{T}x+2b=0 \)이 되고 이 두 방정식은 같은 직선을 표현하게 됨 그렇다면 위의 2개의 직선중 어떤 방적식을 사용하는 것이 좋을까? 정답은 가중치와 편향을 작게 만드는 방정식을 사용하는 것이다. 가중치 감소(Weight decay)는 학습 과정에서 작은 크기의 가중치를 찾게 만드는 정규화 기법이다. 가중치 감소 적용 방식 가중치의 크기를 제한하는 제약 조건으로서 손실 함수의 일부 항으로 표현할 수 있음 손실 함수로 확장해서 가중치의 크기를 표현하는 정규화 항(Regularization term)을 더하면, 최적화 과정에서 원래의 손실 함수와 함께 정규화 항도 같이 최소화 되므로 크기가 작은 가중..

Machine Learning/기법

[ML] 정규화

최적해로 가는 길을 잘 찾을 수 있게 정규화(Regularization)하는 것이 중요함 최적화 과정에서 최적해를 잘 찾도록 정보를 추가하는 기법으로, 최적화 과정에서 성능을 개선할 수 있는 포괄적인 기법들을 포함한다. 1. 최적해가 어떤 공간에 있는지 알려줌 2. 손실함수를 부드럽게 만듦 3. 최적해 주변을 평평하게 만듦 4. 모델과 데이터에 확률적 성질을 부여하여 다양한 상황에서 학습하는 효과를 줄 수 있음 일반화 오류 모델의 훈련 성능과 검증/ 테스트 성능의 차를 일반화 오류(Generalization error)라고 함 일반화 오류가 적을수록 일반화가 잘된 모델임 신경망은 모델이 크고 복잡하기 때문에 파라미터 공간이 크고 학습 데이터가 많이 필요함 이러한 이유로 과적합되기 쉬우니 신경망을 학습할때..

Machine Learning/기법

[ML] Optimizer 옵티마이저, 최적화

Optimizer 학습률 최적화를 진행할 때 한 걸음의 폭을 결정하는 Step size이다. 학습률이 크다면 최적해에 빠르게 도달하고 작다면 느리게 도달함 확률적 경사하강법(Stochastic Gradient Descent) 손실 함수의 곡선에서 경사가 가장 가파른 곳으로 내려가다 보면 언젠가 가장 낮은 지점에 도달한다는 가정으로 만들어졌다. 알고리즘의 가정이 단순한 만큼 다양한 상황에 쓰기 못하고 학습 속도도 느리고 성능의 한계도 존재함 고정된 학습률을 사용하기 때문에 경험에 의존하여 학습률을 지정해야 한다. 감과 경험에 의존하여 학습률을 구하기 때문에 효율적이지 못함 수식 $$ x_{t} = x_{t-1} - lr * \nabla f(x_{t-1}) $$ SGD문제 고정학습률 문제 학습률이 작다면 최..

Machine Learning/기법

[ML] 손실 함수

손실 함수 최적화 문제의 손실 함수는 어떻게 정의해야할까? 손실 함수 정의 기준 신경망 모델이 정확하게 예측하기 위해서 모델은 관측 데이터를 잘 설명하는 함수를 표현해야 한다, 이때 모델이 표현하는 함수의 현태를 결정하는 것이 손실 함수이다. 따라서 손실 함수는 최적의 해가 관측 데이터를 잘 설명할 수 있는 함수의 파라미터 값이 되도록 정의해야한다. 오차 최소화(Error Minimization) 모델의 오차를 최소화 시키는 방법 모델의 오차란 모델의 예측과 관측 데이터의 타깃의 차이를 말한다. 손실 함수의 목표가 모델의 오차를 최소화 하는 것 이므로 직관적이고 이해하기 쉽다. 따라서 손실 함수를 정의할 때 어떤 방식으로 오차의 크기를 측정할지만 정하면 된다. $$ y(x_{j};\theta)-t_{i}..

Machine Learning/기법

[ML] 경사하강법

신경망의 최적화 알고리즘은 대부분 경사 하강법에서 확장된 형태로 경사하강법은 매우 단순한 알고리즘으로 쉽게 이해하고 적용할 수 있다. 신경망의 학습 목표 신경망의 손실 함수는 차원이 매우 높고 복잡하기에 최적화가 어렵다. 손실 함수에는 지역 최소(Local minimum), 전역 최소(Global minimum)이 있다. Local minimum 함수에서 부분적으로 낮은 곳 Global minimum 함수 전체에서 가장 낮은 곳 차원이 클수록 Global minimum을 찾기 힘들고 비용이 많이 든다. 또한 문제가 크고 복잡할 경우 전역 최소를 찾는 것이 어렵고 때로는 불가능이다. 따라서 대부분의 최적화 알고리즘의 목표는 Local minimum을 찾는 것이다. 단, 가장 좋은 Local minimum을..

Machine Learning/이론

[ML] 신경망 학습, 학습 최적화

신경망 학습 신경망을 학습 한다는 것은 어떤 의미인가? 모델에게 data와 label은 주지만 추론을 위한 정보는 제공하지 않는다. 그렇기에 신경망은 추론을 위한 규칙을 데이터를 이용하여 스스로 찾아낸다. 신경망이 학습을 한다는 것은 규칙을 찾는 과정을 말한다. 규칙 생성 규칙은 어떻게 찾을 수 있는 것일까? 신경망에 입력 데이터가 들어왔을 때 어떤 출력 데이터를 만들어야 할지를 정하는 규칙은 함수적 매핑 관계로 표현된다. 함수적 매핑 관계 신경망에서 함수적 매핑 관계는 어떤 형태로 존재하는 것일까? 가중 합산과 활성 함수가 연결되어 뉴런을 구성하고, 뉴런이 모여 계층을 구성하며, 계층이 쌓여서 신경망의 계층 구조가 정의된다. 이처럼 신경망의 요소들이 이루는 복잡한 신경망의 계층 구조 자체가 신경망의 함..

Machine Learning/이론

[ML] 신경망 학습시 주의사항

시그모이드 함수와 크로스 엔트로피 손실 Sigmoid 함수는 분모에 지수항이 있기 때문에 함수의 양 끝부분에서 그레이디언트 포화 문제가 발생한다. 여기서 이를 보완할 수 있는 방법이 있는데 그것은 크로스 엔트로피 손실을 사용하는 방법이다. 출력 계층에서 Sigmoid 함수를 사용할 때 크로스 엔트로피 손실을 사용하면 일부 구간에서 그레이디언트 포화가 생기지 않게 만들 수 있다. Cross Entropy loss Function $$ J(\theta) = -\sum_{i=1}^{N}t_{i}\cdot log\mu (x_{i};\theta)+(1-t_{i})\cdot log(1-\mu(x_{i};\theta)) $$ 여기서 t = 1 이라고 한다면 \( J(\theta)=-log(\mu(x;\theta)) ..

Machine Learning/이론

[ML] 신경망 모델의 크기

신경망의 모델 크기는 너비(width)와 깊이(depth)로 정해진다. 너비: 계층별 뉴런 수 깊이: 계층 수 데이터가 특징이 많고 데이터 간의 관계가 복잡할수록 특징을 학습하는 뉴런의 수를 늘려줘야 한다. 특징의 추상화 수준이 높을수록 추상화를 수행하는 계층의 수를 늘려줘야 한다. 하지만 데이터만 보고 내재한 잠재적 특징의 수나 관계의 복잡도, 추상화 수준을 가늠하기란 쉽지 않다. 따라서 적절한 모델의 크기를 찾기 위해서는 경험적으로 크기의 범위를 정하고 성능 분석을 통해 취적의 크기를 탐색해 나가야 한다. 모델 크기 탐색 신경망 모델의 크기를 탐색할 때는 그리드 서치(Grid Search)나 랜덤 서치(Random Search)와 같은 탐색 방법을 사용한다. 그리드 서치 parameter별로 구간을 ..

파송송
'Machine Learning' 카테고리의 글 목록 (3 Page)