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

 

강의 7.5 — 장기 단기 기억



강의 7.5 — 장기 단기 기억 [기계 학습을 위한 신경망]

이 비디오에서는 반복 신경망 훈련을 위한 "장단기 기억"(LSTM)이라는 접근 방식을 설명합니다. LSTM은 정보 게이팅을 용이하게 하는 특수 모듈을 사용하여 신경망에서 오래 지속되는 단기 기억을 만드는 것을 목표로 합니다.

LSTM의 메모리 셀은 장기간 정보를 유지하도록 설계되었습니다. 곱셈 상호 작용이 있는 물류 및 선형 단위로 구성됩니다. 로지스틱 "쓰기" 게이트가 활성화되면 순환 네트워크의 나머지 부분에서 정보가 메모리 셀로 들어갑니다. "쓰기" 게이트의 상태는 순환 신경망에 의해 결정됩니다. 시스템의 나머지 부분에 의해 제어되는 "유지" 게이트가 켜져 있는 한 정보는 메모리 셀에 남아 있습니다. 메모리 셀에서 정보를 읽기 위해 로지스틱 "읽기" 게이트가 활성화되고 저장된 값이 검색되어 순환 신경망의 미래 상태에 영향을 미칩니다.

LSTM은 물류 단위를 활용합니다. 물류 단위는 차별화 가능한 속성을 가지고 있어 역전파가 가능하기 때문입니다. 이를 통해 네트워크는 여러 시간 단계에 걸쳐 메모리 셀을 학습하고 최적화할 수 있습니다. 메모리 셀을 통한 역전파에는 오류 도함수를 기반으로 가중치를 업데이트하는 작업이 포함되며, 이는 수백 개의 시간 단계를 통해 다시 전파될 수 있습니다.

LSTM은 필기 인식과 같은 작업에서 특히 성공적이었습니다. 필기체가 있는 경우에도 효과적으로 정보를 저장하고 검색할 수 있습니다. 읽기 및 쓰기 작업에서 다른 시스템에 비해 우수한 성능을 보였으며 Canada Post는 이러한 목적으로 LSTM 기반 시스템을 사용하기 시작했습니다.

영상에서는 LSTM을 기반으로 한 필기 인식 시스템의 시연을 보여줍니다. 시스템은 펜 좌표를 입력으로 받아 인식된 문자를 출력으로 생성합니다. 상단 행은 인식된 문자를 표시하고, 두 번째 행은 선택된 메모리 셀의 상태를 표시하고, 세 번째 행은 펜 좌표로 실제 쓰기를 시각화하고, 네 번째 행은 XY 위치로 역전파된 그래디언트를 보여 주어 과거 이벤트가 시스템에 미치는 영향을 나타냅니다. 문자 인식 결정.

LSTM은 순환 신경망을 훈련하기 위한 강력한 접근 방식으로 입증되어 순차 데이터에서 장기 종속성을 캡처하고 활용할 수 있습니다.

 

강의 8.1 — Hessian-free 최적화에 대한 간략한 개요



강의 8.1 — Hessian-free 최적화 [머신 러닝을 위한 신경망]에 대한 간략한 개요

Hessian-free 옵티마이저는 반복 신경망을 효과적으로 교육하는 데 사용되는 복잡한 알고리즘입니다. 모든 세부 사항을 다루지는 않지만 작동 방식에 대한 일반적인 이해를 제공할 것입니다.

신경망을 훈련할 때 목표는 오류를 최소화하는 것입니다. 옵티마이저는 오류를 최대한 줄이기 위해 이동할 방향과 거리를 결정합니다. 감소는 위로 오목한 2차 오차 표면을 가정할 때 기울기 대 곡률 비율에 따라 달라집니다. Newton의 방법은 타원형 오류 표면을 원형 오류 표면으로 변환하여 최속강하법의 한계를 해결합니다. 기울기에 Hessian이라고도 하는 곡률 행렬의 역행렬을 곱하여 이를 수행합니다. 그러나 Hessian 행렬의 반전은 크기 때문에 대규모 신경망에서는 실행 불가능합니다. 이를 극복하기 위해 Hessian-free 및 L-BFGS와 같은 근사 방법은 하위 행렬을 사용하여 곡률을 근사화합니다. Hessian-free는 곡률 행렬을 근사하고 한 번에 한 방향의 오류를 최소화하는 방법인 켤레 기울기를 사용합니다. 이전 방향의 그래디언트를 변경하지 않는 켤레 방향을 선택하여 이전 최소화를 방해하지 않습니다.

켤레 구배는 n단계 이하에서 n차원 2차 표면의 전역 최소값을 효율적으로 찾습니다. n보다 훨씬 적은 단계로 최소값에 가까운 오류를 줄임으로써 이를 달성합니다. 다층 신경망과 같은 2차가 아닌 오류 표면에 직접 적용할 수 있으며 대규모 미니 배치와 잘 작동합니다. Hessian-free 옵티마이저는 2차 근사와 켤레 기울기를 결합하여 실제 오류 표면에 대한 근사를 반복적으로 개선하고 최소값에 더 가깝게 이동합니다.

Hessian-free 옵티마이저는 먼저 실제 오류 표면에 대한 초기 2차 근사를 만듭니다. 그런 다음 켤레 기울기를 적용하여 이 2차 근사의 오류를 최소화합니다. 이렇게 하면 이 근사치의 최소 지점에 가까워집니다. 그런 다음 옵티마이저는 곡률 행렬에 대한 새로운 근사치를 만들고 프로세스를 반복합니다. 반복적으로 계속 진행하면서 근사값을 세분화하고 켤레 기울기를 사용하여 오류를 최소화합니다. 이 반복 프로세스는 옵티마이저가 오류 표면의 실제 최소값에 점진적으로 접근하는 데 도움이 됩니다.

