역전파 알고리즘 – 개요

게시 됨: 2021-10-15

신경망은 AI 기술 세계에서 가장 유행하는 단어였습니다. 그리고 신경망에 대해 말할 때 역전파는 집중해야 할 단어입니다. 역전파 알고리즘은 신경망의 기본 블록 중 하나입니다. 모든 신경망은 작업 수행을 위해 훈련되어야 하므로 역전파는 신경망 훈련에 사용되는 알고리즘입니다. 인공 신경망에서 여러 계층의 퍼셉트론을 훈련하는 데 사용되는 지도 학습 알고리즘의 한 형태입니다.

데이터가 삽입되고 프로그래밍 논리가 수행되는 일반적인 프로그래밍이 고려됩니다. 처리가 완료되는 동안 사용자가 출력을 수신합니다. 그러나 이 출력은 어떤 면에서는 프로그래밍 논리에 영향을 줄 수 있습니다. 이것이 역전파 알고리즘이 하는 일입니다. 출력은 논리에 영향을 미치고 결과적으로 더 나은 출력을 얻을 수 있습니다.

이 기사는 역전파 알고리즘과 그 작동 과정에 초점을 맞출 것입니다.

목차

역전파의 중요성

역전파의 중요성은 신경망에서의 사용에 있습니다. 신경망을 설계하려면 처음에만 가중치를 초기화해야 합니다. 이러한 가중치는 가중치 초기화를 위해 고려되는 임의의 값 또는 임의의 변수입니다. 가중치는 무작위로 삽입되기 때문에 가중치가 정확하지 않을 수 있습니다. 즉, 가중치가 모델에 맞지 않습니다. 모델의 출력이 예상 출력과 다를 수 있습니다. 결과적으로 높은 오류 값이 있습니다. 그러나 항상 오류를 줄이는 것이 중요하며 오류를 줄이는 방법을 생각하는 것이 어렵습니다. 모델은 이러한 유형의 시나리오가 발생할 때마다 그에 따라 매개변수를 변경해야 함을 학습해야 합니다. 그리고 매개변수를 변경하면 오류 값이 줄어듭니다.

따라서 모델에 대한 훈련이 필요하며, 역전파(backpropagation)는 모델이 최소의 오차 값을 갖도록 훈련할 수 있는 방법 중 하나입니다.

신경망에서 역전파 알고리즘 의 몇 가지 단계는 다음과 같이 요약할 수 있습니다.

● 오차 계산: 모델의 실제 출력과 모델 출력의 편차를 계산합니다.

● 최소 오차: 이 단계에서는 발생된 오차가 최소화되었는지 여부를 확인합니다.

● 매개변수 업데이트: 이 단계는 모델 매개변수를 업데이트하기 위한 것입니다. 모델이 매우 높은 오류 값을 생성하면 매개변수를 업데이트해야 합니다.

가중치와 편향과 같은. 모델에 오류가 있는지 다시 확인하고 생성된 오류가 최소화될 때까지 프로세스를 반복합니다.

● 최종 모델: 반복적인 확인 및 업데이트 과정을 거쳐 오류가 최소화되고 모델이 입력될 준비가 되었습니다. 입력을 모델에 입력하고 모델의 출력을 분석할 수 있습니다.

역전파 신경망

모든 신경망에서 역전파 알고리즘 은 오류의 최소값을 검색합니다. 이것은 가중치 공간에서 오차의 최소 함수를 찾는 기울기 하강법 또는 델타 규칙을 통해 수행됩니다. 오류 함수를 줄이는 가중치가 식별되면 학습 문제의 솔루션으로 간주됩니다. 1960년대에 알고리즘이 처음 도입되고 나중에는 알고리즘의 인기가 높아졌습니다. 이 알고리즘을 통해 연쇄 규칙의 방법을 사용하여 신경망을 효과적으로 훈련시킬 수 있습니다. 신경망을 통한 정방향 통과가 있으면 모델의 매개변수에 의해 편향 및 가중치와 같은 매개변수의 조정을 통해 역방향 통과가 수행됩니다. 역전파 알고리즘이 작동하려면 먼저 신경망을 정의해야 합니다.

신경망 모델

신경망의 4계층 모델을 고려하면 계층으로 구성됩니다. 입력 레이어, 은닉 레이어용으로 설계된 4개의 뉴런, 출력 레이어용으로 설계된 1개의 뉴런이 있습니다.

입력 레이어: 입력 레이어는 단순한 것일 수도 있고 복잡한 것일 수도 있습니다. 간단한 입력 레이어는 스칼라를 포함하고 복잡한 입력 레이어는 다차원 또는 벡터의 행렬로 구성됩니다. 첫 번째 활성화 세트는 입력 값과 동일한 것으로 간주됩니다.

활성화라는 용어는 활성화 함수를 적용한 후 발생하는 뉴런의 값을 의미합니다.

