머신 러닝 및 신경망 - 페이지 55

 

강의 5.4 — 객체 인식을 위한 컨벌루션 네트워크



강의 5.4 — 객체 인식을 위한 컨볼루션 네트워크 [머신 러닝을 위한 신경망]

손으로 쓴 숫자를 인식하기 위해 개발된 망이 고해상도 컬러 이미지에서 물체를 인식하도록 확장될 수 있는지에 대한 질문은 항상 추측의 주제였습니다. 어수선한 장면 처리, 분할, 3D 관점, 여러 개체 및 조명 변화와 같은 다양한 요인으로 인해 어려운 작업으로 간주되었습니다. 과거에 연구자들은 손으로 쓴 숫자를 인식하는 네트워크의 능력을 향상시키는 데 중점을 두었습니다. 이로 인해 일부 사람들은 실제 컬러 이미지에 대한 연구 결과의 일반화 가능성을 의심했습니다.

이 문제를 해결하기 위해 최근 ImageNet이라는 대회가 열렸습니다. 여기서 컴퓨터 비전 시스템은 120만 개의 고해상도 컬러 이미지 하위 집합에서 테스트되었습니다. 작업은 수천 개의 서로 다른 클래스로 이미지에 올바르게 레이블을 지정하는 것이 었습니다. 시스템은 5개의 예측을 할 수 있었고 예측 중 하나가 사람이 지정한 레이블과 일치하면 올바른 것으로 간주되었습니다. 또한 시스템이 인식된 개체 주위에 상자를 배치해야 하는 현지화 작업이 있었습니다.

다양한 기관의 선도적인 컴퓨터 비전 그룹이 대회에 참가하여 수작업으로 조정한 초기 단계와 최상위 단계의 학습 알고리즘을 결합한 복잡한 다단계 시스템을 사용했습니다. 그러나 이 작업은 최상의 시스템의 경우 오류율이 26%에서 27%에 이르는 매우 어려운 것으로 판명되었습니다. 대조적으로 Alex Krizhevsky의 심층 신경망은 16%의 훨씬 낮은 오류율을 달성했습니다.

Alex Krizhevsky의 신경망은 Deep Convolutional Neural Network를 기반으로 7개의 은닉층과 수정된 선형 단위를 활성화 함수로 활용했습니다. 네트워크는 강도 변화를 처리하기 위해 계층 내에서 경쟁 정규화를 사용했습니다. 다운샘플링 및 반사와 같은 변환을 통한 데이터 증가, 최상위 레이어에서의 드롭아웃 정규화 사용을 포함하여 일반화를 개선하기 위해 여러 기술이 사용되었습니다. 네트워크는 강력한 하드웨어, 특히 Nvidia GTX 580 그래픽 프로세서에서 훈련되었습니다.

대회 결과는 Alex Krizhevsky의 네트워크가 다른 컴퓨터 비전 시스템보다 훨씬 뛰어난 성능을 보였다는 것을 보여주었습니다. 그것의 성공은 실제 컬러 이미지에서 물체 인식을 위한 심층 신경망의 잠재력을 보여주었습니다. 이러한 네트워크는 사전 지식을 활용하고 대규모 데이터 세트 및 계산을 처리할 수 있습니다. 효율적인 하드웨어의 사용과 여러 코어에 네트워크를 분산할 수 있는 가능성은 기능을 더욱 향상시킵니다. 결과적으로 심층 신경망은 계속 발전하여 정적 이미지에서 객체 인식을 위한 표준 접근 방식이 될 것으로 예상됩니다.

마찬가지로 심층 신경망은 다양한 다른 영역에서 인상적인 성능을 보여주었습니다. 예를 들어 언어 번역, 감정 분석, 질문 답변과 같은 자연어 처리 작업에 성공했습니다. 이러한 작업에서 네트워크는 텍스트의 의미와 맥락을 이해하는 방법을 학습하여 정확하고 의미 있는 응답을 생성할 수 있습니다.

또한 심층 신경망은 음성 인식에도 적용되어 기존 방법을 능가합니다. 많은 양의 레이블이 지정된 음성 데이터에서 학습함으로써 이러한 네트워크는 음성 단어를 높은 정확도로 효과적으로 인식하고 전사할 수 있습니다.

의료 분야에서 심층 신경망은 의료 이미지 분석에서 놀라운 기능을 보여주었습니다. 그들은 엑스레이, MRI 및 CT 스캔과 같은 의료 이미지에서 질병 진단을 도울 수 있습니다. 레이블이 지정된 방대한 의료 이미지 모음에서 학습함으로써 이러한 네트워크는 인간 전문가에 필적하는 수준의 정확도로 이상, 종양 및 기타 의료 상태를 감지할 수 있습니다.

심층 신경망의 성공은 데이터의 계층적 표현을 자동으로 학습하는 능력 때문일 수 있습니다. 여러 수준의 추상화에서 점진적으로 기능을 추출함으로써 이러한 네트워크는 데이터의 복잡한 패턴과 관계를 캡처할 수 있습니다. 이 기능 학습 프로세스는 대규모 데이터 세트 및 강력한 계산 리소스의 가용성과 결합되어 다양한 도메인에서 상당한 발전을 위한 길을 열었습니다.

결론적으로 심층 신경망은 사물 인식, 자연어 처리, 음성 인식, 의료 영상 분석 등 다양한 작업에서 매우 효과적인 것으로 입증되었습니다. 대규모 데이터 세트에서 학습하고 의미 있는 표현을 자동으로 추출하는 능력은 많은 분야에 혁신을 가져왔습니다. 계산 리소스가 계속해서 향상됨에 따라 우리는 심층 신경망의 기능에서 훨씬 더 인상적인 성과와 추가 발전을 기대할 수 있습니다.

 

강의 6.1 — 미니 배치 경사하강법 개요



강의 6.1 — 미니 배치 경사하강법 개요 [머신 러닝을 위한 신경망]

이번 영상에서는 대규모 신경망에서 널리 사용되는 미니배치 버전을 중심으로 신경망에 대한 확률적 경사하강법 학습에 대해 알아봅니다. 선형 뉴런의 오류 표면은 수평축이 가중치를 나타내고 수직축이 오류를 나타내는 2차 사발을 형성합니다. 다층 비선형 네트워크의 경우 오류 표면이 더 복잡하지만 2차 사발의 일부로 국지적으로 근사됩니다.

전체 배치 학습을 사용할 때 가장 가파른 기울기 방향을 따라 내려가는 것은 원하는 목적지로 이어지지 않을 수 있습니다. 가장 가파른 내리막 방향은 종종 원하는 방향에 거의 수직으로 실행되어 수렴 문제를 일으킵니다. 이 문제는 비선형 다층 네트워크에서 지속되는데, 오류 표면이 어떤 방향에서는 크게 구부러지고 다른 방향에서는 덜 구부러지는 경향이 있기 때문입니다.

