사용자 도구

사이트 도구


가중치_행렬

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판이전 판
다음 판
이전 판
가중치_행렬 [2026/04/15 18:45] – 가중치 행렬 sync flyingtext가중치_행렬 [2026/04/15 18:52] (현재) – 가중치 행렬 sync flyingtext
줄 91: 줄 91:
 === 무작위 분포 기반 초기화 === === 무작위 분포 기반 초기화 ===
  
-규 분포나 균등 분포를 사용하여 가중치를 임의로 설정하는 기초적인 기을 소한다.+가중치 초기화의 일차적인 목적은 [[인공 신경망]]의 학습 초기 단계에서 각 뉴런이 서로 다른 특징을 학습할 수 있도록 [[대칭성 파괴]](Symmetry Breaking)를 유도하는 것이다. 만약 가중치 행렬의 모든 원소를 동일한 값으로 초기화한다면, [[역전파]](Backpropagation) 과에서 모든 뉴런이 동일한 기울기를 전달받아 항상 같은 값으로 갱신되므로 다층 구조의 이점을 살릴 수 없게 된다. 이를 방지하기 위해 가장 기초적으로 활용되는 방법이 가중치 행렬의 원소를 특정 [[확률 분포]]로부터 추출된 무작위 값으로 설정하는 무작위 분포 기반 초기화 기법이다. 
 + 
 +균등 분포(Uniform Distribution) 기반 초기화는 지정된 구간 $[a, b]$ 내의 모든 실수가 선택될 확률을 동일하게 부여하여 가중치를 결정하는 방식이다. 일반적으로 0을 중심으로 하는 대칭 구간인 $[-r, r]$을 사용하며, 가중치 행렬 $W$의 각 원소 $w_{ij}$는 다음과 같은 확률 밀도 함수를 따른다. 
 + 
 +$$ w_{ij} \sim U(-r, r) $$ 
 + 
 +여기서 $r$은 하이퍼파라미터로 설정되며, 구간의 크기가 너무 크면 [[활성화 함수]](Activation Function)의 출력이 포화 영역에 도달여 [[기울기 소실]](Vanishing Gradient) 문제가 발생할 수 있고, 반대로 너무 작으면 층을 거듭할수록 신호의 강도가 약해져 학습이 원활히 이루어지지 않다. 따라서 입력 노드의 수에 따라 $r$의 값을 적절히 조절하는 것이 초기 신경망 연구의 주요 과제였다. 
 + 
 +정규 분포(Normal Distribution) 반 기화는 평균이 0이고 [[표준 편차]](Standard Deviation)가 $\sigma$인 가우시안 분포(Gaussian Distribution)로부터 가중치를 추출한다. 수학적 표현은 다음과 같다. 
 + 
 +$$ w_{ij} \sim N(0, \sigma^2) $$ 
 + 
 +이 방식은 가중치 값이 0 근처에 집중되면서도 이론적으로 모든 실수가 가중치로 선택될 가능성을 열어둔다. 평균을 0으로 설정하는 이유는 초기 입력 신호가 특정 방향으로 편향되는 것을 방지하기 위함이다. 그러나 단순히 고정된 표준 편차(예: $\sigma = 0.01$)를 사용하는 방식은 신경망의 층(Layer)이 깊어짐에 따라 치명적인 한계를 드러낸다. 층을 통과할 때마다 가중치 행렬과의 곱셈 연산이 반복되면서 출력값의 [[분산]](Variance)이 하급수적으로 커지거나 작아지는 현상이 발생하기 때문이다. 
 + 
 +무작위 분포 기반 초기화는 대칭성을 파괴하여 학습을 가능하게 한다는 점에서 의의가 있으나, 신경망의 구조적 특성인 입력 노드 수와 출력 노드 수를 고려하지 않는다는 약점이 있다. 특히 깊은 신경망(Deep Neural Network)에서는 이러한 단순 무작위 초기화가 [[기울기 폭주]](Exploding Gradient)나 실을 유발하여 수렴을 방해하는 주된 원인이 된다. 이러한 한계를 극복하기 위해 제안된 것이 각 층의 연결 상태에 따라 분포의 분산을 동적으로 결정하는 [[분산 보정 초기화 기법]]들이다.((Rumelhart, D. E., Hinton, G. E., & Williams, R. J., Learning representations by back-propagating errors, https://www.nature.com/articles/323533a0 
 +))
  
 === 분산 보정 초기화 기법 === === 분산 보정 초기화 기법 ===
  
