Introduction to Convolutional Neural Networks for Visual Recognition
Lecture 1의 강의목차는 다음과 같다.
1) 컴퓨터 비전의 역사
2) CS231n 수업의 목표
Computer Vision
→ 컴퓨터 비전은 여러가지의 학문 분야가 관련되어 있다. 과학, 공학, 기술 등 다양한 분야에서 적용될 수 있다.
- 컴퓨터비전의 역사는 5억 4300만 년 전으로 거슬러 올라간다.
- 짧은 시간 동안 생물의 종이 폭발적으로 늘어난 시기는 캄브리아기 폭발 or 빅뱅 때이다. → 동물에게 ‘시각’이 생겼기 때문
시각은 동물들이 능동적으로 살게 했으며, 시각의 탄생이 폭발적인 종 분화를 만들어냈다.
Computer Vision 의 최종목표
사람처럼 볼 수 있는 기계를 만드는 것
- 1960s ~ 1980s : 객체 인식에 대한 연구 진행, 그러나 어려움에 직면 → 객체 분할을 해보면 어떨까?
* 객체분할: 이미지의 각 픽셀을 의미있는 방향으로 군집화 하는 방법
- 그렇다면 어떻게 객체를 잘 인식할 것인가?
예를 들어 정지 표시판이 있다고 하자. 카메라 앵글이 변하고 빛도 변하고, 심지어 객체 자체가 다른 정지 표시판으로 바뀌어도 정지 표시판이라는 것을 알아내야 한다.
- 1990s ~ 2010s : 특징기반 객체인식 알고리즘 (SIFT) : 물체의 특징 중 일부는 다양한 변화에 조금 더 강인하고 불변하다.
→ 이미지에 존재하는 “특징”을 사용해 비교하며 컴퓨터 비전은 많은 발전을 이루었고, 장면 전체를 인식하기에 이르렀다.
- 2000s 초 : 컴퓨터 비전이 앞으로 풀어야 할 문제가 무엇인지의 정의는 어느 정도 내렸다. 그리고 객체인식의 기술의 어디쯤 왔는지 측정해보기 위해 Benchmark Dataset 을 모으기 시작했다.
그 중 하나는 Pascal Visual Object Challenge(VOC) 이다. 이 데이터셋은 알고리즘 테스트에 사용되었으며, 객체인식 성능이 꾸준히 증가하는 것을 확인할 수 있다.
그 무렵, Princeton 과 Stanford 에 있던 그룹에서 질문을 던진다. 과연 우리는 이 세상의 모든 객체들을 인식할 준비가 되었는가?
이에 우리는 두가지의 motivation이 있었다.
1) 이 세상의 모든 것들을 인식하고 싶다.
2) 기계학습의 Overfitting 문제를 극복해보자.
* 당시 Graphical Model, SVM, AdaBoost 같은 기계학습 알고리즘들이 트레이닝 과정에서 Overfit을 하는 것 같았다. 학습 데이터가 부족하면 Overfitting이 훨씬 더 빠르게 발생했고 일반화 능력이 떨어졌다.
ImageNet의 시작
위의 동기를 바탕으로 ImageNet 프로젝트가 시작됐다.
구할 수 있는 모든 이미지를 담은 가장 큰 데이터셋을 만들자
→ 그 결과 ImageNet은 대략 15만 장에 달하는 이미지와 22만 가지의 클래스 카테고리를 보유하게 되었다. (아마도 당시 AI 분야에서 만든 가장 큰 데이터셋)
ILSVRC의 시작 (2009)
ImageNet을 Benchmark 에 어떻게 활용할 것인가? 라는 질문에서 시작됐다.
- ImageNet 팀은 국제 규모의 대회(ILSVRC)를 열어 지속적으로 알고리즘 테스트를 진행했다.
- 이 대회의 목적은 이미지 분류 문제를 푸는 알고리즘들을 테스트하기 위함이었다.
- 위 그림의 Human은 Stanford의 한 PhD 학생이다. 이 대회에 참가한 알고리즘처럼 테스트를 수행하며 몇 주를 보내야만 했다.
- AlexNet이 ILSVRC'12 에서 아주 좋은 성과를 달성했다.
- 2012년도의 CNN이 오류율을 급격히 감소시켰다. CNN은 90년도의 LeNet 아키텍쳐를 공유한다.
- 이후 ImageNet 의 우승 트로피는 매년 Neural Network 의 몫이었다.
90년대부터 알고리즘이 있었지만 최근에야 유명해진 이유는 다음과 같다.
- 무어의 법칙 → 매년 컴퓨터의 계산속도가 빨라짐
- GPU의 진보 → 계산 집약적인 CNN 고속 처리에 알맞음
'전공과목 스터디 > 인공지능' 카테고리의 다른 글
[CS231n] Lecture 4 (0) | 2024.01.27 |
---|---|
[CS231n] Lecture 3 (0) | 2024.01.27 |
[CS231n] Lecture 2 (0) | 2024.01.27 |
[총정리] CS231n (0) | 2024.01.24 |