이를 해결하기 위해 SGD(Stochastic Gradient Descent)가 사용됩니다. 전체 데이터 세트에 대한 기울기를 계산하는 대신 SGD는 데이터의 하위 집합 또는 미니 배치에 대한 기울기를 계산합니다. 이 접근 방식은 가중치 업데이트를 위한 계산 감소 및 여러 교육 사례에 대한 그래디언트 계산을 병렬화하는 기능과 같은 몇 가지 이점을 제공합니다.

미니 배치를 사용하면 불필요한 중량 슬로싱을 방지할 수 있습니다. 전체 데이터 세트를 대표하는 미니 배치를 갖고 단일 클래스의 모든 예제를 포함하는 것과 같이 특징적이지 않은 배치를 피하는 것이 중요합니다. 전체 그래디언트 알고리즘을 사용할 수 있지만 미니 배치 학습은 일반적으로 계산 효율성으로 인해 크고 중복된 훈련 세트에 선호됩니다.

기본 미니 배치 경사하강법 학습 알고리즘에는 초기 학습률을 추측하고 네트워크 성능을 모니터링하는 작업이 포함됩니다. 오류가 악화되거나 진동하면 학습률이 감소합니다. 오류가 너무 느리게 떨어지면 학습률을 높일 수 있습니다. 이러한 관찰을 기반으로 학습 속도 조정을 자동화하는 것이 좋습니다. 학습이 끝날 무렵, 미니 배치 기울기로 인한 가중치의 변동을 완화하기 위해 학습 속도를 줄이는 것이 종종 도움이 됩니다. 검증 세트는 학습률을 감소시킬 시기를 평가하고 오류가 일관되게 감소하지 않는 시기를 결정하는 데 사용됩니다.

학습 속도를 신중하게 조정하고 교육 프로세스 전반에 걸쳐 조정함으로써 미니 배치 경사 하강법은 중복 데이터 세트에서 대규모 신경망을 교육하는 효과적인 접근 방식을 제공합니다.

또한 신경망에 대한 학습 알고리즘에는 전체 그래디언트 알고리즘과 미니 배치 알고리즘의 두 가지 주요 유형이 있다는 점에 주목할 가치가 있습니다. 전체 그래디언트 알고리즘은 모든 교육 사례를 사용하여 그래디언트를 계산하므로 다양한 최적화 기술을 통해 학습 속도를 높일 수 있습니다. 그러나 매끄러운 비선형 함수를 위해 개발된 이러한 방법은 다층 신경망에서 효과적으로 작동하려면 수정이 필요할 수 있습니다.

반면에 미니 배치 학습은 중복성이 높고 대규모 훈련 세트에 유리합니다. 미니 배치는 상대적으로 커야 할 수 있지만 계산 효율성을 제공합니다. 미니 배치를 사용하면 그래픽 처리 장치(GPU)와 같은 최신 프로세서의 기능을 활용하여 동시에 여러 교육 사례에 대한 기울기를 병렬로 계산할 수 있습니다.

훈련 과정 전반에 걸쳐 학습률과 균형을 맞추는 것이 중요합니다. 네트워크의 성능과 관찰된 오류 동작을 기반으로 학습 속도를 조정해야 합니다. 학습이 끝날 무렵, 학습 속도를 줄이면 좋은 절충안인 최종 가중치 세트를 달성하여 미니 배치 기울기로 인한 변동을 완화하는 데 도움이 될 수 있습니다.

유효성 검사 세트는 네트워크의 진행 상황을 모니터링하는 데 중요한 역할을 합니다. 별도의 유효성 검사 세트에서 오류를 측정하면 오류가 지속적으로 감소하지 않는지 평가하고 학습률을 조정하기에 적절한 시간을 결정할 수 있습니다. 이러한 유효성 검사 예제는 학습 또는 최종 테스트에 사용되지 않습니다.

미니 배치 경사하강법 학습 알고리즘은 중복 데이터 세트에서 대규모 신경망을 교육하는 실용적이고 효율적인 접근 방식을 제공합니다. 학습 속도의 신중한 조정, 검증 세트를 사용한 네트워크 성능 모니터링 및 대표적인 미니 배치 사용은 성공적인 훈련 결과에 기여합니다.

 

강의 6.2 — 미니 배치 경사 하강법을 위한 요령



강의 6.2 — 미니 배치 경사하강법 [머신 러닝을 위한 신경망]을 위한 트릭 가방

이 비디오에서는 미니 배치와 함께 확률적 경사하강법을 사용할 때 발생하는 몇 가지 문제에 대해 논의합니다. 성능을 크게 향상시킬 수 있는 수많은 트릭이 있으며, 종종 신경망의 "블랙 아트"라고 합니다. 이 비디오에서 몇 가지 주요 요령을 다룰 것입니다.

첫 번째 문제인 신경망의 가중치 초기화부터 시작하겠습니다. 두 개의 은닉 유닛이 동일한 가중치와 편향을 가지면 항상 동일한 그래디언트를 받고 서로 구별되지 않습니다. 다른 기능 감지기를 학습할 수 있도록 하려면 서로 다른 가중치로 초기화해야 합니다. 이것은 일반적으로 작은 무작위 가중치를 사용하여 대칭을 깨는 방식으로 수행됩니다. 초기 가중치의 크기가 모든 단위에 대해 동일하지 않아야 한다는 점에 유의하는 것이 중요합니다. 더 큰 팬인(들어오는 연결)이 있는 숨겨진 장치는 더 큰 가중치로 포화되는 경향이 있으므로 이러한 경우에는 더 작은 가중치가 선호됩니다. 반면에 더 작은 팬 인이 있는 히든 유닛은 더 큰 가중치에서 이점을 얻습니다. 초기 가중치의 크기는 팬인의 제곱근에 비례해야 합니다.

또 다른 중요한 요소는 입력을 이동하는 것입니다. 각 입력 구성 요소에 상수 값을 추가하면 학습 속도에 상당한 영향을 미칠 수 있습니다. 입력을 이동하는 것은 가장 가파른 내리막을 사용할 때 특히 효과적입니다. 훈련 데이터 전체에서 평균적으로 평균값이 0이 되도록 각 입력 구성요소를 이동하는 것이 좋습니다.

다음으로 오류 표면과 이것이 가중치 및 학습 사례와 어떻게 관련되는지 살펴보겠습니다. 경우에 따라 가중치가 서로 다른 학습 사례를 충족하면 오류 표면이 길어져 학습이 어려워질 수 있습니다. 그러나 각 입력 구성 요소에서 상수 값을 빼면 오류 표면을 원형으로 변환할 수 있으므로 학습이 더 쉬워집니다.

