좋은 딥러너가 되는 법
1)구현 능력
2)수학 background
3)최신 논문 페이퍼 습득
딥러닝에서의 주요 요소
1)Data that model can learn from
2)Model how to transform the data
3)Loss Fn that quantifies the badness of the model
4)Algorithm to adjust the parameters to minimize the loss
Historical Review
2012 - AlexNet
2013 - DQN
2014 - Encoder/Decoer & Adam Optimizer
2015 - GAN & Residual Networks
2017 - Transformer
2018 - BERT
2019 - BIG Language Models(GPT-3)
2020 - Self Supervised Learning(SimCLR)
Neural network(NN)
1)Neural networks are computing systems vaguely inspired by the biological neural networks that constitute animal brains.
2)Neural networks are function approximators that stack affine transformations followed by nonlinear transformations. (교수님께서 선호하시는 정의)
실습
필수과제 1 내용
class MultiLayerPerceptronClass(nn.Module):
"""
Multilayer Perceptron (MLP) Class
"""
def __init__(self,name='mlp',xdim=784,hdim=256,ydim=10):
super(MultiLayerPerceptronClass,self).__init__()
self.name = name
self.xdim = xdim
self.hdim = hdim
self.ydim = ydim
self.lin_1 = nn.Linear(
self.xdim, self.hdim
)
self.lin_2 = nn.Linear(
self.hdim, self.ydim
)
self.init_param() # initialize parameters
def init_param(self):
nn.init.kaiming_normal_(self.lin_1.weight)
nn.init.zeros_(self.lin_1.bias)
nn.init.kaiming_normal_(self.lin_2.weight)
nn.init.zeros_(self.lin_2.bias)
def forward(self,x):
net = x
net = self.lin_1(net)
net = F.relu(net)
net = self.lin_2(net)
return net
M = MultiLayerPerceptronClass(name='mlp',xdim=784,hdim=256,ydim=10).to(device)
loss = nn.CrossEntropyLoss()
optm = optim.Adam(M.parameters(),lr=1e-3)코드를 입력하세요
부스트캠프 참여 이전까지 공부를 혼자 하였는데, 확실히 다른 사람들과 함께할 때 책임감이 생기고, 방향을 잡기가 수월한 것 같습니다. 혼자 공부하는 과정에서 Git과 같은 협업 툴을 쓸 일이 거의 없었는데 금주에 있을 Git 특강을 통해 사용법을 빨리 익혀야 하겠습니다. 이번주도 화이팅입니다!