본문 바로가기

전체 글

(85)
손실 함수 최적화에서 모멘텀(Momentum)의 필요성 Gradient 잡음 현상이라는 것이 있습니다. 머신러닝은 훈련 집합만, 그것도 그 안의 미니 배치들을 사용해서 손실(loss) 함수 값이 최저가 되도록 하는 최적의 가중치를 만드는 gradient를 추정하므로 오류, 즉 잡음이 있을 수밖에 없습니다. 모멘텀은 gradient에 스무딩(smoothing)을 가하여 잡음 효과를 줄이고, 이로써 손실 함수의 최저점으로 더 빠르게 가중치 값들이 수렴할 수 있도록 도와줍니다. 즉, 오버슈팅(overshooting)을 방지합니다. 오버슈팅에 대해서 더 설명하겠습니다. 이는 손실 함수의 landscape(모양)가 찌그러지면 모델 학습이 잘 안 되는 이유 또한 설명합니다. 아래 그림을 참고하세요. 위 그림은 가중치 w1, w2의 값에 따라서 loss를 줄일 수 있는 ..
GAP (Global Average Pooling) : 전역 평균 풀링 위 그림처럼 Fully-Connected Layer(전결합층) 직전의 컨볼루션 레이어에서 채널 수, 즉 feature map의 수가 6개라고 합시다. 기존 FC Layer를 사용한 분류에서는 Flatten Layer를 이용해서 입력받은 값을 굉장히 긴 하나의 벡터로 만든 다음, 그 벡터를 FC Layer에 넣는 방식으로 하나하나 매핑해서 클래스를 분류했습니다. 이 과정에서 공간적 정보도 많이 잃어버리는데다가, 굉장히 많은 파라미터, 즉 가중치가 많이 필요하고, VGGNet의 경우 이 부분이 전체 계산량의 85%를 차지했습니다. 컨볼루션 레이어를 아무리 쌓아도 FC Layer 하나를 못 따라갈 정도입니다. GAP(Global Average Pooling)는 이 문제를 효과적으로 해결합니다. 우선 분류할 클..
예측 모델 : 회귀(Regression) 예측 모델은 주어진 변수들 사이의 상관관계를 찾아내어 어떠한 결과값을 예측하기 위한 모델입니다. 예측 모델로는 회귀(Regression) 모델과 분류(Classification) 모델이 있습니다. 회귀는 결괏값이 연속적인 값이고, 분류는 결괏값이 명확한 라벨(Label)이라는 차이가 있습니다. 이번 게시물에서는 그 중 회귀 모델에 대해서 간단히 알아보겠습니다. y = a1x1 + a2x2 + a3x3 위 식처럼 '회귀 계수(a)'를 '변수(x)'와 선형 결합해서 표현 가능한 모델을 선형 회귀 모델이라고 합니다. 반면 비선형 모델은 회귀 계수들을 선형 결합해서 표현하지 못하는 모델을 뜻합니다. 따라서 선형 회귀 모델은 모델의 형태가 반드시 "선형", 즉 직선 형태여야 합니다. 그것이 1개의 변수로 1개의 ..
바이어스와 분산 트레이드 오프 (bias and variance trade-off) 바이어스(Bias)와 분산(Variance)은 머신러닝에서 가장 중요한 통계 개념 중 하나입니다. 바이어스와 분산에 대한 정의를 기반으로, 머신러닝 모델이 데이터에 대해 가지게 되는 오류를 바이어스와 분산으로 나누어 설명할 수 있기 때문입니다. 바이어스란 머신러닝 모델이 잘못된 가정을 함으로써 생기는 오차입니다. 즉 바이어스가 크다는 것은 실제 데이터 분포와 모델이 예측한 데이터 분포 사이의 차이가 크다는 것입니다. 따라서 바이어스가 클수록 모델이 과소적합(underfitting)될 가능성이 높습니다. 분산이란 훈련용 데이터에 내재된 변동(fluctuation) 때문에 발생하는 오차입니다. 즉 훈련용 데이터 사이사이의 차이가 커서 값이 일정한 패턴을 보이지 않고 제멋대로 튄다면, 즉, '퍼진 정도'를 나..
가중치(weight), 편향(bias), 활성화 함수(activation function) 한 마디로 # 가중치(weight), 편향(bias), 활성화 함수(activation function)를 한 마디로 표현하면? 가중치(weight): 인공 신경망에서, 노드에 입력되는 각 신호가 결과 출력에 미치는 중요도를 조절하는 매개변수(파라미터) 편향(bias): 인공 신경망에서, 뉴런의 활성화 조건을 조절하는 매개변수(파라미터) 활성화 함수(activation function): 인공 신경망에서, 입력받은 신호의 가중합을 다음 노드로 보낼지 말지를 결정하는 함수
에폭(epoch), 배치 사이즈(batch size), 미니 배치(mini batch), 이터레이션(iteration) # 에폭(epoch)이란? 배치 사이즈(batch size)란? 에폭(epoch): 하나의 단위. 1에폭은 학습에서 훈련 데이터를 모두 소진했을 때의 횟수에 해당함. 미니 배치(mini batch): 전체 데이터 셋을 몇 개의 데이터 셋으로 나누었을 때, 그 작은 데이터 셋 뭉치 배치 사이즈(batch size): 하나의 미니 배치에 넘겨주는 데이터 갯수, 즉 한번의 배치마다 주는 샘플의 size 이터레이션(iteration): 하나의 미니 배치를 학습할 때 1iteration이라고 한다. 즉, 미니 배치 갯수 = 이터레이션 수 ex1) 훈련 데이터 1000개를 10개의 미니 배치로 나누어 학습하는 경우, 배치 사이즈는 100이 되고, 확률적 경사 하강법(SGD)을 10회 반복, 즉 10회 iterati..
20201112 머신러닝 수업 - 미니 배치, iteration, epoch : 1000개의 샘플이 있다고 할 때, 100개의 미니 배치 10개로 구성한다고 하자. 이 "미니 배치 한 개를 학습 완료하면 한 번의 iteration이 끝났다"라고 한다. 그리고 모든 미니 배치, 즉 10개의 미니 배치, 즉 "1000개의 모든 샘플을 한 번 학습 완료하면 한 번의 epoch이 끝났다"라고 한다. - softmax 함수 (or classifier) e^x 함수는 입력받은 x의 값이 작으면 더 작게, 크면 더 크게 만드는 성질을 갖고 있다. 즉, 위 그림처럼 여러 가지 입력값이 softmax 함수에 들어왔을 때, 가장 큰 값을 제외한 나머지 값들은 전부 작게 만들어버리는게 softmax의 기능이다. 이때 softmax의 분모는 정규화 기능을..
선형 함수 (linear function) 선형 함수(linear function)란 데이터의 관계가 서로 직선 형태를 띠는 함수를 의미한다. ex) y = x, y = x+2, y = 2*x1 + 3*x2 -5, ... 그러나 엄밀히 말하면 superposition 형태를 만족할 때 선형 함수라고 말할 수 있다. superposition : f(a) + f(b) = f(a+b) 이 관점에서 보면, 다항 함수도 결국 선형 함수다. ex) y = x^2+1에서, x^2을 하나의 새로운 변수인 z로 치환하면 y = z+1이 되어 선형 함수가 된다. 따라서 이 관점을 채택한다면 단순 선형 회귀, 다중 선형 회귀라는 용어 뿐만 아니라 '다항 선형 회귀'라는 용어도 사용가능하다. 그러나 보통은 맨 처음의 설명을 많이 따르기에, '다항 회귀'라는 용어를 사..