티스토리 뷰
+이 수업을 들으먼 k-NN, softmax and 2-layer 구현할 수 있게 됩니다
+Python, Numpy 사용
Numpy는 무엇인가
- C언어로 구현된 파이썬 라이브러리로써, 고성능의 수치계산을 위해 제작됨
- Numerical Python의 줄임말이기도 한 Numpy는 벡터 및 행렬 연산에 있어서 매우 편리
- vectorized 연산에 중요
- 일단 요정도만
Matlab(MathWorks 사에서 개발한 수치 해석 및 프로그래밍 환경을 제공하는 공학용 소프트웨어) 그리고 Numpy 와 같이 vectorized tensor 계산이 익숙하지 않다면 연습하자
Image Classification
- 똑똑한 포유류와 다르게 컴퓨터는 이미지가 800*600 의 격자 모양의 숫자 집합으로 보임
- 그리고 각 픽셀은 RGB 3가지로 표현됨. 즉 800 * 600 * 3의 거대한 숫자 집합은 우리와 다르게 컴퓨터에게는 어렵지
- 바라보는 방향, 조명, 고양이의 포즈, Occlusion, 배경과 비슷한 정도에 따라 픽셀의 값은 모조리 변하지만 인간은 여전히 고양이임을 알아보고 우리는 그만큼 강인한 알고리즘을 원하다.
- Huble and Wiesel 덕분에 edges로 corner를 지정할 수 있지만 강인하지 못한걸?
즉, 확장성이 없다는거지. 세상 모든 객체에게 유연하게 적용이 가능할 수 있는 강인한 알고리즘이 필요하다고
- 이런 일을 가능하게 하는 Insight 는 Data-Driven Approach
- 앞으로 CIFAR-10 데이터셋을 다뤄야하는데 Cifar-10은 Machine Learning에서 자주 쓰는 training image 데이터셋입니다. class 가 10개라 -10입니다. 알아두시고.
- 데이터 중심이기 때문에 예를 들면 구글 이미지 서치로 엄청 많은 이미지를 수집하는겨
- 이 data set을 이용해서 Machine Learning Classifier 를 학습시키는거지
- 이 ML 알고리즘이 데이터 요약을 잘해서 다양한 객체를 인식할 수 있는 모델을 만들어내는거야 기특한놈
- 자 다른 API(Application Programming Interface)를 봐보자
- Train fucntion : image&label → model
- Predict fucntion : model → predict
- Data-driven approach는 Deep Learning뿐만 아니라 아주 일반적인 개념이지만 더 간단한 classifier 하나 보고 가자잉
- NN 이라는 건데 상당히 단순해. 단 한 줄의 코딩으로 distance를 측정하니까
- 간단하게 이미지 차이를 L1 으로 측정하면 되는데, Test 시간이 엄청 오래걸려서 사실상 NN 을 쓰는데는 없다. "Train Time은 조금 느려도 되지만 Test Time에서는 빠르게 동작"하길 원합니다.
- 그거보다 좀 유연한 방법이 K-NN 이다.
- 여기 K가 1이면 NN과 동일한거고 K가 커질 수록 more smooth 해진다.
- K값과 distance 측정 방법을 parameter라고 하고
그에 따라 정확도가 달라지니까 요거를 잘 정해야 하는데
1. dataset으로만 정할때가 K=1일 때라, 아까도 말했지만 NN은 bad
2. data를 train 과 test 로 나눠서 진행한다면 새로운 데이터에 포용력을 알 수 없기 때문에 마찬가지로 bad
3. train, validation 그리고 test로 나눠서 하면 training으로 셋팅된 hyperparameter를 validation data를 통해 tunning을 하고 test를 진행하기 때문에 better
4. Cross-Validation이라고 data가 적을 때 쓰는 건데,
5개 정도의 fold로 data를 나눠서에 1, 2, 3, 4로 training 하고 5번으로 validation 하고 다시 2, 3, 4, 5로 training 하고 1번으로 validation 하고,
이런 식으로 5번 반복을 해서 hyperparameter를 설정할 수 있다.
- 그런데 결국 K-NN도 현실에서는 쓸 수가 없다.
왜냐하믄 테스트 타임도 너무 길고 distance로 이미지 차이를 잘 표현하지 못하기 때문이다.
- 게다가 curse of dimensionality 때문이기도 한데,
- 요건 좀 더 내가 더 숙성하고 알려주께. 너무 많은 데이터가 필요해서 라고만 알고 있어봐
Linear Classification
- 레고 같은 Linear Classification을 선형으로 다닥다닥 끼우면 고게 Neural Network(신경망)이라고 비유할 수가 있습니다.
- data는 동일하게 CIFAR-10 이용할겁니다.
- 전에 배운 NN들은 parameter가 없었는데 이건 있습니다.
-딩동댕동
- 절대 필자가 피곤하거나 아직 공부를 덜 한게 아니고, 시간이 됐으니까.
다음 시간에!
참고 자막
참고 블로그
https://leechamin.tistory.com/64
https://namrmino.tistory.com/entry/CS231n-Lecture-2-Image-Classification?category=919351
https://gjghks.tistory.com/70?category=887163
'CS231n' 카테고리의 다른 글
CS231n Lecture 3 | Loss Functions and Optimization (0) | 2021.10.08 |
---|---|
CS231n Lecture 2 | Image Classification (2) | 2021.09.27 |
CS231n Lec3(2) Optimization & Image Features🙋 (0) | 2021.06.25 |
CS231n Lec3(1) Loss function (1) | 2021.06.25 |
- Total
- Today
- Yesterday
- 아이펠 후기
- AIFFEL
- 태국 맥주 살 수 있는 시간
- 아이펠
- 방콕 3일차
- cs231n
- 태국 바나나
- 아유타야에서 수코타이 버스로
- 왓 프라파이 루앙
- 자전거 렌트
- VIENG TAWAN 숙소
- 아유타야 야시장
- 이글스파크
- 태국Chester's 배달
- 나 홀로 투어
- 태국 7일차
- 수코타이 역사 공원
- 방콕에서 아유타야 기차
- 카페 아마존
- optimization
- SUREERAT 식당
- 아유타야자전거
- 왓시춤
- 얼리버드 호스텔
- 태국과일가격
- 기아타이거즈
- 페이페이리
- 왓 소라삭
- 태국 음료수
- 인공지능
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |