<수강한 강의>
[#23.Lec] Advanced Architectures of CNN - 딥러닝 홀로서기
[#26.Lec] (강추) Basic of RNN (Recurrent Neural Network) - 딥러닝 홀로서기
수강 날짜 : 220903-220920
<내용 정리>
[#23.Lec] Advanced Architectures of CNN - 딥러닝 홀로서기
- imageNet
: 1000개의 카테고리의 이미지를 classification 하는 대회.
-> Alexnet -> VGGNet -> GoogleNet -> ResNet
[Alexnet]
- 8 layers
- 처음으로 ReLU를 사용함.
- dropout 0.5
- batch size 128
- SGD Momentum 0.9
- val acc이 더 안내려가고 평평해진다 싶으면 Learning rate를 작게 해줌.
[VGGNet]
- 19 layers
- small filters, Deeper networks
- non-linearity가 추가됨.
- 파라미터 수는 적어짐.
[GoogleNet]
- 22 layers
- No FC layers
- only 5 million parameters
.
.
.
CNN 공부를 할 때 다시 돌아오기.
[#26.Lec] (강추) Basic of RNN (Recurrent Neural Network) - 딥러닝 홀로서기
<Types of Task Dealing with Sequential Data>
- one to one
: 이미지 한 장을 주고 class 맞추기
- one to many
: CNN에서 이미지 feature vector를 설명하는 자연어 문장을 만들어낼때.
Automatically generate caption with the given image
- many to one
: sequence를 보고 하나를 예측하는 것. 주가를 주고 회사가 파산할지 안할지 예측하도록 함.
Predict whether a company would be bankrupted
- many to many
: Translate one sentence into another language, 어떤 단어를 예측한 후에 다른 언어로 번역하는 에시.
- many to many
: 주어진 인풋 단어가 무슨 품사인지 바로 맞추는 것.
Classify whether the word is owns' name or not
(6:50)
기존의 시계열 데이터 분석 방법들도 다 존재했다. 하지만 왜 딥러닝을 사용하는가?
<Deep Learning Dealing with Sequential Data>
- MLP로는 안되나? w 매트릭스가 고정되어 있다. 시퀀스를 차원으로 맞추는 과정에서 정보의 손실 같은게 발생할 수 있다. 또한, 다양한 파형에 부적절.
- CNN으로는 안되나? 생각보다 괜찮다(!)
(13:30)
- Recurrent Neural Network(RNN)
- 핵심 아이디어 : 이전 스텝에서 나온 아웃풋과 새로운 인풋을 고려해서 현재 스텝에서의 아웃풋을 만들자.
끝에 나온 아웃풋값도 시퀀스에 대한 값을 담고 있을 수 있을 것이다.
근데 어떻게 new input과 previous output을 합치느냐?
-> 두 값을 element-wise로 더하고 non-linear activation으로 넣어주고 아웃풋 값 ht를 얻는다.
- (31분쯤)
- many to many (1)
- encoding과 decoding으로 나뉘어져 있다. 사용하는 파라미터가 일반적으로 다름. - 왜냐면 사실상 목적이 다른 모델이라고 할 수 있기 때문이다.
- encode된 피쳐 벡터.
- 파라미터 업데이트와 loss 계산은 언제?
- 한 epoch은 어느 기준?
- end of sentence : <eos>를 기준으로 디코딩을 끝낼 수도 있다.
(43분)
<Recurrent Neural Network with Math>
- 가장 기본적인 모델에 바닐라라는 말을 붙인다.
[RNN 모델의 evaluate는 어떻게?]
최종 아웃풋들과 실제 값 간의 loss를 계산해서 평균낸다.
- gradient 배니싱 문제는? LSTM으로 해결.
[#27.Lab] Implementing Vanilla RNN with Pytorch (Failed to learn) - 딥러닝 홀로서기
[#28.Lec] Advanced Architectures of RNN (LSTM, GRU) - 딥러닝 홀로서기
결국 시계열 데이터를 처리할때, 기존의 output과 새로운 input을 함께 고려하자는 것!
그 중 하나가 RNN이었다.
.
.
조금 더 자세히 공부하고 돌아오기!
[#26.Lec 다시듣기 - 13분 40초부터!]
- MLP? CNN?
- RNN의 핵심 아이디어 : Process both new inputs and model output of previous input!
(16분) 기존의 output과 새로운 input을 함께 고려하자) 그래서 어떻게 합치느냐?
(19:30) 들어오는 데이터의 길이가 다르다면? 따로 처리를 해야 한다. -> max_sequence를 사용하거나...
'✨ 공부 기록 > 딥러닝' 카테고리의 다른 글
[홀로서기 6] 딥러닝 홀로서기 강의 정리(chap 20, 21, 22) (0) | 2022.08.31 |
---|---|
[홀로서기 5] 딥러닝 홀로서기 강의 정리(chap 15, 16, 17, 18, 19) (0) | 2022.08.23 |
[홀로서기 4] 딥러닝 홀로서기 강의 정리(chap 11, 12, 13, 14) (0) | 2022.08.15 |
[홀로서기 3] 딥러닝 홀로서기 강의 정리(9.Lab-10.Lec) (0) | 2022.08.09 |
[홀로서기 2] 딥러닝 홀로서기 강의 정리(4.Lab-8.Lec) (0) | 2022.08.01 |