-입출력 노드 수에 따라 가중치의 분산을 조절여 기울기 소실 문제를 화하는 고급 기법을 설명한다.+[[인공 신경망]]의 층이 깊어짐에 따라 발생하는 [[기울기 소실]](Vanishing Gradient) 및 [[기울기 폭주]](Exploding Gradient) 문제는 가중치 행렬의 초기 분포와 밀접한 관련이 있다. 신경망의 각 층을 통과할 때마다 활성화 값의 분산이 급격히 작아지거나 커지면, [[역전파]](Backpropagation) 과정에서 계산되는 기울기 역시 지수적으로 변하여 학습이 불가능한 상태에 빠지게 된다. 분산 보정 초기화 기법은 이러한 수치적 불안정성을 해소하기 위해 력 노드 수(fan-in)와 출력 노드 수(fan-out)를 고려하여 가중치 행렬의 초기 분산을 수학적으로 설계는 접근법이다. 이 기법의 핵심 목적은 신경망의 모든 층에서 출력 신호와 기울기의 분산을 일정하게 유지하여 정보의 흐름을 원활하게 만드는 데 있다. 
 + 
 +가장 대표적인 분산 보정 기법으로는 [[자비에 글로럿]](Xavier Glorot)과 [[요슈아 벤지오]](Yoshua Bengio)가 제안한 자비에 초기화(Xavier Initialization) 또는 글로럿 초기화(Glorot Initialization)가 있다. 이 방법은 활성화 함수가 [[하이퍼볼릭 탄젠트]](Hyperbolic Tangent, tanh)나 [[시그모이드 함수]](Sigmoid Function)와 같이 원점 부근에서 선형성을 띠는 경우를 가정한다. 가중치 행렬 $ W $의 각 원를 평균이 0인 정규 분포에서 추출할 때, 그 분산을 다음과 같이 설정한다. 
 + 
 +$$ \text{Var}(W) = \frac{2}{n_{in} + n_{out}} $$ 
 + 
 +여기서 $ n_{in} $은 입력 노드의 수, $ n_{out} $은 출력 노드의 수를 의미한다. 만약 균등 분포를 사용할 경우, 가중치는 $ [-, ] $ 범위에서 무작위로 추출된다. 이러한 설계는 입력 신호의 분산과 출력 신호의 분산을 동일하게 유지하려는 시도에서 도출된 것이며, 이는 심층 신경망의 초기 학습 효율을 획기적으로 개선하였다((Understanding the difficulty of training deep feedforward neural networks, https://proceedings.mlr.press/v9/glorot10a/glorot10a.pdf 
 +)). 
 + 
 +그러나 [[정류 선형 유닛]](Rectified Linear Unit, ReLU)과 같은 비선형 활성화 함수가 주류로 자리 잡으면서 자비에 초기화의 한계가 드러났다. ReLU는 입력값의 절반을 0으로 출력하기 때에, 층을 거칠 때마다 신호의 분산이 절반으로 줄어드는 특성이 있다. 이를 해결하기 위해 [[카이밍 허]](Kaiming He) 등은 가중치 행렬의 분산을 2배로 높인 He 초기화(He Initialization) 기법을 안하였다. He 초기화에서 가중치 행렬의 분산은 다음과 같이 정의된다. 
 + 
 +$$ \text{Var}(W) = \frac{2}{n_{in}} $$ 
 + 
 +이 수식은 각 층의 출력이 가지는 분산을 입력의 분산과 일치시키기 위해 도출된 결과이다. 수학적으로 분석하면, $ L $번째 층의 출력 $ y_L $의 분산은 이전 층의 출력 $ y_{L-1} $과 가중치 $ W_L $의 곱에 의해 결정되는데, ReLU의 비대칭성을 고려할 때 가중치 분산에 2를 곱해줌으로써 전체적인 신호 강도를 보존할 수 있게 된다. He 초기는 현대적인 [[심층 학습]](Deep Learning) 구조에서 가중치 행렬을 설정하는 표준적인 방법론으로 활용되며, 특히 [[합성곱 신경망]](Convolutional Neural Network, CNN)의 성능 최적화에 필수적인 역할을 한다((Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification, https://arxiv.org/pdf/1502.01852.pdf 
 +)). 
 + 
 +분산 보정 초기화 기법의 함의는 단순히 수치적 안정성을 넘어 [[최적화]](Optimization) 이론의 관점에서도 중요하다. 가중치 행렬의 초기 상태가 적절한 분산을 가질 때, [[손실 함수]](Loss Function)의 곡면은 더욱 매끄러운 형태를 띠게 되며 이는 [[경사 하강법]](Gradient Descent)이 지역 최솟값(Local Minima)에 함몰되지 않고 효율적으로 수렴하도록 돕는다. 최근에는 가중치 행렬의 초기화뿐만 아니라 [[배치 정규화]](Batch Normalization)와 같은 기법이 병행되면서 분산 보정의 중요성이 더욱 강조되고 있다. 이러한 기법들은 가중치 행렬이 단순한 파라미터의 집합이 아니라, 데이터의 통계적 특성을 보존하며 층간 정보를 전달하는 정교한 [[선형 변환]] 연산자임을 시사한다.
  
 ==== 학습을 통한 가중치 갱신 ==== ==== 학습을 통한 가중치 갱신 ====
