Deep-Learning 용어정리 (Pytorch 문법)
·
용어정리/Deep-Learning
Pytorch 문법에 대해서 알아보자.Pytorch 문법 정리기본 모델의 구축모든 신경망 모델의 기본 클래스이다.# nn (신경망 모듈) 을 가져온다.import torch.nn as nnclass MyModel(nn.Module): #초기화 메서드를 정의 def __init__(self): #nn.Module의 초기화 메서드를 호출한다. super(MyModel, self).__init__() #첫번재 레이어를 정의한다. #10개의 특성값을 받아서 20개의 출력 특성을 생성한다. self.layer1 = nn.Linear(10, 20) def forward(self, x): #입력 데이터 ..
Deep-Learning 용어정리 (모델 평가와 검증)
·
용어정리/Deep-Learning
모델 평가와 검증에 대해서 알아보자교차검증교차검증 Cross-Validation 이란 모델의 일반화 성능을 평가하기 위해서 데이터를 여러번나누어 학습과 검증을 반복하는 방법이다. 아래의 이미지와 같이 데이터셋을 나눠서 교차로 검증을 해보는 것이다.   이를 통하여 모델이 과적합 되지 않고, 새로운 데이터에 대해 잘 일반화되는지 평가하는데 유용하다. 특정 데이터셋에 과적합되지 않도록 도와주며, 데이터를 최대한 활용해서 새롭게 학습하기 때문에 데이터의효율을 높일 수 있다.  이는 새롭게 기존 모델의 성능을 올리는 것이 아닌,여러번의 테스트로 가장 일반화가 잘 되어있고, 성능이 좋은 결과를 선택하는 것이다. 그렇게 결과적으로는 성능이 올랐다 라고 볼 수도 있다. K-Fold 교차 검증의 원리데이터를 일정한 크..
Deep-Learning 용어정리 (하이퍼파라미터 튜닝)
·
용어정리/Deep-Learning
하이퍼파라미터 튜닝에 대해서 알아보자하이퍼파라미터하이퍼파라미터란 모델 학습을 진행하기전, 사용자가 모델에 설정해야 하는 값으로 모델의 학습에 영향을 주는값들을 의미한다. 종류로는 학습률, 배치 크기, 에포크 수, 모멘텀 그리고 가중치 초기화가 있다. 각각에 맞는 모델의 하이퍼파라미터를 찾아야 하며 이는 직접 해볼 수도, 자동으로 찾을 수 있다. 학습률학습률은 모델이 최적점을 찾아가는 속도 즉 가중치를 업데이트 하여 학습을 반복하는 속도를 결정하는 값이다.학습률의 값이 너무 크게되면 최적점을 지나 학습이 불안정해지고, 너무 작게 되면 학습이 매우 느려진다. 옵티마이저 정의 에서 보통 적용시킨다.배치 크기배치 크기는 한번의 처리에 얼마나 많은 양의 데이터를 처리할지 결정한다.이때의 값은 32의 배수로 설정한..
Deep-Learning 용어정리 (과적합 방지 기법)
·
용어정리/Deep-Learning
과적합 방지 기법에 대해서 알아보자과적합 방지 기법과적화란 머신러닝이나 딥러닝에서 학습 데이터에 지나치게 최적화 되게 학습이 되는 경우를 뜻한다.이는 새로운 데이터에 대한 예측 즉 일반화 능력이 떨어지는 현상을 뜻한다. 이때 주로 노이즈 까지 학습을 하게 되어 불필요하게 복잡해지며 학습한 이외의 값에 대해서는매우 취약하다는 단점을 가지고있다.  정규화정규화는 입력 데이터의 분포를 일정한 범위로 조정을 해서, 모델의 학습을 안정화 시키고 성능을 향상 시키는 기법이다. 정규화는 데이터의 분포가 편항이 되어있을때, 혹은 데이터의 크기 차이로 인한 가중치를 제거하기 위하여사용을 하는데 이는 평균을 0으로 잡고 데이터를 값이 아닌 평균에서의 멀어짐을 기준으로 변경을 시킴으로써단위가 다르거나 차이가 나는 값에 값의..
Deep-Learning 용어정리 (전이학습)
·
용어정리/Deep-Learning
전이학습에 대해서 알아보자 전이학습전이학습 Transfer Learning이란 이미 학습된 모델의 지식을 새로운 문제에 적용하는 방법이다.전이학습은 데이터가 부족한 상황에서 아주 유용하게 사용될 수 있으며,모델 학습 시간을 단축하고 성능을 향샹시킬 수 있다. 이때 전이학습은 아무 모델의 학습된 지식을 가져 올 수 있는것이 아니라,새로운 모델과 같은 구조를 띄고 있거나, 그렇다고 할지라도 어느정도의 유사한 특징에 집중을 하는모델의 지식을 들고와야 유의미한 성과를 볼 수 있다. 하지만 이를 보안하기 위해서 기존모델의 학습 데이터를 조금 조정한다거나 하는 방향으로데이터를 가져 올 수 있다. 이는 새로운 모델에 데이터를 보내는것 말고도, 이전에 미리 학습된 데이터의 구조를 손보는 것으로도 가능하다. 만약 미리 ..
Deep-Learning 용어정리 (생성형 모델)
·
용어정리/Deep-Learning
생성형 모델에 대해서 알아보자GANGAN은 Generative Adversarial Network의 약자이다.두개의 신경망, 즉 생성자 와 판별자로 구성이 되어있는 모델이다.생성자는 가짜 데이터를 생성해내고, 판별자는 이 데이터가 진짜인지 가짜인지 판별하며, 서로 경쟁하는 동시에 학습한다.  GAN은 이미 학습이 완료된 모델이며, 만약 유저의 입력값이 미리 학습이 되어있지 않은 상태라고 한다고 하더라도잠재 공간의 기존 데이터들로 유사한 값을 찾아 최대한 맞게 생성을 하려고 노력을 한다. 예시로 흰색 고양이라는 입력값이 들어간다고 했을때, GAN 이 여러 다른 흰색 물체와 여러 다른 색의 고양이의데이터를 잠재 공간에서 찾아, 이 두개의 요소를 합쳐서 생성을 하게 되는 것이다. 이때는 이미 학습이 완료가 되..