본문 바로가기

딥러닝131

[딥러닝을이용한 자연어 처리 입문] 0805 기울기 소실(Gradient Vanishing)과 폭주(Exploding)를 막는 방법 1. ReLU와 ReLU의 변형들 - Leaky ReLU를 사용하면 모든 입력값에 대해서 기울기가 0에 수렴하지 않아 죽은 ReLU 문제를 해결 - 은닉층에서는 ReLU나 Leaky ReLU와 같은 ReLU 함수의 변형들을 사용 2. 그래디언트 클리핑(Gradient Clipping) - 기울기 폭주를 막기 위해 임계값을 넘지 않도록 임계치만큼 크기를 감소 3. 가중치 초기화(Weight initialization) - 가중치가 초기에 어떤 값을 가졌느냐에 따라서 모델의 훈련 결과가 달라지기도 함. 따라서 가중치 초기화만 적절히 해줘도 기울기 소실 문제과 같은 문제를 완화 시킬 수 있음 세이비어 초기화(Xavier Initialization) He 초기화(He initialization) 4. 배치 정규.. 2021. 5. 18.
[딥러닝을이용한 자연어 처리 입문] 0804 과적합(Overfitting)을 막는 방법들 1. 데이터의 양을 늘리기 - 데이터의 양을 늘릴 수록 모델은 데이터의 일반적인 패턴을 학습하여 과적합을 방지할 수 있음 - 의도적으로 기존의 데이터를 조금씩 변형하고 추가하여 데이터의 양을 늘리기도 함(데이터 증강 Data Augmentation) 2. 모델의 복잡도 줄이기 - 인공 신경망의 복잡도는 은닉층(hidden layer)의 수나 매개변수의 수 등으로 결정되므로 이 수를 조절함 3. 가중치 규제(Regularization) 적용하기 - L1 규제 : 가중치 w들의 절대값 합계를 비용 함수에 추가 (L1 노름) - L2 규제 : 모든 가중치 w들의 제곱합을 비용 함수에 추가 (L2 노름) 4. 드롭아웃(Dropout) - 학습 과정에서 신경망의 일부를 사용하지 않는 것 - 신경망 학습 시에만 사.. 2021. 5. 18.
[딥러닝을이용한 자연어 처리 입문] 0803 딥 러닝의 학습 방법 1. 순전파(Forward Propagation) - 입력층에서 출력층 방향으로 예측값의 연산이 진행되는 과정 2. 손실 함수(Loss function) - 실제값과 예측값의 차이를 수치화해주는 함수 - 오차가 클 수록 손실 함수의 값은 크고 오차가 작을 수록 손실 함수의 값은 작아짐 - 손실 함수의 값을 최소화하는 두 개의 매개변수인 가중치 W와 편향 b를 찾아가는 것이 딥 러닝의 학습 과정이므로 손실 함수의 선정은 매우 중요 3. 옵티마이저(Optimizer) - 손실 함수의 값을 줄여나가면서 학습하는 방법은 어떤 옵티마이저를 사용하느냐에 따라 달라짐 배치 경사 하강법(Batch Gradient Descent) 확률적 경사 하강법(Stochastic Gradient Descent, SGD) 미니 배치.. 2021. 5. 18.
[딥러닝을이용한 자연어 처리 입문] 0802 인공 신경망(Artificial Neural Network) 훑어보기 1. 피드 포워드 신경망(Feed-Forward Neural Network, FFNN) - 입력층에서 출력층 방향으로 연산이 전개되는 신경망 2. 전결합층(Fully-connected layer, FC, Dense layer) - 위 이미지와 같이 어떤 층의 모든 뉴런이 이전 층의 모든 뉴런과 연결돼 있는 층 3. 활성화 함수(Activation Function) - 은닉층과 출력층의 뉴런에서 출력값을 결정하는 함수 - 활성화 함수의 특징 - 비선형 함수(Nonlinear function: 직선 1개로는 그릴 수 없는 함수) 만약 활성화 함수로 선형 함수를 사용하게 되면 은닉층을 쌓을 수가 없음(선형 함수로는 은닉층을 여러번 추가하더라도 1회 추가한 것과 차이를 줄 수 없음) - 계단 함수(Step fu.. 2021. 5. 18.