줄 231: 줄 262:
 === 인접성 기준 행렬 구성 === === 인접성 기준 행렬 구성 ===
  
-경계 공유 여나 거리 임계치를 기준으로 공간 가중치를 설정하는 기을 정의한다.+[[공간 가중치 행렬]](Spatial Weights Matrix)을 구성하는 가장 기초적인 방법은 지리적 객체 간의 물리적 접촉 여부를 판단하는 [[인접성]](contiguity) 기준을 적용하는 것이다. 인접성 기반의 가중치 산출은 주로 행정 구역이나 격자와 같은 [[폴리곤]](polygon) 형태의 공간 단위 데이터 분석에 활용된다. [[위상수학]]적 관점에서 두 지역 $i$와 $j$가 경계선을 공유할 때 이들은 서로 인접한 것으로 정의하며, 이를 수학적으로 표현하면 가중치 원소 $w_{ij}$는 두 지역이 인접할 경우 1, 그렇지 않을 경우 0의 값을 갖는 [[이진 행렬]](binary matrix)의 형태를 띤다. 이때 자기 자신과의 인접성을 나타내는 대각 원소 $w_{ii}$는 관례적으로 0으로 설정하여 분석에서 제외한다. 
 + 
 +인접성의 구체적인 정의 방식은 체스판 위 기물의 이동 방식에 비유하여 [[룩]](Rook), [[퀸]](Queen), [[비숍]](Bishop) 인접성으로 구분한다. 룩 인접성은 두 폴리곤이 변(edge)을 공유하는 경우에만 인접성을 인정하는 방식이다. 반면 퀸 인접성은 변뿐만 아니라 하의 꼭짓점(vertex)만 공유하더라도 인접한 것으로 간주하므로, 룩 방식에 비해 더 많은 이웃 관계를 형성하게 된다. 비숍 인접성은 오직 꼭짓점만을 공유하는 경우를 의미하나, 실제 공간 분석에서는 룩과 퀸 방식이 주로 사용된다. 이러한 인접성 기준은 데이터의 [[위상 구조]](topological structure)에 의존하므로, 폴리곤의 모양이나 크기가 불규칙한 실제 지형 데이터에서는 인접 지역의 수가 지역마다 상이하게 나타나는 특징이 있다. 
 + 
 +점(point) 형태의 데이터나 지역 간의 물리적 거리를 직접 반영해야 하는 경우에는 [[거리 기반 기준]](distance-based criteria)을 사용하여 행렬을 구성한다. 가장 대표적인 방식은 [[임계 거리]](threshold distance) 기준이다. 이는 분석자가 설정한 특정 반경 $d$ 내에 존재하는 모든 관측치를 이웃으로 규정하는 방식이다. 임계 거리 기준에 따른 가중치 $w_{ij}$는 다음과 같이 정의된다. 
 + 
 +$$w_{ij} = \begin{cases} 1 & \text{if } 0 < d_{ij} \le d \\ 0 & \text{if } d_{ij} > d \end{cases}$$ 
 + 
 +여기서 $d_{ij}$는 지점 $i$와 $j$ 사이의 [[유클리드 거리]](Euclidean distance) 또는 [[대권 거리]](great-circle distance)를 의미한다. 임계 거리 방식은 모든 관측치에 대해 동일한 거리 척도를 적용한다는 장점이 있나, 데이터가 특정 지역에 밀집되어 있거나 반대로 매우 희소하게 분포하는 경우 고립된 관측치가 발생하거나 특정 노드에 과도하게 많은 이웃이 연결되는 문제가 발생할 수 있다. 
 + 
 +이러한 [[공간 분포]]의 불균형 문제를 해결하기 위해 [[k-최근접 이웃]](k-nearest neighbors, k-NN) 방식이 널리 사용된다. k-최근접 이웃 방식은 각 관측치로부터 거리가 가까운 순서대로 정확히 $k$개의 이웃을 선택하여 가중치를 부여한다. 이 방식은 지역별 데이터 밀도와 관계없이 모든 관측치가 동일한 수의 이웃을 갖도록 보장므로, 가중치 행렬의 구조적 안정성을 높이는 데 여한다. 다만, $k$의 크기에 따라 [[공간 자기상관]](spatial autocorrelation) 분석의 결과가 민감하게 변할 수 있으므로 적절한 $k$ 값을 하는 과정이 필수적이다. 
 + 
 +최근의 [[공간 통계학]]에서는 단순한 이진 가중치를 넘어 거리의 역수나 지수 함수를 이용한 [[거리 감쇠]](distance decay) 함수를 결합하여 가중치를 설정하기도 한다. 이는 거리가 멀어질수록 공간 상호작용의 강도가 약해진다는 [[지리학 제1법칙]]을 반영한 것으로, 행렬의 각 원소에 연속적인 수치를 부여함으로써 공간 구조를 더욱 정밀하게 모사한다. 이처럼 인접성과 거리를 기준으로 구성된 가중치 행렬은 [[모란 지수]](Moran’s I) 산출이나 [[공간 회귀 모델]](spatial regression model) 구축의 토대가 되며, 연구 목적과 데이터의 공간적 특성에 따라 최적의 구성 방식을 선택하는 것이 중요하다.((Anselin, L., “Under the hood: Issues in the specification and interpretation of spatial weights”, http://spatial.uchicago.edu/sites/spatial.uchicago.edu/files/wp-anselin-2002.pdf 
 +))
  
 === 행렬 정규화 및 표준화 === === 행렬 정규화 및 표준화 ===
  