순환 신경망에서는 숨겨진 활동의 큰 변화에 대한 페널티를 추가하는 것이 중요합니다. 이렇게 하면 시퀀스를 통해 전파되는 초기 가중치 변경으로 인한 과도한 영향을 방지할 수 있습니다. 숨겨진 활동의 변경 사항에 불이익을 줌으로써 옵티마이저는 안정성을 보장하고 바람직하지 않은 결과를 방지합니다.

Hessian-free 옵티마이저는 2차 근사, 켤레 기울기 최소화 및 숨겨진 활동 변경에 대한 페널티를 결합하여 순환 신경망을 효과적으로 훈련합니다. 근사치를 반복적으로 개선하고 오류를 최소화하여 효율적이고 정확한 최적화를 달성합니다.

 

강의 8.2 — 문자열 모델링


강의 8.2 — 문자열 모델링 [기계 학습을 위한 신경망]

이제 Wikipedia에서 문자열을 모델링하는 작업에 Hessian-free 최적화를 적용할 것입니다. 일반적으로 언어를 모델링할 때 단어 문자열로 작업합니다. 그러나 웹은 문자열로 구성되어 있기 때문에 문자 수준의 정보를 모델링하는 것이 보다 직관적인 접근을 제공할 수 있습니다.

문자열 모델링은 형태소 처리, 단어를 의미 있는 단위로 분해, 교착 특성이 있는 언어 처리와 같은 고유한 문제를 나타냅니다. 문자 수준 모델링에 집중함으로써 텍스트를 단어로 전처리하는 것과 관련된 복잡성을 피하고 문자 수준에서 패턴과 정보를 직접 캡처할 수 있습니다. 이를 달성하기 위해 곱셈 연결이 있는 순환 신경망(RNN)을 사용합니다. RNN은 숨겨진 상태로 구성되며 이 경우 1500개의 숨겨진 유닛이 있습니다. 은닉 상태의 역학은 현재 캐릭터와 이전 은닉 상태를 고려하여 새로운 은닉 상태를 계산하는 것을 포함합니다. 그 후 RNN은 softmax 레이어를 사용하여 가능한 각 문자에 확률을 할당하여 다음 문자를 예측하려고 시도합니다.

전통적인 RNN 구조를 사용하는 대신 더 나은 결과를 제공하는 다른 접근 방식을 사용합니다. 가능한 모든 문자열을 트리와 같은 구조로 구성하고 각 문자는 숨겨진 상태 전환에 영향을 미칩니다. 이 트리를 나타내기 위해 숨겨진 상태 벡터를 사용하여 각 노드에 대한 정보를 캡처합니다. 이를 통해 유사한 노드 간에 정보를 효율적으로 공유할 수 있으므로 전체 모델 성능이 향상됩니다. 캐릭터별 트랜지션을 효율적으로 구현하기 위해 인수를 사용한 곱셈 연결을 도입합니다. 각 요소는 두 개의 입력 그룹을 기준으로 가중 합계를 계산하고 그 결과를 사용하여 나가는 가중치를 조정합니다. 캐릭터별 요소를 통합하여 현재 캐릭터를 기반으로 은닉 상태 진화를 주도하는 전환 매트릭스를 결정할 수 있습니다.

이 접근 방식을 통해 매개변수를 효율적으로 활용하면서 문자 수준 언어 모델링의 복잡성을 포착할 수 있습니다. 각 캐릭터에 대해 별도의 가중치 매트릭스를 유지하는 대신 캐릭터 간의 유사성을 활용하여 매개변수를 공유합니다. 이 매개변수 공유는 과적합을 방지하고 계산 부담을 줄이는 데 도움이 됩니다.

Wikipedia의 문자열을 모델링하기 위해 Hessian-free 최적화를 사용합니다. 곱셈 연결 및 캐릭터별 요소를 활용하여 현재 캐릭터를 기반으로 숨겨진 상태 간의 전환을 효율적으로 캡처하여 모델링 성능을 향상시킬 수 있습니다.

 

강의 8.3 — HF를 사용한 다음 문자 예측 [머신 러닝을 위한 신경망]


강의 8.3 — HF를 사용한 다음 문자 예측 [머신 러닝을 위한 신경망]

이 비디오에서는 Hessian-free 옵티마이저를 사용하여 곱셈 연결이 있는 순환 신경망을 최적화하는 효과를 살펴봅니다. 네트워크의 목표는 Wikipedia 텍스트의 다음 문자를 예측하는 것입니다. 수백만 개의 문자에 대한 학습 후 네트워크는 놀라운 성능을 보여줍니다. 그것은 영어에 대한 깊은 이해를 습득하고 일관되고 흥미로운 문장 완성을 생성하는 데 능숙해집니다.

실험자인 Skeever는 영어 Wikipedia에서 추출한 각각 100개의 문자로 구성된 500만 개의 문자열을 사용했습니다. 각 문자열의 11번째 문자부터 반복 네트워크는 예측을 시작하고 다양한 숨겨진 상태를 통해 전환합니다. 학습 프로세스에는 Hessian-free 옵티마이저를 사용하여 예측 오류를 역전파하는 작업이 포함됩니다. 우수한 모델을 달성하려면 고속 GPU에서 약 1개월의 계산이 필요했습니다.

