학습을 방해하는 것이 목적! -> 학습데이터뿐 아니라 테스트데이터에도 잘 동작할 수 있도록 해주기 위한 일종의 도구 종류 early stopping - iteration이 증가할 수록 training error가 감소하지만, 특정 iteration이 넘어가면 validation error가 증가한다! 그래서 loss가 증가하기 전에 학습을 중지! parameter norm penalty - 파라미터가 너무 커지지 않도록 방지. nerual network가 만들어내는 함수의 공간속에서 함수를 최대한 부드럽게 하는 것! + 부드러운 함수일 수록 일반화 성능이 높을 것이라는 가정 data augmentation - 데이터는 많으면 많을수록 좋기 때문에 데이터 양을 증가시키기 위해 사용 (중구난방으로..
- 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 (..
벡터 : 숫자를 원소로 가지는 list 또는 array를 말한다 numpy는 주로 행백터를 의미한다. 벡터의 차원 ? = 벡터 안의 원소의 개수! 벡터 개념 1. 공간에서 한 점을 의미(스칼라와 다르다!) - 공간은 1차원, 2차원, 3차원 등등 - 인공지능에서는 훨씬 더 큰 차원을 다룬다! 2. 원점으로부터 상대적 위치(화살표) - 벡터에 숫자를 곱해주면 벡터의 길이만 변한다 (= 스칼라 곱) 단, 스칼라가 음수가 되면 방향이 반대로 바뀐다! 벡터의 연산 벡터끼리 같은 모양을 가지면 덧,뺄셈이 가능하다. - 같은 모양이면 당연히 같은 차원! - 각각 원소끼리의 연산을 한다. - element - wise! ex) X = [x1, x2], Y = [y1, y2] X + Y = [x1+y1..