본문 바로가기
Deep Learning/모두를 위한 cs231n

[모두를 위한 cs231n] Lecture 1. Introduction. 앞으로 이런 것들을 배울거에요😄

by Steve-Lee 2020. 4. 30.

시작하며

안녕하세요 Steve-Lee입니다. 오늘부터 저와함께 cs231n의 세계를 여행하게 된 것을 진심으로 환영합니다😄

스탠포드 대학교의 자타공인 최고의 Deep Learning 강좌인 cs231n을 통해 Deep Learnig에 대해 하나하나 배워보도록 하겠습니다. 그럼 시작하겠습니다.

 

어쩌면 카메라가 세상에 있는 사람 수보다 많지 않을까?🙄

 

  • CSICO에서 수행한 2015~2017 통계자료

    • 인터넷 트래픽 중 80%는 인터넷 비디오데이터이다
    • 인터넷 데이터 대부분이 시각적 데이터이다
    • 그러므로 시각적 데이터를 잘 이해하는게 무엇보다 중요하다

 

  • 일부는 시각 데이터를 암흑 물질(Dark Physics)라고 합니다

    • 시각 데이터가 대부분이지만 이를 이해하고 해석하는 일은 상당히 힘들다는 의미인것 같네요

 

  • Youtube에는 매초 5시간 분량의 비디오가 업로드된다고 합니다.

    • 3초를 센다면 15시간 분량이겠지
    • Google 직원이 아무리 많아도 이 많은 비디오를 다 보고 점검하는 것은 어렵겠지
    • 자동으로 비디오 데이터를 이해, 분석하는 작업은 무척 중요 하겠죠?

 

  • Computer Vision을 공부한다는 것은...

Computer Vision 분야를 나누면 이런 모습이 아닐까 싶습니다

  • cs231n 관련 강좌들

related courses

  • cs231n에서는 NN과 CNN과 관련된 내용을 주로 다룹니다
  • cs131 선수과목으로 듣고 오는 것을 추천한다고 하네요(저는 듣지 못했습니다...하하😅)

Brief history of computer vision

  • Speaker: Fei-Fei Li

    • CNN을 발전시킨 기존의 연구 역사와 흐름을 이해해야 합니다.

    • Computer Vision에 대한 역사를 이해할 수 있어야 합니다.

 

  • Brief history of computer vision

    • 천만년이라는 짧은 시간에 많은 개체가 폭발적으로 증가하게 됩니다. 이를 Evolutional Big Bang이라 합니다.

    • Evolutional Big Bang

    • 5억 4천만 년 전 최소의 눈이 생겨났다는 것을 발견한 연구

      • 이는 폭발적인 종 분화와 진화를 야기합니다.
    • 인간이 만든 공학적인 비전의 역사는 어떻게 될까요?🤔

      • 초창기의 카메라 1600년대 르네상스 시대의 Obscura
        • 초기 눈(eye)과 비슷합니다.
      • Hubel과 Wissel의 연구
        • 고양이 뇌 연구
        • 어떤 자극을 줘야 일차 시각 피질의 뉴런이 작동할까
        • 시각 처리가 처음에는 단순한 구조로 시작되며 통로를 거치면서 점점복잡해진다는 것입니다.
      • 1960초, 컴퓨터 비전 연구의 태동
        • 눈에 보이는 사물들을 기하학적으로 시각화
        • 우리 눈에 보이는 세상을 인식하고 그 모양을 시각화
      • 1966 MIT 여름프로젝트 - "Summer Vision Project"
        • "우리가 여름 동안 시각에 대해 파헤쳐보자!"
        • 이를 기점으로 Computer Vision연구가 본격적으로 시작되었습니다.
      • 컴퓨터비전은 가장 중요하고 빠르게 성장하는 분야 중 하나입니다.
      • David Marr - MIT Vision Scientist
        • 비전에 대한 생각, 비전의 방향, 비전을 인식하기 위해 어떻게 알고리즘을 개발해야할까
        • 3단계
          • 1단계 - Primal Sketch
          • 2단계 - 2.5-D sketch
            • 깊이 정보, 레이버, 불연속점
          • 3단계 - 3-D model
        • 본 연구는 비전이란 무엇인가에 대한 연구였습니다.
      • 1970년
        • How to recognize and represent?
        • Generalize Cylinder
        • Pictorial Structure
      • 1980
        • 어떻게하면 단순한 구조로 세상을 표현할 수 있을까요?

      1960~1980연구는 단순한 연구에 불과합니다.

      객체인식이 너무 어렵다면 객체 분할을 먼저 하는게 어떨까요?

      • Image Segmentation
        • graph theory
      • 2000 - Face Detection
        • Machine Learning, Statistical Machine Learning
        • Adaboost를 이용한 Real time Face Detection
        • 2006년 Fujifilm은 실시간 얼굴을 인식할 수 있는 카메라를 개발했습니다.
      • Feature based object detection algorithm
        • 객체의 특징 중 일부는 다양한 변화에 좀 더 강하지 않을까요?
        • SIFT feature 추출
      • 2000년 대
        • 기술의 발달
      • Pascal VOC 2007(Visual Object Challenge)
      • ImageNET
        • 기존 알고리즘이 가지고 있던 Overfitting 문제
        • Motivation - 기계학습이 가지고 있는 Overfitting 문제를 해결해보자
        • 구할 수 있는 모든 이미지를 담을 수 있는 이미지 데이터셋을 만들어보자!
      • Image Net Rarge Scale Visual Recognition Challenge
      • Stanford PhD학생.... 대회에 참가한 것처럼 이미지를 하나하나 인식해야한다...

      Alexnet - 2012 IMAGENET LSVRC

      • 2012년을 주목하자
        • 초반 28.2%, 25%를 웃돌던 오류율을 16.4%로 무려 10% 이상 감소시켰습니다.
        • 이번 한 학기 동안 배울 알고리즘이 바로 이 알고리즘입니다.
        • Convolutional Neural Network
        • Deep Learning

