목록인공지능/cs231n (15)
juuuding
cs231n 전체 내용 정리 필기본
지금까지 Mini-batch SGD(Stochastic Gradient Descent) 즉 데이터의 일부를 샘플링하여 순방향 전파로 loss 값을 구한 후 역전파로 경사를 계산하고, 이것을 이용하여 parameters을 update하는 방법을 사용해왔다. 이제 여기서 사용하는 nerual network를 훈련시키는 방법에 대해 알아볼 것이다. Overview 1. One time setup - activation functions (활성화 함수) - preprocessing (전처리) - weight initialization (가중치 초기화) - regularization (정규화) - gradient checking (경사 확인) 2. Training dynamics - babysitting the ..
지난 시간 Neural Networks에 대해 알아보았고 이제 Convolutional Neural Networks를 학습할 것이다. 작동 방식을 학습하기 앞서 Convoltional Neural Networks의 역사에 대해 알아보자. History [Perceptron(~1957)] Mark 1 Perceptron 기계는 퍼셉트론 알고리즘의 첫 실행. 이 기계는 20*20 photocells를 사용하는 카메라와 연결되어 있었고 400 pixel 이미지의 결과를 냈다. 픽셀 값은 1 또는 0으로만 표현이 되었고, 역전파에서 사용한 것과 비슷한 update rule이 사용되었지만 역전파의 원리를 적용하지는 않았다. 이것으로 알파벳을 인식할 수 있었다. [Adaline/Madaline(~1960)] lin..
최적화를 하기 위해 w가 변화함에 따라 Loss 값이 어떻게 바뀌는 지 알아야 한다. gradient descent로 parameter 값이 변할 때 loss가 얼마나 변하는지 알아낼 수 있는데, 여기서 우리는 "Backpropagation" 과정을 이용하여 빠르고 쉽게 gradient descent를 계산해낼 수 있다. Backpropagation [Computational graphs] Backpropagation 과정을 잘 표현하기 위해 "Computational graph"라는 계산 과정을 그래프로 나타낸 그림을 이용할 것이다. 각 노드는 계산 과정을 나타내고 노드들은 엣지로 이어서 표현한다. [Backpropagation] 다음은 역전파(Backpropagation)의 간단한 예시이다. 우선 식..
Optimization Optimization은 loss를 최소화하는 best W를 찾기 위한 과정이다. 한 사람이 산의 한 꼭대기에 올라왔다고 생각해보자. 이 사람은 산의 가장 낮은 골짜기 부분으로 가야한다. 여기서 내려갈 때 아무런 길로 가는 것이 아니라, 가장 빠르게 골짜기로 향할 수 있는 길을 선택해야한다. 이것이 optimization의 기본 아이디어이다. 산의 높이는 해당 지점의 w로 인해 발생한 loss의 값을 의미한다. 다음으로 optimization을 하는 방법에 대해 알아보자. ① Random search import numpy as np bestloss=float("inf") # bestloss 변수에 float 형식에서 가장 큰 값 넣기 for num in range(1000): W..
Loss Function 다음과 같은 3가지 class의 훈련 예제가 있다고 가정하자. 그리고 아래의 숫자는 해당 사진에 대한 각 class의 score이다. loss function은 우리가 가진 classifier가 얼마나 잘 작동하는지를 말해준다. 앞으로 loss function을 l로 표현할 것인데 이 식에서 image는 x로, target인 label은 y로 표현된다. 아래의 식을 해석하면 loss는 각 image에서 우리의 classifier가 예측한 결과에 대한 loss 값에 대해 평균을 낸 것이다. 이러한 loss를 계산하는 두가지 방법 SVM, Softmax 에 대해 알아볼 것이다. 참고로 다음 표현은 우리가 가진 classifier로 한 image에 대해 각 class의 score을 간..
Image Classification image classification 시 컴퓨터가 해야 할 일은 input 이미지 값을 받고, 저장되어 있는 카테고리로 이 input 이미지를 배정하는 것이다. 예를 들어 class에 dog, cat, truck... 이 있고 아래와 같은 이미지를 입력받았을 때, 이것을 cat으로 분류해 내는 것이 컴퓨터가 해야 하는 일이다. 이러한 image classification을 하는 데에는 "Semantic Gap"이라는 문제가 있다. 우리는 위의 고양이 사진을 볼 때 바로 이것이 고양이라는 것을 알 수 있지만, 컴퓨터는 이 사진을 볼 때는 다음과 같은 숫자들의 집합(pixel 값)으로 본다. 이처럼 고양이를 나타내는 사진의 의미와 픽셀 값들의 집합 사이에는 엄청난 차이가..
Computer Vision이란? Computer Vision이란 시각적 데이터들을 효과적으로 이해하고 분석하여, 컴퓨터가 인간의 시각적인 인식 능력을 가질 수 있도록 알고리즘을 개발하기 시작한 것이다. Vision의 역사 약 5억 4천만년 전, 천 만 년이라는 짧은 시간동안 생물 종이 폭발적으로 증가한 시기가 있다. 이 현상을 "Evolution's Big Bang" 이라고 부른다. 이 현상의 원인의 가설 중 가장 설득력 있는 가설은 Andrew Parker가 5억 4천만년 전 생물에게 최초의 눈이 생겨났다는 가설이다. 눈이 생김으로써 생물들은 훨씬 더 능동적이게 되었고, 살아 남기 위해서는 빠른 진화가 필요해졌다고 한다. Computer Vision의 역사 🔎1950s [Hubel & Wiesel] ..