본문 바로가기
728x90
반응형
SMALL

Learning-driven Methodology/DL (Deep Learning)37

[Deep Learning] Basic Guide to Spiking Neural Networks for Deep Learning (1) Introduction to Spiking Neural Networks DL은 데이터 과학 커뮤니티 내에서 뜨거운 주제이다. 산업 전반의 다양한 작업에서 매우 효과적임에도 불구하고 DL은 새로운 신경망 (NN) 아키텍처, DL 작업, 그리고 SNN (스파이킹 신경망)과 같은 차세대 NN의 새로운 개념을 제안하면서 끊임없이 진화하고 있다. What is a Spiking Neural Network? 인공 신경망 (ANN)의 일반적인 개념은 생물학에서 비롯된다. 우리는 정보 및 신호 처리, 의사 결정 및 기타 여러 작업에 사용되는 뇌 내부에 생물학적 신경망을 가지고 있다. 생물학적 신경망의 기본 요소는 생물학적 neuron이다. 반면 ANN에서는 인공 neuron이 사용된다. 인공 neuron은 서로 매우 .. 2022. 1. 17.
[Deep Learning] 드롭아웃 (Dropout) 드롭아웃 (Dropout) weight decay 기법은 간단하게 구현할 수 있고, 어느 정도 지나친 학습을 억제할 수 있다. 그러나 신경망 모델이 복잡해지면 weight decay만으로는 대응하기 어려워진다. 이럴 때 사용하는 것이 드롭아웃 (Dropout)이라는 기법이다. dropout은 신경망 모델에서 뉴런을 임의로 삭제하면서 학습하는 방법이다. 학습 시에 hidden layer의 neuron을 무작위로 골라 삭제한다. 훈련 때에는 데이터를 흘릴 때마다 삭제할 neuron을 무작위로 선택하고, 시험 때는 모든 neuron에 신호를 전달한다. 단, 시험 때는 각 neuron의 출력에 훈련 때 삭제한 비율을 곱하여 출력한다. neuron을 임의로 삭제하여 적은 수의 neuron만으로 지정된 레이블을 맞.. 2022. 1. 3.
[Deep Learning] 가중치 감소 (Weight Decay) 가중치 감소 (Weight Decay) 훈련 데이터가 매우 많다면 overfitting을 줄일 수 있지만, 현실적인 이유로 그러지 못하는 경우가 있다. 이런 상황에서 overfitting을 줄이도록 하는 여러 기법 중 하나가 바로 가중치 감소이다. 이것은 학습 과정에서 큰 가중치에 대해서 그에 상응하는 큰 패널티를 부과하여 overfitting을 억제하는 방법이다. overfitting은 weight 매개변수의 값이 커서 발생하는 경우가 많기 때문이다. 규제 (Regularization) weight decay에는 규제 (Regularization)가 이용된다. regularization란 weight의 절댓값을 가능한 작게 만드는 것으로, weight의 모든 원소를 0에 가깝게 하여 모든 특성이 출력에.. 2022. 1. 3.
[Deep Learning] 배치 정규화 (Batch Normalization) 배치 정규화 (Batch Normalization) 학습의 효율을 높이기 위해 도입되었다. batch normalization은 학습률을 높게 설정할 수 있기 때문에 학습 속도가 개선된다. 그리고 학습을 할 때마다 출력값을 정규화하기 때문에 weight 초기값 선택의 의존성이 적어진다. 마지막으로 overfitting 위험을 줄일 수 있고 gradient vanishing 문제도 해결 가능하다. batch normalization는 activation function의 활성화 값 또는 출력값을 정규화 (정규분포)하는 작업을 말한다. 다시 말해, 신경망의 각 layer에서 데이터 (배치)의 분포를 normalization하는 작업이다. 일종의 noise를 추가하는 방법으로 (bias와 유사) 이는 batc.. 2022. 1. 3.
[Deep Learning] 최적화 (Optimizer) 최적화 (Optimizer) 데이터의 크기가 클수록 훈련 속도는 느려진다. 따라서 neural network를 빠르게 훈련하기 위해 효율성을 높이기 위한 최적화 알고리즘을 잘 선택해야 한다. Gradient Descent 경사하강법에서는 θ 에 대해 gradient의 반대 방향으로 일정 크기만큼 이동해내는 것을 반복하여 loss function J(θ) 의 값을 최소화하는 파라미터 w, b를 찾는다. gradient descent은 무작정 기울어진 방향으로 이동하는 방식이기 때문에 탐색 경로가 비효율적이다. 또한 SGD는 방향에 따라서 기울기 값이 달라지는 경우에 적합하지 않은데 최소값의 방향으로만 움직이기 때문에 본래의 최저점으로 기울기의 방향이 좀처럼 향하지 않게 되고 다른 방향을 가리키게 되어 비효.. 2022. 1. 3.
[Deep Learning] 역전파 (Backpropagation) / 경사하강법 (Gradient Descent) 역전파 (Backpropagation) input에서 output으로 weight를 업데이트하면서 activation fuction을 통해 결과값을 가져오는 것을 순전파 (foward)라고 하며 말 그대로 앞쪽으로 input 값을 전파, 보내는 것이다. 하지만 임의로 순전파 했다고 출력 값이 정확하지는 않을 것이다. 임의로 설정한 weight 값이 input에 의해서 한 번 업데이트 되긴 했지만 많은 문제가 있을 수 있다. 역전파는 출력값에 대한 입력값의 기울기를 출력층 layer에서부터 계산하여 거꾸로 전파시키는 것이다. 거꾸로 전파시켜 최종적으로 출력층에서 output값에 대한 입력층의 input data 기울기 값을 구할 수 있다. 이 과정에서 chain rule이 이용된다. input이 들어오는 .. 2022. 1. 3.
[Deep Learning] 과적합 (Overfitting) 과적합 (Overfitting) 데이터가 너무 fit하게 학습이 되면서 생기는 문제를 과적합(Overfitting)이라 부른다. 데이터의 학습이 제대로 되지 않는 상태인 반대 개념을 언더피팅 (Underfitting)이라 한다. 과적합이 발생하는 사유 1. 학습 데이터가 너무 적은 경우 2. 학습 데이터 전처리를 잘못한 경우 3. 특징 (feature) 데이터가 너무 많은 경우 오버피팅을 줄이는 방법 1. feature를 줄이거나 정규화한다. 2. 데이터를 늘린다. 2022. 1. 3.
[Deep Learning] 척도 (Metrics) 척도 (Metrics) 척도는 어떤 모델을 평가하기 위해서 사용하는 값이다. 따라서 비슷한 개념인 loss function과의 개념이 헷갈릴 수 있다. loss function은 모델의 성능을 끌어올리기 위해서 참조하는 값이다. 다시말해, 트레이닝 (학습)을 위해서만 사용하는 나침반과 같은 존재라고 한다면 metrics는 모델의 성능을 알기 위한 개념이다. 따라서 metrics와 loss function의 개념은 분리되어야 하지만 경우에 따라서는 특정 metrics에 따라 최적화 하는 것이 최상일 때도 있다. 개념이 유사하기 때문에 동일한 개념으로 metrics를 사용하기도 하고 loss function을 사용하기도 한다. 정확도 (Accuracy) 가장 많이 쓰이는 개념으로 타겟 대비 정확히 예측한 비.. 2022. 1. 3.
[Deep Learning] 활성화 함수 (Activation Function) (2) PReLU(Parametric Rectified Linear Unit) leaky ReLU와 거의 유사한 형태를 보인다. leaky ReLU에서는 알파 값이 고정된 상수였다면 PReLU에서는 학습이 가능한 파라미터로 설정된다. ThresholdReLU (Thresold Rectified Linear Unit) ReLU와 거의 유사한 형태를 보이며 ReLU가 0 이하의 입력 값에 대해 0을 출력했다면 ThresoldReLU는 그 경계값을 설정할 수 있다. 1을 기본값으로 설정한다. Softplus ReLU 함수를 부드럽게 깎아놓은 형태를 취한다. 미분 함수가 sigmoid 함수가 된다. Softmax Softmax는 출력 값이 0~1 사이로 정규화되며, 모든 출력 값의 총합이 항상 1이 되는 특성을 가진 .. 2022. 1. 3.
[Deep Learning] 활성화 함수 (Activation Function) (1) 활성화 함수 (Activation Function) 입력된 데이터의 weight 합을 출력 신호로 변환하는 함수이다. ANN에서 이전 layer에 대한 weight 합의 크기에 따라 activation 여부가 결정된다. 신경망의 목적에 따라 또는 layer의 역할에 따라 선택적으로 적용한다. Sigmoid 시그모이드 (sigmoid)는 S자 형태라는 의미로, sigmoid 함수는 S자형 곡선의 함수를 의미한다. 정의역은 실수 전체이지만, 유한한 구간(a,b) 사이의 한정된 값을 반환한다. a와 b는 주로 0과 1을 사용한다. sigmoid 함수에서 정의역의 절댓값이 커질수록 미분 값은 0으로 수렴한다. weight가 업데이트되지 않고 소실되는 Gradient vanishing이 발생할 수 있다. Vani.. 2022. 1. 3.
728x90
반응형
LIST