cs231n Overview

  • cs231n focuses on one of the most important problems of visual recognition

  • 1990년 대 이미 존재했던 알고리즘이 왜 이제서야 유명해졌을까요?

  • 다음의 두 가지 이유를 들 수 있을 것 같습니다.
    • 연산량의 증가
    • 데이터의 증가
  • 컴퓨터 비전의 목적은 사람과 같은 시스템을 만드는 것입니다.

 

마지막으로 깨알 Justin의 한마디😊

 

"컴퓨터 비전은 정말 재미있는 분야입니다" - Justin

"여러분과 함께 이 수업을 통해 그런 알고리즘이 실제로 어떻게 동작하는지 심도 깊게 다룰 수 있어서 정말 좋습니다."

  • 부교재 - Deep Learning Book

이 수업의 철학

  • 아주 깊은 수준에서 알고리즘을 이해할 수 있어야 합니다.
  • 나만의 CNN을 Python로 구현해야 합니다. (* 밑바닥부터 하나하나 구현합니다. Assginment를 통해서요!)
  • CNN모델을 완벽히 구현해봅니다.
  • SOTA(State-of-the-art: 최신) 소프트웨어도 다룰 것입니다.(Torch, Tensorflow, Pytorch)
  • 세가지 과제가 주어집니다.

Pre-requisite

  • cs131, cs231na 를 듣고 오는것을 추천합니다
  • cs229정도의 머신러닝 지식: 필요한 내용은 필요할 때마다 설명해주도록 합니다.

 

모두를 위한 cs231n 😀

시작합니다!

[Deep Learning/03. 모두를 위한 cs231n] - 모두를 위한 cs231n (feat. 모두의 딥러닝 & cs231n) 2020/04/30


Neural Network 기초
* Backpropagation
[Deep Learning/03. 모두를 위한 cs231n] - Lecture4-Backpropagation and Neural Network. 오차역전파에 대해서 알아보자😃]

Activation Function 파헤치기
[Deep Learning/03. 모두를 위한 cs231n] - [모두를 위한 cs231n] Lecture 6. Activation Functions - ReLU함수의 모든 것

PyTorch Framework

[Deep Learning/03. 모두를 위한 cs231n] - [모두를 위한 cs231n] Lecture 8 - Part3. PyTorch Framework
 

모두를 위한 cs231n (feat. 모두의 딥러닝 & cs231n)

cs231n 시작합니다! 안녕하세요. Steve-Lee입니다. 작년 2학기 빅데이터 연합동아리 활동을 하면서 동기, 후배들과 함께 공부했었던 cs231n을 다시 시작하려고 합니다. 제가 공부하면서 느꼈던 점들과 중요하다고..

deepinsight.tistory.com

 

[모두를 위한 cs231n] - Lecture4. Backpropagation and Neural Network. 오차역전파에 대해서 알아보자😃

Lecture4-Backprop and NN 마지막으로 Backprop을 정리하는 글이 되었으면 합니다. 하나부터 열까지 꼼꼼하게 정리해 보도록 하겠습니다🧐 안녕하세요 Steve-Lee입니다. 오늘은 네 번째 강의 Backpropagation과

deepinsight.tistory.com

 

[모두를 위한 cs231n] Lecture 8 - Part2. PyTorch Framework

PyTorch Framework PyTorch Framework에 대한 모든 것을 알아보겠습니다 Lecture 8의 주제는 Deep Learning Software입니다. Deep Learning Frame Work에 대한 주요 특징과 비교가 주를 이루기 때문에 양이 좀 많..

deepinsight.tistory.com

 

[모두를 위한 cs231n] Lecture 6. Activation Functions - ReLU함수의 모든 것

ReLU함수의 모든것 ReLU함수 파헤치기 이번 시간에는 cs231n Image Seminar를 통해 학습하면서 궁금했던 점들을 하나하나 풀어보도록 하겠습니다😃 첫 손님은 ReLU함수입니다. ReLU함수의 특징과 Dead ReLU에 대해..

deepinsight.tistory.com

 

 

이상 Lecture1 Note였습니다.

저에게는 Lecture1 강좌가 Intro 강의 치고는 다소 무겁게 다가왔는데요...😅 

여러분께서는 잘 하시리라 믿습니다. 이상 Steve-Lee였습니다!😀

댓글