[2025] CS231n 1강:Introduction - CS231n 강의 노트

2025. 9. 15. 00:00·[2025] CS231n
반응형

 

1강 : Introduction

 

첫 번째 강의에서는 컴퓨터 비전이 무엇인지 그리고 AI와 컴퓨터 비전 분야의 역사에 대해서 다루고 CS231n의 강의 학습 방향과 과제 등을 소개함.

CS231n의 강의는 Fei Fei 교수와 Ehsan Adeli 교수 그리고 대학원생 조교 Zane Durante이서 강의를 진행할 예정이다. 

이번 1강에서는 컴퓨터 비전의 역사에 대해서 주요하게 다루었는데 역사를 이해하면 어떠한 기술이 무슨 한계를 극복하기 위해 발전되었고 기초적인 단계에서부터의 원할한 이해를 하는데 도움이 될 것이라고 생각한다.

 

 

컴퓨터 비전이란? 

컴퓨터 비전으로 이루고자 하는 목표는 다음과 같다: 

  • 물체를 인식하고 (고양이 얼굴을 인식함) 무엇을 인지하고 있는지를(고양이로 인지) 구별함
  • 인간을 비롯한 동물의 시각을 연구하고 모방함
  • 카메라나 눈은 장치이며 시각 지능이 어떻게 일어나는지를 이해하는 것이 중요함
  • 이미지를 비롯한 시각적 데이터(이미지, 비디오 등)에 대해 모델을 개발하고 학습시키는 분야

컴퓨터 비전은 카메라, 블랙박스, CCTV, 로봇이나 드론 등 정말 다양한 산업에서 활용되고 발전하고 있는 분야이다. 

 

 

컴퓨터 비전의 역사 

 

컴퓨터 비전은 1950년에서 부터 시작한다. 포유류의 시각 경로(visual pathways)를 연구하면서 객체를 인식하는 고유한 시각 영역이 존재한다는 것이 발견되었다. 2가지로 나누어 볼 수 있는데 첫째, 시각피질의 뉴런은 고유의 수용장(receptive field)을 갖으며 여기에서는 모든 공간이 아닌 단순하고 제한적인 반응을 한다.  두 번째로 시각 경로는 계층적인 구조를 가지면 아래 층의 뉴런에서 위 층 뉴런에 신호를 보내고 위로 갈수록 뉴런의 수용장이 더욱 복잡해지는 지는 패턴을 보이고 있다. 단순한 선에서 코너 그리고 사물을 인식할 수 있다. 

이러한 시각 알고리즘에서 신경망 모델링에 큰 영감을 주는 것을 알 수 있다. 

마취한 고양이의 뇌에 전극을 심어 시각피질을 연구함

 

이후 1963년에 물체의 모양을 인식하는 것에 대한 논문을 발표하며 기하하적 특징을 주목하였다. 

1966년에 AI의 시작이 되는 MIT의 여름 프로젝트에서 시각에 대해서 연구를 하게 되었다. 

1970년대에 들어서 Stage of Visual Representation에서 시각 처리가 어떠한 과정을 통해서 나타나는지 설명하면서 사람이 어떻게 움직이는 현실을 시각적으로 처리하고 이해하는지를 Primal Sketch로 부르는 단순한 특징을 사용한다고 하였다. 

하지만 연구에서는 2D의 영상으로 망막에 인지한다고 하였지만 실제 세계는 3D이기 때문에 차이가 존재한다. 

다음으로는 사물 인식 분야의 선구적인 연구가 등장한다. 일반화된 원기둥(generalized cylinders)을 이용하여서 물체의 특징을 인식하는 연구를 진행하였다. 

 

일반화된 원기둥(generalized cylinders)

 

 

하지만 80년대에 AI 겨울(AI winter)가 찾아오면서 컴퓨터 비전, 로봇틱스 분야 등의 기대와 함께 연구비도 줄었다. 그렇지만 인지과학과 신경과에서 진전이 있었고 이에 따라 비전 분야 역시도 발전을 해나갔다. 예를 들어 어브 비더만(I. Biederman, Science, 1972)은 대상 인식이 전체 맥락에 영향을 받는다는 것을 보여주면 이미지의 같은 사물(자전거)가 놓였지만 장면 전체의 구조가 인식에 영향을 준다. 

또한 사이먼 소프 등(Thorpe, et al)이 발표한 연구애서는 인지의 대상이 동물인지 동물이 아닌지에 따라서 인식 속도가 차이난다는 것을 밝혔다. 이러한 연구들을 통해서 시각에 대한 연구에서 시각 인지가 중요한 부분임을 강조하고 있다.

 

