본문 바로가기

ML, DL/Concept6

[ML] Semi-supervised Learning, Transfer Learning 설명 Semi-supervised Learning and Transfer Learning 1. 표현학습(Representation Learning) 2000년대 초반까지는 수작업 특징(hand-crafted feature)을 미리 구해 특징 벡터를 추출하고 얕은 구조의 기계학습을 구현했었습니다. 하지만 수작업의 한계는 다양한 도메인에서 사람이 일일이 최적의 특징을 설계하는 것이 어렵다는 것입니다. 딥러닝에서는 특징 추출과 기계 학습이 동시에 최적화합니다.(end-to-end) 다른 도메인에 적용시키려면 데이터만 바꾸어 새로 학습하면 됩니다. 최적의 특징을 자동으로 알아내는 접근방식의 중요성을 강조하기 위해 표현학습(representation learning)이라는 용어를 사용합니다. 깊은 구조의 은닉층은 저급.. 2019. 11. 23.
[Regularization] 규제, 모델 일반화능력 향상, Model generalization 1. 규제(Regularization)의 필요성 신경망이 몇 개의 hidden layer와 각 layer에 몇 개의 node를 가져야 할 지 일일이 정해줄 수 없다. 따라서, 충분히 큰 용량의 신경망 구조를 설계 후, 학습 과정에서 여러 규제 기법을 적용하는 방법을 구사한다. 2. 규제의 정의 데이터 원천에 기본적으로 내재한 정보를 사전지식(prior knowledge)라 한다. 티호노프의 규제 기법은 smooth function을 이용해서 이 사전지식을 유지하면서(가까운 데이터는 비교적 가깝게 매핑된다.) 규제가 일어난다고 가정한다. $$ J(\theta) = J(\theta) + \lambda R(\theta) $$ Ian Goodfellow, 2016는 규제에 대해 다음과 같이 말한다. 일반화 오류.. 2019. 10. 7.
[DL] 딥러닝 성능 향상(전처리, 가중치초기화, 모멘텀, 활성함수) 성능 향상을 위한 요령 들어가기 전에 한가지 명심해야 할 사항은 다음의 방법들이 절대적인 것이 아니라, 경험규칙(Heuristics)에 기반하므로 자신에게 주어진 데이터에 잘 맞을 지는 실험을 통해 알아보야 한다. 1) 데이터 전처리 특징값이 모두 양수(또는 모두 음수)이거나 특징마다 값의 규모가 다르면, 수렴 속도가 느려질 수 있다. $$ w = w - \sigma x $$ 그레이언트 업데이트 값은 입력(x) 부호에 영향을 받기 때문이다. 모든 x가 양인 상황에서 어떤 오차역전파 σ값은 음수인 상황에는 양의 방향으로 업데이트 되지만, σ값이 양수인 상황에서는 음의 방향으로 업데이트 된다. 이처럼 여러 가중치가 뭉치로 같이 증가하거나, 감소하면 최저점을 찾아가는 경로를 갈팡질팡하여 수렴 속도 저하로 이어.. 2019. 9. 24.
교차 엔트로피(Cross Entropy)와 로그우도(Log Likelihood) 목적함수: 교차 엔트로피(Cross Entropy)와 로그우도(Log Likelihood) MSE(Mean Square Error, 또는 L2 loss)로 살펴보기 정답레이블이 0인 상황에서 예측값(o)이 각각 0.7503, 0.9971 나온 두 경우를 생각해보자. 후자(0.9971)가 조금 더 큰 에러가 발생했으므로, 더 큰 그레디언트로 가중치(weight)를 갱신시켜 주어야 할 것이다. 하지만, $$ e = \frac{1}{2}(y - o)^2 = \frac{1}{2}(y-\sigma(wx+b))^2 \ where, \sigma(x) = \frac{1}{1 + e^{-x}} (sigmoid) $$ MSE 식에서 각각 파라미터 w와 b로 미분을 해보면, $$ \frac{\partial e}{\parti.. 2019. 8. 29.
[ML] K-Fold Cross Validation (K겹 교차검증) 데이터 부족 데이터 수가 부족한 상황에서는 검증집합(validation, test)을 따로 마련하기 힘든데, 이 때 교차검증(cross-validation)을 이용하면 효과적입니다. 훈련집합을 같은 크기로 나누어 k개의 그룹을 만든 후, 1개는 검증그룹, 나머지 k-1개는 훈련그룹으로 나누어서 그룹을 달리하며 k번 반복합니다. 여기서 k개의 성능을 얻게 되는데, 이들을 평균하여 검증 성능으로 취합니다. 오버피팅 하지만 이렇게 할 경우 훈련과정에서 검증데이터가 개입을 하므로, 과대적합(overfitting)이 일어났는지에 대한 예측을 하기가 어렵습니다. 그래서 사용하는 방법은, 앙상블(ensemble)입니다. 예측방법은 보통 두가지로 나뉘지만 (회귀, 분류), 여기서는 분류(classification)를 .. 2019. 8. 2.
[Classification] Cross entropy의 이해, 사용 방법(Categorical, Binary, Focal loss) 이 글에서는 여러 가지 클래스를 분류하는 Classification 문제에서, Cross entropy를 사용하는 방법와 원리를 알아봅니다. 1. Tasks 우선, 두가지 문제를 봅시다. 1-1) Multi-Class Classfication 각 샘플(이미지)은 클래스 C 중 하나로 분류될 수 있습니다. 해는 0번, 즉 [1 0 0] (원핫인코딩), 달은 1번, [0 1 0], 구름은 2번, [0 0 1] 으로 분류될 수 있다는 말입니다. CNN은 s(scores) 벡터를 출력하고, one hot 벡터인 타겟(ground truth) 벡터 t와 매칭이 되어 loss값을 계산할 것입니다. 즉, Multi-Class Classification은 여러 샘플(이미지)에서 C개의 클래스 중 하나의 클래스로 분류하.. 2019. 8. 1.