현재 문자 예측을 위한 Skeever의 최고의 순환 신경망은 이 작업을 위한 가장 뛰어난 단일 모델입니다. 여러 모델을 신경망과 결합하면 더 나은 결과를 얻을 수 있지만 그의 단일 모델은 성능의 전형을 나타냅니다. 특히 그의 모델은 다른 최고 성능 모델과 크게 다릅니다. 특히, 그의 모델은 원거리에 걸쳐 따옴표와 대괄호의 균형 잡힌 사용을 효과적으로 처리할 수 있으며 이는 컨텍스트 일치 모델로는 불가능한 기능입니다. 예를 들어 괄호를 닫기 위해 특정 이전 컨텍스트를 일치시키려면 중간에 있는 모든 문자를 저장하고 불러와야 하는데 그럴 가능성은 거의 없습니다. 대조적으로 Skeever의 모델은 괄호와 따옴표의 균형을 성공적으로 맞추는 능력을 보여줍니다.

모델이 획득한 지식을 평가하기 위해 문자열이 생성되어 예측을 관찰합니다. 모델의 출력을 과도하게 해석하지 않도록 주의해야 합니다. 생성 프로세스에는 기본 숨겨진 상태로 시작하여 번인 시퀀스가 뒤따릅니다. 각 캐릭터는 숨겨진 상태를 업데이트하여 예측 단계로 이어집니다. 다음 캐릭터에 대한 모델의 확률 분포를 조사하고 해당 분포를 기반으로 캐릭터를 무작위로 선택합니다. 그런 다음 선택한 문자가 실제 발생으로 모델에 피드백되고 원하는 문자 수가 생성될 때까지 프로세스가 계속됩니다. 이렇게 생성된 문자열은 모델이 획득한 지식을 밝힙니다.

Skeever의 네트워크에서 생성된 문자열의 한 예는 인상적인 성능을 보여줍니다. 이 발췌문은 더 확장된 텍스트 구절에서 선택되었지만 모델의 기능을 효과적으로 보여줍니다. 특히, 생성된 문자열은 "로마의 오푸스 폴"과 같은 독특한 의미론적 연관성을 나타냅니다. 이러한 문구는 개인이 사용하지 않을 수 있지만 "opus", "Paul" 및 "Rome"의 상호 연결성을 나타냅니다. 그러나 문자열은 일관된 장거리 주제 구조가 부족하여 각 마침표 후에 주제가 자주 변경됩니다.

흥미롭게도 이 모델은 비단어를 거의 생성하지 않습니다. 고유한 방식으로 영어 단어를 완성하기에 충분한 문자가 주어지면 다음 문자를 거의 완벽하게 예측합니다. 빨간색으로 강조 표시된 "일시적"이라는 단어와 같이 단어가 아닌 단어가 발생하는 경우에는 매우 그럴듯합니다. 모델의 성능은 완벽한 브라켓 균형을 지속적으로 유지하지는 않지만 균형 브라켓으로 확장됩니다. 또한 따옴표를 열고 닫을 때 일관된 동작을 보입니다.

모델의 지식을 분석하면 몇 가지 주요 측면이 드러납니다. 첫째, 주로 영어 단어를 생성하고 때때로 대문자로 된 이니셜 문자열을 생성하는 단어에 대한 강력한 이해를 가지고 있습니다. 숫자, 날짜 및 컨텍스트 사용을 처리할 수 있습니다. 또한 괄호를 어느 정도 세더라도 따옴표와 괄호의 균형을 정확하게 맞추는 능력을 보여줍니다. 그것의 통사적 지식은 영단어의 분별력 있는 문자열의 생성을 통해 명백합니다. 그러나 이 구문 지식의 정확한 형식을 해독하는 것은 어려운 일입니다. 이것은 암기된 단어 시퀀스에 의존하는 단순한 트라이그램 모델을 따르지 않습니다. 대신, 이 모델은 일련의 언어 규칙이 아니라 원어민의 암시적 구문 지식과 유사한 일관된 구문으로 단어 문자열을 합성합니다.

이 모델은 또한 약한 의미 체계를 기반으로 한 연관성을 보여줍니다. 예를 들어, 이 모델은 "Plato"와 "Vicarstown"과 같은 단어 간의 연관성에 대한 이해를 보여줍니다. 이러한 연관성은 정확하거나 잘 정의되지 않았지만 Wikipedia를 읽음으로써 얻은 의미론적 지식 수준을 반영합니다. 특히 이 모델은 "양배추"와 "채소" 사이의 연관성을 잘 파악하고 있습니다.

모델의 지식을 추가로 평가하기 위해 특정 문자열이 테스트로 설계되었습니다. 예를 들어 "runthourunge"와 같은 비단어가 모델에 표시됩니다. 영어 사용자는 단어의 형태에 따라 동사가 될 것으로 예상합니다. 이 경우 "S"와 같이 모델에서 예측할 가능성이 가장 높은 다음 문자를 검토하면 모델이 컨텍스트를 기반으로 동사 형태를 인식한다는 것이 분명해집니다. 마찬가지로 쉼표로 구분된 이름 목록과 이름과 유사한 대문자 "T"가 제공되면 모델은 성공적으로 문자열을 이름으로 완성합니다. 이는 여러 언어에 걸친 이름에 대한 폭넓은 이해를 시사합니다.

모델은 또한 "인생의 의미는"이라는 프롬프트에 종속되고 생성된 완성도를 검사합니다. 놀랍게도 초기 시도에서 이 모델은 구문론적으로나 의미론적으로 합리적인 "문학적 인식"을 완성합니다. 이는 삶의 의미에 대한 개념을 파악하기 시작한 모델이라고 볼 수 있지만, 지나친 해석을 피하고 주의를 기울이는 것이 중요합니다.

결론적으로, 위키백과 텍스트에 대한 모델의 광범위한 노출은 단어, 고유명사, 숫자, 날짜 및 구문 구조에 대한 지식을 부여합니다. 따옴표와 대괄호의 균형을 맞추는 데 탁월하며 의미론적 연관성을 어느 정도 활용합니다. 구문에 대한 이해는 유창한 화자의 이해와 유사하여 이 지식의 정확한 형태를 정확히 지적하기가 어렵습니다. Skeever의 모델과 같은 순환 신경망(RNN)은 언어 모델링 작업에서 다른 방법보다 성능이 뛰어나므로 훈련 데이터가 덜 필요하고 데이터 세트가 커짐에 따라 더 빠른 개선을 나타냅니다. 그 결과, 특히 계산 능력과 데이터 세트 크기가 계속해서 확장됨에 따라 대체 접근 방식이 RNN을 따라잡는 것이 점점 더 어려워지고 있습니다.

 

