- (66) 썸네일형 리스트형 Dropout Dropout [[Overfitting]]의 해결책 중 하나. Dropout은 탈락, 낙오라는 뜻을 가지고 있다. Dropout은 2012년 발표된 일종의 regularization 방법이다. 2015년 발표된 Batch normalization의 부수적인 효과 중 하나가 regularization이기 때문에 Dropout을 쓰지 않기도 한다. 1. Dropout? 1-1. Dropout이란 전체 weight를 계산에 참여시키는 것이 아니라 layer에 포함된 weight 중에서 일부만 참여시킨다 즉, 학습 시 뉴런을 임의로 삭제하여 학습하는 방법 훈련 시에는 임의의 비율(dropout ratio) 만큼 뉴런을 삭제한다. 삭제된 뉴런의 값은 순전파/역전파하지 않는다 시험 시에는 모든 뉴런의 값을 흘린다... Regularization 1. Regularization 1-1. Regularization의 정의 모델이 [[overfitting]]되지 않도록 일반성을 띄게 해 주는 기법. 1-2. Regularization의 목적 모델이 overfitting되는 것을 방지해서, 새로운 데이터에 대해서도 모델이 잘 작동하도록 하기 위해 Regularization을 사용한다. feature를 버리지 않고 모두 사용하면서 overfitting을 방지한다. local noise가 학습에 큰 영향을 미치지 않게 하여, outlier(특이점)의 영향을 적게 받도록 한다. 1-3. Regularization의 목표 우리가 기대하는 일반성을 띈 모델은, 가운데에 있는 2차함수 모양으로 생긴 함수이다. 왼쪽의 모델은, 함수의 차수가 너무 적어서 모델이 너.. Deep Q-learning Deep Q-Network(DQN) Q learning을 기초로 한 강화학습 Q learning에서는 최적 행동 가치 함수로 최적인 행동을 정함 이러한 함수를 CNN으로 비슷하게 흉내 내어 사용하는 것이 DQN 실제 사례 비디오 게임을 자율 학습시켜 사람을 뛰어넘는 수준의 조작을 실현 그동안의 비디오 게임 학습에서는 게임의 상태를 미리 추출하는 것이 보통. 그러나 DQN에서는 입력 데이터는 비디오 게임의 영상 뿐. 게임마다 설정을 바꿀 필요 없이 단순히 DQN에 게임 영상을 보여주기만 하면 됨 팩맨, 아타리와 같은 게임에서 뛰어난 성적을 보임 Hyperparameter Hyperparameter Hyperparameter(하이퍼파라미터)는 각 층의 뉴런수를 비롯하여 모델의 구조를 정하는 변수, 배치 크기, 학습률, 가중치 감소 등 모델 학습에 사용되는 여러가지 값이다. Hyperparameter 튜닝을 위한 데이터 분리 훈련 데이터 (Train data): 파라미터(매개변수) 학습에 사용 검증 데이터 (Validation data): Hyperparameter 성능을 평가하는 데이터 시험 데이터 (Test data): 모델망의 범용 성능을 평가하는 데이터 Hyperparameter 최적화 방법 Hyperparameter 범위를 점점 줄려가면서 최적의 hyperparameter 값을 찾아내는 방법 아래 방법으로 수행이 가능하다. 정해진 범위 내에서 랜덤하게 Hyperpa.. GAN(Generative Adversarial Network), 적대적 생성 신경망 GAN(Generative Adversarial Network)은 두 개의 신경망 모델이 서로 경쟁하면서 더 나은 결과를 만들어내는 강화 학습의 일종입니다. GAN은 Generator(생성자)와 Discriminator(감별자)로 구성되어 있습니다. Generator는 거짓 데이터를 만들어내는 모델입니다. 생성된 데이터는 Discriminator가 실제 데이터로 착각하도록 학습을 합니다. 한편, Discriminator는 실제 데이터와 Generator가 생성한 거짓 데이터를 구분하는 모델입니다. 두 모델이 서로 경쟁을 하다보면, Generator는 진짜 같은 데이터를 생성하게 되고, Discriminator는 실제 데이터와 거짓 데이터를 더더욱 잘 구분할 수 있게 학습이 됩니다. 1. Adversari.. Overfitting과 Underfitting 정의 및 해결 방법 만약 동일한 점들이 주어지고 이 점을 대표할 수 있는 함수(곡선)을 추정하는 경우에서, 가운데가 optimize하다고 한다면 왼쪽은 지나친 단순화로 인해 에러가 많이 발생해 underfitting이라 합니다. 오른쪽은 너무 정확하게 표현한 나머지 training data에 대한 정확도는 좋지만 실제 test에서는 에러가 날 수 있는 상황이라 overfitting이라 합니다. 모델은 과대적합(Overfitting)과 과소적합(Underfitting)이 발생하지 않도록 설계하는 것이 중요합니다. 1. Overfitting이란? Overfitting은 학습 데이터(Training Set)에 대해 과하게 학습된 상황입니다. 따라서 학습 데이터 이외의 데이터에 대해선 모델이 잘 동작하지 못합니다. 학습 데이터가 .. Initializer initializer 딥러닝 가중치의 값을 전부 0으로 초기화하면 오차역전파법에서 모든 가중치는 동일한 정도로 갱신되므로, 학습이 올바르게 이루어지지 않는다. 한 layer의 모든 가중치가 똑같은 값을 가지게 되어, 여러 가중치를 둔 의미가 없게 된다. 가중치를 전부 균일한 값 대신 무작위로 설정해야 한다. 은닉층의 활성화값 분포 분석 은닉층의 활성화값은 적당하게 균일하게 분포해야 학습이 잘 된다. 활성화값이 한쪽으로 치우쳤을 때 기울기 소실이 발생한다. 기울기 소실(Gradient Vanishing): 각 층의 활성화값이 한쪽으로 치우치게 되면 역전파의 기울기값이 점점 작아지다가 사라지게 된다. 활성화값이 가운데로 모이게 되면 표현력을 제한하는 문제가 생긴다. 기울기 소실은 발생하지 않는다. 각 가중치.. Autoencoder / VAE AutoEncoder AutoEncoder란? 입력을 출력으로 복사하는 신경망 위 그림처럼 hidden layer의 뉴런 수를 input layer보다 작게 해서 data를 압축(=차원을 축소)하거나 input data에 noise를 추가한 후 원본을 복원할 수 있도록 network를 학습시키기도 한다. AutoEncoder의 구성 Encoder : recognition network. input을 내부 표현으로 변환 Decoder : generative network. 내부 표현을 output으로 변환 AutoEncoder는 input, output의 뉴런 수가 같다는 것만 제외하면 일반적인 MLP와 동일한 구조. AutoEncoder는 입력을 재구성하기 때문에 output을 reconstruction.. 이전 1 2 3 4 5 6 7 8 9 다음