신경망의 가중치 업데이트 이론 및 기술

WBOY
풀어 주다: 2024-01-22 20:06:11
앞으로
892명이 탐색했습니다.

신경망의 가중치 업데이트 이론 및 기술

신경망의 가중치 업데이트는 역전파 알고리즘 등의 방법을 통해 네트워크 내 뉴런 간의 연결 가중치를 조정하여 네트워크의 성능을 향상시키는 것입니다. 이 글에서는 독자들이 신경망의 훈련 과정을 더 잘 이해할 수 있도록 가중치 업데이트의 개념과 방법을 소개합니다.

1. 개념

신경망의 가중치는 서로 다른 뉴런을 연결하고 신호 전송 강도를 결정하는 매개변수입니다. 각 뉴런은 이전 계층으로부터 신호를 받아 연결의 가중치를 곱하고 바이어스 항을 추가한 후 최종적으로 활성화 함수를 통해 활성화되어 다음 계층으로 전달됩니다. 따라서 가중치의 크기는 신호의 강도와 방향에 직접적인 영향을 미치며, 이는 다시 신경망의 출력에 영향을 줍니다.

가중치 업데이트의 목적은 신경망의 성능을 최적화하는 것입니다. 훈련 과정에서 신경망은 테스트 데이터에 대한 예측 능력을 향상시키기 위해 뉴런 간의 가중치를 지속적으로 조정하여 훈련 데이터에 적응합니다. 가중치를 조정하면 신경망이 훈련 데이터에 더 잘 맞을 수 있어 예측 정확도가 향상됩니다. 이러한 방식으로 신경망은 알려지지 않은 데이터의 결과를 보다 정확하게 예측하여 더 나은 성능을 달성할 수 있습니다.

2. 방법

신경망에서 일반적으로 사용되는 가중치 업데이트 방법에는 경사하강법, 확률적 경사하강법, 배치 경사하강법이 있습니다.

경사하강법

경사하강법은 가장 기본적인 가중치 업데이트 방법 중 하나이며, 그 기본 아이디어는 가중치에 대한 손실 함수의 기울기(즉, 도함수)를 계산하여 가중치를 업데이트하는 것입니다. 손실 함수를 가중치로), 손실 함수를 최소화합니다. 구체적으로 경사하강법의 단계는 다음과 같습니다.

먼저 훈련 데이터에 대한 신경망의 성능을 측정하기 위해 손실 함수를 정의해야 합니다. 일반적으로 다음과 같이 정의되는 손실 함수로 평균 제곱 오차(MSE)를 선택합니다.

MSE=frac{1}{n}sum_{i=1}^{n}(y_i-hat {y_i })^2

여기서, y_i는 i번째 샘플의 참값을 나타내고, hat{y_i}는 신경망에 의한 i번째 샘플의 예측값을 나타내며, n은 전체 샘플 수를 나타냅니다. 견본.

그런 다음 가중치에 대한 손실 함수의 미분, 즉 기울기를 계산해야 합니다. 특히 신경망의 각 가중치 w_{ij}에 대해 해당 기울기는 다음 공식으로 계산할 수 있습니다.

frac{partial MSE}{partial w_{ij}}=frac{2}{n}sum_ { k=1}^{n}(y_k-hat{y_k})cdot f'(sum_{j=1}^{m}w_{ij}x_{kj})cdot x_{ki}

where , n은 총 샘플 개수, m은 신경망의 입력 레이어 크기, x_{kj}는 k번째 샘플의 j번째 입력 특성, f(cdot)는 활성화 함수, f'( cdot)은 활성화 함수의 미분을 나타냅니다.

마지막으로 다음 공식을 통해 가중치를 업데이트할 수 있습니다.

w_{ij}=w_{ij}-alphacdotfrac{partial MSE}{partial w_{ij}}

여기서 알파는 학습을 나타냅니다. Rate는 가중치 업데이트의 단계 크기를 제어합니다.

확률적 경사하강법

확률적 경사하강법은 경사하강법의 변형으로 매번 샘플을 무작위로 선택하여 경사를 계산하고 가중치를 업데이트하는 것입니다. 경사하강법에 비해 확률적 경사하강법은 대규모 데이터 세트를 처리할 때 더 빠르게 수렴하고 더 효율적일 수 있습니다. 구체적으로 확률적 경사 하강법의 단계는 다음과 같습니다.

먼저 훈련 데이터를 섞고 샘플 x_k를 무작위로 선택하여 경사를 계산해야 합니다. 그런 다음 다음 공식을 사용하여 가중치에 대한 손실 함수의 도함수를 계산할 수 있습니다.

frac{partial MSE}{partial w_{ij}}=2(y_k-hat{y_k})cdot f' (sum_{j= 1}^{m}w_{ij}x_{kj})cdot x_{ki}

여기서, y_k는 k번째 샘플의 실제 값을 나타내고, hat{y_k}는 신경망 값으로 k번째 샘플을 예측합니다.

마지막으로 다음 공식을 통해 가중치를 업데이트할 수 있습니다.

w_{ij}=w_{ij}-alphacdotfrac{partial MSE}{partial w_{ij}}

여기서 알파는 학습 속도는 가중치 업데이트의 단계 크기를 제어합니다.

일괄 경사하강법

일괄 경사하강법은 경사하강법의 또 다른 변형입니다. 기본 아이디어는 매번 작은 배치의 샘플을 사용하여 경사를 계산하고 가중치를 업데이트하는 것입니다. 경사하강법과 확률적 경사하강법에 비해 배치 경사하강법은 소규모 데이터 세트를 처리할 때 더 안정적으로 수렴할 수 있고 더 효율적입니다. 구체적으로 배치 경사하강법의 단계는 다음과 같습니다.

먼저 훈련 데이터를 동일한 크기의 여러 미니 배치로 나누어야 하며, 각 미니 배치에는 b개의 샘플이 포함됩니다. 그런 다음 각 미니 배치의 가중치에 대한 손실 함수의 평균 기울기를 계산할 수 있습니다. 즉,

frac{1}{b}sum_{k=1}^{b}frac{partial MSE}{ 부분 w_ {ij}}

여기서 b는 미니 배치 크기를 나타냅니다. 마지막으로 다음 공식을 통해 가중치를 업데이트할 수 있습니다.

w_{ij}=w_{ij}-alphacdotfrac{1}{b}sum_{k=1}^{b}frac{partial MSE}{partial w_ {ij}}

그 중 알파는 가중치 업데이트의 단계 크기를 제어하는 ​​학습률을 나타냅니다.

위 내용은 신경망의 가중치 업데이트 이론 및 기술의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:163.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!