

lecture 1은 딥러닝의 역사에 대해 알려주기에 skip하겠습니다!
조나단샘이 보고있다!ㅎ
이 강좌는 PPT가 가볍게 100장 정도 되는 강의입니다.
제 나름의 최선을 다한 리뷰이며 스크롤이 어마어마 할 듯합니다.
가벼운 마음으로 보시고 틀린 부분은 댓글로 꼭 알려주시면 감사합니다.
일부분만 필요하시면 따로 Ctrl + F로 찾아 보시길 추천드립니다.
오늘도 홧팅!ㅎ
lecture02는 computer vision의 가장 기본인 classification에 대해 학습하도록 하겠습니다.
computer vision : A core computer vision task
1) 이미지 분류란?
2) 이미지 분류의 challenges
3) machin learning: Data-Driven approach
4) Nearest Neighbor
-Distance Metric
-Decision Boundaries
-KNN
-Hyperparameters
-Hyperparameter finding
-Problem(Curse of Dimensionality

사람은 고양이를 보면 고양이다! 라고 알 수있습니다. 우리는 어떻게 이것이 고양이다라고 알 수 있었을까요?
아마 살아오면서 수만은 고양이들을 보았기에 단번에 고양이! 라는 정답에 접근할 수 있습니다.
그렇다면 컴퓨터는 어떻게 고양이를 인식하는 지 알아 보도록 하겠습니다.

컴퓨터는 사람처럼 이미 많은 데이터를 학습하고, 새로운 이미지가 들어오면 사진에서와 같이 네모를 만들어 이미지를 픽셀단위로 스캔하여 컴퓨터가 알 수 있는 숫자로 조합하여 그림을 인식합니다. 각각의 부분을 조합하여 아~ 이거는 고양이구나! 이렇게 이야기 해주는 거죠!
여기에서 800 * 600 * 3은 고양이 이미지가 가로 800, 세로 600, 3차원의 R,G,B로 나타납니다. (색은 Red, Green, Blue로 모든 색을 표현할 수 있대요. 그래서 3차원 RGB로 빛의 강도를 표현합니다.모양은 800*600*R, 800*600*G,800*600*B의 각각의 metrix가 나옵니다.)
challenges
-viewpoint variation
같은 사물이라도 어느 위치에서 보느냐에 따라 픽셀이 변화하는데 viewpoint 가 달라도 인식률을 높이기
-Intraclass Variation
같은 클래스에서 속해 있는 대상들을 분류하기
-Fine-Grained Categories
같은 고양이라도 다양한 종류가 있는데 종류별로 분류하기
-Background Clutter
물체와 배경이 구분이 어려울 경우 물체 예측이 어려움
-Illumination Changes
빛의 위치에 따라 인식률이 달라짐
-Deformation
학습한 데이터와 달리 형태 변형이 있다면 예측이 어려움
-Occlusion
물체가 일부분만 보이면 인식이 어려움
이런 다양한 문제점이 있지만 이걸 극복한다면 image clssfication은 아주아주 유용합니다.

이렇게 이미지에서 각각의 물체를 인식하여 image captioning을 할 수도 있고, 알파고처럼 바둑도 둘 수 있죠! 대단하죠?
Data-Driven Approach
이미지를 인식하는데 수만개의 class(강아지, 고양이, 컵, 노트북.등)가 있는데 이것을 어떻게 하면 효과적으로 할 지 고민하였습니다. 하나하나 사람이 class를 만들어 주는거는 잘 작동하지 않거나, 새로운 이미지를 분류하다면 어려움이 있을 것입니다. 그래서 나온게 Data-Driven Approach 방법입니다.
이 과정은 다음과 같습니다.
1. 이미지와 label에 대한 데이터셋을 많이 모읍니다.
2. 머신러닝으로 분류를 시킵니다.
3. 새로운이미지를 모델에 넣고 잘 분류하는지 평가합니다.

CIFAR10, CIFAR100, ImageNet 등과 같이 많은 이미지와 label이 있는 데이터 셋들이 있습니다.
Nearest Neighbor

Nearest Neighbor은 이름에 맞게 주변의 이웃들의 정보를 토대로 새로운 이미지를 예측합니다.
이 모델은 train을 할 때는 데이터의 모든 정보를 저장했다가 predict과정에서 새로운 이미지를
기존 데이터와 비교하여 거리를 기준으로 가까운 이미지로 클래스를 예측합니다.
Nearest Neighbor는 가까운 위치의 이미지로 분류한다고 했잖아요! 그럼 거리는 어떻게 잴까요? 바로 L1(manhattan distance)라고 하는 측정 방법을 사용합니다.

L1 distance는 두 이미지의 픽셀을 비교해서 뺀 다음 절대값을 쓰운 값들의 합이에요. 첫번째를 보면 56 - 10 = 46에 절대값(음수값은 없어요!)을 다 합쳐서 나타냅니다. 만약 동일한 이미지였다면 픽셀 값들이 다 똑같아서 합이 0이 나오기에 최종으로 합한 값이 작을수록 유사한 이미지라고 생각했어요.

질문이 있었어요! what N examples, how fast is traing? train을 할 때는 저장만 하기 때문에 상대적으로 빨라요!
what N examples, how fast is testing?train data들과 하나하나 비교해야하기 때문에 느려요. 우리가 쓰는 어플이 사용하는데 결과가 10분 후에 나온다면 쓰는 사람이 없겠죠?
그렇기에 train은 느리더라도 test 는 빠른 모델이 좋은 모델이 되겠습니다.
오늘은 여기까지 정리하고 이어서 다음편에 정리하도록 하겠습니다.
'밍제의 M.L > 문과생 밍제의 머신러닝' 카테고리의 다른 글
| Deep Learning for Cumputer Vision_lecture_준비 (0) | 2021.01.04 |
|---|