-
스탠포드 cs231n을 정리하며...AI 2021. 4. 28. 12:23
1. 이 강의를 정리한 이유
이전 포스트에도 적었지만, 아이펠 강남 수업을 들으면서 가장 버겁게 느껴졌던 부분 중 하나가, 스탠포드 cs231n강의를 듣는 것이었습니다. 인공지능에 대한 이해도 별로 없던 제가, 영어로 된 강의를 듣는다는 것이 어려웠고, 이 강의가 어떤 목적으로 어떻게 흘러가고 있는 것인지 전체적인 큰 그림을 초기에 이해하지 못하는 상황에서 무작정 듣는 것도 어려웠습니다. (1강도 정리한 이유) 그래서 아이펠 강남이 끝난 다음 직접 강의 내용을 다시 들어보면서 정리해 보기로 했습니다. 사실 비디오를 한번 본다고 해서, 모든 것을 이해할 수 있는 것도 아니었고, 지금도 그렇지만, 스스로의 학습을 위한 목적이 가장 크다고 할 수 있다.
2. 도움이 될 것이라고 생각되는 사람들
강의를 다 듣고 나서 생각해 보니, 소프트웨어 개발자이지만, 인공지능에 대해 잘 모르는 분들이 이 강의를 듣고 이해한다면, 어디가서 다른 사람들과 인공지능에 대해 토론하는데 많은 도움이 되지 않을까? 이 정도를 들었다면, 어디가서 인공지능에 대해 조금은 안다고 얘기할 수 있지 않을까?라는 생각이 들었습니다. 즉, 소프트웨어에 대한 지식은 어느 정도 있지만, 인공지능에 처음 입문하려는 분들, 그리고 아이펠에서도 많이 볼 수 있는 처음으로 인공지능을 공부하려는 분이 예상 독자이고, 그분들이 빠르게 강의 내용을 접근할 수 있도록 하는데 조금이나마 도움이 되고 싶은 것이 또 하나의 목적입니다.
3. 다른 정리와 다른 점
강의를 들으면서 이해를 높이기 위해 다른 유튜브나 블로그들을 참조해 봤지만, 아래처럼 여러가지 이유로 처음 보는 사람들에게 불편한 점이 있었습니다.
1) 완전하지 않다 (지금 제것도 그렇습니다만...)
강의 전체 내용을 요약한 것이 아니어서, 뭔가 필요한 부분만 발췌한 것들이 많고, 빠진 부분이 있는 것 같았습니다.
2) 글을 쓴 사람이 다시 보기 위한 것 같다
인공지능을 처음 배우는 사람들이 읽게 하려고 쓴 글이라기 보다는, 그냥 요점을 정리해 놓아서 이미 어느 정도 인공지능을 아는 사람들이 나중에 참고할 목적으로 쓴 것이 아닌지, 혹은 정리한 사람이 나중에 다시 찾아 보려고 쓴 것이 아닌가라는 생각이 드는 경우가 많았습니다.
3) 영어 울렁증이 있는 사람은 힘들다
컴퓨터과학을 배우려는 사람들은 영어와 친숙해져야 하는 운명이지만, 그래도 가급적이면 영어가 서툰 사람도 쉽게 읽을 수 있으면 좋지 않을까라는 생각이 들었는데, 슬라이드도 온통 영어다 보니 영어를 잘 못하는 분들은 힘들겠다는 생각을 했습니다. (아이펠에는 실제로 그런 분들도 좀 계신 것 같았구요.)
그래서 1) 가급적 완전한 형태로 정리하려고 했고 (지금은 아니지만 앞으로 계속 보완하겠습니다), 2) 요점 정리가 아닌 전체 강의 내용을 다 정리하려고 했습니다. 왜냐면, 사실 강의를 들으면서 곁가지로 얘기하는 부분들도 있고, 사실 그런 부분들에 대한 얘기들이 다른 것을 기억해 내는데, 도움이 되는 경우도 많이 있으니까요. 3) 슬라이드까지 번역하고 한글 용어를 찾아 사용해서 영어 울렁증을 최소화하려고 했습니다. 물론 번역이 이상할 수 있는 부분은 영어도 같이 써 놓으려고 했구요.
4. 피드백 환영
제 글이 완벽하지 않고, 번역이 어색한 부분도 있을 수 있고, 많은 내용을 정리하다보니 실수가 있을 수 있습니다. 이상한 부분에 대해서는 댓글 등으로 피드백 주시면 저도 공부하면서 개선해 보겠습니다. :)
5. 목차
아래 글들은 모두 Stanford University의 2017년 cs231n 강의 슬라이드와 유튜브 비디오를 참고하여 작성하였습니다.
- 1강
1) [cs231n] 1강 시각 인식을 위한 합성곱 소개 (1/3, 소개하기), 2) [cs231n] 1강 시각 인식을 위한 합성곱 소개 (2/3, 컴퓨터 비전 역사), 3) [cs231n] 1강 시각 인식을 위한 합성곱 소개 (3/3, 강좌개요)
- 2강
1) [cs231n] 2강 이미지 분류 (1/4, 챌린지), 2) [cs231n] 2강 이미지 분류 (2/4, 최근접 이웃 / nearest neighbors), 3) [cs231n] 2강 이미지 분류 (3/4, K-최근접 이웃/ K-Nearest Neighbors), 4) [cs231n] 2강 이미지 분류 (4/4, 선형 분류기)
- 3강
1) [cs231n] 3강 손실 함수와 최적화 (1/4, 멀티클래스 (multiclass) SVM), 2) [cs231n] 3강 손실 함수와 최적화 (2/4, 정규화 (regularization)와 소프트맥스 (softmax)), 3) [cs231n] 3강 손실 함수와 최적화 (3/4, 최적화 / optimization), 4) [cs231n] 3강 손실 함수와 최적화 (4/4, 경사하강 / Gradient Descent)
- 4강
1) [cs231n] 4강 역전파와 신경망 (1/4, 역전파, backpropagation), 2) [cs231n] 4강 역전파와 신경망 (2/4, 역전파 심화, advanced backpropagation), 3) [cs231n] 4강 역전파와 신경망 (3/4, 역전파 패턴, 벡터, 모듈화, backpropagation pattern, vector, modularization), 4) [cs231n] 4강 역전파와 신경망 (4/4, 신경망, neural network)
- 5강
1) [cs231n] 5강 합성곱 신경망 (1/3, CNN 역사와 도입, history & introduction), 2) [cs231n] 5강 합성곱 신경망 (2/3, 콘브넷, ConvNet), 3) [cs231n] 5강 합성곱 신경망 (3/3, 콘브넷 그 외, ConvNet Etc.)
- 6강
1) [cs231n] 6강 신경망 훈련하기 (1/4, 활성함수 (activation function)), 2) [cs231n] 6강 신경망 훈련하기 (2/4, 데이타 전처리와 가중치 초기화 (data preprocessing & weight initialization)), 3) [cs231n] 6강 신경망 훈련하기 (3/4, 배치 정규화와 학습 과정 베이비시팅 (batch normalization & learning process babysitting)), 4) [cs231n] 6강 신경망 훈련하기 (4/4, 하이퍼파라미터 최적화 (hyperparameter optimization))
- 7강
1) [cs231n] 7강 신경망 훈련하기 (1/4, 더 멋진 최적화 (fancier optimization) 1), 2) [cs231n] 7강 신경망 훈련하기 (2/4, 더 멋진 최적화 (fancier optimization) 2), 3) [cs231n] 7강 신경망 훈련하기 (3/4, 더 멋진 최적화 (fancier optimization) 3), 4) [cs231n] 7강 신경망 훈련하기 (4/4, 정규화와 전이 학습 (regularization & transfer learning))
- 8강 (생략)
- 9강
1) [cs231n] 9강 CNN 아키텍처 (architecture) (1/4, 알레스넷 (AlexNet)), 2) [cs231n] 9강 CNN 아키텍처 (architecture) (2/4, VGG, GoogLeNet), 3) [cs231n] 9강 CNN 아키텍처 (architecture) (3/4, ResNet), 4) [cs231n] 9강 CNN 아키텍처 (architecture) (4/4, 다른 아키텍처들)
- 10강1) [cs231n] 10강 순환 신경망 (Recurrent Neural Network) (1/4, 계산 그래프 (computational graph)), 2) [cs231n] 10강 순환 신경망 (Recurrent Neural Network) (2/4, 계산 그래프 (computational graph)), 3) [cs231n] 10강 순환 신경망 (Recurrent Neural Network) (3/4, 이미지 캡셔닝 (image captioning)), 4) [cs231n] 10강 순환 신경망 (Recurrent Neural Network) (4/4, LSTM)
- 11강
1) [cs231n] 11강 탐지와 분리 (Detection and Segmentation) (1/4, 의미적 분리와 전치 합성곱 (semantic segmentation & transpose convolution)), 2) [cs231n] 11강 탐지와 분리 (Detection and Segmentation) (2/4, 분류 + 위치찾기 (classification + localization)), 3) [cs231n] 11강 탐지와 분리 (Detection and Segmentation) (3/4, 물체 탐지 (Object Detection)), 4) [cs231n] 11강 탐지와 분리 (Detection and Segmentation) (4/4, 인스턴스 분리 (Instance Segmentation))
- 12강 (TBW)- 13강 (TBW)
- 14강 (TBW)
- 15강 (TBW)
- 16강 (TBW)
'AI' 카테고리의 다른 글