고려해야 할 또 다른 요소는 은닉 유닛의 활성화 기능입니다. 범위가 -1에서 1 사이인 하이퍼볼릭 접선은 평균값이 0에 가까운 숨겨진 단위 활동으로 이어지기 때문에 종종 선호됩니다. 이는 후속 계층에서 더 빠른 학습을 촉진할 수 있습니다. 그러나 로지스틱 활성화 기능은 작은 음의 입력에 대해 0의 출력을 제공하므로 네트워크가 이러한 입력의 변동을 무시할 수 있다는 이점이 있습니다. 하이퍼볼릭 탄젠트는 이러한 변동을 무시하기 위해 더 큰 입력이 필요합니다.

효과적인 학습을 위해서는 입력을 확장하는 것도 중요합니다. 입력 구성 요소를 변환하여 전체 교육 세트에 걸쳐 단위 분산을 가지며 일반적인 값은 1 또는 -1로 오류 표면을 개선할 수 있습니다. 입력 크기를 조정하면 가중치의 변화가 모든 입력 구성 요소에 유사한 영향을 미치므로 보다 균형 잡힌 학습 프로세스로 이어집니다.

미니 배치 학습 속도를 높이기 위해 고려해야 할 네 가지 주요 방법이 있습니다.

  1. 모멘텀: 그래디언트를 기반으로 가중치를 직접 변경하는 대신 모멘텀은 그래디언트를 사용하여 가중치의 속도를 가속합니다. 이 접근 방식을 사용하면 가중치가 이전 그래디언트의 정보를 유지할 수 있습니다.

  2. 적응형 학습 속도: 각 매개변수에 대해 별도의 적응형 학습 속도를 사용하고 경험적 측정을 기반으로 조정하면 학습을 향상시킬 수 있습니다. 그래디언트의 부호가 계속 바뀌면 학습률이 감소합니다. 그래디언트가 일정하게 유지되면 학습률이 증가합니다.

  3. RMSprop: 이 방법은 학습 속도를 최근 기울기 크기의 실행 평균으로 나눕니다. 적절한 크기 조정을 통해 다양한 그라디언트를 효과적으로 처리합니다.

  4. 전체 배치 학습: 이 접근 방식은 곡률 정보를 고려하는 고급 최적화 기술을 학습하고 사용하기 위해 전체 훈련 세트를 사용하는 것을 포함합니다. 효과적일 수 있지만 미니 배치 작업을 위해 추가 조정이 필요할 수 있습니다.

이들은 미니 배치를 사용한 확률적 경사하강법의 성능을 크게 향상시킬 수 있는 기술 중 일부에 불과합니다.

요약하면 신경망에서 미니 배치를 사용한 확률적 경사 하강법과 관련된 몇 가지 중요한 문제와 기술에 대해 논의했습니다. 이러한 기술은 신경망의 "블랙 아트" 역할을 하며 성능을 크게 향상시킬 수 있습니다. 주요 사항을 요약해 보겠습니다.

  1. 가중치 초기화: 히든 유닛이 다른 특징 감지기를 학습할 수 있도록 하려면 가중치를 다르게 초기화하는 것이 중요합니다. 대칭을 깨는 작은 무작위 가중치를 사용하여 각 단위가 서로 다르게 시작되도록 할 수 있습니다. 초기 가중치의 크기는 팬인의 제곱근에 비례해야 합니다. 이렇게 하면 좋은 시작점을 얻는 데 도움이 됩니다.

  2. 입력 이동: 각 구성 요소에 상수를 추가하여 입력을 이동하면 학습 속도에 상당한 영향을 미칠 수 있습니다. 평균적으로 입력 값이 0이 되도록 각 구성 요소를 이동하는 것이 좋습니다. 이는 교육 데이터에서 입력 값의 평균을 빼서 얻을 수 있습니다.

  3. 입력 크기 조정: 입력 값 크기 조정은 확률적 경사 하강법에서 또 다른 유용한 기술입니다. 각 구성 요소가 전체 교육 세트에 대해 단위 분산을 갖도록 입력을 변환하면 학습 프로세스가 간소화됩니다. 입력 크기를 재조정하면 원형 오류 표면을 생성하는 데 도움이 되어 경사 하강법을 보다 효율적으로 만듭니다.

  4. 입력 구성 요소의 상관 관계 해제: 입력 벡터의 구성 요소의 상관 관계를 해제하면 기능 간의 상관 관계가 제거되어 학습이 향상됩니다. 주성분 분석은 이를 달성하기 위한 유용한 방법입니다. 고유값이 작은 구성 요소를 제거하고 나머지 구성 요소를 스케일링하면 원형 오류 표면을 얻을 수 있으므로 경사 하강법이 더 쉬워집니다.

  5. 일반적인 문제: 신경망 훈련에서 발생하는 몇 가지 일반적인 문제에는 숨겨진 단위가 고착되는 큰 초기 학습 속도, 작은 가중치로 시작할 때 학습 속도 저하, 조기에 학습 속도 감소가 포함됩니다. 최적의 학습을 보장하기 위해 학습 속도를 조정할 때 균형을 맞추는 것이 중요합니다.

  6. 미니 배치 학습 속도 향상: 더 빠른 학습을 위해 명시적으로 설계된 미니 배치 학습 속도를 높이는 네 가지 주요 방법이 있습니다. 모멘텀, 적응형 학습 속도, RMSprop 및 곡률 정보를 사용한 전체 배치 학습입니다. 이러한 기술은 모멘텀, 적응 조정 및 기울기 크기와 같은 다양한 메커니즘을 활용하여 학습 프로세스를 가속화합니다.

이러한 기술은 신경망에서 미니 배치를 사용하여 확률적 경사 하강법의 성능을 크게 향상시키지만, 당면한 특정 문제를 고려하고 최상의 결과를 얻기 위해 다양한 접근 방식을 실험하는 것이 필수적입니다. 최적화 분야는 신경망에서 훨씬 더 효율적인 학습을 위해 탐색할 가치가 있는 고급 방법을 제공합니다.

이것으로 신경망에서 미니 배치를 사용하는 확률적 경사 하강법과 관련된 문제 및 기술과 관련하여 이 비디오에서 다루는 주요 사항을 마칩니다.

 

강의 6.3 — 모멘텀 방법



강의 6.3 — 모멘텀 방법 [머신 러닝을 위한 신경망]

이 비디오에서는 미니 배치와 함께 확률적 경사 하강법을 사용하는 것과 관련된 몇 가지 문제에 대해 논의하고 효율성을 향상시키기 위한 몇 가지 기술을 탐색합니다. 이러한 기술은 종종 신경망의 "블랙 아트"로 간주되며 몇 가지 핵심 기술을 다룰 것입니다.