90년대에 들어서 그룹화를 통한 인지(Recognition via Grouping)등을 통해서 특징을 검출하고 이후 얼굴 검출을 할 수 있는 알고리즘이 개발되었고 디지털 카메라에 이 기술을 이용하여 자동 얼굴 초점 기능이 탄생하였다. 즉, 연구 성과가 실제 산업으로 이어지기 시작하였다.

 

인물과 배경, 건물과 배경을 구분하는 모습

 

이후 21세기 초에 인터넷이 등장하면서 데이터가 폭발적으로 늘어났고 이는 컴퓨터 비전 분야에 다룰 만한 데이터를 주었다. Pascal Visual Object Challenge, Caltech-101 같은 데이터셋이 등장하면서 초기에는 수천 장에서 수만 장의 이미지를 가지고 시각 인식이나 객체 인식을 연구하였다. 

 

이후의 컴퓨터 비전 역사를 설명하기 위해서는 딥러닝 역사에 대해서 알아볼 필요가 있다. 1969년에 민스키가 발표한 xor 문제는 일시적으타격을 주었으나 후쿠시마의 Neocognitron의 합성곱층에서 정보를 모아 숫자나 문자를 인식하게 할 수 있는 연구가 발표되었다. 그런데 1987년에 결정적인 전환이 일어났는데 바로 역전파(backpropagation) 학습 규칙이 발표된 것인데, 입력과 정답이 주어졌을 때 신경망 출력과 실제 정답의 차이를 계산해 그 정보를 거꾸로 전달하여 가중치를 조정하는 방식이다. 이러한 역전파를 가장 먼저 응용한 것이 얀 르쿤의 합성곱 신경망(CNN)이였다. 하지만 이러한 연구가 있었음에도 더 나아가지는 못하였는데 가장 대표적인 문제가 바로 '데이터 부족'이다.

 

역전파(Backpropagation)

AI 모델에 있어서 데이터 부족은 단순한 불편이 아닌 수학적 문제로 일반화를 하기 위해서는 많은 데이터가 필요하지만 21세기 이전에는 이러한 데이터의 중요성이 제대로 인식하지 못하였다. 그래서 이 강의를 진행하고 있는 Fei-Fei 교수가 대규모 데이터셋을 만들기로 하였고 이에 탄생한 것이 바로 ImageNet이다. 이 ImageNet은 1500만 장의 사진과 2만2천개의 클래스로 분류하였고 시각 인식 대회인 Large Scale Visual Recognition Challenge(ILSVRC)를 개최하였다. 첫 해 2010년 오류율이 28%부터 시작하여서 2011년에는 25% 정도의 수준에서 머물렀다. 이러한 오류율은 인간의 5% 오류에 비하면 부족한 수준이였다. 그러다 2012년 제프리 힌튼 교수와 제자들이 CNN을 가지고 참가하였고 오류율을 16%로 줄여버렸다. 바로 AIexNet으로 불리는 딥러닝 모델이다.

 

 

AIexNet의 구조를 보면 사실 32년 전 후쿠시마의 네오코그니트론과 크게 다르지 않다는 것을 알 수 있다. Fei-Fei 교수는 두 가지 차이를 강조하고 있는데 역전파를 이용하여서 손으로 파라미터를 조정할 필요가 없었고 데이터라는 중요성에 대해서 인식하고 대규모 데이터가 이런 대용량 모델을 학습시킬 수 있다는 점을 보여준 것이 결정적이였다. 

 

AlexNet이 딥러닝의 혁명을 일으켜서 컴퓨터 비전 관련 논문의 수가 폭발적으로 증가하였고 수많은 딥러닝 알고리즘을 이용하여 ImageNet 챌린지에 도전하게 되었다. 이후 고양이나 개 그리고 의자 같은 일상적인 사물 인식에서 더 나아가 복잡한 이미지 인식, 이미지 검색, 다중 객체 탐지, 이미지 분할(segmentation) 같은 다양한 작업을 해결할 수 있게 되었다. 

 

 

컴퓨터 비전의 활용: 2012년 부터 현재까지

 

컴퓨터 비전은 단수히 고양이나 강아지를 구별하는 것이 전부가 아니며 시각 인식에는 훨씬 미묘하고 다양한 능력이 필요하다. 뿐만 아니라 정지 이미지만을 다루는 것이 아닌 움직이는 비디오에서의 분류, 인간 행동 인식 같은 주제들이 있으며 이러한 시각 과제들에 개요에 대해서 설명하고 있다. 우선 의료 영상에서 컴퓨터 비전을 이용하여 큰 영향을 미쳤으며 최초의 블랙홀 사진 역시 컴퓨터 비전을 이용하였기에 가능하였다. Fei-Fei 교수의 제자인 안드레 카파시가 진행한 Image Captioning 연구는 이미지에서 무엇이 있으며 객체 간의 관계까지 파악하는 이미지의 상황을 포착하는 연구를 진행하였다. 또한 스타일 변환(style transfer)같은 연구도 나왔는데 대표적으로 실물 풍경을 반 고흐 그림체로 변환시키는 생성형 AI 시대에 대해서 언급을 하며 DALL-E나 MidJourney와 같은 도구에 대해서 언급하고 있다. 

