HyperAI초신경

신경망 기초: 역전파 알고리즘

7년 전
정보
Sparanoid
特色图像
신경망 기초: 역전파 알고리즘

시모나 이바노바 지음

AI/ML 전문가

Science Magazine에서 일하다

HyperAI 소개

역전파(BP)는 현재 인공 신경망(ANN) 알고리즘을 훈련하는 데 가장 흔히 사용되고 효과적인 방법입니다.

역전파 알고리즘은 1970년대에 처음 등장했지만, 제프리 힌튼이 1986년에 "역전파 오류를 통한 표현 학습"이라는 논문을 발표할 때까지 각계각층에서 주목을 받지 못했습니다.

Geoffrey Hinton: 역전파 알고리즘의 공동 발명가

신경망 기초: 역전파 알고리즘

제프리 힌튼

제프리 힌튼은 영국 태생의 캐나다 컴퓨터 과학자이자 심리학자로, 신경망 분야에 많은 공헌을 했습니다. 그는 역전파 알고리즘의 발명자 중 한 명이고 딥러닝의 적극적인 홍보자입니다. 그는 신경망과 딥러닝의 아버지로 알려져 있습니다.

또한 힌튼은 런던대학교의 계산신경과학을 위한 개츠비 센터의 창립자이며, 현재 캐나다 토론토대학교의 컴퓨터 과학과에서 교수로 재직하고 있습니다. 그의 주요 연구 관심사는 기계 학습, 기억, 지각 및 기호 처리에 인공 신경망을 적용하는 것입니다. 현재 힌튼은 신경망을 비지도 학습 알고리즘에 적용하는 방법을 연구하고 있습니다.

그러나 힌튼의 수많은 과학 연구 성과 중에서 역전파 알고리즘이 가장 유명하며, 경사 하강법을 기반으로 하는 현재 대부분의 지도 학습 신경망 알고리즘의 기반이 되고 있습니다. 주요 작동 원리는 다음과 같습니다.

실제 동작에서 ANN 알고리즘은 일반적으로 입력 계층, 은닉 계층, 출력 계층의 세 가지 범주로 구분됩니다. 알고리즘 출력 결과와 목표 결과 사이에 오류가 있는 경우, 알고리즘은 오류 값을 계산한 후, 역전파를 통해 오류 값을 은닉층으로 다시 피드백하고, 관련 매개변수를 수정하여 조정하고, 예상 결과가 얻어질 때까지 이 단계를 반복합니다.

역전파 기법을 사용하면 ANN 알고리즘이 목표에 더 가까운 결과를 도출할 수 있습니다. 그러나 ANN 알고리즘에 역전파 알고리즘이 어떻게 적용되는지 이해하기 전에 먼저 ANN의 작동 원리를 이해하는 것이 필요합니다.

ANN의 작동 방식

ANN은 서로 연결된 수많은 노드(생물학적 뉴런이라고도 함)로 구성된 인간 뇌의 신경망을 기반으로 한 수학적 모델 또는 계산 모델입니다.

신경망 기초: 역전파 알고리즘

생물학적 뉴런

신경망 기초: 역전파 알고리즘

수학적 모델의 단일 노드

각 노드는 활성화 함수라고 하는 특정 출력 함수를 나타냅니다. 두 노드 사이의 연결은 가중치 값이라고도 하는 가중치 값을 나타냅니다. ANN 알고리즘이 작동하는 동안 각 연결은 가중치 w와 오프셋 b(ANN 매개변수라고도 함)에 해당합니다. 출력 값은 노드, 가중치 값, 오프셋과 관련이 있습니다.

신경망 기초: 역전파 알고리즘

단일 뉴런 모델 다이어그램