먼저 신경망에서 가중치 초기화 문제를 해결해 보겠습니다. 두 개의 은닉 유닛이 동일한 가중치와 편향을 가지면 항상 동일한 그래디언트를 수신하고 서로 다른 특징 검출기를 학습할 수 없습니다. 고유한 기능을 학습할 수 있도록 가중치를 다르게 초기화하는 것이 중요합니다. 우리는 대칭을 깨뜨리는 작은 무작위 가중치를 사용하여 이를 달성합니다. 또한 각 히든 유닛의 팬인을 고려하여 초기 가중치가 서로 다른 크기를 갖는 것이 유리합니다. 예를 들어 가중치가 크면 상당한 팬인이 있는 장치가 포화 상태가 될 수 있는 반면 가중치가 작으면 팬인이 작은 장치에 적합합니다. 일반적으로 초기 가중치의 크기는 팬인의 제곱근에 비례해야 합니다.

입력을 이동하거나 각 입력 구성 요소에 상수를 추가하면 놀랍게도 학습 속도에 상당한 영향을 미칠 수 있습니다. 이 이동은 오류 표면을 크게 변경할 수 있으므로 가장 가파른 내리막에 도움이 됩니다. 전체 교육 세트에서 평균값이 0이 되도록 각 입력 구성 요소를 이동하는 것이 종종 권장됩니다.

입력 크기 조정은 최속 내리막을 사용할 때 또 다른 중요한 고려 사항입니다. 스케일링에는 입력 값을 변환하여 각 구성 요소가 전체 교육 세트에 대해 단위 분산을 갖도록 하여 일반적인 값을 1 또는 -1로 만듭니다. 이 스케일링은 더 나은 오류 표면 동작을 허용하여 큰 입력 구성 요소에 대한 높은 곡률과 작은 구성 요소에 대한 낮은 곡률을 방지합니다.

입력 구성 요소의 상관 관계를 해제하면 학습이 크게 촉진될 수 있습니다. 입력 구성 요소 간의 상관 관계를 제거하여 중복을 줄이고 학습 효율성을 향상시킵니다. 주성분 분석(PCA)은 역상관을 달성하기 위해 일반적으로 사용되는 기술입니다. 고유값이 작은 구성요소를 제거하고 나머지 구성요소를 고유값의 제곱근으로 나누어 스케일링합니다. 이 프로세스는 학습을 단순화하는 선형 시스템의 원형 오류 표면으로 이어집니다.

이제 신경망 훈련에서 발생하는 몇 가지 일반적인 문제를 해결해 보겠습니다. 지나치게 큰 학습률로 시작하면 히든 유닛이 극단적인 상태로 발전하여 미분이 0에 가까워질 수 있습니다. 이로 인해 학습이 중단되고 종종 로컬 최소값에 갇힌 것 같은 인상을 줍니다. 실제로 네트워크는 안정기에 갇혀 있을 가능성이 높습니다.

제곱 오차 또는 교차 엔트로피 오차를 사용하여 분류할 때 또 다른 문제가 발생합니다. 처음에 네트워크는 출력 단위를 예상되는 1의 비율과 동일하게 만드는 최선의 추측 전략을 빠르게 학습합니다. 그러나 이 추측 전략을 넘어서는 추가 개선은 특히 네트워크가 깊고 초기 가중치가 작을 때 느려질 수 있습니다.

학습 속도를 조정할 때 올바른 균형을 찾는 것이 중요합니다. 학습 속도를 너무 빨리 또는 너무 많이 낮추면 진행이 방해를 받을 수 있으며 훈련이 끝날 무렵 줄이면 네트워크 성능을 안정화하는 데 도움이 될 수 있습니다.

이제 미니 배치 학습 속도를 크게 높일 수 있는 네 가지 구체적인 방법을 살펴보겠습니다.

  1. 모멘텀: 그래디언트를 기반으로 가중치를 직접 변경하는 대신, 모멘텀은 그래디언트를 사용하여 가중치 업데이트의 속도를 업데이트합니다. 이 모멘텀을 통해 네트워크는 이전 기울기를 기억하고 학습을 가속화할 수 있습니다.

  2. 적응형 학습 속도: 각 매개변수에 별도의 학습 속도를 할당하고 경험적 측정을 기반으로 천천히 조정하면 학습을 향상시킬 수 있습니다. 그래디언트의 부호가 계속 변경되어 진동을 나타내면 학습률이 감소합니다. 진행 상황을 나타내는 부호가 일정하게 유지되면 학습 속도가 증가한 것입니다.

  3. RMSprop: 이 방법은 가중치 업데이트를 최근 기울기 크기의 실행 평균으로 나누는 것을 포함합니다. 기울기의 크기에 따라 가중치 업데이트를 동적으로 조정하여 다양한 기울기 범위를 효과적으로 처리할 수 있습니다. RMSprop은 Rprop의 미니 배치 적응입니다.

 

강의 6.4 — 각 연결에 대한 적응 학습 속도



강의 6.4 — 각 연결에 대한 적응 학습 속도 [머신 러닝을 위한 신경망]

이 비디오에서는 1980년대 후반 Robbie Jacobs가 처음 개발하고 이후에 다른 연구자들이 개선한 적응형 학습률이라는 방법을 살펴봅니다. 적응형 학습 속도의 기본 개념은 업데이트 중에 해당 연결의 가중치가 어떻게 작동하는지에 대한 경험적 관찰을 기반으로 신경망의 각 연결에 고유한 학습 속도를 할당하는 것입니다. 이 접근 방식을 사용하면 가중치 기울기가 계속 반전될 때 학습 속도를 줄이고 기울기가 일정하게 유지될 때 학습 속도를 증가시켜 학습 프로세스를 미세 조정할 수 있습니다.

각 연결에 대해 별도의 적응형 학습 속도를 갖는 것이 특히 심층 다층 네트워크에서 유리합니다. 이러한 네트워크에서 학습 속도는 서로 다른 가중치, 특히 서로 다른 계층의 가중치 간에 크게 다를 수 있습니다. 또한 오류를 수정하기 위해 여러 개의 들어오는 가중치를 조정할 때 오버슈트 효과의 크기를 결정하는 장치의 패닝도 서로 다른 학습률을 요구합니다. 더 큰 팬인은 더 큰 오버슈트 효과로 이어질 수 있으므로 그에 따라 학습률을 조정해야 합니다.

적응형 학습률을 구현하기 위해 전역 학습률을 수동으로 설정하고 각 가중치에 특정한 로컬 게인을 곱합니다. 초기에 로컬 게인은 모든 가중치에 대해 1로 설정됩니다. 그런 다음 가중치 업데이트는 학습률에 로컬 게인과 해당 가중치의 오차 도함수를 곱하여 결정됩니다. 로컬 게인은 가중치의 기울기가 부호를 변경하지 않으면 증가하고 기울기가 반대 부호를 갖는 경우 감소하여 조정됩니다. 진동이 발생하는 경우 큰 이득을 빠르게 약화시키는 것을 목표로 추가 증가 및 곱셈 감소가 사용됩니다.

