목록Machine Learning (7)
IT Log
초기값이 0이거나 동일한 경우 모든 뉴런의 동일한 출력 값을 내보낼 것 역전파 단계에서 각 뉴런이 모두 동일한 gradient 값을 가짐 학습이 잘되려면 각 뉴런이 가중치에 따라 비대칭이어야 함 가중치가 동일할 경우 뉴런 개수와 상관없이 하나인것처럼 작동 초기값이 작은 난수인 경우 만약 가중치 초기값을 큰 값으로 한다면 0과 1로수렴하기 때문에 gradient vanishing이 발생 ReLU일 경우 절대값이 클 경우 음수일 때 dead ReLU 문제가 발생 따라서, 가중치 초기값을 작게 초기화 해야 동일한 초기값을 가지지않고 램더하게 초기화 일반적으로 초기값 평균 0, 표준편차 0.01인 정규분포를 따르는 값으로 랜덤하게 초기화 이러한 방법도 얕은 신경망에서는 문제없으나, 깊이가 깊어질수록 문제 발생 ..
CNN(Convolutional Neural Network)이란? CNN은 사람의 시신경 구조를 모방한 구조 데이터를 feature로 추출하여 패턴을 파악하는 구조 Convolution 과정과 Pooling 과정을 통해 진행 활용용도는 보통 정보추출, 문장분류, 얼굴인식에 사용 CNN의 주요 용어 Convolution Channel Filter Kernel Stride Padding Feature Map Activation Map Pooling Convolution 하나의 함수(f)와 다른 함수(g)를 반전 이동한 값을 곱한 다음 구간에 대해 적분하여 새로운 함수를 구하는 수학 연산자 Channel 컬러이미지는 RGB, 즉 RED, GREEN, BLUE 3개의 채널을 합친 이미지로, 40x20픽셀인 컬러..
오차역전파(Backpropagation)란? MLP(Multi Layer Perceptron)에서 학습할 방법을 해결하기 위해 나온 알고리즘으로, 예측값이 실제값과 다를때 출력에서 오류가 계산되어 역방향으로 분배된다. 역방향으로 분배하는 과정에서 가중치들이 조정되고, 조정된 가중치값으로 다시 순방향으로 계산이 진행된다. 오차역전파는 속도는 느리지만, 안정적인 결과를 얻을 수 있다. 오차역전파(Backpropagation)의 구동방식 임의의 초기 가중치를 설정하고 순방향으로 결과 값을 계산한다. 결과 값을 실제 값과 비교하여 오차를 계산한다. 경사하강법을 이용하여 오차가 작아지는 방향으로 가중치를 조정한다. 오류가 최소화될 때까지 1~3과정을 반복한다.
다층 퍼셉트론 (Multi Layer Perceptron) 신경망에 기본단위인 퍼셉트론을 2개 이상 활용하여 선형으로 분류할 수 없는 데이터를 구별할 수 있게되었다. 따라서, 단일 퍼셉트론에서 해결하지 못하는 XOR문제를 해결하게 되었다. 아래 그림은 단일 퍼셉트론으로 XOR를 표현할 때에 그림이다. 다층 퍼셉트론 구조 위와 같이 은닉층(hidden layer)이라고 불리는 단일 퍼셉트론을 하나 더 추가하면 XOR의 문제를 해결할 수 있게 된다. 우선 처음 입력 받은 값을 NAND와 OR로 출력하고, 다시 그 값에 대해서 AND를 실행하면 XOR의 결과와 같은 값을 표현할 수 있게된다. 그림으로 보면 아래와 같다. x1 x2 NAND OR 0 0 1 0 1 0 1 1 0 1 1 1 1 1 0 1 NAND..
활성화함수(activation function)란? 입력 or 주어진 입력의 세트를 정의하는 함수, 정의된 출력값은 다음노드에 대한 입력으로 사용된다. Sigmoid sigmoid 함수의 값은 0~1이고, 함수 값 중심이 0.5로 학습속도가 느리고, exp함수 사용시 연산비용이 많이 들고, 입력값이 일정이상 올라가면 기울기가 거의 0에 수렴하여, gradient vanishing현상이 발생한다. tanh tanh 함수의 값은 -1~1이고, 함수 값 중심이 0으로 학습속도가 개선되었으나, exp함수사용과 입력값이 일정이상 올라가면 기울기가 거의 0의 수렴하는 gradient vanishing 현상은 sigmoid와 동일하다. ReLU ( Rectified Linear Unit ) ReLU 함수의 값은 입력..
경사하강법(Gradient decent) 이란? 함수의 기울기를 구하여 기울기가 낮은 쪽으로 계속 이동시켜서 극값에 이를 때까지 반복하는 방법 변수 설명 w 손실함수 η 학습률(leraning rate) ∂L/ ∂w 출력값을 w에 대하여 미분(기울기) η(learning rate)는 경사하강법의 진행간격을 조정하는 값으로, 값이 너무 클 경우 over shooting현상이 발생하고, 값이 너무 작을 경우에는 local minimum이 발생한다. 따라서 η의 값음 0.01 ~ 0.1사이로 하는 것이 적당하다. over shooting 손실함수 값이 줄어들지 않고 오히려 커지는 현상 local minimum 전역 최소값이 아닌 지역최소값으로 경사하강법을 끝내는 현상 경사하강법의 구동방식 손실함수 첫 위치에서..
퍼셉트론이란? 인공신경망의 한 종류로서, 1957년에 코넬 항공 연구소의 프랑크 로젠블라트에 의해 고안되어졌다. 신경망을 이루는 가장 중요한 기본 단위로 입력 값과 활성화 함수를 사용해 출력 값을 얻는다. 퍼셉트론의 구조 변수 설명 x 입력 값 w 가중치 b 바이어스 ∫ 활성화 함수 입력 값을 받아서 각 입력 값마다 가중치를 곱하여 모두 더하고 마지막으로 바이어스를 더해준 값을 활성화 함수에 의하여 판단되어 최종 출력값을 뽑아낸다. 이 말을 식으로 표현하면 아래와 같다. 위의 식은 더 간단하게 보면 xw + b로 볼 수 있는데, 이것은 직선의 기울기를 구할 때와 유사하다. 이를 이용하여 논리 회로들을 표현해보면 아래와 같다. AND OR NAND XOR 이처럼 AND, OR, NAND의 경우 직선 하나로..