산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Equipment >> 산업용 로봇

신경망 교육의 국소 최소값 이해

이 문서에서는 퍼셉트론이 적절한 분류 정확도를 달성하지 못하게 하는 합병증에 대해 설명합니다.

AAC 신경망 시리즈에서 우리는 다층 퍼셉트론 신경망의 이해 및 개발과 관련된 광범위한 주제를 다루었습니다. 지역 최소값에 대한 이 기사를 읽기 전에 아래 시리즈의 나머지 부분을 확인하세요.

<올>
  • 신경망을 사용하여 분류를 수행하는 방법:퍼셉트론이란?
  • 간단한 퍼셉트론 신경망을 사용하여 데이터를 분류하는 방법
  • 기본 퍼셉트론 신경망 훈련 방법
  • 단순 신경망 훈련 이해
  • 신경망 훈련 이론 소개
  • 신경망의 학습률 이해
  • 다층 퍼셉트론을 사용한 고급 기계 학습
  • 시그모이드 활성화 함수:다층 퍼셉트론 신경망에서의 활성화
  • 다층 퍼셉트론 신경망 훈련 방법
  • 다층 퍼셉트론에 대한 훈련 공식 및 역전파 이해
  • Python 구현을 위한 신경망 아키텍처
  • Python에서 다층 퍼셉트론 신경망을 만드는 방법
  • 신경망을 사용한 신호 처리:신경망 설계 검증
  • 신경망용 데이터 세트 훈련:Python 신경망 훈련 및 검증 방법
  • 신경망에는 몇 개의 히든 레이어와 히든 노드가 필요합니까?
  • 은닉층 신경망의 정확도를 높이는 방법
  • 신경망에 바이어스 노드 통합
  • 신경망 훈련의 국소 최소값 이해
  • 신경망 훈련은 복잡한 과정입니다. 다행히도 이점을 얻기 위해 완벽하게 이해할 필요는 없습니다. 실제로 사용하는 네트워크 아키텍처와 교육 절차는 매우 높은 분류 정확도를 달성하는 기능적 시스템을 만듭니다. 그러나 훈련의 한 가지 이론적인 측면이 다소 난해하긴 하지만 주의를 기울일 가치가 있습니다.

    우리는 이것을 "local minima의 문제"라고 부를 것입니다.

    로컬 최소값이 우리의 관심을 받을 가치가 있는 이유는 무엇입니까?

    글쎄요... 잘 모르겠습니다. 신경망에 대해 처음 배웠을 때, 최소한 복잡한 입력-출력 관계를 다룰 때 국소 최소값이 성공적인 훈련에 큰 장애물이라는 인상을 받았습니다. 그러나 최근의 연구에서는 극소값의 중요성을 과소평가하고 있다고 생각합니다. 새로운 네트워크 구조와 처리 기술이 문제의 심각성을 완화했거나 신경망이 실제로 원하는 솔루션으로 이동하는 방법을 더 잘 이해했을 수 있습니다.

    우리는 이 기사의 끝에서 극소값의 현재 상태를 다시 살펴볼 것입니다. 지금은 내 질문에 다음과 같이 답하겠습니다. 로컬 최소값은 먼저 우리가 경사하강법을 통해 네트워크를 훈련할 때 실제로 일어나는 일에 대해 더 깊이 생각하는 데 도움이 되고, 로컬 최소값은 다음과 같기 때문에 우리의 관심을 받을 만합니다. 또는 적어도 이었다 —실제 시스템에서 신경망을 성공적으로 구현하는 데 중요한 장애물로 간주됩니다.

    로컬 최소값이란 무엇입니까?

    파트 5에서 우리는 아래에 표시된 "오류 그릇"을 고려했고, 저는 본질적으로 이 그릇의 가장 낮은 지점을 찾는 과정으로 훈련을 설명했습니다.

    (참고 :이 기사 전체에서 내 이미지와 설명은 3차원 구조에 대한 직관적인 이해에 의존하지만 일반적인 개념은 3차원 관계에 국한되지 않는다는 점을 명심하십시오. 실제로 우리는 차원이 두 개의 입력 변수와 하나의 출력 변수를 훨씬 초과하는 신경망을 자주 사용합니다.)

    이 그릇에 뛰어들면 매번 바닥으로 미끄러질 것입니다. 어디서 시작하든 상관없이 , 당신은 전체 오류 함수의 가장 낮은 지점에서 끝납니다. 이 최저점은 전역 최소값입니다. . 네트워크가 전역 최소값에 수렴하면 훈련 데이터를 분류하는 능력이 최적화되었으며 이론적으로 , 이것이 훈련의 기본 목표입니다. 전역 최소값에 도달할 때까지 가중치를 계속 수정하는 것입니다.

    그러나 우리는 신경망이 매우 복잡한 입력-출력 관계를 근사화할 수 있다는 것을 알고 있습니다. 위의 오류 그릇은 "매우 복잡한" 범주에 정확히 들어맞지 않습니다. 이것은 단순히 함수 \(f(x,y) =x^2 + y^2\)의 플롯입니다.

    그러나 이제 오류 함수가 다음과 같다고 상상해 보십시오.


    또는 이것:

    또는 이것:

    이러한 기능 중 하나에 무작위로 뛰어 들었다면 종종 로컬 최소값으로 미끄러질 것입니다. 그래프의 지역화된 부분의 가장 낮은 지점에 있지만 전역 근처에는 없을 수 있습니다. 최소

    신경망에서도 같은 일이 일어날 수 있습니다. 경사하강법은 로컬에 의존 네트워크를 글로벌 최저한의. 네트워크는 전체 오류 표면의 특성에 대한 사전 지식이 없으며 결과적으로 로컬 정보를 기반으로 오류 표면의 바닥처럼 보이는 지점에 도달할 때 , 지형도를 꺼내서 다시 오르막이 필요하다고 결정할 수 없습니다. 다른 모든 것보다 실제로 낮은 지점을 찾기 위해.

    기본 경사 하강법을 구현할 때 네트워크에 "오류 표면의 맨 아래를 찾아 거기에 머물라"고 말합니다. 우리는 “오류 표면의 바닥을 찾아 좌표를 기록하고 다음 좌표를 찾을 때까지 계속 오르막과 내리막 하이킹을 하는 것이 아닙니다. 끝나면 알려주세요.”

    세계 최소값을 정말로 찾고 싶습니까?

    전역 최솟값이 최적의 솔루션이라고 가정하고 훈련이 전역 최솟값을 향해 계속하지 않고 국부 최솟값에서 "정지"할 수 있기 때문에 국부 최솟값이 문제가 있다고 결론을 내리는 것이 합리적입니다.

    나는 이 가정이 많은 경우에 유효하다고 생각하지만, 신경망 손실 표면에 대한 최근 연구에 따르면 복잡한 네트워크는 실제로 지역 최솟값의 이점을 얻을 수 있습니다. 왜냐하면 전역 최솟값을 찾는 네트워크는 과도하게 훈련되어 새로운 입력 샘플을 처리할 때 효과적입니다.

    여기서 작용하는 또 다른 문제는 안장점이라고 하는 표면 기능입니다. 아래 플롯에서 예를 볼 수 있습니다. 실제 신경망 응용 프로그램의 맥락에서 오류 표면의 안장점이 실제로는 국소 최솟값보다 더 심각한 문제일 수 있습니다.

    결론

    나는 당신이 지역 최소값에 대한 이 토론을 즐겼기를 바랍니다. 다음 기사에서는 신경망이 전역 최소값에 도달하는 데 도움이 되는 몇 가지 기술에 대해 논의할 것입니다(실제로 그것이 우리가 원하는 것이라면).


    산업용 로봇

    1. 네트워크 토폴로지
    2. 네트워크 프로토콜
    3. ST는 STM32 신경망 개발자 도구 상자를 사용하여 에지 및 노드 임베디드 장치로 AI를 구동합니다.
    4. CEVA:심층 신경망 워크로드용 2세대 AI 프로세서
    5. 신경망에 바이어스 노드 통합
    6. 은닉층 신경망의 정확도를 높이는 방법
    7. 인공 신경망은 무선 통신을 향상시킬 수 있습니다
    8. 대규모 신경망 훈련은 284,000킬로그램의 CO2를 방출할 수 있습니다.
    9. 로봇 파이버 레이저 절단과 플라즈마 절단에 대한 이해
    10. 데이터 복구:NIST의 신경망 모델은 조밀한 이미지에서 작은 개체를 찾습니다.