그래디언트가 임의적일 때 적응형 학습 속도의 동작을 고려하는 것은 흥미로운 일입니다. 이러한 경우 게인에 동일한 수의 증가 및 감소가 발생하여 게인 1 주위를 맴돌게 됩니다. 그래디언트의 방향이 일관되게 동일한 경우 게인은 1보다 훨씬 커질 수 있지만 일관되게 반대되는 그래디언트는 게인을 1보다 훨씬 작게 만들어 계곡을 가로지르는 진동을 나타냅니다.

적응형 학습률의 효율성을 개선하려면 게인의 크기를 0.1~10 또는 0.01~100과 같은 합리적인 범위 내로 제한하는 것이 중요합니다. 게인이 너무 많으면 불안정해지고 가중치가 수렴되지 않을 수 있습니다. 적응형 학습 속도는 초기에 전체 배치 학습용으로 설계되었지만 미니 배치에도 적용할 수 있습니다. 그러나 샘플링 오류의 영향을 최소화하고 그래디언트의 부호 변경이 계곡 횡단을 반영하도록 하려면 더 큰 미니 배치가 선호됩니다.

Jacobs가 제안한 것처럼 모멘텀과 적응 학습 속도를 결합하는 것이 가능합니다. 현재 기울기를 이전 기울기와 비교하는 대신 현재 기울기와 해당 가중치에 대한 속도(누적된 기울기) 간에 부호의 일치가 결정됩니다. 이 조합은 모멘텀과 적응형 학습 속도의 이점을 모두 활용합니다. 적응형 학습률은 축 정렬 효과를 처리하는 반면 모멘텀은 대각선 타원을 처리하고 대각선 방향으로 빠르게 탐색할 수 있으며 적응형 학습률만으로는 달성할 수 없습니다.

적응형 학습 속도의 성능을 향상시키기 위한 몇 가지 추가 고려 사항과 기술이 있습니다. 균형을 유지하고 이득이 과도하게 커지지 않도록 하는 것이 중요합니다. 이득이 너무 커지면 불안정해질 수 있고 충분히 빠르게 감소하지 못하여 가중치에 손상을 줄 수 있습니다.

또한 적응형 학습 속도는 기본적으로 모든 교육 예제가 단일 반복으로 처리되는 전체 배치 학습을 위해 설계되었다는 점에 주목할 가치가 있습니다. 그러나 훈련 예제의 하위 집합이 한 번에 처리되는 미니 배치 학습에도 적용할 수 있습니다. 미니 배치를 사용할 때 샘플링 오류의 영향을 완화하기 위해 미니 배치 크기가 상대적으로 큰지 확인하는 것이 중요합니다. 이렇게 하면 기울기의 부호 변경이 미니 배치의 샘플링 가변성으로 인한 것이 아니라 계곡을 가로지르는 것을 나타내는지 확인하는 데 도움이 됩니다.

최적화 프로세스를 더욱 향상시킬 수 있는 모멘텀과 적응형 학습 속도를 결합하는 것도 가능합니다. 현재 기울기를 이전 기울기와 비교하는 대신 현재 기울기와 해당 가중치에 대한 속도(즉, 누적 기울기) 사이의 부호 일치를 평가할 수 있습니다. 모멘텀을 통합함으로써 모멘텀과 적응형 학습률의 이점 간의 시너지 효과를 얻을 수 있습니다. 적응형 학습률은 축 정렬 효과를 처리하는 데 중점을 두는 반면 모멘텀은 대각선 타원을 효과적으로 처리하고 적응형 학습률만으로는 어려울 수 있는 대각선 방향으로 신속하게 탐색할 수 있습니다.

적응 학습 속도는 경험적 관찰을 기반으로 각 연결에 개별 학습 속도를 할당하여 신경망에서 학습 프로세스를 미세 조정할 수 있는 방법을 제공합니다. 심층 다층 네트워크에서 서로 다른 가중치에 걸쳐 다양한 학습 속도 문제를 해결하고 단위 패닝을 고려합니다. 게인의 크기 제한, 적절한 미니 배치 선택, 모멘텀과 적응형 학습 속도의 결합과 같은 기술은 훈련 프로세스를 더욱 최적화하여 성능과 수렴을 향상시킬 수 있습니다.

 

강의 6.5 — Rmsprop: 그래디언트 정규화



강의 6.5 — Rmsprop: 그래디언트 정규화 [머신 러닝을 위한 신경망]

이 비디오는 처음에 전체 배치 학습을 위해 설계된 Rprop(Resilient Backpropagation)라는 방법을 소개합니다. 인기 있는 역전파 알고리즘과 유사하지만 몇 가지 차이점이 있습니다. 그런 다음 스피커는 대규모 중복 데이터 세트에 필수적인 미니 배치 작업을 위해 Rprop를 확장하는 방법에 대해 논의합니다. iRprop(개선된 Rprop)라고 하는 결과 방법은 Rprop의 장점과 미니 배치 학습의 효율성을 결합합니다.

Rprop의 주요 동기는 변화도 크기의 변화 문제를 해결하는 것입니다. 신경망의 기울기는 아주 작은 것에서 큰 것까지 다양할 수 있으므로 단일 글로벌 학습 속도를 선택하기가 어렵습니다. Rprop은 기울기의 부호만 고려하여 이 문제를 해결하고 모든 가중치 업데이트가 동일한 크기인지 확인합니다. 이 기술은 작은 기울기에서도 가중치 업데이트가 상당할 수 있으므로 작은 기울기가 있는 고원을 탈출하는 데 특히 유용합니다.

Rprop은 업데이트되는 가중치를 기반으로 하는 적응형 단계 크기와 그래디언트의 부호를 결합합니다. 그래디언트의 크기를 고려하는 대신 해당 가중치에 대해 이전에 결정된 단계 크기에 중점을 둡니다. 단계 크기는 시간이 지남에 따라 조정되며, 마지막 두 기울기의 부호가 일치하면 곱셈으로 증가하고 일치하지 않으면 곱셈으로 감소합니다. 단계 크기를 제한하여 단계 크기가 너무 커지거나 작아지는 것을 방지합니다.

Rprop은 전체 배치 학습에 잘 작동하지만 미니 배치에 적용할 때 문제에 직면합니다. 이는 작은 학습률을 사용할 때 연속적인 미니 배치에 대한 평균 경사도에 의존하는 확률적 경사하강법의 핵심 아이디어를 위반합니다. 발표자는 Rprop이 현재 단계 크기로 가중치를 여러 번 증가시키고 한 번만 감소시켜 바람직하지 않은 가중치 크기 증가를 초래한다고 설명합니다.