Image Captioning Vinyals et al, 2015 Karpathy and Fei-Fei, 2015

 

 

AI의 발전에 있어서 하드웨어 발전도 언급하고 있는데 GFLOP per Dollar는 가격 대비 연산 성능으로 그래프를 보았을 때 2020년 이후로 딥러닝이 GPU 수요를 폭발적으로 증가시키면서 급격히 상승하기 시작하였다. 

 

마지막으로 컴퓨터 비전의 문제들에 대해서 언급하고 있으며 데이터 편향과 대출 심사같은 논란이 있는 영역에서 쓰일 수도 있다. 따라서 단순히 기술만의 문제가 아니라 사회적, 인간적인 문제이기도 하다. 

 

 

CS231n overview: 딥러닝의 기초

아델리 교수로 넘어가면서 컴퓨터 비전이 정확히 무엇인지부터 알아본다. 컴퓨터 비전은 기계가 이미지를 보고 이해하도록 만드는 것으로 가장 근본적인 과제로 이미지 분류(imgae classification)이 존재한다. 예를 들어, 고양이 사진을 모델에 입력하면 모델이 고양이라는 레이블을 출력한다. 이 간단한 작업으로부터 훨씬 복잡한 응용들의 토대가 된다. 자율주행 차량, 의료 진단 같은 분야 역시 여기서 출발한다. 

 

그렇다면 어떻게 기계가 이런 일을 배우게 되는걸까? 가장 단순한 방법으로는 선형 분류(linear classification)이다. 2차원의 x,y 축으로 이루어진 그래프에서는 고양이와 강아지를 나누는 직선을 찾을 수 있다. 하지만 현실 데이터는 직선으로 깔끔히 나눌 수 없는 경우가 많다. 그 다음으로는 과적화(overfitting)과 과소적합(underfitting) 같은 문제에 부딪히게 되며 이를 해결하기 위한 정규화(regularization)와 최적화(optimization) 같은 기법을 이 강의에서 배울 예정이다. 또한 신경망(neural networks)를 이용하여 선형 분류는 하지 못하는 비선형 함수를 신경망을 여러 층 쌓는 방법을 통해서 모델링할 수 있다. 이 강의에서는 신경망이 어떻게 작동하고 학습시킬 수 있는지 그리고 어떻게 디버깅하고 개선할 수 있는지를 다룰 예정이다. 

 

이미지 분류에서는 단순히 사진에서 고양이가 있다는 것을 찾는 것을 넘어서 배경에 하늘과 나무 등을 분류하여 레이블을 부여하는  semantic segmentation과 세밀하게 검출과 분할을 결합하여 객체 하나하나에 레이블을 부여하는 인스턴스 분할(instance segmentation)이 존재한다. 정지 이미지뿐만 아니라 비디오 분류처럼 시간에 따라 변화하는 과제도 존재하는데 비디오 속에 사람이 달리는지 점프하는지를 인식하거나 시각과 청각을 함께 다루는 멀티모달 비디오에 대한 이해 그리고 기계가 어떤 영역에 주의를 기울였는지를 보여주는 주의 맵(attention map)들이 존재한다. 

 

 

딥러닝과 생성형 모델

딥러닝 모델에서 첫 번째로 다룰 것은 합성곱 신경망(CNN)으로, 이미지를 입력 받아 여러 합성곱(convolution) 연산, 샘플링(sampling), 완전 연결(fully connected) 연산 등을 거쳐 최종 출력을 만들어 낸다. CNN이후로는 순환 신경망(RNN)으로 순차적 데이터를 다루는 모델에 대해서도 배우고 트랜스포머(Transformer)와 어텐션(Attention) 기반 구조 같은 최신 아키텍쳐 역시 다룰 예정이다. 

 

그 다음으로 대규모 분산 학습(large-scale distributed training)에 대해서 다루는데 LLM와 같은 초대형 모델들이 실제로 어떻게 학습이 되는지도 간단히 소개할 예정이고 데이터셋이 점점 커지고 모델 역시 거대해지면서 데이터 병렬화(data parallelization), 모델 병렬화(model parallelization) 같은 전략이 필요하다.

 