-통계적 비교를 위해 가중치 행렬의 행 합계를 일정하게 조정하는 정규화 정을 기한다.+[[공간 가중치 행렬]]의 구성 과정에서 각 행의 합계가 서로 다르게 나타나는 현상은 분석 결과의 해석과 통계적 비교에 구조적인 어려움을 초래한다. 예를 들어, [[인접성]](Adjacency)을 기준으로 가중치를 설정할 경우 주변에 많은 인접 지역을 둔 관측치는 상대적으로 큰 행 합계를 가지게 되며, 이는 해당 관측치가 전체 모델에 미치는 영향력이 인위적으로 과대평가되는 결과를 낳을 수 있다. 따라서 서로 다른 [[공간적 자기상관]](Spatial Autocorrelation) 수준을 객관적으로 비교하고, 통계 모델의 수치적 안정성을 확보하기 위해 가중치 행렬을 특정 기준에 따라 변환하는 정규화(Normalization) 또는 표준화(Standardization) 과정이 필수적이다. 
 + 
 +가장 보편적으로 사용되는 기법은 행-표준화(Row-standardization)이다. 이는 가중치 행렬 $ W $의 각 원소 $ w_{ij} $를 해당 의 모든 원소 합계로 나누어, 각 행의 합이 1이 되도록 조정하는 방식이다. 수학적으로 행-표준화된 가중치 $ w_{ij}^{std} $는 다음과 같이 정의된다. 
 + 
 +$$ w_{ij}^{std} = \frac{w_{ij}}{\sum_{k=1}^{n} w_{ik}} $$ 
 + 
 +이 변환을 거친 행렬을 통해 [[공간 시차]](Spatial Lag) 변수를 계산하면, 이는 주변 지역 관측값들의 단순 합계가 아닌 [[가중 평균]](Weighted Average)의 의미를 갖게 된다. 이는 지역별로 인접한 이웃의 수가 다르더라도 각 관측치에 가해지는 주변의 총 영향력을 동한 척도 위에서 비교할 수 있게 한다. 또한 행-표준화는 [[공간 회귀 모델]](Spatial Regression Model)에서 공간 계수의 범위를 제한하여 모델의 수렴을 돕는 역할을 수행한다. [[페론-프로베니우스 리]](Perron-Frobenius Theorem)에 따르면, 모든 원소가 비음수(Non-negative)인 행-표준화 행렬의 최대 [[고유값]](Eigenvalue)은 항상 1이 된다. 이는 [[최대 우도 추정법]](Maximum Likelihood Estimation) 등을 활용여 [[공간 시차 모델]](Spatial Lag Model, SLM)이나 [[공간 오차 모델]](Spatial Error Model, SEM)의 파라미터를 추정할 때, 공간 자기상관 계수의 탐색 범위를 명확히 규정할 수 있는 수학적 근거를 제공한다((Ord, J. K., Estimation Methods for Models of Spatial Interaction, https://www.jstor.org/stable/2285812 
 +)). 
 + 
 +행-표준화 외에도 분석 목적에 따라 다양한 정규화 전략이 적용될 수 있다. 전체 가중치의 합을 관측치 수로 나누어 조정하는 방식이나, 행렬의 최대 고유값으로 모든 원소를 나누는 고유값 정규화(Eigenvalue Normalization) 등이 대표적이다. 특히 고유값 규화는 행렬의 [[대칭성]](Symmetry)을 보존해야 하는 특정 알고리즘에서 행-표준화의 대안으로 선호된다. 행-표준화는 원래의 가중치 행렬이 대칭이었더라도 변환 후에는 비대칭 행렬로 바뀔 수 있다는 특징이 있기 때문이다. 만약 표준화되지 않은 행렬을 그대로 사용할 경우, 계수의 해석이 직관적이지 않을 뿐만 아니라 행렬 연산 과정에서 [[수치적 불안정성]]이 발생할 위험이 크다. 따라서 연구자는 [[데이터]]의 특성과 적용하려는 [[통계학]]적 모형의 가정을 고려하여 적절한 정규화 전략을 선택해야 한다.
  
 ===== 가중치 행렬의 수치적 최적화 ===== ===== 가중치 행렬의 수치적 최적화 =====
