본문 바로가기

Lecture AI/2장.신경망의 수학적 구성 요소

(3)
3. 신경망의 엔진 : 확율적 경사 하강법 미분 가능한 함수가 주어지면 이론적으로 이 함수의 최솟값을 해석적으로 구할 수 있습니다. 함수의 최솟값은 변화율이 0인 지점입니다. 신경망에 적용하면 가장 작은 손실 함수의 값을 만드는 가중치의 조합을 해석적으로 찾는 것을 의미합니다. [생략] 앞의 알고리즘 네 단계를 응용하여 랜덤한 배치 데이터에서 현재 손실 값을 토대로 하여 조금씩 파라미터를 수정하는 방법이 있습니다. 미분 가능한 함수를 가지고 있으므로 그래디언트를 계산하여 단계 4를 효율적으로 구현할 수 있습니다. 그래디언트의 반대 방향으로 가중치를 업데이트하면 손실이 매번 조금씩 감소할 수 있습니다. 1. 훈련 샘플 x와 이에 상응하는 타깃 y의 배치를 추출합니다. 2. x를 사용하여 네트워크를 실행하고(정방향 패스(forward pass) 단계..
2. 신경망의 엔진 : 그래디언트 기반 최적화 MNIST예제에서 신경망의 각 층은 입력 데이터를 다음과 같이 변환합니다. output = relu(dot(W, input)+b) 이 식에서 텐서 W와 b는 층의 속성처럼 볼 수 있습니다. 가중치(weight)또는 훈련되는 파라미터라고 부릅니다. 이런 가중치에는 훈련 데이터를 신경망에 노출시켜서 학습된 정보가 담겨 있습니다. 초기에는 가중치 행렬이 작은 난수로 채워져 있습니다(무작위 초기화(random initialiaztion)단계라고 부릅니다.) 물론 W와 b가 난수일 떄 relu(dot(W, input)+b)가 유용한 어떤 표현을 만들 것이라고 기대할 수는 없습니다. 즉 의미 없는 표현이 만들어집니다. 하지만 다음단계에서부터는 피드백 신호에 기초하여 가중치가 점진적으로 조정될 섯입니다. 이런 점진적..
1. 신경망을 위한 데이터 표현: 텐서 0D부터 5D까지 2. 첫번째 신경망 실습 :mnist 실습 Note: 클래스와 레이블에 관한 노트 머신 러닝에서 분류 문제의 범주(category)를 클래스(class)라고 합니다. 데이터 포인트는 샘플(sample)이라고 합니다. 특정 샘플의 클래스는 레이블(label)이라고 합 nicola-ml.tistory.com 위의 실습을 보면 텐서라 부르는 다차원 넘파이 배열에 데이터를 저장하는 것부터 시작합니다. 최근의 모든 머신 러닝 시스템은 일반적으로 텐서를 기본 데이터 구조로 사용합니다. 핵심적으로 텐서는 데이터를 위한 컨테이너(container)입니다. 대부분 수치형 데이터를 다루므로 숫자를 위한 컨테이너입니다. 1.1. 스칼라(0D 텐서) 하나의 숫자만 담고 있는 텐서를 스칼라(scalar)(또는 스칼라 텐서, 0..