본문 바로가기

전체 글

(37)
[논문] Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift https://arxiv.org/abs/1502.03167 Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate ShiftTraining Deep Neural Networks is complicated by the fact that the distribution of each layer's inputs changes during training, as the parameters of the previous layers change. This slows down the training by requiring lower learning rates and careful paramarxiv.org Deep Ne..
[논문] Dynamic Key-Value Memory Networks for Knowledge Tracing (2017) 기존 모델들인 Bayesian Knowledge Tracing과 Deep Knowledge Tracing은 각 개념에 대한 지식 수준을 분리해서 나타낸다는 단점과 어느 개념을 학생이 어려워하거나 잘하는지 알 수 없는 문제가 있다. 본 논문에서는 Dynamic Key-Value Memory Networks (DKVMN)을 소개한다. 이 모델은 문제에 내포되어있는 개념을 이용하고 학생의 숙련도를 직접적으로 출력할 수 있다. 모델은 지식 개념들을 나타내는 정적인 matrix key와 학생의 숙력도를 나타내는 동적인 matrix value를 사용한다.  이 포스트는 논문의 모든 내용을 포함하지 않는다.  1. IntroductionBayesian Knowledge Tracing (BKT)학생의 지식 수준$s_t..
[논문] Identity Mappings in Deep Residual Networks 본 논문에서는 residual building block들의 propagation formulation을 분석한다. 분석은 identity mapping을 skip connection으로 사용하고 after-addition activation을 쓸 때 forward나 backward signal들은 한 block에서 다른 어떠한 block으로도 직접적으로 전파될 수 있음을 제시한다. 이는 더 쉬운 학습과 일반화를 가진 새로운 residual unit을 설계하는데에 영감을 준다.   1 IntroductionDeep residual networks (ResNets)는 많은 "Residual Unit"이 쌓인 구조를 가진다. 각 unit은 다음과 같이 나타낼 수 있다:$$\mathbf{y}_l = h(\ma..
[논문] Deep Residual Learning for Image Recognition 본 논문에서는 기존에 존재하던 네트워크들보다 훨씬 더 깊은 deep neural networks들도 쉽게 학습시킬 수 있는 residual learning framework를 제안한다. 이 기법은 layer들을 재구성해 input layer에 대한 residual function을 학습하도록 만든다. 본 논문에서는 이 residual network가 더 최적화하기 쉽고 늘어난 깊이로 높은 정확도를 얻을 수 있음을 실험적으로 보여준다. 1. IntroductionDeep convolutional neural networks는 이미지 분류에 큰 breakthrough를 가져왔다.Network depth는 모델의 정확도를 높이는 아주 중요한 요소이다. 그럼 더 많은 layer를 쌓아 올리면 더 좋은 모델이 되..
[논문] Structure-based Knowledge Tracing: An Influence Propagation View 최근 연구들은 개념들 간 관계를 이용한 KT 기법들을 소개합니다. 하지만 사람의 학습에 큰 영향을 미치는 개념들 간에 전파되는 영향 (influenc propagation among concepts)을 사용한 KT 기법은 잘 연구되지 않은 분야입니다. 본 논문에서는 Structure-based Knowledge Tracing (SKT) 기법을 소개합니다. 이 기법은 지식 구조 간에 여러 관계를 활용하여 개념 간 전파되는 영향을 모델링 합니다.지식 구조에 전파되는 영향을 모델링하기 위해 두가지 방법이 사용됩니다. 유사도 관계 같은 undirected 관계의 경우 synchronization propagation 방법이 사용됩니다. 선수 관계 같은 directed 관계를 모델링하기 위해서는 partial p..
[Introduction to PyTorch] Building Models Building Models in PyTorchtorch.nn.Module and torch.nn.ParameterModule class는 모델과 모델 구성 요소들을 포함Parameter class는 learning weights들을 표현두 개의 linear layer와 하나의 activation function, 그리고 softmax로 구성된 모델import torchclass TinyModel(torch.nn.Module): def __init__(self): super(TinyModel, self).__init__() self.linear1 = torch.nn.Linear(100, 200) self.activation = torch.nn.ReLU() ..
[Introduction to PyTorch] Autograd What Do We Need Autograd for?Tensor가 거쳐가는 모든 계산 과정을 기록해 chain rule과 backpropagation에 사용 Simple Examplerequires_grad=True로 설정한 tensor는 autograd를 사용a = torch.linspace(0., 2. * math.pi, steps=25, requires_grad=True)b = torch.sin(a)print(b)Outputtensor([ 0.0000e+00, 2.5882e-01, 5.0000e-01, 7.0711e-01, 8.6603e-01, 9.6593e-01, 1.0000e+00, 9.6593e-01, 8.6603e-01, 7.0711e-01, 5.0..
[Introduction to PyTorch] Tensors Creating Tensorsx = torch.empty(3, 4)# memeory allocate만 하고 값 초기화 xzeros = torch.zeros(2, 3)# 0.으로 초기화ones = torch.ones(2, 3)# 1.으로 초기화torch.manual_seed(1828)random = torch.rand(2, 3)# 랜덤 값으로 초기화random2 = torch.rand(2, 3)# 이 값은 manual_seed에 영향 받지 않음 Tensor Shapestorch.*_like() 함수로 같은 shape을 가진 tensor를 만들 수 있음empty_like_x = torch.empty_like(x)zeros_like_x = torch.zeros_like(x)... torch.tensor로 직접..