줄 266: 줄 319:
 ==== 행렬 분해를 통한 차원 축소 ==== ==== 행렬 분해를 통한 차원 축소 ====
  
-복잡한 가중치 행렬을 차원의 하위 행렬로 분해하여 데이터의 핵심 특징을 추출하는 기법을 다다.+가중치 행렬의 [[차원 축소]](Dimensionality Reduction)는 고차원의 복잡한 데이터를 처리하는 과정에서 발생하는 [[차원의 저주]](Curse of Dimensionality)를 해결하고, 데이터 내부에 잠재된 핵심적인 특징(Latent Features)을 추출하기 위한 필수적인 기법이다. 현대의 [[기계 학습]] 및 [[데이터 마이닝]] 분야에서 다루는 가중치 행렬은 대개 방대한 크기를 가지며, 이들 중 상당수는 정보의 중복성이 높은 [[희소 행렬]](Sparse Matrix)의 형태를 띤다. 행렬 분해(Matrix Factorization)는 이러한 거대 행렬을 상대적으로 작은 차원을 가진 하위 행렬들의 곱으로 근사함으로써, 계산 효율성을 높이고 데이터의 본질적인 구조를 파악하는 데 기여한다. 
 + 
 +행렬 분해의 가장 대표적인 수치적 방법론은 [[특잇값 분해]](Singular Value Decomposition, SVD)이다. 임의의 $ m n $ 가중치 행렬 $ W $에 대하여 SVD는 다음과 같이 세 행렬의 곱으로 분해된다. 
 + 
 +$$ W = U \Sigma V^T $$ 
 + 
 +여기서 $ U $와 $ V $는 각각 [[직교 행렬]](Orthogonal Matrix)이며, $ $는 주대각성분이 $ W $의 특잇값으로 구성된 대각행렬이다. 차원 축소의 관점에서 주목해야 할 점은 [[에카르트-영 정리]](Eckart-Young Theorem)이다. 이 정리에 따르면, 원래의 행렬 $ W $를 가장 잘 근사하는 저계수(Low-rank) 행렬은 $ $에서 가장 큰 $ k $개의 특잇값만을 남기고 나머지를 0으로 치환함으로써 얻을 수 있다((THE APPROXIMATION OF ONE MATRIX BY ANOTHER OF LOWER RANK, https://ccrma.stanford.edu/~dattorro/eckart&young.1936.pdf 
 +)). 이는 데이터의 분산을 최대한 보존하면서도 가중치 행렬의 크기를 획기적으로 줄일 수 있는 수학적 근거를 제공한다. 
 + 
 +또 다른 중요한 기법으로는 [[비음수 행렬 분해]](Non-negative Matrix Factorization, NMF)가 있다. 가중치 행렬의 모든 원소가 양수인 경우에 적용되는 NMF는 $ W WH $의 형태로 분해를 수행하며, 이때 분해된 행렬 $ W $와 $ H $의 원소 역시 비음수여야 한다는 제약을 갖는다. 이러한 제약 조건은 데이터의 부분적 결합(Parts-based representation)을 가능하게 하여, 결과물의 [[해석 가능성]](Interpretability)을 높이는 효과를 낸다((Learning the parts of objects by non-negative matrix factorization, https://www.nature.com/articles/44565.pdf 
 +)). 예를 들어 이미지 데이터의 가중치 행렬에 NMF를 적용하면, 전체 형상을 구성하는 부분적인 특징점들을 추출할 수 있다. 
 + 
 +최근에는 가중치 행렬의 저계수 특성을 활용하여 [[거대 언어 모델]](Large Language Model, LLM)과 같은 초거대 인공지능 모델을 효율적으로 미세 조정하는 [[저계수 적응]](Low-Rank Adaptation, LoRA) 기법이 널리 활용되고 있다. LoRA는 기존의 고정된 가중치 행렬 $ W $에 대하여 직접적인 수정을 가하는 대신, 학습 가능한 두 개의 저계수 행렬 $ A $와 $ B $를 도입하여 가중치 갱신량 $ W = BA $를 학습한((LoRA: Low-Rank Adaptation of Large Language Models, http://arxiv.org/abs/2106.09685 
 +)). 
 + 
 +$$ h = Wx + \Delta Wx = Wx + BAx $$ 
 + 
 +이 방식은 전체 가중치를 갱신할 때보다 훨씬 적은 수의 매개변수만을 학습하면서도 모델의 성능을 유지하거나 향상할 수 있어, 가중치 행렬의 차원 축소가 실무적인 최적화와 자원 절약에 결정적인 역할을 수행함을 보여준다. 결과적으로 행렬 분해를 통한 차원 축소는 단순한 데이터 압축을 넘어, 가중치 행렬에 내재된 복잡한 상관관계를 저차원 공간의 선형 결합으로 재구성함으로써 모델의 일반화 성능을 극대화하는 핵심 원리로 작용한다.
  
가중치_행렬.1776246301.txt.gz · 마지막으로 수정됨: 저자 flyingtext