딥러닝을 위해 필요한 스킬 3가지 : 구현능력, 수학(선형대수, 확률, 통계), 논문
딥러닝의 4가지 key component
data(이미지, 말 뭉치 등)
model(학습하는 모델)
loss function(모델을 학습시킨다)
algorithm(loss function을 최소화)
4가지를 이해하면, 논문에서 설명하는 내용이 기존 내용과 비교해 어떤 특징이나 차별점이 있는지 알 수 있다.
Data : 풀고자 하는 문제
Model : 문제를 풀기 위한 방법
Loss function : Data와 Model이 정해져 있을 때, 이를 어떻게 학습할 지
Optimization Algorithm
Historical Review
2012년 : AlexNet
2013년 : DQN
2014년 : Encoder/Decoder, Adam
2015년 : GAN, ResNet
2017년 : Transformer
2018년 : BERT
2019년 : Big Language Model(GPT-X)
2020년 : Self-Supervised learning
현재의 딥러닝은 인간의 뇌를 모방했다고 하기엔 무리인 측면이 있고, 모델만 놓고 이게 왜 잘되는지 분석하는지가 중요하다.
Neural Network : 행렬곱과 activation같은 비선형화 연산이 반복적으로 일어나는 함수
Linear Neural Network : 공간상의 데이터 D를 가장 잘 표현할 수 있는 선 하나로 표현하는 것
w가 행렬이 됨으로서, n차원 input에서 m차원 output으로 만들 수 있다. (두 개의 vector space 사이의 변환)
변환 과정에서 w가 여러개여도, 여러개의 w는 하나의 행렬로 정리가 되고, 이는 평범한 선형변환이다.
-> Nonlinearity를 주기 위해 activation function등을 적용시킨다.
Activation function : ReLU, Sigmoid, Hyper tangent...
Loss function
팀원분이 CNN에 대한 설명을 ppt로 준비해오셨다. 내가 알고 있는 CNN의 개념과 핵심을 다 설명해주셔서 내가 가진 개념을 정리하는 데 도움이 됐고, 다른 팀원들도 도움이 많이 된 것 같아 감사하다.
수요일까지 MDN(Mixture Density Network), 목요일까지 AlexNet을 조사해 발표하기로 했다.
피어 세션 때 시간이 남을 경우 알고리즘 문제를 풀자는 의견이 나와, 평소에 알고리즘 문제 찾아보며 풀만한 문제를 찾아놔야겠다.
과제하면서, Pytorch를 처음 보다보니 익숙하지 않다. 크게 어려운 내용은 없지만 매일 과제를 하면서 익숙해져야겠다.
이제 한 주 지났는데, 짧은 시간이지만 뭔가 많이 머리에 넣은 느낌이 든다. 지난 주에 비해 집중력이 조금 떨어지는 것 같은데, 그 날 그 날 공부할 내용을 미리 정해두고 목표한 만큼은 반드시 해내는 식으로 하면 이번 한 주도 괜찮을 것 같다.