은닉 레이어: 레이어 l에서 z^l과 같은 특정 가중치 입력을 사용하고 동일한 레이어 l에서 활성화 a^l을 사용합니다. 레이어 2 및 레이어 3과 같은 이러한 레이어에 대해 방정식이 생성됩니다.

레이어에 대한 활성화는 활성화 함수 f를 사용하여 계산됩니다. 활성화 함수 "f"는 네트워크에서 데이터에 존재하는 복잡한 패턴을 학습할 수 있는 비선형 함수입니다.

(n,m)의 형태로 가중치 행렬을 구성하고, 여기서 n은 출력 뉴런, m은 입력 뉴런을 의미한다. 위에서 언급한 레이어의 모델에서 n의 수는 2이고 m의 수는 4가 됩니다. 또한 가중치의 아래 첨자의 첫 번째 숫자는 다음 레이어에 있는 뉴런의 인덱스와 일치해야 합니다. 두 번째 숫자는 네트워크의 이전 레이어의 연결 인덱스와 일치해야 합니다.

출력 레이어: 출력 레이어는 신경망의 마지막 레이어입니다. 모델의 가치를 예측합니다. 방정식의 단순화를 위해 행렬 표현이 사용됩니다.

신경망의 순방향 전파 및 평가

신경망의 정의에서 생성된 방정식은 네트워크의 순방향 전파를 구성합니다. 모델의 출력을 예측합니다. 순방향 전파 알고리즘에서 관련된 마지막 단계는 예상되는 출력에 대해 예측된 출력을 평가하는 것입니다. 예상 출력이 "s"이고 예상 출력이 "y"이면 s는 y에 대해 평가됩니다. 훈련 데이터 세트(x,y)의 경우 x는 입력이고 y는 출력입니다.

비용 함수 "C"는 y에 대한 s의 평가에 사용됩니다. 비용 함수는 평균 제곱 오차(MSE)와 같은 단순한 것일 수도 있고 교차 엔트로피와 같은 복잡한 것일 수도 있습니다. C 값을 기반으로 모델은 예상되는 출력, 즉 y에 더 가까워지기 위해 매개변수를 얼마나 조정해야 하는지 알게 됩니다. 이것은 역전파 알고리즘을 통해 수행됩니다.

역전파 알고리즘

전파 알고리즘 은 모델의 출력과 예상 출력 간의 차이를 최소화하기 위해 네트워크 연결에서 가중치 조정을 반복적으로 수행합니다. 네트워크에서 새롭고 유용한 기능을 생성할 수 있는 것도 역전파 알고리즘에 있습니다.

역전파 알고리즘은 또한 네트워크, 즉 C의 정의된 비용 함수를 줄이거나 최소화하는 것을 목표로 합니다. 이는 편향 및 가중치와 같은 매개변수의 조정을 통해 수행됩니다. 매개변수에서 수행할 이러한 조정은 모든 매개변수에 대한 비용 함수 기울기를 통해 결정됩니다.

점 x에서 함수 C의 기울기는 x의 비용 함수 C에 있는 모든 편도함수의 벡터로 정의됩니다.

함수 값의 변화에 ​​대한 민감도는 인수 x의 변화에 ​​대한 함수 C의 도함수로 측정됩니다. 이것은 비용 함수 C가 이동하는 위치를 알려주는 도함수임을 의미합니다.

매개변수 x의 변화는 기울기에 의해 정의됩니다. C를 최소화하기 위해 매개변수 x에 필요한 변경 사항을 보여줍니다. 체인 규칙은 기울기를 계산하는 데 사용됩니다. 매개변수의 최적화를 허용하는 것은 그래디언트입니다.

이것이 역전파 알고리즘이 신경망의 개선 및 훈련에서 작동하는 방식입니다. 머신 러닝 측면에서 중요한 역할을 합니다. 신경망 훈련의 필수 부분이므로 역전파 알고리즘을 이해하는 것이 필수적입니다. 기계 학습 및 인공 지능의 전문가가 되고 싶다면 upGrad에서 제공하는 "기계 학습 및 인공 지능 과학 석사" 과정을 확인할 수 있습니다. 일하는 전문가라면 누구나 이 과정을 수강할 수 있습니다. IIT Bangalore와 LJMU의 전문가 교수진을 통해 교육을 받게 됩니다. 650시간 이상의 콘텐츠 학습은 AI의 미래를 준비하는 데 도움이 됩니다. 코스에 대한 모든 문의 환영합니다.

역전파 알고리즘에 사용되는 방법은 무엇입니까?

역전파 알고리즘에서 사용하는 방법은 연쇄법칙이다.

역전파 알고리즘을 사용하는 이유는 무엇입니까?

역전파 알고리즘은 모델의 오류를 최소화하는 데 사용됩니다.

역전파 알고리즘은 어떻게 네트워크의 오류를 최소화합니까?

역전파 알고리즘은 매개변수를 적절하게 조정하여 오류를 최소화합니다.