컴퓨터공학 썸네일형 리스트형 Adam: A method for stochastic optimization 논문제목: Adam: A method for stochastic optimization ADAM은 파라미터 수가 엄청나게 많은 모델도 학습시킬 수 있고, 그래디언트와 모멘텀을 기반으로 하여 작동하기 때문에 메모리 효율도 좋고, step size도 스스로 조절해줌. 오늘날 가장 많이 사용되고 있는 optimizer이다. Gradient에 momentum을 추가하여 사용된다. 현재 시점의 gradient g와 이전 시 점의 모멘텀 벡터를 활용하여 다음에 움직일 방향 mt를 결정한다. 여기서 베타의 의미는 모멘텀과 gradient 중 어느쪽을 더 가중할 것인가를 나타내는 하이퍼 파 라미터이다. 이렇게 mt를 구한 이후, 이를 보정한 값으로 업데이트가 진행되게 된다. 이는 학습 초기의 모멘텀 벡터들이 주로 0으.. 더보기 SingSGD 논문제목: SingSGD 큰 신경망을 학습하는데에는 여러 gpu를 사용해야 한다. 이 상황에서 gradient들 을 합칠 때 bottleneck이 생긴다. gradient를 전송하기 전에 압축하면 비용을 낮출 수 있다. signSGD는 minibatch stochastic gradient 별로 sign 값을 취해서 해당 문 제점을 해결한다. 즉, 각 worker로 하여금 1-bit 으로 gradient를 압축하여 전달하 라는 것이다. Stochastic gradient에 sign을 취한 것은 실제 gradient를 approximation한 것으로 기존의 SGD보다 분석에 어려움이 있었다. 제안된 업데 이트 방식은 다음과 같다. 위와 같은 majority vote을 이용하여 각 work 사이의 commu.. 더보기 A decision-theoretic generalization of on-line learning and an application to boosting 논문제목: A decision-theoretic generalization of on-line learning and an application to boosting 본 논문에서 저자는 각 weak learner들에게서 나온 prediction을 통해 효율적인 boosting을 제안 한다. 각각의 prediction의 가치를 어느 정도로 두느냐에 초점을 맞춘다. On-line Allocation of Resources라는 모델을 가지고 문제 정의를 한다. Online Allocation model에는 agent와 strategy, options, time step, distribution over strategies, 그리고 loss로 이루어져 있다. 기본적으로 각 learner에게 독립적인 가중치를 주.. 더보기 Why Gradient Clipping Accelerates Training: A Theoretical Justification for Adaptivity. 논문제목: Why Gradient Clipping Accelerates Training: A Theoretical Justification for Adaptivity. 최근 가장 많이 이용되고 있는 optimizer는 ADAM으로, AdaGrad와 RMSProp의 개념을 합쳐 놓은 것이다. 아주 좋은 성능을 보여주고 있지만, 어떻게 하면 빠르게 수렴할 수 있는지에 대한 이해는 여전히 부족하다. Clipped gradient descent란, 특정 threshold을 가지고 크기를 제한하는 방법으로, 학습의 수렴이 빨리 되도록 돕는다. 본 논문에서는 새로운 smoothness condition을 제안하고, gradient descent에서의 clipped에 대해서 자세히 다룬다. 학습에 있어서 손실함수가 .. 더보기 vscode 오류, 프로세스에서 없는 파이프에 쓰려고 했습니다 해결법 C:\Users\사용자이름\.ssh 에 들어가서 "known_hosts" 파일을 메모장으로 열고, 안에 있는 내용을 삭제한다. 특정 아이피를 초기화하고 싶으면 해당 아이피만 찾아서 삭제한다. 그리고 나서 다시 vscode ssh 설정을 해서 연결하면 잘된다! 더보기 트랜스포머로 시계열 데이터 예측하기 https://towardsdatascience.com/how-to-make-a-pytorch-transformer-for-time-series-forecasting-69e073d4061e How to make a PyTorch Transformer for time series forecasting This post will show you how to transform a time series Transformer architecture diagram into PyTorch code step by step. towardsdatascience.com 시계열 데이터를 다뤄본적은 별로 없어서 위의 듀토리얼을 따라하면서 공부해보고자 한다. 본 포스팅은 위 원본의 요약 + 번역글이다. 이번 예제에서는 날씨 데이.. 더보기 리눅스에 CMake 설치하기 RuntimeError: CMake must be installed to build the following extensions: 코드 실행중 다음과 같은 오류가 떠서 CMake를 설치해주어야 했다. sudo apt-get install cmake 위와 같이 바로 설치하려고 했으나 다음과 같은 오류가 발생하였다. Package cmake is not available, but is referred to by another package. This may mean that the package is missing, has been obsoleted, or is only available from another source 아래와 같이 업데이트를 진행하고 설치하면 설치가 잘 된다. sudo apt-get u.. 더보기 파이토치 부분 pretrained 모델 쉽게 만들기 기존에 학습해두었던 모델을 다른 학습 모델의 부분으로 초기화하려고 한다. 보통 파이토치에서 모델을 구현할 때, 다음과 같은 구성을 가진다. class MyModel(nn.Module): def __init__(self): super().__init__() self.features = ~ def forward(self, x): x = self.features(x) return x 여기서 내가 직접 학습한 pretrained 모델을 사용하기 위해서 함수를 하나 추가해주려고 한다. 1) pretrained로 사용할 모델은 다음과 같이 이루어져 있다. A - B - C 2) 학습할 모델은 다음과 같이 이루어져 있다. A - B - D 나는 1번의 A, B만을 부분적으로 가져와서 모델을 초기화 하려고 한다. in.. 더보기 이전 1 2 3 4 5 6 ··· 11 다음