강의 8.4 — 에코 상태 네트워크



강의 8.4 — 에코 상태 네트워크 [머신 러닝을 위한 신경망]

에코 상태 네트워크는 순환 신경망(RNN)에서 학습 프로세스를 단순화하는 영리한 접근 방식입니다. 입력을 오실레이터 상태로 변환하여 결합된 오실레이터 저장소로 RNN의 연결을 초기화합니다. 그런 다음 이러한 상태를 기반으로 출력을 예측할 수 있으며 필요한 유일한 학습은 출력을 오실레이터에 연결하는 방법입니다. 이렇게 하면 숨김-숨김 연결 또는 입력-숨김 연결을 배울 필요가 없습니다.

복잡한 작업에서 Echo 상태 네트워크의 성능을 향상시키려면 큰 숨겨진 상태가 필요합니다. Echo 상태 네트워크의 신중하게 설계된 초기화와 모멘텀이 있는 시간을 통한 역전파를 결합하면 기능을 더욱 향상시킬 수 있습니다. 순환 신경망 훈련에 대한 또 다른 최근 아이디어는 숨겨진 연결을 무작위로 고정하고 출력 연결 훈련에 집중하는 것입니다. 이 접근 방식은 마지막 계층만 학습되어 학습 프로세스를 단순화하는 피드포워드 신경망의 무작위 특징 감지기 개념과 유사합니다.

Echo 상태 네트워크의 성공은 소멸 또는 폭발과 같은 문제를 피하기 위해 임의 연결을 적절하게 설정하는 데 달려 있습니다. 활동 벡터의 길이를 안정적으로 유지하려면 숨김-숨김 가중치 행렬의 가장 큰 고유값에 해당하는 스펙트럼 반경을 약 1로 설정해야 합니다. 대부분의 가중치가 0인 희소 연결성도 중요하므로 네트워크의 특정 부분에 정보를 유지할 수 있습니다. 중요한 정보를 지우지 않고 오실레이터의 상태를 구동하려면 입력-숨겨진 연결의 규모를 신중하게 선택해야 합니다. Echo 상태 네트워크의 학습 프로세스는 빠르므로 연결의 규모와 희소성을 실험하여 성능을 최적화할 수 있습니다. 입력 시퀀스가 출력에 대한 사인파의 주파수를 지정하는 에코 상태 네트워크의 예가 표시됩니다. 네트워크는 숨겨진 유닛의 상태를 사용하여 선형 모델을 피팅하여 올바른 출력을 예측함으로써 사인파를 생성하는 방법을 학습합니다. 중간에 있는 다이내믹 저장소는 입력 신호에 의해 구동되는 복잡한 다이내믹을 캡처합니다.

에코 상태 네트워크는 선형 모델 피팅의 단순성으로 인한 빠른 교육, 숨겨진 가중치의 합리적인 초기화의 중요성 및 1차원 시계열을 효과적으로 모델링하는 기능을 포함하여 몇 가지 장점이 있습니다. 그러나 고차원 데이터 모델링에 어려움을 겪을 수 있으며 기존 RNN에 비해 더 많은 숨겨진 단위가 필요합니다.

Ilya Sutskever는 Echo 상태 네트워크 기술로 순환 신경망을 초기화한 다음 시간 경과에 따른 역전파를 사용하여 훈련하는 방법을 탐구했습니다. 이 조합은 반복 신경망을 훈련하는 효과적인 방법으로 입증되어 향상된 성능을 달성했습니다. Ilya Sutskever의 Echo 상태 네트워크 초기화 기술과 BPTT(backpropagation through time)를 결합한 접근 방식은 순환 신경망(RNN) 훈련에서 유망한 결과를 낳았습니다. Echo 상태 네트워크 초기화를 사용한 다음 RMSprop 및 모멘텀과 같은 기술과 함께 BPTT를 적용함으로써 Sutskever는 이 접근 방식이 RNN 훈련에 매우 효과적이라는 것을 발견했습니다.

Echo 상태 네트워크 초기화를 사용하면 RNN에 좋은 출발점을 제공하여 숨겨진 출력 연결만 훈련해도 잘 학습할 수 있습니다. 그러나 Sutskever의 실험은 숨겨진 가중치를 학습함으로써 RNN의 성능을 더욱 향상시킬 수 있음을 보여주었습니다. Echo 상태 네트워크와 기존 RNN의 강점을 결합함으로써 이 하이브리드 방식은 두 방식의 이점을 모두 활용합니다. 에코 상태 네트워크 초기화는 견고한 기반을 제공하고 BPTT는 RNN 성능의 미세 조정 및 최적화를 가능하게 합니다. 이 접근법의 성공은 RNN 교육에서 적절한 초기화의 중요성을 보여줍니다.

문제 도메인의 역학을 캡처하는 초기화로 시작하면 후속 교육이 보다 효율적이고 효과적일 수 있습니다. 또한 모멘텀이 있는 RMSprop과 같은 최적화 기술을 사용하면 학습 프로세스가 더욱 향상되고 더 나은 결과를 얻을 수 있습니다.

Echo 상태 네트워크 초기화 및 BPTT와 최적화 기술의 조합은 RNN 교육을 위한 강력한 접근 방식을 제시합니다. 두 방법의 강점을 활용하여 학습 효율성, 모델 성능 및 예측 정확도를 향상시킵니다.

 

