DeepML(CS231N) 9

풀잎스쿨 - DeepML(CS231N) Lec. 09

오늘은 저번에 못 본 9강을 전부 봤다. 저번에는 AlexNet을 배웠고, 오늘은 VGG, GoogLeNet, ResNet을 배웠다. 1. VGG - 매우 심플하고 딥한 모델이다. - 16 혹은 19층을 쌓았다. - 3x3 CONV stride 1, pad 1 and 2x2 MAX POOL stride 2를 사용했다. - 3x3을 쓰면서 7x7 필터를 쓰는 효과를 얻으면서 더 적은 파라미터를 만들어 계산비용을 줄였다. 2. GoogLeNet - 22개의 층을 가진다. - 인셉션 모듈을 가지고 있다. - 단지 5만개 파라미터만 가진다. (AlexNet에 비해 12배 적다) - 인셉션 모듈은 Multiple receptive field sizes for convolution (1x1, 3x3, 5x5), P..

공부/AIFFEL 2021.02.22

풀잎스쿨 - DeepML(CS231N) Lec. 07 ~ Lec. 09

오늘은 Lec.07의 나머지 부분과 Lec.09의 일부분을 공부했다. (Lec.08은 건너뛰었다.) Lec.07 1. learning rate에 대해 봤다. - learning rate decay : Adam보다는 SGD + Momentum에서 많이 쓴다. - First-Order Optimization : 기울기를 사용하여 선형으로 근사시켰다. 근사치를 minimize 하는 단계이다. - Second-order Optimization : 기울기와 Hessian 행렬을 사용하여 2차적으로 근사시켰다. 근사치를 minima하는 단계 - Second-order에서 BGFS와 L-BFGS가 있는데 딥러닝에서는 잘 사용되지 않는다. - 만약 full batch가 가능하면 잘 작동할 수 있으나, mini batc..

공부/AIFFEL 2021.02.15

풀잎스쿨 - DeepML(CS231N) Lec. 06 ~ Lec. 07

이전에 다 못본 6강을 봤고, 시간이 부족하여 7강의 일부만 들었다. 6강 1. babysitting the learning process - step1 데이터 전처리를 한다 : zero-centered, normalized - step2 사용할 아키텍쳐를 선택한다. : 입력층, 은닉층, 출력층 설계 - 네트워크 초기화 - 전체 데이터를 쓰지 말고 작은 데이터셋만 가지고 학습을 시켜서 모델이 오버피팅 되는지 확인하기 : 오버피팅이 되면 모델이 잘 학습하는 것이므로 좋다. - learning rate가 너무 작으면 cost가 줄어들지 않을 것이고, 너무 크면 cost가 튈 것이다. 2. Hyperparameter Optimization - regularization과 learning rate를 바꾸면서 학..

공부/AIFFEL 2021.02.08

풀잎스쿨 - DeepML(CS231N) Lec. 06

오늘은 6강을 거의 봤다. 시간이 부족하여 전부 보지는 못했다. 1.활성화 함수(Activation Function)의 종류를 보았다. - Sigmoid : 이진 분류에 쓰인다. 0 ~ 1의 값이 나온다. vanishing gradient가 생길 수 있다. zero-centered 하지 못하다. exp함수를 이용하므로 계산이 복잡해진다. - tanh(x) : sigmoid의 단점을 일부 보완한다. zero-centered 하다. 그렇지만 vanishing gradient가 생길 수 있다. - ReLU : max(0, x), vanishing gradient문제를 해결했다. 효율적으로 계산한다. 훨씬 빠르게 수렴한다. 생물학적으로 더 뉴런처럼 행동한다. 그러나 zero-centered하지 못하다. 죽는다 ..

공부/AIFFEL 2021.02.01

풀잎스쿨 - DeepML(CS231N) Lec. 05

