목록CS231n (10)
study
11주차 강의에서는 segmentation과 object Detection에 대해 알아보겠습니다 Semantic Segmentation이란 픽셀을 분류하는 것이며 Semantic의 의미는 암소 2마리의 경우 각각의 암소를 구분하지 않고 암소 전체를 하나의 pixel로 간주하는 것이다. Semantic Segmentation은 Sliding Window 방식을 통해서 픽셀을 분류할 수 있다 이미지를 Window 크기로 자른 후 각각의 이미지를 CNN에 넣어 pixel을 분류한다 Sliding Window란 이미지를 분할하여 자르는 것을 말한다 하지만 Sliding Window는 두 가지 단점이 있다 앞에서 Sliding Window 방식에 대해 알아보았다면 이번에는 Fully Convolutional에 대..
이제부터 우리는 Recurrent Neural Networks(RNN) 에 대해 알아보자. 우리는 지금까지 One to One 모델의 Vanilla Neural Network 를 배웠다. 이는 하나의 고정된 크기의 입력(fixed size object input)을 넣으면 hidden layer 를 거쳐서 결과로 나오는 형식이었다. 에를 들면 classification 문제 등에서 활용할 수 있는 경우들이었다. 그러나 머신 러닝의 분야에서는 이러한 입력과 출력에 조금 더 유연함을 주는 것에 대해 생각해 볼 필요가 있다. 위 이미지에서 가장 왼쪽에 나타난 것이 바로 우리가 지금까지 알아본 One to One 모델이 되겠다. 그렇다면 이제 다양한 종류의 입력과 출력에 대해 봐보자. 고정된 크기의 입력(e.g..
CNN(Convolution Neural Network)은 근래에 시각 인식 인공지능에 자주 사용되는 네트워크 구조입니다. CNN이 자주 사용되는 이유는 무엇보다도 다른 것들보다 좋은 성능을 보이기 때문입니다. 이 글은 CS231n 유튜브 강의 9강에서 다룬 Imagenet classification 대회에서 좋은 성적을 거둔 CNN Architecture에 대해 소개할 것입니다. 각 년도에 해당하는 Imagenet Classifcication 승자의 error rate는 위와 같습니다. 여기서 저희는 AlexNet, GoogLeNet, ResNet, VGG Net에 대해 알아보겠습니다. (2013년에 1위를 차지한 ZFNet은 12년 우승자인 AlexNet의 Hyper Parameter를 조금 수정한 ..
Neural Network의 Weight를 조정하는 과정에서 보통 Gradient Descent(경사하강법)라는 방법을 사용합니다 이는 네트워크에서 내놓는 결과값과 실제 값 사이의 차이를 정의하는 Loss Function(손실함수)의 값을 최소화하기 위해 기울기를 이용하는 것입니다 여기서 Loss Function을 계산할 때 전체 Train-Set을 사용하는 것을 Batch Gradient Descent라고 합니다 그러나 이렇게 계산하면 한번 step을 내딛을 때, 전체 데이터에 대해 Loss Function을 계산해야 하므로 너무 많은 계산량이 필요합니다 이를 방지하기 위해 보통은 Stochastic Gradient Descent(SGD)라는 방법을 사용한다 이 방법에서는 Loss Function을 계..
sigmoid함수는 0과 1 사이로 변환해주어 많이 사용된 활성화 함수입니다 하지만 역전파 과정에서 기울기가 없어지는(기울기 : 0) 문제가 발생합니다 이를 vanishing gradient라고 부릅니다 구체적으로 sigmoid 함수를 사용하였을 때 vanishing gradient 문제가 발생하는지 알아보겠습니다 X의 값이 10인 경우 시그모이드 함수에 넣어주면 1 / (1+e-10) = 0.999의 값이 나오고 이를 역전파 시키기 위해 시그모이드 함수 미분값인 (1-∂(x))∂(x) 수식에 0.999를 넣어주면 됩니다 (1-0.999)(0.999) = 0.0000999가 나오는 것을 확인할 수 있습니다 X의 값이 -10인 경우 시그모이드 함수에 넣어주면 1 / (1+e10) = 0.0000453값이 ..
안녕하세요 5강 이전에 강의 내용들은 Neural Network와 관련되어 있었습니다 CNN은 Neural Network에서 Convolution Layer가 추가된 딥러닝 알고리즘입니다 이미지의 경우 width, height, depth로 구성되어 있으며 filter를 통해 이미지에서 특징점을 뽑는 것을 Convolution Layer라고 부릅니다 image의 depth와 filter의 depth는 동일해야 합니다 image에서 filter 연산을 통해 생성된 것을 activation map이라고 부릅니다 하나의 filter는 하나의 activation map을 만듭니다 32 * 32 * 3(width, height, depth) 이미지에서 5 * 5 * 3의 filter(6개)를 연산하면 28 * 2..
gradient를 이용하여 어떻게 가중치를 업데이트 시키는지 자세히 배울 것인데요. 이장에서는 역전파(Backpropagation)에 대해 배울 것입니다 역전파의 경우 미분을 활용하기 때문에 미분 개념을 간단하게 설명하겠습니다 미분을 간략하게 표현하면 한 점의 기울기를 구하기 위해 사용되는 개념입니다 제가 정리한 미분공식을 바탕으로 역전파 과정을 직접 계산해보겠습니다 f = qz의 경우 미분하면 서로 반대의 값이 나옵니다(미분 규칙) 빨간 네모 박스와 파란 네모 박스는 우리는 이미 알고 있습니다. 우리가 궁금한 것은 Want에 해당하는 값들입니다 이 값들을 이제 직접 계산하는 과정에 데해 설명하겠습니다 f는 자기 자신을 미분하기 때문에 f의 기울기는 1이 됩니다 z의 기울기는 이미 주어져 있습니다(파란색..
손실 함수 학습을 통해 얻은 데이터의 추정치가 실제 데이터와 얼마나 차이 나는지 평가하는 지표로 쓰인다. 이 값이 크면 클수록 많이 틀렸다는 의미고, 이 값이 0 이라는 것은 '무손실' 즉 완벽하게 추정할 수 있다는 의미가 된다. 해당 강의에서는 SVM loss, Crosentcross entropy 두 가지 손실함수를 소개한다. Hinge loss(SVM loss) : Score을 구하는 함수로 식은 사진과 같다( j와 yi가 같다면 0으로 처리해서 계산을 한다) Sj : 잘못된 lable의 score Syi : 제대로 된 lable score 1 : safety margin Loss가 0이 나오는 W의 값이 한개가 아니다 그러므로 학습시 Weight 값이 크게 학습되서 과적합의 문제가 발생할 수 있다..
Image Classification이란 : 사진을 컴퓨터에게 입력했을 때 사진에 나오는 객체(사람, 사물, 장소 등)를 판별하는 것을 말한다. 컴퓨터에게 이미지는 숫자들의 집합에 불과하며 그 숫자들의 집합을 array(배열)라고 부른다 각 픽셀의 밝기 값은 0~255 범위의 정수로 표현 이미지는 3차원 배열로 width, height, channel로 구성되며 channel의 경우 RGB(Red, Green, Blue) 또는 흑백을 말한다 기존의 이미지 분류에서는 이미지 특징점(edge, shape)을 통해 이미지 분류를 시도하였다 하지만 이러한 방법은 확장성이 없다 왜냐하면 위의 인물사진에서 작은 변형만 일어나더라도 분류 정확도가 떨어지기 때문이다 그래서 데이터 중심의 접근 방법(Data-driven..
안녕하세요 CS231n 1강의 경우 교양 수준에서 Computer Vision의 역사 및 CNN에 대해 간략하게 소개한 영상입니다 1강의 경우 강의 영상을 정리하는 방향보다 keyword를 가지고 제 나름대로의 정리한 글입니다 Computer Vision이란 : 기계의 시각에 해당하는 부분을 연구하는 컴퓨터 과학의 연구 분야 중 하나로 공학적인 관점에서, 인간의 시각이 할 수 있는 일들을 수행할 수 있도록 시스템을 만드는 것을 목표로 한다 이미지 인식 경진대회 이미지 인식 경진대회 결과로 사진의 수치는 에러율로 낮을수록 인식률이 높은 것을 의미한다 2015년도를 기준으로 컴퓨터는 사람보다 이미지 분류를 잘하는 것을 알 수 있다 이미지 분류 문제는 object detection, segmentation, ..