강의 9.1 — 일반화를 개선하는 방법 개요



강의 9.1 — 일반화를 개선하는 방법 개요 [머신 러닝을 위한 신경망]

이 비디오에서 논의된 주제는 신경망에서 과적합을 줄여 일반화를 개선하는 것입니다. 과적합은 네트워크가 훈련 데이터의 양에 비해 너무 많은 용량을 가질 때 발생합니다. 이 비디오는 네트워크 용량을 제어하고 용량 제어를 위한 적절한 메타 매개변수를 결정하는 다양한 방법을 설명합니다.

과적합은 교육 데이터가 입력-출력 매핑의 실제 패턴에 대한 정보를 포함할 뿐만 아니라 교육 세트에 특정한 샘플링 오류 및 우발적 규칙성을 포함하기 때문에 발생합니다. 모델을 피팅할 때 이러한 유형의 규칙성을 구별할 수 없으므로 모델이 너무 유연하고 샘플링 오류에 맞는 경우 일반화가 좋지 않습니다.

과적합을 방지하는 간단한 방법 중 하나는 더 많은 데이터를 얻는 것입니다. 데이터 양을 늘리면 실제 규칙성을 더 잘 표현하여 과적합이 완화됩니다. 또 다른 접근 방식은 모델의 용량을 신중하게 제한하여 샘플링 오류로 인해 발생하는 가짜 규칙성을 피하면서 실제 규칙성을 포착할 수 있도록 하는 것입니다. 이것은 어려울 수 있지만 비디오에서는 용량을 효과적으로 조절하기 위한 다양한 기술에 대해 설명합니다.

비디오는 또한 서로 다른 모델을 함께 평균화하는 것과 같은 앙상블 방법의 사용을 언급합니다. 데이터의 서로 다른 하위 집합에서 모델을 교육하거나 잘 수행되는 서로 다른 가중치 세트를 찾음으로써 예측을 평균화하면 개별 모델에 비해 전반적인 성능을 향상시킬 수 있습니다. 또한 베이지안 접근 방식에는 단일 신경망 아키텍처를 사용하지만 출력을 잘 예측하는 여러 가중치 집합을 찾은 다음 테스트 데이터에 대한 예측의 평균을 구합니다.

모델의 용량은 아키텍처 조정(예: 숨겨진 레이어 및 레이어당 단위 수 제한), 가중치 패널티 적용, 가중치 또는 활동에 노이즈 추가 또는 이러한 방법의 조합 사용과 같은 다양한 방법을 통해 제어할 수 있습니다.

용량 제어를 위한 메타 매개변수를 설정할 때 결과가 특정 테스트 세트로 편향되지 않도록 해야 합니다. 비디오는 데이터를 교육, 검증 및 테스트 하위 집합으로 나누는 더 나은 접근 방식을 제안합니다. 검증 데이터는 모델의 성능을 기반으로 적절한 메타 매개변수를 결정하는 데 사용되며, 테스트 데이터는 네트워크 효율성에 대한 편향되지 않은 추정치를 제공합니다. 과적합을 피하기 위해 테스트 데이터를 한 번만 사용하는 것이 중요합니다.

비디오는 또한 데이터가 n개의 하위 집합으로 나뉘고 이러한 하위 집합의 다양한 조합에 대해 모델을 훈련 및 검증하여 최상의 메타 매개변수에 대한 여러 추정치를 얻는 기술인 n-겹 교차 검증에 대해 언급합니다.

마지막으로 비디오는 조기 중지라는 사용하기 쉬운 방법을 설명합니다. 여기에는 작은 가중치로 시작하여 검증 세트에서 모델의 성능이 저하되기 시작하면 훈련 프로세스를 중지하는 것이 포함됩니다. 이 접근 방식은 가중치가 작은 모델의 용량이 제한되어 선형 네트워크와 유사하게 동작하기 때문에 용량을 제어합니다. 올바른 지점에서 교육을 중지하면 실제 규칙을 맞추는 것과 훈련 세트로 인한 가짜 규칙을 맞추는 것 사이의 균형을 최적화할 수 있습니다.

전반적으로 이 비디오는 신경망에서 용량을 제어하고 과적합을 방지하기 위한 다양한 접근 방식을 강조합니다. 이러한 방법에는 더 많은 데이터 획득, 신중한 용량 조절, 앙상블 방법 사용, 검증을 통해 적절한 메타 매개변수 설정, 조기 중지와 같은 기술 사용이 포함됩니다.

 

강의 9.2 — 추의 크기 제한



강의 9.2 — 가중치의 크기 제한 [머신 러닝을 위한 신경망]

이 비디오에서는 가중치의 크기를 제한하여 네트워크 용량을 제어하는 방법에 대해 설명합니다. 일반적인 접근 방식은 가중치가 너무 커지지 않도록 제한하는 페널티를 적용하는 것입니다. 가중치가 작은 네트워크는 가중치가 큰 네트워크에 비해 단순하다고 가정합니다.

다양한 페널티 조건을 사용할 수 있으며 가중치에 제약을 가하여 각 은닉 유닛에 대해 들어오는 가중치 벡터가 특정 길이를 초과하지 않도록 할 수도 있습니다. 가중치 크기를 제한하는 표준 방법은 L2 가중치 페널티를 활용하는 것입니다. 이 페널티는 가중치의 제곱 값에 패널티를 부여하며 때때로 가중치 감쇠라고도 합니다. 이 페널티의 미분은 가중치를 0으로 당기는 힘으로 작용합니다. 결과적으로 가중치 페널티는 가중치를 상쇄할 상당한 오차 미분값이 없는 한 가중치를 작게 유지합니다.