오늘은 5강을 처음부터 끝까지 봤다. 수업방법은 4강과 동일하게 했다. 1. CNN의 원리를 간략히 봤다. 2. CNN이 오늘날 어떤 분야에 활용되고 있는지 보았다. 3. input layer와 filter가 만나서 activation map이 되는 과정을 봤다. filter마다 뽑아내는 특징이 다르므로 보통 filter는 여러개를 사용한다. 4. CNN의 구조를 봤다. (CRCRP FC) 5. filter의 작동 방법을 보면서 filter를 거친 후의 output크기를 구하는 일반화 수식을 봤다. 6. stride, padding 개념을 배웠다. 7. padding을 구하는 수식과 parameter를 구하는 수식을 배웠다. 8. 흔히 쓰이는 filter 갯수와 크기, stride, padding 크기를..

공부/AIFFEL 2021.01.25

풀잎스쿨 - DeepML(CS231N) Lec. 04

1. 이전에 일부만 배운 backpropagation에 대해서 배웠다. local gradient들을 미분하여 구하는 법, 하다보니 add, mul, max에 대해서 local gradient의 특징이 나타난다. 2. sigmoid gate를 미분하여 gradient를 구해봤다. 3. CNN 모델에 대해서 backpropagation을 해봤다. 자코비안 행렬(Jacobian matrix)이란 개념이 나왔다. 4. Neural Networks을 배웠다. 계층에 대해서 배웠고, 2-layer Neural Network과 3-layer Neural Network의 구조를 봤다. 5. 인공신경망 함수와 실제 뉴런의 구조를 비교하면서 봤다. 6. 활성함수의 종류를 간략히 살펴보았다. 출처 : cs231n.stan..

공부/AIFFEL 2021.01.18

풀잎스쿨 - DeepML(CS231N) Lec. 03 ~ Lec. 04(일부)

오늘부터 각 조원들끼리 퍼실님께서 정해준 구간만큼 강의를 듣고 정리한 후 모두 모여 발표하는 방식으로 수업을 진행하기로 했다. 1. Optimizer에 대해서 3강동안 배운 것 같다. 함수를 최적화 해야하는 이유, 방법, 원리 등을 배운 것 같다. 역시 너무 어렵다. 2. 4강에서 backpropagation에 대해 각 노드별 영향치를 계산하는 미분법에 대해 짧게 배우고 수업이 끝났다. 김성훈교수님의 모두를 위한 딥러닝을 RNN이전까지 듣고 모두의연구소를 참여했다. 지금까지 해본 결과(어디까지나 개인적인 생각임) 영상에서 개념을 난이도 있게 설명해주시는 듯하다. (미적분 계산은 당연히 할 줄 안다는 바탕이 깔린듯)

공부/AIFFEL 2021.01.11

풀잎스쿨 - DeepML(CS231N) Lec. 03 Loss Functions and Optimization

1) Multiclass SVM loss(Hinge loss) 2) Loss 함수는 무엇이고 어떻게 구하는가. 3) Over fit에 빠지지 않는 방법 -> Regularization 4) Regularization의 종류 : L2 regularization, L1 regularization, Elastic net(L1 + L2), Max norm regularization, Dropout, Batch normalization 오늘도 어렵지만 같이 이해하고, 질문하고 답변하며 다 같이 성장하는 시간을 가졌다. 저번에 본 영상의 다음 부분을 들었고 개념이 어렵지만 다른분들과 퍼실님께서 도와주시는 덕분에 포기하지 않고 공부할 수 있는 것 같다.

공부/AIFFEL 2021.01.04

풀잎스쿨 - DeepML(CS231N) Lec. 02 Image Classification

30일 오후에 배운 내용이다. 점심시간을 가지고 13시 30분부터 유튜브를 통해 옥스포드의 강의로 보이는 영상을 보며 다른 사람들과 이해한 내용, 질문을 나누고 서로서로 의견을 주고 받으며 같이 이해하는 방식으로 수업이 이어졌다. 해당 강의는 KNN, Linear Classification에 대해서 설명을 하는 것 같았고, 내용은 어려웠지만 같이 의견을 나누면서 서로 돕고, 퍼실님(먼저 공부해본 선배)의 도움을 받으며 완벽하지는 않지만 어느정도 이해가 됐다.

공부/AIFFEL 2020.12.31