- Gradient Descent Methods - Stochastic gradient descent 엄밀한 의미의 sgd는 하나의 샘플에 대해서 gradient를 계산해서 update - mini-batch gradient descent 배치 사이즈만큼의 데이터의 gradient를 계산해서 update - batch gradient descent 전체 데이터의 gradient를 계산해서 update 대부분 mini-batch 방식 사용 - batch-size란? 한번에 학습시킬 데이터의 크기 큰 의미가 없을 수 있지만, 의외로 중요하다 -> 배치 사이즈를 줄이면 일반화가 줄어든다! - optimizer 1. (stochastic) gradient descent - 이 방법은 lr에..
용어정리 generalization : 모델의 성능이 학습데이터의 성능과 비슷하게 나올 것이다! - 대부분의 모델의 경우 일반화 성능을 높이는 것이 목적! - training error가 줄어든다고 해서 test error가 줄어드는 것이 아님! - 일반화란? generalization gap을 최소화 generalization gap : training error와 test error 사이의 차이 overfitting(과적합) - 학습데이터에 너무 치우쳐져 있어서 테스트데이터에 대해 잘 동작하지 않는 문제 cross-validation - 데이터를 학습데이터와 테스트데이터로 구분 - 보통 K개의 partition으로 나누고, N-1개의 partition으로 학습하고 1개의 partition으로 ..
뉴럴 네트워크란? 인간 혹은 포유류의 뇌(신경망)를 모방하고자 하는 시스템, 그러나 애매하게 모방된 컴퓨팅 시스템 왜 애매? 인간의 뇌는 역전파(백프로파게이션)가 이뤄지지 않는다. ex) 비행기 : 새를 모방해서 날수있는 것을 만들어보자! -> 그러나 우리가 아는 비행기는 새와 모습이 많이 다르다.. -> 꼭 하늘을 날고자해서 새처럼 만들 필요는 없다. 그러면 어떻게 뉴럴 네트워크를 정의할까? function approximators(=함수를 근사하는 모델, Input이 있으면 그에 맞는 Output을 주는 것!) 동작방식 행렬 곱과 비선형 연산의 반복 1. 가장 간단한 뉴럴 네트워크 : Linear nerual network (선형 회귀) 입력이 1차원, 출력이 1차원일 때 입출력을 연결..
딥러닝이라 불리우는 학문은 여러가지 분야들로 이루어져 있다. 좋은 deep learner가 되기 위해선? 구현 스킬이 중요 수학적인 능력 중요 - 특히, 선형 대수와 확률통계 현재 연구 트렌드에 대한 앎 (Knowing a lot of recent Papers) 인공지능이란? - 사람의 지능을 "모방" 머신러닝이란? - 인공지능안에 포함되는 영역으로, 데이터를 통해 학습하는 것을 의미 딥러닝이란? - 머신러닝안에 포함되는 영역으로, neural network를 사용하는 세부적인 분야 위 설명에 대한 그림 딥러닝의 key Components Data Model (Input을 받아 Output을 도출해내는) Loss function (Model을 학습시키기 위한 함수) algorithm (..
이제 다시 darknet 디렉토리로 돌아와서, mkdir custom_data 사용할 폴더를 하나 만들어준다. custom_data/custom.names custom_data/images custom_data/train.txt (= text.txt) custom_data/custom.data 폴더에는 위 4개의 파일이 필요하다. 우선, 1. 첫번째 names 파일은 이전 포스팅에서 convert2Yolo 하는 과정에서 만들어 준 것을 해당 폴더로 mv 명령어를 통해 옮긴다. 2. 두번째 images폴더는 이미지파일(jpg)과 annotation(txt파일)이 같은 파일명으로 존재해야 폴더이다. 예를들면 000038_cam.jpg, 000028_cam.txt가 세트로 존재해야 한다. a..