페널티 항은 계수(람다)를 곱한 가중치 제곱의 합을 2로 나눈 값으로 표시됩니다. 비용 함수를 미분하면 미분은 오차 미분과 가중치의 크기 및 람다 값과 관련된 항의 합이라는 것을 알 수 있습니다. 가중치의 크기가 도함수 크기의 람다 곱하기 1과 같을 때 도함수는 0이 됩니다. 따라서 큰 가중치는 상당한 오차 도함수가 있는 경우에만 존재할 수 있습니다. 이 속성을 사용하면 최소한의 영향을 미치는 큰 가중치가 적기 때문에 가중치를 더 쉽게 해석할 수 있습니다.

L2 가중치 페널티는 네트워크가 불필요한 가중치를 사용하는 것을 방지하여 일반화를 개선합니다. 또한 입력의 변화에 따라 출력이 점진적으로 변경되는 더 부드러운 모델로 이어집니다. 유사한 입력에 대해 가중치 페널티는 가중치를 균등하게 분배하는 반면 페널티가 없으면 모든 가중치가 하나의 입력에 할당될 수 있습니다.

L2 페널티 외에도 L1 페널티와 같이 가중치의 절대값에 페널티를 주는 다른 가중치 페널티를 사용할 수 있습니다. 이러한 유형의 페널티는 해석에 도움이 되도록 많은 가중치를 정확히 0으로 만듭니다. 가중치가 증가함에 따라 비용 함수의 기울기가 감소하는 경우 더 극단적인 가중치 페널티를 적용할 수 있습니다. 이를 통해 네트워크는 0으로 끌어당기지 않고 큰 가중치를 유지할 수 있으며 대신 작은 가중치에 페널티를 집중할 수 있습니다.

페널티 대신 무게 제한을 사용할 수 있습니다. 가중치 제약 조건을 사용하면 각 숨겨진 단위 또는 출력 단위에 대해 들어오는 가중치 벡터에 최대 제곱 길이가 부과됩니다. 길이가 제약 조건을 초과하면 길이가 허용된 제한 내에 맞을 때까지 모든 가중치를 동일한 인수로 나누어 가중치를 줄입니다. 제곱 길이에 대해 합리적인 값을 선택하는 것이 더 쉽기 때문에 무게 제한은 무게 패널티보다 이점을 제공합니다. 또한 무게 제한은 숨겨진 유닛이 작고 비효율적인 무게에 갇히는 것을 방지합니다. 그들은 또한 무게 폭발을 방지합니다.

또한 무게 제한은 페널티에 미묘한 영향을 미칩니다. 단위가 제약 조건에 도달하면 모든 가중치에 대한 효과적인 페널티는 큰 기울기에 의해 결정됩니다. 큰 기울기는 들어오는 가중치 벡터의 길이를 위로 밀어 다른 가중치에 하향 압력을 가합니다. 이 자체 스케일링 페널티는 관련 없는 가중치를 0으로 밀어내는 고정 페널티보다 더 효과적입니다. 라그랑주 승수 측면에서 페널티는 제약 조건을 충족하는 데 필요한 승수로 볼 수 있습니다.

가중치 제약을 사용하면 가중치 패널티에 비해 몇 가지 이점이 있습니다. 최적의 가중치 페널티를 결정하는 것과 비교하여 들어오는 가중치 벡터의 제곱 길이에 대한 적절한 값을 선택하는 것이 더 쉽습니다. 물류 단위에는 자연 스케일이 있어 1의 가중치 값의 중요성을 더 쉽게 이해할 수 있습니다.

무게 제한은 또한 모든 무게가 극도로 작고 비효율적인 상태에서 은닉 유닛이 고착되는 것을 방지합니다. 모든 가중치가 작으면 성장에 대한 제약이 없으므로 잠재적으로 쓸모 없게 됩니다. 가중치 제약은 가중치가 무시할 수 없게 되지 않도록 합니다.

가중치 제약의 또 다른 이점은 가중치가 폭발하는 것을 방지한다는 것입니다. 이는 가중치 패널티와 함께 일부 경우에 발생할 수 있습니다. 이것은 안정성을 유지하고 네트워크의 수치적 불안정성을 방지하는 데 중요합니다.

무게 제한의 추가적인 미묘한 효과는 페널티에 미치는 영향입니다. 단위가 제약 조건에 도달하고 가중치 벡터의 길이가 제한되면 모든 가중치에 대한 효과적인 페널티는 큰 기울기의 영향을 받습니다. 큰 그래디언트는 들어오는 가중치 벡터의 길이를 위로 밀고 다른 가중치에 하향 압력을 가합니다. 본질적으로 페널티는 중요한 가중치에 적합하고 작은 가중치를 억제하도록 자체적으로 조정됩니다. 이 적응형 페널티 메커니즘은 관련 없는 가중치를 0으로 밀어내는 고정 페널티보다 더 효과적입니다.

라그랑주 승수에 익숙한 사용자의 경우 페널티는 제약 조건을 충족하는 데 필요한 해당 승수로 볼 수 있습니다. 가중치 제약 조건은 네트워크 가중치의 원하는 속성을 적용하는 방법으로 작동합니다.

가중치의 크기를 제한하여 네트워크 용량을 제어하는 것은 페널티 또는 제약을 통해 달성할 수 있습니다. 두 방법 모두 장점이 있지만 가중치 제약 조건을 사용하면 적절한 값을 더 쉽게 선택할 수 있고 가중치가 무시할 수 없게 되거나 폭발하는 것을 방지할 수 있으며 자체 크기 조정 페널티 메커니즘을 제공할 수 있습니다. 이러한 기술은 신경망의 해석 가능성, 안정성 및 효율성에 기여합니다.

 

강의 9.3 — 노이즈를 regularizer로 사용



강의 9.3 — 노이즈를 정규화기로 사용 [머신 러닝을 위한 신경망]

