전체 글41 CS231n 7강 이번 강의에서는 지난 6강에 이어 Neural Network의 training에 대해서 배웁니다. 지난 강의에서 우리는 최솟값 Loss를 찾기 위해 Optimization을 사용한다고 배웠습니다. 위 슬라이드는 Gradient descent를 사용하여 Loss가 최적화되는 과정을 시각화한 것이며, 우리의 최종 목적은 빨간 지점에 도달하여 최소 Loss값을 갖는 w를 찾는 것입니다. 우리가 배웠던 SGD는 문제점을 갖고 있습니다. 왼쪽 슬라이드에서 우리는 빨간점에서 시작하여 최적점을 찾아갈 때, Loss가 수직적으로 예민하여 지그재그로 이동하게 되고, 이는 수렴속도가 느려지게 만드는 문제를 만듭니다. 추가로 오른쪽 슬라이드와 같이 Local minimum에서도 기울기가 0이라 이를 global minimu.. 2024. 1. 28. CS231n 6강 이전 강의 5강에서는 CNN의 구조에 대해서 배웠습니다. 이번 강의에서는 Nueral Network의 training에 대해서 배울 예정입니다. Acitvation Function은 layer의 최종 출력 단계에 위치하여 비선형성을 더해주는 중요한 역할을 합니다. Activation function의 종류는 위 슬라이드와 같습니다. 하나씩 천천히 알아보겠습니다. sigmoid함수는 최종적으로 (0,1)범위의 출력을 가져옵니다. Sigmoid함수는 아래와 같은 문제점으로 인해 activation function으로 사용되지 않고, 최종 output을 낼 때만 이용합니다. 문제점 1. 기울기 소실 가능 만약 sigmoid함수의 input값이 위 -10과 +10의 값을 갖는다면, 해당 지점의 기울기는 0의 수.. 2024. 1. 28. CS231n 5강 이번 강의에서는 Convolution Layer에 대해서 배웁니다. 이전 시간에 배웠던 Fc Layer의 경우에는 32x32x3 형태의 3차원 이미지를 Flatten하여 3072x1차원의 벡터로 변형합니다. 그리고 10개의 class에 대한 10x3072의 크기를 갖는 가중치 w와의 내적을 통해 각 class에 대한 10개의 출력값을 얻습니다. 오늘 배울 Convolution Layer의 경우, FC Layer와는 다르게 공간 구조를 유지한다는 차이점이 있습니다. FC Layer의 경우 32x32x3의 이미지를 3072x1의 1차원 벡터로 변형을 하였지만, Conv Layer는 32x32x3 형태를 유지합니다. 이후 다양한 크기의 필터와의 내적 연산을 통해 activation Map을 얻게 됩니다. 위 .. 2024. 1. 25. CS231n 4강 아래의 내용은 cs231n 4장 강의 슬라이드와 일치하지 않고, 역전파에 대한 내용을 나만의 방식으로 정리 진행 신경망 우리는 이전 강의까지 선형 함수인 Linear score function = Wx에 대해서 배웠다. 앞으로는 위와같은 Linear fuction과 같은 함수를 계층적으로 쌓으면서 여러 개 사용할 것이고, 이를 신경망이라 부를 것이다. 그렇다면 계층적으로 쌓는다는 것이 무슨 의미인지 알아보자. 위의 슬라이드를 보면 2-layer Neural Network의 함수는 f = W2 max(0,W1x) 형태를 갖는다. 이 함수는 W2x와 max(0,W1x)인 2개의 합수의 곱으로 이루어져 있고, 이처럼 두 함수의 곱을 이용하여 계층적으로 함수를 쌓아서 사용한다. max(0, W1x)는 비선형 함.. 2024. 1. 22. CS231n 3강 지난 강의에서는 선형 분류기의 이미지 분류 방법에 대하여 알아보았습니다. 선형 분류기는 이미지 x에 대해 가중치 w를 곱하여 class에 대한 점수를 반환하는 방법을 사용하였습니다. 이번 강의에서는 예측을 잘 수행하는 가중치 w를 판단하는 방법에 대하여 알아보겠습니다. w의 좋고 나쁨을 판단할 수 있게 정량화할 방법이 필요하고, 이를 함수로 정의합니다. 우리는 이 함수를 손실함수라고 정의하였습니다. 손실함수는 가중치 w가 얼마나 나쁜지를 의미하기에 0에 가까울수록 좋습니다. 그렇다면 이미지 분류에 사용되는 몇 개의 손실함수에 대해서 알아보겠습니다. 손실함수는 위의 그림에서 식 L을 의미합니다. N개의 데이터에 대해 입력 이미지 x와 가중치 w로부터 나온 예측값과 정답값 y를 이용하여 손실값을 계산합니다... 2024. 1. 22. CS231n 2강 CS231n 강의를 수강하고 정리한 내용입니다. 컴퓨터 비전의 핵심 task입니다. '어떻게 이미지를 분류할까?'에 대해서 고민합니다. 인간에게 이미지를 보여주고 물체가 무엇인지 맞추는것은 쉽지만, 컴퓨터에게는 어려운 일입니다. 컴퓨터가 이미지를 볼 때는 오른쪽 그림과 같이 숫자격자일 뿐 그 이상의 의미는 없습니다. 여기서 Semantic gap이 발생합니다. 위에서 말한 Semantic gap을 해결하기 위한 접근 방법은 Data-Driven 접근법입니다. 큰 데이터 셋을 수집하여 다양한 카테고리에 대한 이미지 데이터를 머신러닝 분류기에 훈련을 시킵니다. 이후 새로운 이미지를 적용하여 예측 결과를 확인합니다. 이것이 Semantic gap을 해결한 Incite입니다. 첫번째 분류기인 Nearest-Ne.. 2024. 1. 21. Faster R-CNN 지난번에 공부했던 Fast R-CNN은 이전 모델인 R-CNN의 단점들을 극복하였지만, Input image에서 RoI 추출을 진행하는 selective search알고리즘이 cpu단에서 연산을 수행하기에 여전히 연산 수행 속도가 느리다는 단점을 갖고 있습니다. 이 문제를 해결하기 위해 Faster R-CNN이 등장하였습니다. Faster R-CNN에 대해 자세히 알아보기전에 Faster R-CNN과 Fast R-CNN의 차이점 무엇일까요? 그것은 바로 RoI를 추출하는 방법입니다. RoI 추출 이후 과정인 RoI pooling, Fc layer를 거쳐서 수행되는 Classification과 Bounding box Regression은 동일합니다. 그렇다면 Faster R-CNN은 어떤 방법으로 RoI를.. 2023. 11. 24. Fast R-CNN 기존 R-CNN은 학습시간이 오래 걸리고, 이미지 한장을 처리하는데 47초의 추론 시간이 소모되었습니다. 그리고 CNN, SVM, Bounding Box Regressor가 독립적으로 학습을 진행하여 연산이 공유되지도 않는 한계가 존재하였습니다. 이를 위해 기존 R-CNN보다 더 빠른 속도를 갖는 Fast R-CNN이 등장하였습니다. Fast R-CNN도 R-CNN처럼 2-Stage Detector로 Region Proposal과 Classification으로 구성됩니다. 그렇다면 어떤 곳에서 속도의 이점을 가져왔을까요? R-CNN에서는 입력 이미지 1개에서 추출된 2000여개의 RoI를 CNN의 입력으로 넣었지만, Fast R-CNN에서는 입력 이미지 1개를 CNN의 입력으로 넣는것으로 속도의 이점을 .. 2023. 11. 2. R-CNN R-CNN에 대해 말하기 전에 Object Detection의 2가지 구조에 대해 알아보겠습니다. Object Detection은 입력 이미지를 1-stage, 2-stage로 처리하는 구조로 나뉩니다. 2-stage Detector는 입력 이미지에서 이미지가 있을법한 영역(Region)을 제안하는 Region Proposal과 제안된 Region에 어떤 물체가 있을지 Classification을 수행하는 2개의 단계로 나누어 입력 이미지를 처리합니다. 1-stage Detector는 입력 이미지에서 이미지가 있을법한 Region을 찾는 것과 해당 Region에 어떤 물체가 있을지 Classification하는 것을 동시에 처리합니다. 2-stage Detector가 입력 이미지를 2단계로 나누어 이미지.. 2023. 11. 2. 이전 1 2 3 4 5 다음