딥러닝 공부

    [cs231n 강의 정리] Lecture 7 : CNN

    [cs231n 강의 정리] Lecture 7 : CNN

    Convolution layer 기본 구조 여기서 depth는 항상 같다 5x5x3 을 하나의 숫자로 바꾸는 작업이다. 하나의 필터는 하나의 activation map 을 만든다. 28 * 28 * 6 은 다음 Layer 의 input 파란색 실선을 보게 되면 주황색을 나타내는데 하얀부분은 activation function 이 높은 경우, 검은색 부분은 activation function 이 낮은 경우이다. 7 * 7 을 3 * 3 Filter를 사용하고 stride 가 2일 땐 3*3 Padding 이 필요한 이유 input ouput size 동일하게 해준다. ( 0으로 되게 되면 convolution 진행 불가 ) Filter 의 크기가 1 * 1 도 의미가 있음? 있다 ! 2차원일 때는 똑같지만..

    [cs231n 강의 정리] Lecture 6 : Training NN part 2

    [cs231n 강의 정리] Lecture 6 : Training NN part 2

    Parameter Update SGD : 너무 느려서 실제 상황에선 쓰기 힘들다. 느린 이유 : loss function 이 수직으로는 경사가 급하기 때문에 빨리간다. 수평으론 반대로 느리게 간다. 지그재그로 가기 때문에 느리게 된다. 이런 문제를 개선하는 방법 : Momentum Update : Gradient descemt 에선 x 의 위치 직접 Update , Momentum Update에선 v (속도 , 0.5,0.9) 를 업데이트하여 x를 Update한다. If 언덕에서 공을 굴릴 때 : Gradient : 가속도에 비례 mu : 마찰 계수 -> 점차 속도가 느려진다. ( 경사가 급하지 않을 때 갈 수록 빨라진다 , 경사가 급할 때 minimum 을 지나갔다가 다시 돌아온다. ) 초반엔 Over..

    [cs231n 강의 정리] Lecture 5 : Training NN part 1

    [cs231n 강의 정리] Lecture 5 : Training NN part 1

    ConvNets 은 data 가 많지 않아도 학습 가능하다 . -> fine tuning 때문이다. 1. Train on ImageNet 2. Finetune network on your own data 가중치 공유 Finetuning : 다른곳에서 학습 시켜 가져온 가중치들을 새로운 모델의 초기값으로 사용한다. -> network 학습 아래부분만 새로 학습한다. Terminal 은 무한이 아니다. ( 너무 많이 돌리지 마라 ) Mini-batch SGD 1. Sample a batch of data 2. Forward prop it through the graph, get loss 3. Backprop to calculate the gradients 4. Update the parameters usin..

    [cs231n 강의 정리] Lecture 4 : Backpropagation and Neural Networks part 1

    [cs231n 강의 정리] Lecture 4 : Backpropagation and Neural Networks part 1

    input 이 마지막에 어느정도 영향을 끼치는가 ? 이를 알기 위해 Backward Pass 필요하다. 함수를 하나의 layer 이고 forward pass 할 때 local gradient 를 구할 수 있다. ( 메모리에 저장 ) global gradient 는 backward pass 할 때 구할 수 있다. 이런식으로 끝까지 가게 되면 Backward pass z 가 여러개라면 더해주면 된다. Backpropagation Example Sigmoid function 을 이용한 간단한 방법 and gate : gradient distributor -> 전 gradient 를 그대로 전파 ( local gradient 가 1) mul gate : local gradient 가 곱하는 반대쪽 값이 된다. ..

    [cs231n 강의 정리] Lecture 3 : Loss functions and Optimization

    [cs231n 강의 정리] Lecture 3 : Loss functions and Optimization

    이번 강의에서 다룰 것들 : Score 에 대해 불만족하는 정도를 정량화하는 Loss functions , Loss functions 을 최소화하는 Parameter 값을 찾는 과정인 Optimization에 대해서 다룰것이다. SVM : Hinge Loss Sj = 잘못된 label의 score Sy(i) = 제대로 된 label의 score 질문 : SVM loss 구하는데 있어서 j=y_i 는 계산을 하지 않고 있다 . 만약 모든 class에 대해서 계산한다면 어떤 결과가 나올것인가 ? 답 : 각각의 Loss 에 1을 더하게 된다 . 질문 : sum 대신 score들의 mean값을 사용하게 되면 어떤 차이가 있는가 ? 답 : loss 를 minimize하는 parameter를 구하는 것이 목적이기 ..

    [cs231n 강의 정리] Lecture 2  : Image classification

    [cs231n 강의 정리] Lecture 2 : Image classification

    Image Classification : Computer Vision 에 있어서 가장 핵심이 되는 작업 ex) 고양이, 개, 트럭, 비행기 등 정해진 Label 이 있을 때 이미지를 보고 어떤것인지 판단 Image Classfication 이 이루어지면 Detection, Segmentation, Image captioning이 손쉽게 이루어진다. Image Classfication 을 할때 Semantic gap 이란 문제가 있다. Image는 숫자로 구성된 3D array. (0 ~ 255) Ex) 300 x 100 x 3 ( Height, Width , Color Channel ) Viewpoint Varation : 이미지는 보는 시각에 따라 다르게 보인다. Illumintaion : 조명때문에 ..