분류 전체보기 (1167) 썸네일형 리스트형 계산 그래프의 노드 정보를 어디까지 저장할지 순전파 연산에서 사용되는 유닛별 행렬 연산의 경우, 입력값과 가중치 정보가 있어야만, 입력값, 가중치의 변화량에 대한 비용 함수 변화량을 계산할 수 있기 때문에 계산 그래프를 생성하면서 노드 정보 (input, weight) 저장이 필수로 요구되었음,하지만 일부 activation, loss_function 의 경우 단순 출력 값만 있다면 별도의 노드 정보 없이 역전파를 수행할 수 있음, 비용 함수 계산 그래프 부분 문제 해결 각 모델의 출력 유닛의 개수에 따라 비용 함수의 계산 그래프 모양이 바뀜, 출력 유닛들을 연결한 모양으로 출력층의 유닛 개수, n 의 개수에 따라 leaf_node_list 들이 바뀌어야 됌,그리고 출력층까지의 계산 그래프 모양과의 연결은, 비용 함수의 y_pred 의 값과 연결로 leaf_node_list 엔 y_target 값이 포함되어선 안됨, # ✅ MSE 계산 그래프def build_mse_node(num_outputs): """ MSE = mean( sum( (y_true_i - y_pred_i)^2 ) ) 🔹 계산 그래프 구조 (num_outputs = 3 예시) [mean] │ [sum] /.. 비용 함수 값 연산 및 계산 그래프 생성 부분 #include #include #include #include namespace py = pybind11;__global__ void mseLossKernel(const float* y_true, const float* y_pred, float* loss, int n) { __shared__ float partial_sum[256]; int idx = blockIdx.x * blockDim.x + threadIdx.x; int tid = threadIdx.x; float diff = 0.0f; if (idx 0; stride >>= 1) { if (tid 0; stride >>= 1) { if (tid >>(d_y_true, d_y_pred, d_.. 계산 그래프 구성을 위한 반환 값 수정, root_node_list, leaf_node_list 이전까지 방법은 특정 레이어의 계산 그래프 생성 후, 다른 레이어들과 계산 그래프 연결을 통해 전체 계산 그래프 구성, 문제 발생 시점 : 특정 activaton_layer 의 경우, 특정 리프 노드가 다른 layer 의 루트 노드와 연결되지 않을 수 있음 ( operation : const ) layer 의 계산 그래프 반환에서 루트 노드가 아닌, 루트 노드와 다른 계산 그래프와 연결될 리프 노드, 두 개의 node_list 를 반환하도록 수정 5.3 오차 역전파 정보가 네트워크 상에서 앞/뒤로 전달되는 지역적인 메시지 전달 방법인 오차 역전파 error backpropagation 을 이용해서 이를 달성할 수 있다. 대부분의 훈련 알고리즘들을 오류 함수의 값을 줄이는 반복적인 과정을 내포하고 있다. 이때 각 과정에서 순차적으로 가중치에 대한 조정, 두 개의 더 작은 단계로 나눌 수 있다. 오류 함수를 가중치에 대해서 비문, 미분값을 사용하여 가중치를 조정 5.3.1 오류 함수 미분의 계산 (생략)5.3.2 간단한 예시 (생략) 5.3.3 역전파의 효율성미분값의 비교로 올바르게 구현되었는지 확인, 역전파가 가장 좋은 정확도와 수치적 효율성을 얻을 수 있다. 5.3.4 야코비안 행렬역전파 테크닉은 다른 종류의 미분값을 구하는 데도 사용 가능 야코비안 Jacobi.. 5.2 네트워크 훈련 네트워크 매개변수를 결정하기 위한 간단한 방법은 다항식 곡선 피팅에서의 방법과 비슷한 방법인 제곱합 오류 함수를 최소화하는 것 하지만 네트워크 출력 값에 대한 확률적인 해석을 먼저 하고 나면 네트워크 훈련에 대해 더 일반적인 관점을 가질 수 있게 된다. 더보기신경망의 출력이 softmax 함수를 거쳐 표현될 때y_k 는 입력 x 에 대해 클래스 C_k 에 속할 확률로 해석 가능즉, 신경망이 출력값이 사후 확률을 근사한다고 본다면, 이는 추론 inference stage 에 해당되는 작업임확률적 예측의 장점으로1. 불확실성 표현 가능2. 결정 이론 적용 가능3. 클래스 불균형 및 비용 민감 분류 대응4. 후속 시스템과의 통합 용이5. 샘플링 기반 추론 및 앙상블 가능6. 모델 평가 지표 확장 가능 풀고자.. 1.5.4 추론과 결정 - 결정 이론에서의 분류 문제 : 두 단계 접근 1. 추론 단계 Ingerence Stage목표 : 조건부 확률 p(C_k | x ) - 입력 x 가 주어졌을 때 클래스 C_k 에 속할 확류을 모델링방법 : 훈련 데이터를 사용해 각 클래스에 대한 사후 확률을 학습함 2. 결정 단계 Decision Stage목표 : 추론 단계에서 얻은 사후 확률들을 이용하여 최적의 클래스 선택기준 : 일반적으로 베이즈 결정 이론 사용 판별 함수 방식 Discriminant Function Approach위 두 단계를 한 번에 해결방법 : 입력 x 에 대해 바로 결정값을 출력하는 함수를 학습장점 : 더 단순하고 학습 및 추론이 빠름 5.1 피드 포워드 네트워크 함수 Feed Forward Network Function 회귀와 분류의 선형 모델은 비선형 기저 함수의 선형 결합을 바탕으로 하고 있다. 이 모델을 확장시켜서 기저 함수를 매개변수에 종속적이게 만들고 이 매개변수들이 계수와 함께 훈련 단계에서 조절되도록 하는 것, 이를 바탕으로 기본적인 뉴럴 네트워크 모델을 만들 수 있다. 또한, 이 모델은 연쇄적인 함수 변환으로 표현할 수도 있다. 뉴럴 네트워크를 다층 퍼셉트론이라고 부른다. 퍼셉트론 모델과의 결정적인 차이는 바로 뉴럴 네트워크 모델은 은닉 유닛에 연속적인 시그모이드 비선형 함수를 사용하는 반면 퍼셉트론 모델은 불연속적인 비선형 계단 함수를 사용한다는 점이다. 이 이유 때문에 뉴럴 네트워크 함수는 네트워크 매개변수에 대해 미분이 가능하다. 네트워크 .. 이전 1 2 3 4 ··· 146 다음