가중치나 활동에 노이즈를 추가하는 신경망의 용량을 제한하는 또 다른 방법을 살펴보겠습니다. 제곱 오차를 최소화하는 것을 목표로 하는 단순 선형 신경망의 입력에 잡음을 추가하는 것은 신경망 가중치에 L2 페널티를 부과하는 것과 같습니다. 이 개념은 시끄러운 가중치가 사용되는 보다 복잡한 네트워크로 확장될 수 있으며, 특히 성능이 향상된 순환 네트워크에서 더욱 그렇습니다.

또한 정규화 장치로 활동에 노이즈를 도입할 수도 있습니다. 역전파를 사용하여 로지스틱 히든 유닛으로 다층 신경망을 훈련하는 것을 고려하십시오. 정방향 통과 동안 단위를 이진 및 확률적으로 만든 다음 실제 값을 사용하여 역방향 통과 중에 결정론적인 것처럼 처리하여 확률적 이진 뉴런을 생성합니다. 완전히 정확하지는 않지만 이 접근 방식은 교육 속도가 느리지만 교육 세트에 비해 테스트 세트에서 더 나은 성능을 제공합니다.

가중치나 활동에 노이즈를 통합하는 이러한 방법은 신경망의 용량을 제어하고 일반화 기능을 개선하기 위한 대체 기술을 제시합니다.

요약하면 신경망에 노이즈를 추가하는 것은 용량을 제어하고 일반화를 개선하는 데 유용한 전략이 될 수 있습니다. 입력에 가우시안 노이즈를 도입함으로써 L2 가중치 페널티와 유사한 효과를 얻을 수 있습니다. 이는 제곱 가중치를 기반으로 노이즈 분산을 증폭하고 전체 제곱 오류에 기여합니다. 가중치의 노이즈는 반복 네트워크와 같은 보다 복잡한 네트워크에서 특히 효과적일 수 있으므로 성능이 향상됩니다.

또한 정규화 기법으로 네트워크 활동에 노이즈를 적용할 수 있습니다. 정방향 통과 동안 단위를 확률적 이진 뉴런으로 처리하고 역전파 동안 실제 값을 사용하여 시스템에 임의성을 도입합니다. 이 접근 방식은 학습 속도를 저하시킬 수 있지만 테스트 세트에서 더 나은 성능을 제공하여 일반화가 향상되었음을 나타냅니다.

가중치나 활동의 형태로 노이즈를 추가하면 용량을 제한하고 신경망의 견고성과 일반화 능력을 향상시키는 대안을 제공합니다.

 

강의 9.4 — 전체 베이지안 접근법 소개



강의 9.4 — 전체 베이지안 접근 방식 소개 [머신 러닝을 위한 신경망]

모델을 피팅하기 위한 베이지안 접근 방식에는 가장 가능성이 높은 매개변수를 검색하는 대신 매개변수의 모든 가능한 설정을 고려하는 것이 포함됩니다. 모수에 대한 사전 분포를 가정하고 관찰된 데이터의 우도와 결합하여 사후 분포를 얻습니다.

동전 던지기 예에서 빈도주의적 접근법(최대 우도)은 관찰된 데이터의 우도를 최대화하는 매개변수 값을 선택하도록 제안합니다. 그러나 이 접근 방식에는 이전 신념이나 불확실성을 설명하지 못할 수 있으므로 한계가 있습니다.

베이지안 프레임워크에서는 매개변수 값에 사전 분포가 할당됩니다. 데이터를 관찰한 후 사전에 각 매개변수 값의 우도를 곱하여 정규화되지 않은 사후 분포를 생성합니다. 적절한 확률 분포를 얻기 위해 후방은 면적이 1이 되도록 스케일링하여 재정규화됩니다.

반복 단계를 통해 더 많은 데이터가 관찰됨에 따라 사후 분포가 업데이트됩니다. 최종 사후 분포는 사전 지식과 관찰된 데이터를 모두 통합하여 매개변수 값에 대한 업데이트된 믿음을 나타냅니다. 확률과 함께 그럴듯한 매개 변수 값의 범위를 제공합니다.

베이즈 정리는 데이터가 주어진 매개변수 값의 사후 확률을 계산하는 데 사용됩니다. 사전 확률에 해당 매개 변수 값이 주어진 데이터의 우도를 곱하고 데이터의 확률로 나누어 정규화하는 작업이 포함됩니다.

전체 사후 분포를 고려함으로써 베이지안 접근 방식은 매개변수 값에 대한 보다 포괄적인 분석을 허용하고 이전 믿음을 통합하고 관찰된 데이터를 기반으로 업데이트합니다.

 

강의 9.5 — 체중 감쇠의 베이지안 해석



강의 9.5 — 가중치 감쇠의 베이지안 해석 [머신 러닝을 위한 신경망]

이 비디오는 전체 베이지안 접근 방식에서 가중치 페널티에 대한 베이지안 해석에 대해 설명합니다. 베이지안 접근법에서 목표는 모델 매개변수의 가능한 모든 설정의 사후 확률을 계산하는 것입니다. 그러나 최대 사후 학습이라고 하는 단순화된 버전은 이전 신념을 맞추는 것과 관찰된 데이터를 맞추는 것 사이에서 가장 좋은 절충안인 단일 매개변수 집합을 찾는 데 중점을 둡니다. 이 접근법은 모델 용량을 제어하기 위해 가중치 감쇠를 사용하는 것에 대한 설명을 제공합니다. 감독된 최대 우도 학습 중에 제곱 오차를 최소화할 때 본질적으로 정답의 로그 확률 밀도를 최대화하는 가중치 벡터를 찾는 것입니다. 이 해석은 신경망의 출력에 가우시안 노이즈를 추가하여 정답을 생성한다고 가정합니다.

