전체 글
-
cs231n 8강 정리cs231n 강의 2022. 6. 4. 11:52
8강의 주제는 Deep Learning Software 이다 1. CPU, GPU - 아래 사진을 보자 1) CPU - 코어의 수가 더 적다 - 각 코어의 속도가 빠르다 - 연속적인 연산에 적합하다 - cache가 있고 시스템에 RAM 에서 가져와 사용한다 2) GPU - 코어의 수가 많다 - 각 코어의 속도가 느리다 - 병렬적인 연산에 적합하다 (Matrix Multiplication에 아주 적합하다) - 내부적으로 RAM 이 있다 - GPU의 종류는 여러개 이다 - Deep Learning 에서 특화된 GPU는 NVIDIA이다 3) CPU / GPU communication - Model & Weights 는 GPU 개별 RAM에 저장 되어있다 - Train data 는 컴퓨터 저장장치(HHD, SS..
-
cs231n 7강 정리cs231n 강의 2022. 5. 21. 20:58
7강의 주제는 6강에 이어 NN을 학습시키는 것들에 대한 설명이다 1. Parameter Updates - weight 값을 최적화 시키는 방법들이다 - 아래 그림을 보자 - 이전에 SGD 방식을 배웠지만 몇가지 단점이 있다 - SGD 단점 일반적으로 update 속도가 느림 Local minima - Gradient 값이 0 인 경우 update 가 멈춘다 Saddle point - Gradient 값이 0 에 가까울 만큼 작아 update 가 굉장히 느리다 - 이러한 단점을 해결하기 위한 방법이 있다 1) SGD + Momentum - Momentum 은 물리에서 운동량의 개념이다 - 공이 언덕을 내려오다가 기울기가 0인 지점을 만나도 계속 내려오던 속도 때문에 그 지점을 지나 계속 굴러간다. - u..
-
cs231n 6강 정리cs231n 강의 2022. 5. 14. 22:16
▶ 초심공룡을 아는가, 그 모임엔 막내가 정말 치명적이다. 6, 7강은 NN을 학습시키는 것들에 대한 설명이 주된 내용이다 1. 활성함수(Activation function) - 그림에서 보라색 동그라미 와 글씨 부분 이다 - 종류는 그림과 같이 대표적인 6가지가 있다 1) Sigmoid 함수 - 전통적으로 많이 사용했지만 딥러닝 분야에서는 사용을 안한다 - 이유 뉴런이 포화되서 기울기를 없앤다 -> 이걸 vanishing gradient 라고 함 -> gradient 가 없기 때문에 Backpropagation 을 못한다 (가장 큰 단점) 결과값이 zero-centered 가 아니다 -> Convergence가 느려진다 연산부담이 커 학습 성능을 저하시킨다 2) tanh 함수 - zero-centere..
-
cs231n 5강 정리cs231n 강의 2022. 5. 4. 17:35
▶ 초심공룡을 아는가, 그 모임엔 막내가 정말 치명적이다. 5강의 핵심은 CNN 구조이다 1. CNN 구조 - 사진을 보자 이게 CNN 구조 이다 CONV 은 Convolution Layer RELU 는 ReLU 함수 (활성화 함수) POOL 은 Pooling Layer FC 는 Fully Connected Layer 1) Convolution Layer & ReLU function - 이미지의 공간 구조는 유지하며 필터로 이미지를 몇가지 방법으로 쓸면서 필터링을 한다 - 이걸 Convolve 라고 한다 - 여기서 필터가 Weight(가중치) 이다 - 몇가지 방법에는 Stride 와 Padding 이 있다 - Convolve를 수행하고 나온 값에 Bias(편향) 를 더하면 하나의 결과값이 나온다 - 즉 ..
-
미분, 시그마, 시그모이드 함수cs231n 강의 2022. 4. 30. 00:31
▶ 초심공룡을 아는가, 그 모임엔 막내가 정말 치명적이다. cs231n 강의에 미분과 시그마를 통한 연산이 자주 나온다. 시그모이드란 함수도 역시 알아야 되서 정리한다. 1. 미분 - 순간변화율(또는 미분계수 라고도 함)을 구하는 것이다 - 변화율은 함수를 통해 표현한다 - 변화율을 기울기 라고 얘기한다 - 변화율은 항상 기준이 있어야 구할 수 있다 - 순간 변화율에서 기준은 순간이다 - 여기서 순간은 '한 점' 이다 - 따라서 한 점의 기울기 (순간변화율) 를 구하는 것이다 - 사실 기울기를 구하기 위해선 두 점이 필요하다 - 그런데 미분할때 두 점 사이의 거리는 무한소이기 때문에 그냥 '0' 으로 본다 - 무한소 개념 -> https://ko.wikipedia.org/wiki/%EB%AC%B4%ED%..
-
cs231n 4강 정리cs231n 강의 2022. 4. 23. 19:34
▶ 초심공룡을 아는가, 그 모임엔 막내가 정말 치명적이다. 이번강은 정말 어렵다. 강의의 내용은 미분, 수학 계산이 전부라고 봐도 된다. 도저히 지금 나의 미약한 두뇌로는 이해할 수 없어 간단한 요약 정리만 한다. 4강의 주제는 Back propagation, Neural Network 개념 이다. 1. Back propagation - 인공 신경망은 굉장히 거대할 것이다 - Gradient 공식을 일일이 직접 사용하여 모든 매개변수를 구하는 것은 불가능하다 - 그래서 Back propagation을 사용한다 - Back propagation 이란 Chain rule 공식을 사용해 모든 입력값 및 변수들에 대한 Gradient를 계산하는 것이다 - Back propagation을 하기 위해서 Forwar..
-
Learning rate(Step size), Back propagation, Activation function딥러닝 네트워크 구조, Weight, Biascs231n 강의 2022. 4. 23. 16:51
▶ 초심공룡을 아는가, 그 모임엔 막내가 정말 치명적이다. cs231n 수업을 더 잘 이해하기 위해 알아야 할 필요지식들이 더 있어 정리한다. 1. Learning rate(Step size) - cs231n 3강에 나온 Gradient descent 알고리즘에 나오는 개념이다 - Gradient descent 에서 경사를 따라 얼만큼씩 이동할지 정해준다 - Step size 라고 하기도 한다 2. Back propagation - ANN을 학습시키기 위한 알고리즘 중 하나이다 - 원하는 목표값과 실제 모델이 계산한 출력값의 오차값을 구하고 그 오차값을 다시 뒤로 전파해가면서 각 노드가 가지고 있는 변수들을 갱신하는 알고리즘이다 3. Activation function - ANN(인공신경망) 에서 입력을..
-
cs231n 3강 정리cs231n 강의 2022. 4. 16. 18:24
▶ 초심공룡을 아는가, 그 모임엔 막내가 정말 치명적이다. 3강의 주제는 Loss function, Optimization 이다. 2강에서 다뤘던 Score function과 Linear Classifier 에 대해 어느 정도 알아야 이해하기 쉽다 1. Loss function - Score에 대한 불만족하는 수치를 정량화하여 보여주는 함수이다 - 가중치 W가 얼마나 나쁜지를 보여주는 함수이다 - 그 수치가 Loss 값이다 - Loss 값이 작을 때 그 Classifier는 이미지를 잘 분류한거다 - 종류가 2가지 이당 SVM을 이용한 Hinge loss Softmax을 이용한 Cross entropy loss 1) SVM - 이건 글로 설명이 어렵다 - 예시를 보면서 어떻게 작동하는지 이해하는게 더 쉽..