(어디에1~아N 입력 벡터의 구성 요소입니다. 와1~wN 가중치 값입니다. b는 오프셋입니다. σ는 활성화 함수(예: tanh, Sigmoid, ReLU 등)입니다.

완전한 ANN은 일반적으로 입력 계층, 여러 개의 은닉 계층, 출력 계층으로 구성됩니다. 은닉층은 주로 뉴런으로 구성되며 가장 중요한 컴퓨팅 작업을 수행합니다. 실제 동작 중에 각 층의 뉴런은 결정을 내리고, 최종 결과가 출력될 때까지 그 결정을 다음 은닉층의 뉴런으로 전달합니다.

따라서 숨겨진 계층이 많을수록 ANN은 더 복잡해지고 결과도 더 정확해집니다. 예를 들어, ANN을 사용하여 입력 동물이 "고양이"인지 "고양이가 아닌지" 판별하려는 경우, 동물을 입력한 후 각 은닉층의 뉴런이 이에 대한 판단을 내리고 결과를 얻은 다음, 마지막 뉴런층이 결과를 출력할 때까지 결과를 아래로 전송합니다.

신경망 기초: 역전파 알고리즘

이는 두 개의 숨겨진 계층을 갖춘 ANN 아키텍처입니다.

입력층(왼쪽)과 출력층(오른쪽)은 양쪽에 있고, 두 개의 은닉층은 가운데에 있습니다.

동물이 생물학적으로는 고양이이지만 ANN에서는 "고양이가 아니다"라고 하면 ANN 출력은 틀립니다. 이제 우리가 할 수 있는 일은 숨겨진 계층으로 돌아가서 가중치와 편향을 조정하는 것뿐입니다. 이렇게 데이터를 되돌아가서 조정하는 과정을 역전파라고 합니다.

그러나 역전파를 달성하려면 중요한 알고리즘인 경사 하강 알고리즘도 필요합니다. 경사 하강법은 학습 과정을 크게 가속화합니다. 간단히 말하면, 산 꼭대기에서 산을 내려갈 때 경사가 가장 가파른 길을 선택하는 것이 가장 빠르다는 뜻입니다.

경사 하강 알고리즘: 역전파의 핵심

매개변수를 수정하기 위해 출력과 실제 값 사이의 편차를 지속적으로 계산해야 하므로(차이가 클수록 수정도 커짐) 최종 예측 값과 학습 세트의 모든 샘플의 실제 값 사이의 오차를 측정하기 위해 오차 함수(손실 함수라고도 함)를 사용해야 합니다.

신경망 기초: 역전파 알고리즘

~에 y^i 예측 결과 y입니다 실제 결과를 보려면.

이 표현식은 학습 세트의 모든 샘플의 최종 예측 값과 실제 값 사이의 오차를 측정합니다. 이는 출력 계층의 예측 범주에만 관련이 있지만, 이 예측 값은 이전 계층의 매개변수에 따라 달라집니다. 개를 고양이로 분류하고 싶지 않다면 이 오류 함수를 최소화해야 합니다.

경사 하강 알고리즘은 오차 함수를 최소화하는 알고리즘 중 하나입니다. ANN 모델 학습에 일반적으로 사용되는 최적화 알고리즘이기도 합니다. 대부분의 딥러닝 모델은 최적화 학습을 위해 경사 하강 알고리즘을 사용합니다. 함수 매개변수 집합이 주어지면 경사 하강은 초기 매개변수 값 집합에서 시작하여 손실 함수를 최소화하는 매개변수 값 집합을 향해 반복적으로 이동합니다. 이러한 반복적 최소화는 미적분을 사용하여 구현되며, 기울기 변화는 기울기의 음의 방향으로 이루어집니다. 경사 하강법을 사용하는 전형적인 예는 선형 회귀입니다. 모델이 반복되면서 손실 함수는 점차 최소값으로 수렴합니다.

기울기는 어떤 지점에서 함수의 최대 변화율의 방향을 나타내며 편미분을 계산하여 얻어지므로, 기울기 하강법을 사용하면 학습 과정을 대폭 가속화할 수 있습니다.

신경망 기초: 역전파 알고리즘

경사 하강법

실제로는 마지막 레이어의 가중치 값과 편향이 결과에 어떤 영향을 미치는지 먼저 확인하는 것이 이론적으로 유용합니다. 오차 함수 E의 편미분을 취하면 가중치 값과 오프셋이 오차 함수에 미치는 영향을 알 수 있습니다.

신경망 기초: 역전파 알고리즘

이러한 편미분은 체인 법칙을 사용하여 계산하여 이러한 매개변수의 변화가 출력에 어떻게 영향을 미치는지 알아낼 수 있습니다. 유도 공식은 다음과 같습니다.

신경망 기초: 역전파 알고리즘

위 표현식에서 미지수를 얻으려면 각각 wi와 bi에 대한 zi의 편미분을 취합니다.

신경망 기초: 역전파 알고리즘그런 다음, 각 계층의 가중치와 오프셋에 대한 오차 함수의 편미분을 역순으로 계산하고, 조정된 가중치와 오프셋을 오차가 발생한 초기 계층까지 경사 하강법을 통해 업데이트합니다.

이 과정은 역전파 알고리즘, 즉 BP 알고리즘으로, 출력 계층의 오차를 각 계층 뒤로 전파하고, 오차 함수를 최소화하기 위해 편미분을 계산하여 네트워크 매개변수를 업데이트함으로써 ANN 알고리즘이 예상 출력을 얻을 수 있도록 하는 과정입니다.

현재 역전파 알고리즘은 주로 지도 학습 방식의 ANN 알고리즘에 사용됩니다.

슈퍼 뉴로 확장 리딩

머신 러닝 기초 - 편미분:https://blog.csdn.net/qq_37527163/article/details/78171002

역전파 이해:https://blog.csdn.net/u012223913/article/details/68942581

제프리 힌튼 전기:https://zh.wikipedia.org/wiki/%E6%9D%B0%E5%BC%97%E9%87%8C%C2%B7%E8%BE%9B%E9%A1%BF

http://www.cs.toronto.edu/~hinton/

손실 함수:https://en.wikipedia.org/wiki/Loss_function

생물학적 뉴런:https://en.wikipedia.org/wiki/Neuron#Histology_and_internal_structure

경사 하강 알고리즘에 대한 간략한 설명:https://blog.csdn.net/u013709270/article/details/78667531

인공신경망 알고리즘 원리:http://www.elecfans.com/rengongzhineng/579673.html

경사 하강을 구현하는 방법:https://www.jianshu.com/p/c7e642877b0e