이 확률론적 해석에서 모델의 출력은 가우시안의 중심으로 간주되며 그 가우시안 아래에서 높은 확률로 목표 값을 갖는 데 관심이 있습니다. 주어진 네트워크 출력에서 대상 값의 음의 로그 확률 밀도는 대상과 출력 간의 차이 제곱을 가우시안 분산의 두 배로 나눈 값과 같습니다. 로그를 취하고 빼기 기호를 넣으면 네트워크 출력이 주어진 목표 값의 음의 로그 확률 밀도가 비용 함수가 됩니다. 이 비용 함수를 최소화하는 것은 거리 제곱을 최소화하는 것과 같습니다. 이것은 제곱 오차를 최소화할 때 가우시안에서 로그 확률을 최대화하는 확률론적 해석이 있음을 보여줍니다.

적절한 베이지안 접근 방식은 가능한 모든 가중치 벡터에 대한 전체 사후 분포를 찾는 것인데, 이는 비선형 네트워크에서 어려울 수 있습니다. 더 간단한 대안으로, 우리는 사전 지식과 데이터가 주어졌을 때 가장 가능성이 높은 가중치 벡터를 찾으려고 노력할 수 있습니다.

최대 사후 학습에서 우리는 사전 피팅과 데이터 피팅 사이의 균형을 최적화하는 가중치 집합을 찾는 것을 목표로 합니다. 음의 로그 확률을 비용으로 사용하는 것이 확률 영역에서 작업하는 것보다 더 편리합니다. 가중치가 주어진 경우 데이터의 로그 확률을 최대화합니다. 이는 가중치가 주어진 모든 학습 사례에 대한 출력의 로그 확률 합계를 최대화하는 것과 같습니다. 가중치를 최적화하기 위해 데이터가 주어진 가중치의 음의 로그 확률을 고려합니다. 이 비용은 두 가지 항으로 구성됩니다. 하나는 목표에 얼마나 잘 맞는지 측정하는 데이터와 가중치 모두에 따라 달라지고 다른 항은 가중치가 주어진 데이터의 로그 확률에서 파생되는 가중치에만 의존합니다.

가우시안 노이즈가 모델의 출력에 추가되어 가중치에 대한 예측 및 가우시안 사전이 있다고 가정하면 가중치가 주어진 데이터의 로그 확률은 출력과 대상 사이의 거리를 제곱 분산의 두 배로 조정한 것입니다. 가우시안 잡음. 유사하게, 사전 아래 가중치의 로그 확률은 가우시안 사전 분산의 두 배로 조정된 가중치의 제곱 값입니다.

가우시안 잡음과 사전 분산의 두 배의 곱을 통해 곱함으로써 새로운 비용 함수를 얻습니다. 첫 번째 항은 일반적으로 신경망에서 최소화되는 제곱 오차에 해당합니다. 두 번째 항은 가중치 페널티인 가중치 제곱의 합을 곱한 두 분산의 비율이 됩니다. 따라서 가중치 페널티는 이 가우시안 해석의 분산 비율에 의해 결정되며 이 프레임워크 내에서 임의의 값이 아닙니다. 따라서 이 베이지안 해석에서 가중치 패널티는 단순히 성능 향상을 위해 선택한 임의의 값이 아닙니다. 가우시안 잡음과 사전의 분산을 기반으로 의미 있는 해석을 합니다.

더 자세히 설명하자면 방정식에 분산의 두 배를 곱하고 모든 교육 사례에 대해 합산하면 첫 번째 용어는 신경망 출력과 목표 간의 차이 제곱에 해당합니다. 이 용어는 일반적으로 신경망에서 최소화되는 제곱 오차를 나타냅니다. 가중치에만 의존하는 두 번째 항은 가중치 제곱의 합을 곱한 두 분산의 비율이 됩니다. 이 용어는 무게 페널티입니다. 큰 가중치 값에 불이익을 주고 더 작은 가중치를 권장합니다. 분산의 비율이 이 페널티의 강도를 결정합니다.

기본적으로 가중치 페널티를 도입함으로써 우리는 데이터를 잘 맞추는 것과 가중치를 작게 유지하는 것 사이에서 절충합니다. 이 절충은 분산 비율에 의해 제어됩니다. 더 큰 가중치 페널티(즉, 더 작은 분산 비율)는 더 작은 가중치를 생성하는 반면 더 작은 가중치 패널티(즉, 더 큰 분산 비율)는 더 큰 가중치를 허용합니다. 베이지안 접근법으로서 가중치 감쇠 또는 가중치 페널티의 해석은 가우시안 노이즈 및 가우시안 사전 분포의 가정에 의존한다는 점에 유의하는 것이 중요합니다. 이러한 가정은 계산을 단순화하고 최적화 프로세스에 대한 가중치 패널티의 영향을 이해하기 위한 확률적 프레임워크를 제공합니다.

실제로, 가능한 모든 가중치 벡터에 대한 전체 사후 분포를 찾는 것은 특히 복잡한 비선형 네트워크의 경우 계산적으로 어려울 수 있습니다. 따라서 가장 가능성이 높은 가중치 벡터를 찾는 것을 목표로 하는 사후 학습(Maximum a posteriori learning)이 보다 실용적인 대안을 제공합니다. 이 접근 방식은 이전 신념과 관찰된 데이터의 적합성을 균형 있게 조정하여 절충 솔루션을 제공합니다.

가중치 페널티에 대한 베이지안 해석은 신경망 최적화에서의 역할에 대한 더 깊은 이해를 제공합니다. 확률론적 관점과 데이터 피팅과 가중치 사이의 균형을 고려하여 모델 용량을 제어하고 일반화 성능을 향상시키는 정규화 기법으로 가중치 페널티를 활용할 수 있습니다.