이 한계를 극복하기 위해 발표자는 Rprop의 미니 배치 버전으로 RMSprop(Root Mean Square propagation)을 소개합니다. RMSprop은 그래디언트를 나누는 데 사용되는 숫자가 인근 미니 배치에서 일관되게 유지되도록 합니다. 각 가중치에 대한 기울기 제곱의 이동 평균을 유지하여 이를 달성합니다. 기울기 제곱은 감쇠 계수(예: 0.9)를 사용하여 가중되고 업데이트된 평균 제곱을 계산하기 위해 이전 평균 제곱과 결합됩니다. 그런 다음 평균 제곱의 제곱근을 사용하여 그래디언트를 정규화하여 보다 효과적인 학습이 가능합니다.

연사는 RMSprop을 모멘텀과 결합하거나 각 연결에서 적응형 학습 속도와 결합하는 등 추가 개발이 가능하다고 언급합니다. 또한 Nesterov 모멘텀과 Yann LeCun 그룹에서 제안한 RMSprop과 유사한 방법과 같은 관련 방법을 참조합니다.

요약하면, 화자는 데이터셋의 특성에 따라 다른 학습 방법을 추천합니다. 작은 데이터 세트 또는 중복성이 많지 않은 큰 데이터 세트의 경우 비선형 켤레 기울기, LBFGS 또는 L-BFGS-B와 같은 전체 배치 방법이 적합합니다. 적응형 학습 속도 또는 Rprop도 신경망에 사용할 수 있습니다. 대규모 중복 데이터 세트의 경우 미니 배치 방법이 필수적입니다. 시도할 첫 번째 옵션은 모멘텀을 사용한 표준 경사 하강법입니다. RMSprop은 Rprop과 미니 배치 학습의 이점을 결합하므로 고려해야 할 또 다른 효과적인 방법입니다. 발표자는 추가 개선 사항을 탐색할 것을 제안하지만 현재 네트워크 및 작업의 다양한 특성으로 인해 신경망을 훈련하기 위한 간단한 방법은 없습니다.

 

강의 7.1 — 모델링 시퀀스: 간략한 개요



강의 7.1 — 모델링 시퀀스: 간략한 개요 [머신 러닝을 위한 신경망]

이 비디오에서 발표자는 시퀀스에 사용되는 다양한 유형의 모델에 대한 개요를 제공합니다. 그들은 이전 용어를 기반으로 시퀀스의 다음 용어를 예측하는 자동 회귀 모델에 대해 논의하는 것으로 시작합니다. 그런 다음 은닉 유닛을 포함하는 자기회귀 모델의 더 복잡한 변형을 언급합니다. 스피커는 계속해서 선형 동적 시스템 및 숨겨진 Markov 모델과 같은 숨겨진 상태 및 역학이 있는 모델을 소개합니다. 이러한 모델은 복잡하지만 시퀀스 모델링의 맥락에서 순환 신경망과 이러한 유형의 모델 간의 관계를 보여주는 것이 그 목적입니다.

기계 학습을 사용하여 시퀀스를 모델링할 때 목표는 종종 한 시퀀스를 다른 시퀀스로 변환하는 것입니다. 예를 들어 영어 단어를 프랑스어 단어로 변환하거나 음성 인식을 위해 음압을 단어 정체성으로 변환합니다. 경우에 따라 별도의 대상 시퀀스가 없을 수 있으므로 입력 시퀀스의 다음 용어가 티칭 신호 역할을 할 수 있습니다. 이 접근법은 예측을 위한 자연스러운 순서가 있기 때문에 시간적 시퀀스에 더 자연스럽습니다. 그러나 이미지에도 적용할 수 있으므로 지도 학습과 비지도 학습의 구분이 모호해집니다.

그런 다음 발표자는 순환 신경망(RNN)에 들어가기 전에 다른 시퀀스 모델에 대한 리뷰를 제공합니다. 그들은 피드 포워드 신경망에 숨겨진 단위를 추가하여 메모리가 없는 자기회귀 모델을 확장할 수 있다고 설명합니다. 그러나 그들은 메모리 없는 모델이 시퀀스에 대한 모델의 하위 클래스 중 하나일 뿐임을 강조합니다. 또 다른 접근 방식은 더 오랜 시간 동안 정보를 저장할 수 있는 숨겨진 상태 및 내부 역학이 있는 모델을 사용하는 것입니다. 선형 동적 시스템 및 숨겨진 Markov 모델과 같은 이러한 모델에는 확률적 추론 및 학습 알고리즘이 포함됩니다.

선형 역학 시스템은 엔지니어링에서 널리 사용되며 선형 역학 및 가우시안 노이즈가 있는 실제 값 숨겨진 상태를 갖습니다. 반면 숨겨진 Markov 모델은 불연속 분포와 확률적 상태 전환을 사용합니다. 그들은 음성 인식에 일반적으로 사용되며 동적 프로그래밍에 기반한 효율적인 학습 알고리즘을 가지고 있습니다.

발표자는 발화의 전반부와 후반부 사이에 많은 양의 정보를 전달할 때 숨겨진 Markov 모델의 한계를 설명합니다. 이 제한은 숨겨진 상태의 제한된 메모리 용량 때문입니다. 이것은 숨겨진 상태와 비선형 역학을 분산시켜 정보를 더 효율적으로 기억하는 순환 신경망의 도입으로 이어집니다.

순환 신경망은 진동, 포인트 어트랙터로의 정착(메모리 검색에 유용함) 및 혼란스러운 동작(특정 상황에서 유용함)을 비롯한 다양한 동작을 나타낼 수 있습니다. RNN이 숨겨진 상태의 다른 하위 집합을 사용하여 여러 프로그램을 구현하는 방법을 배울 수 있다는 생각은 처음에 RNN을 매우 강력하게 만드는 것으로 생각되었습니다. 그러나 RNN은 계산적으로 훈련하기 어렵고 잠재력을 최대한 활용하는 것은 어려운 작업이었습니다.

이 비디오는 다양한 시퀀스 모델에 대한 개요를 제공하고, 순환 신경망의 개념을 소개하고, 훈련에서 계산 능력과 과제를 강조합니다.

 

강의 7.2 — 역전파를 통한 RNN 교육



강의 7.2 — 역전파를 통한 RNN 훈련 [머신 러닝을 위한 신경망]

이 비디오에서는 순환 신경망을 훈련시키는 일반적인 방법인 시간 알고리즘을 통한 역전파에 대해 설명합니다. 순환 신경망과 서로 다른 시간 단계를 나타내는 여러 계층이 있는 피드포워드 신경망 사이의 관계를 이해하면 알고리즘은 간단합니다. 또한 순환 신경망에 입력 및 원하는 출력을 제공하기 위한 다양한 접근 방식을 다룰 것입니다.

