📗강의노트
[CS231n] 1. Introduction to Convolutional Neural Networks for Visual Recognition
1 ~ 16강으로 이루어진 CS231n의 강의를 듣고, 이해한 내용을 토대로 정리할 것이다. 강의를 들으면서 떠오르는 Idea들과 접목시켜 생각해보면 유익할 것 같다. CS231n은 Stanford University에서 진행하는 Computer Vision에 대한 강의이다. Computer Vision은 매우 다양한 분야에서 적용이 되고 있고, 적용이 될 수 있다. 이번 1강에서는 Computer Vision의 간략한 역사와 CS231n의 개요에 대해 알아볼 수 있다. 과거에는 고대 생물들은 시각(비전)이 존재하지 않았다.그래서 시각이 존재하기 이전에는 먹이를 찾아서 먹지 못하고, 수동적으로 살아왔다. 하지만 종이 폭발적으로 늘어난 시기가 있었다. 이러한 발전의 이유를 "시각(비전)"에서 찾았다. 한 ..
[모두의 딥러닝] TensorFlow를 AWS에서 GPU와 함께 돌려보자
Sung Kim 님의 "모두의 딥러닝" 강의노트입니다좋은 강의 감사드립니다!https://www.youtube.com/watch?v=mQGwjrStQgg&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=5 AWS를 이용하여 매우 효율적으로 사용하자! 학습시간에 많은 시간이 소요된다. -> GPU를 사용하는 것 그래픽의 효율을 높이기 위한 것인데, metric 계산을 빠르게 할 수 있다. GPU가 없을 때는 Cloud service를 이용하면 된다. 클라우드에 올려서 빠르게 실행시키는 것이다. AWS를 이용해서 돌려볼 것이다. Oregon이 가장 저렴하다. ( 구글 윤석찬님 영상 도움된다! ) EC2에 들어가서 lunch instance를 누른다. 가장 많이 사용되는 Ub..
[모두의 딥러닝] RNN with Time Series Data
Sung Kim 님의 "모두의 딥러닝" 강의노트입니다좋은 강의 감사드립니다!https://www.youtube.com/watch?v=mQGwjrStQgg&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=5RNN을 이용해서 Time-Series data를 예측할 것 이다. Time-series란 말 그대로 시간이 지나면서 값이 변하는 것을 말한다. 대표적인 것이 주식가격이다. 다음과 같은 형태로 RNN이 나타날 것 이다. 7일 이전의 데이터를 넣어 8일째의 가격을 예측할 수 있는 것이다. 7일 데이터 만으로 예측하는 것 보다, 이전의 데이터들을 모두 이용하여 어떤 영향을 미친다 라는 가설을 이용하는 것이 many to one의 idea이다. Input_dim은 5가 된다 ..
[모두의 딥러닝] Dynamic RNN
Sung Kim 님의 "모두의 딥러닝" 강의노트입니다좋은 강의 감사드립니다!https://www.youtube.com/watch?v=mQGwjrStQgg&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=5 RNN의 가장 큰 장점 : Sequence data를 잘 다룰 수 있다는 것 sequence는 항상 정해져있었다. 하지만 정해지지 않을 때가 있다. 각각이 원하는 입력값들이 가변한다. 그래서 문자열들의 갯수가 달라지게 된다. -> 기존에는 빈 공간에 padding을 이용했다! 하지만 weight들이 들어있기 때문에, 이 것이 loss를 헷갈리게 할 수 있다. 그래서 배치에 대해 sequence_length를 알려주어야 한다. 그래서 loss가 헷갈리지 않도록 도와준다...
[모두의 딥러닝] Stacked RNN + Softmax Layer
Sung Kim 님의 "모두의 딥러닝" 강의노트입니다좋은 강의 감사드립니다!https://www.youtube.com/watch?v=mQGwjrStQgg&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=5 이전에 긴 문장에 대해서 도전을 했었지만 잘 되지 않았었다! RNN을 Deep & Wide하게 해야한다! 층을 stacking 하는 방법이다. rnn.MultiRNNCell을 통해 층을 쌓는 것이다. 몇 개 쌓을 것인지 n을 곱하는 것 이다.CNN에서도 마지막에 FC를 쓰는 것 처럼 RNN에서도 유사하게 Softmax(취하지는 않음)를 마지막에 취해준다. 출력된 데이터를 쌓아서 하나로 입력하면 된다. 기계적으로 항상 이렇게 reshape을 두 번 해준다고 생각하면 된다..
[모두의 딥러닝] Long Sequence RNN
Sung Kim 님의 "모두의 딥러닝" 강의노트입니다좋은 강의 감사드립니다!https://www.youtube.com/watch?v=mQGwjrStQgg&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=5 기존에는 손으로 manual을 만들었다. 위와 같이하면 자동으로 one-hot의 과정을 거칠 수 있다. set이라는 명령으로 unique한 문자열을 얻어낼 수 있다. x, y_data를 설정할 때 0~n-1 / 1~n까지 설정하여 그 다음 글자를 예측할 수 있도록 한다. Idx2char = num_classes이다. One.hot으로 만들 때 shape을 잘 살펴야한다. hyperparameter도 자동으로 바뀌게 할 수 있다, GradientDescentOptimiz..