생성형 모델을 배우기 앞서 자기 지도 학습(self-supervised learning)에 대해서 배우며 정답이 없는 데이터를 학습하는 방법으로 이를 통해 대규모 모델이 학습을 가능하게 한 핵심 기법이다. 이후 생성 모델에 대해서 배우며 단순히 인식하는 것을 넘어 새로운 콘텐츠를 생성할 수 있는 모델로 대표적으로 풍경 사진을 반 고흐의 별이 빛나는 밤의 그림체로 변환하는 스타일 전이(style transfer)가 대표적인 예이다. 이후 이미지 생성 분야에서는 확산 모델(diffusion model)이 주목을 받았는데 이미지에서 노이즈를 추가하는 과정을 학습하고 거꾸로 노이즈 속에서 이미지를 생성한다. 

 

마지막으로 비전 언어 모델(vision-language models)은 이미지 설명을 입력하면 해당 이미지를 검색해주거나 반대로 이미지를 입력하여 이미지에 대한 설명을 생성할 수도 있다. 2D를 넘어서 이미지로부터 3D 구조를 복원하고 생성하는 모델도 있는데 이러한 3D 비전은 로봇틱스나 가상현실 같은 응용에서 자주 사용된다. 그리고 비전이 실제 물리 세계에서 작동하는 embodied agents는 방을 청소하거나 사람의 시범을 보고 일반화하는 일을 할 수 있다. 

 

 

스탬포드 대학교 풍경을 반 고흐의 그림체로 바꿈

 

 

 

최종 정리

컴퓨터 비전은 과제(task)로 체계화하고, 이미지를 포함한 다양한 시각 데이터를 처리할 수 있는 모델을 직접 개발과 학습을 하는 방법을 배우며 또 이 분야가 어디까지 와 있고 어디로 향하는지 이해할 수 있게 된다.
그래서 이번 학기에는 새로운 주제들이 있으며 처음 몇 주는 기본기를 다지는 데 집중해서 기초를 튼튼히 해야 모델을 처음부터 직접 만들 수 있기 때문이다.
그 뒤에는 더 흥미롭고 최신의 컴퓨터 비전 주제로 넘어가서 마지막에는 인간 중심 AI와 컴퓨터 비전을 다루는 큰 강의가 있을 예정이다.

 

 

강의 자료

CS231n 강의 공식사이트 - cs231n.stanford.edu

CS231n Spring 2025 유튜브 강의 - youtube

CS231n 강의 슬라이드 - cs231n.stanford.edu/slides/2025

CS231n 과제 및 자료 - cs231n.stadford.edu.github.io

 

 

반응형
저작자표시 비영리 동일조건 (새창열림)

'[2025] CS231n' 카테고리의 다른 글

[2025] CS231n 5강: Image Classification with CNNs - CS231n 강의 노트  (0) 2025.11.17
[2025] CS231n 4강: Neural Networks and Backpropagation - CS231n 강의 노트  (0) 2025.11.06
[2025] CS231n 3강: Regularization and Optimization - CS231n 강의 노트  (1) 2025.09.22
[2025] CS231n 2강: Image Classification with Linear Classifiers - CS231n 강의 노트  (1) 2025.09.19
[2025ver] Intro: CS231n 가이드  (0) 2025.09.13
'[2025] CS231n' 카테고리의 다른 글
  • [2025] CS231n 4강: Neural Networks and Backpropagation - CS231n 강의 노트
  • [2025] CS231n 3강: Regularization and Optimization - CS231n 강의 노트
  • [2025] CS231n 2강: Image Classification with Linear Classifiers - CS231n 강의 노트
  • [2025ver] Intro: CS231n 가이드
코드짜는 오리
코드짜는 오리
AI에 대한 글을 올립니다.
  • 코드짜는 오리
    코드짜는 오리
    코드짜는 오리
  • 전체
    오늘
    어제
    • 전체 글 (41)
      • AI숏츠 (17)
      • 논문 리뷰 (10)
      • [2025] CS231n (10)
      • 컴퓨터비전 (2)
      • LLM (1)
  • 링크

    • GitHub
  • 인기 글

  • 최근 글

  • 반응형
  • 태그

    트랜스포머
    attention
    lstm
    SGD
    transformer
    논문
    옵티마이저
    AI
    머신러닝
    cs231n
    쉽게배우는
    rnn
    AlexNet
    논문리뷰
    Optimizer
    딥러닝
    컴퓨터비전
    ChatGPT
    인공지능
    CV
    computer vision
    경사하강법
    ADAM
    AI숏츠
    llm
    CS231n 강의노트
    GPT
    ComputerVision
    deeplearning
    pytorch
  • hELLO· Designed By정상우.v4.10.5
코드짜는 오리
[2025] CS231n 1강:Introduction - CS231n 강의 노트
상단으로

티스토리툴바