다이어그램은 세 개의 상호 연결된 뉴런이 있는 간단한 순환 네트워크를 보여줍니다. 각 연결에는 1의 시간 지연이 있으며 네트워크는 정수 틱으로 이산 시간으로 작동합니다. 순환 신경망을 훈련시키려면 본질적으로 시간에 따른 피드포워드 신경망의 확장된 버전임을 인식해야 합니다. 순환 네트워크는 시간 0에서 초기 상태로 시작하고 연결 가중치를 사용하여 시간 1에서 새 상태를 생성합니다. 동일한 가중치를 사용하여 후속 새 상태를 생성하면서 이 프로세스를 반복합니다.

역전파는 가중치 제약이 있을 때 학습에 효과적입니다. 이것은 컨볼루션 네트워크에서도 관찰되었습니다. 가중치 제약 조건을 통합하기 위해 제약 조건을 무시하고 평소와 같이 그래디언트를 계산한 다음 제약 조건을 유지하기 위해 그래디언트를 수정합니다. 예를 들어, w1이 w2와 같기를 원하면 w1과 w2에 대한 도함수를 취하여 이들을 더하거나 평균화하고 동일한 수량을 업데이트에 적용하여 w1의 변화가 w2의 변화와 동일하도록 합니다. 두 가중치. 가중치가 처음에 제약 조건을 충족하는 한 계속 그렇게 합니다.

시간 알고리즘을 통한 역전파는 순환 네트워크를 가중치를 공유하는 피드 포워드 네트워크로 취급하고 역전파를 사용하여 훈련시키는 프로세스를 설명하는 데 사용되는 용어입니다. 시간 영역에서 순방향 패스는 각 시간 조각에서 활동을 누적하는 반면 역방향 패스는 스택에서 활동을 추출하고 각 시간 단계에 대한 오류 도함수를 계산합니다. 각 시간 단계에서 이 역전파는 알고리즘에 시간을 통한 역전파라는 이름을 부여합니다.

역방향 통과 후 각 가중치에 대한 모든 시간 단계의 미분을 합산하거나 평균화합니다. 그런 다음 파생 상품의 합계 또는 평균에 비례하여 해당 가중치의 모든 인스턴스를 동일한 양으로 업데이트합니다. 숨겨진 단위나 출력 단위와 같은 모든 단위의 초기 상태를 지정하지 않으면 추가 고려 사항이 발생합니다. 이 경우 특정 상태에서 시작해야 합니다. 한 가지 접근 방식은 0.5와 같은 기본값을 설정하는 것이지만 최적의 결과를 얻지 못할 수 있습니다. 또는 초기 상태를 매개변수로 취급하고 초기 상태에 대한 오류 함수의 기울기에 따라 조정하여 초기 상태를 학습할 수 있습니다.

순환 신경망에 입력을 제공하는 다양한 방법이 있습니다. 모든 단위의 초기 상태, 단위 하위 집합 또는 단위 하위 집합에 대한 각 시간 단계의 상태를 지정할 수 있습니다. 후자는 순차 데이터를 처리할 때 자주 사용됩니다. 마찬가지로 반복 네트워크의 대상을 지정하는 방법에는 여러 가지가 있습니다. 특정 어트랙터에 정착하도록 훈련하려는 경우 모든 단위 또는 여러 시간 단계에 대해 원하는 최종 상태를 지정할 수 있습니다. 역전파 동안 각 시간 단계의 도함수를 포함함으로써 이러한 사양을 쉽게 통합하고 어트랙터 학습을 장려할 수 있습니다.

시간 알고리즘을 통한 역전파는 순환 신경망 훈련을 위한 역전파의 직접적인 확장입니다. 순환 네트워크를 가중치를 공유하는 확장된 피드포워드 네트워크로 취급하여 역전파를 적용하고 초기 상태와 가중치를 조정하여 교육을 최적화할 수 있습니다. 반복적인 네트워크에 입력 및 원하는 출력을 제공하는 다양한 방법이 존재하여 특정 목표에 대한 순차 데이터 및 교육을 유연하게 처리할 수 있습니다.

 

강의 7.3 — RNN 훈련의 장난감 예제



강의 7.3 — RNN 훈련의 장난감 예제[머신 러닝을 위한 신경망]

이 비디오에서는 반복 신경망(RNN)이 장난감 문제를 해결하는 방법을 설명합니다. 피드포워드 신경망으로는 쉽게 달성할 수 없는 RNN의 기능을 보여주기 위해 장난감 문제를 선택했습니다. 여기서 설명하는 문제는 이진 추가입니다. RNN이 문제를 해결하는 방법을 학습한 후 숨겨진 상태를 검사하고 동일한 문제를 해결하는 유한 상태 오토마톤의 숨겨진 상태와 비교할 수 있습니다.

두 개의 이진수를 더하는 문제를 설명하기 위해 피드 포워드 신경망을 훈련시킬 수 있습니다. 그러나 이 방법에는 한계가 있습니다. 입력 숫자와 출력 숫자의 최대 자릿수를 미리 결정해야 합니다. 또한 입력 숫자의 다른 비트에 적용되는 처리는 일반화되지 않습니다. 결과적으로 마지막 두 자리를 더하고 캐리를 처리하는 지식은 특정 가중치에 있습니다. 긴 이진수의 다른 부분을 다룰 때 지식은 다른 가중치로 인코딩되어야 하므로 자동 일반화가 부족합니다.

이진 추가 알고리즘은 이미지에 표시되어 있습니다. 알고리즘의 상태는 숨겨진 Markov 모델의 상태와 유사하지만 실제로 숨겨진 것은 아닙니다. 시스템은 한 번에 한 상태에서 작동하며 상태에 들어갈 때 작업을 수행합니다(1 또는 0 인쇄). 상태에 있으면 다음 열에서 두 개의 숫자로 구성된 입력을 받아 새로운 상태로 전환됩니다. 예를 들어 캐리 상태에서 1만 출력했다면 1 1을 만나면 같은 상태를 유지하며 다시 1을 출력하지만 1 0이나 0 1을 만나면 캐리로 전환한다. 상태이지만 0을 인쇄합니다. 마찬가지로 0 0은 캐리 없음 상태로 이어지며 여기서 1을 인쇄합니다. 이 프로세스는 각 시간 단계에서 계속됩니다.

이진 추가를 위한 순환 신경망에는 두 개의 입력 장치와 하나의 출력 장치가 필요합니다. 각 시간 단계에서 두 개의 입력 숫자를 수신하고 두 시간 단계 전에 만난 열에 해당하는 출력을 생성합니다. 시간 지연을 설명하기 위해 네트워크는 두 단계의 지연이 필요합니다. 첫 번째 단계는 입력을 기반으로 은닉 유닛을 업데이트하고 두 번째 단계는 은닉 상태에서 출력을 생성합니다. 네트워크 아키텍처는 더 빠른 학습을 위해 더 많은 숨겨진 유닛을 사용할 수 있지만 세 개의 상호 연결된 숨겨진 유닛으로 구성됩니다. 이러한 히든 유닛은 가중치가 다양한 양방향 연결을 가지고 있습니다. 숨겨진 단위 간의 연결을 통해 한 단계의 활동 패턴이 다음 단계의 숨겨진 활동 패턴에 영향을 줄 수 있습니다. 입력 장치에는 숨겨진 장치에 대한 피드포워드 연결이 있어 네트워크가 열의 두 자리를 관찰할 수 있습니다. 마찬가지로 숨겨진 장치는 출력 장치에 대한 피드포워드 연결을 통해 출력을 생성할 수 있습니다.

순환 신경망이 무엇을 학습하는지 분석하는 것은 매우 흥미롭습니다. 이진 추가를 위한 유한 상태 오토마톤의 노드에 해당하는 3개의 숨겨진 유닛에서 4개의 고유한 활동 패턴을 학습합니다. 신경망의 단위를 유한 상태 자동 장치의 노드와 혼동하지 않는 것이 중요합니다. 오토마톤의 노드는 순환 신경망의 활동 벡터와 정렬됩니다. 오토마톤은 각 시간 단계에서 정확히 하나의 활동 벡터를 갖는 RNN의 히든 유닛과 마찬가지로 매번 하나의 상태로 제한됩니다. RNN은 유한 상태 오토마톤을 에뮬레이트할 수 있지만 표현 면에서 기하급수적으로 더 강력합니다. N개의 숨겨진 뉴런을 사용하면 가능한 이진 활동 벡터의 N의 2제곱을 가질 수 있습니다. N 제곱 가중치만 있지만 전체 표현력을 충분히 활용하지 못할 수 있습니다. 병목 현상이 표현에 있는 경우 RNN은 유한 상태 자동화를 능가할 수 있습니다.

이는 입력 스트림에 동시에 발생하는 두 개의 개별 프로세스가 포함된 경우에 특히 중요합니다. 유한 상태 자동 장치는 병렬 프로세스를 처리하기 위해 상태 수를 기하급수적으로 늘려야 합니다. 반대로 순환 신경망은 은닉 유닛의 수를 두 배로 늘리면 되므로 유닛 수는 두 배, 표현할 수 있는 이진 벡터 상태의 수는 네 배가 됩니다.

 

강의 7.4 — RNN 훈련이 어려운 이유는 무엇입니까?



강의 7.4 — RNN 훈련이 어려운 이유는 무엇입니까? [머신러닝을 위한 신경망]

이 비디오에서는 반복 신경망(RNN) 훈련을 어렵게 만드는 그래디언트 폭발 및 소멸 문제에 대해 설명합니다. 수년 동안 연구자들은 RNN으로 장기적인 종속성을 모델링하는 것이 거의 불가능하다고 믿었습니다. 그러나 이제 이 문제를 해결하기 위한 네 가지 효과적인 접근 방식이 있습니다.

RNN 교육이 어려운 이유를 이해하려면 RNN의 순방향 패스와 역방향 패스 간의 중요한 차이점을 인식해야 합니다. 포워드 패스에서는 로지스틱 기능과 같은 스쿼싱 기능을 사용하여 활동 벡터가 폭발하는 것을 방지합니다. RNN의 각 뉴런은 출력을 0과 1 사이로 제한하는 물류 단위를 사용합니다. 이렇게 하면 활동 수준이 제어할 수 없이 증가하는 것을 방지할 수 있습니다.

반대로 역방향 패스는 완전히 선형입니다. 놀랍게도 최종 레이어에서 오차 도함수를 두 배로 늘리면 역전파 중에 모든 오차 도함수도 두 배가 됩니다. 그라디언트는 특정 지점(비디오에서 빨간색 점으로 표시됨)에서 로지스틱 곡선의 기울기에 의해 결정됩니다. 순방향 패스가 완료되면 이러한 접선의 기울기가 고정됩니다. 역전파 동안 그래디언트는 비선형성의 기울기가 고정된 선형 시스템을 통해 전파됩니다. 그러나 선형 시스템은 반복할 때 그래디언트가 폭발하거나 죽어가는 문제를 겪는 경향이 있습니다. 가중치가 작으면 기울기가 기하급수적으로 줄어들고 무시할 수 있게 됩니다. 반대로 가중치가 크면 기울기가 폭발하여 학습 프로세스를 압도합니다. 이러한 문제는 특히 긴 시퀀스를 처리할 때 피드포워드 신경망에 비해 RNN에서 더 심각합니다.

신중한 가중치 초기화에도 불구하고 현재 출력과 여러 단계 전에 발생한 이벤트 간의 종속성을 캡처하는 것은 여전히 어려운 일입니다. RNN은 장거리 종속성을 처리하는 데 어려움을 겪습니다. 비디오는 어트랙터 상태를 학습하기 위해 순환 신경망을 훈련할 때 그래디언트가 어떻게 사라지거나 폭발할 수 있는지에 대한 예를 제공합니다. 초기 상태의 작은 차이는 최종 상태(기울기 소실)에 변화가 없는 반면, 경계 근처의 약간의 변화는 상당한 차이(기울기 폭발)를 초래합니다.

이러한 문제를 해결하기 위해 RNN 교육을 위한 네 가지 효과적인 방법이 있습니다. 첫 번째 방법은 메모리 기능을 향상시키기 위해 네트워크의 아키텍처를 변경하는 LSTM(Long Short-Term Memory)입니다. 두 번째 접근 방식은 작은 그래디언트를 효과적으로 처리할 수 있는 고급 옵티마이저를 사용하는 것입니다. 신경망에 맞게 조정된 Hessian-free 최적화는 곡률이 낮은 작은 기울기를 감지하는 데 탁월합니다. 세 번째 방법은 가중치를 신중하게 초기화하고 숨겨진 상태 내에서 약하게 결합된 오실레이터 저장소를 만드는 것입니다. 이를 통해 네트워크는 반향을 일으키고 입력 시퀀스를 기억할 수 있습니다. 은닉 유닛과 출력 사이의 연결은 학습되는 반면 순환 연결은 고정된 상태로 유지됩니다. 네 번째 방법은 모멘텀을 활용하고 에코 상태 네트워크에서 사용되는 초기화 기술과 결합합니다. 이 수정은 네트워크의 역학을 개선하여 더욱 효과적입니다.

RNN 훈련 능력은 이러한 접근 방식을 통해 향상되어 그래디언트 폭발 및 소멸로 인한 문제를 극복했습니다.