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

신경망에는 몇 개의 은닉 계층과 은닉 노드가 필요합니까?

이 문서는 다중 레이어 퍼셉트론의 숨겨진 부분을 구성하기 위한 지침을 제공합니다.

지금까지 신경망에 대한 이 시리즈에서 우리는 Perceptron NN, 다층 NN 및 Python을 사용하여 이러한 NN을 개발하는 방법에 대해 논의했습니다. 선택할 수 있는 숨겨진 레이어와 노드의 수에 대해 논의하기 전에 아래 시리즈를 따라잡는 것을 고려하십시오.

<올>
  • 신경망을 사용하여 분류를 수행하는 방법:퍼셉트론이란?
  • 간단한 퍼셉트론 신경망을 사용하여 데이터를 분류하는 방법
  • 기본 퍼셉트론 신경망 훈련 방법
  • 단순 신경망 훈련 이해
  • 신경망 훈련 이론 소개
  • 신경망의 학습률 이해
  • 다층 퍼셉트론을 사용한 고급 기계 학습
  • 시그모이드 활성화 함수:다층 퍼셉트론 신경망에서의 활성화
  • 다층 퍼셉트론 신경망 훈련 방법
  • 다층 퍼셉트론에 대한 훈련 공식 및 역전파 이해
  • Python 구현을 위한 신경망 아키텍처
  • Python에서 다층 퍼셉트론 신경망을 만드는 방법
  • 신경망을 사용한 신호 처리:신경망 설계 검증
  • 신경망용 데이터 세트 훈련:Python 신경망 훈련 및 검증 방법
  • 신경망에는 몇 개의 히든 레이어와 히든 노드가 필요합니까?
  • 숨겨진 계층 요약

    먼저 신경망의 숨겨진 노드에 대한 몇 가지 중요한 사항을 살펴보겠습니다.

    <울>
  • 입력 노드와 출력 노드로만 구성된 퍼셉트론(단일 레이어 퍼셉트론이라고 함)은 많은 유형의 실생활 현상을 특징짓는 복잡한 입력-출력 관계를 근사할 수 없기 때문에 그다지 유용하지 않습니다. 보다 구체적으로, 단일 레이어 퍼셉트론은 선형으로 분리 가능으로 제한됩니다. 문제; 7부에서 보았듯이 Boolean XOR 함수와 같은 기본적인 것도 선형 분리가 불가능합니다.
  • 숨겨진 레이어 추가 입력 레이어와 출력 레이어 사이는 퍼셉트론을 보편적 근사치로 바꿉니다. 이는 본질적으로 매우 복잡한 입출력 관계를 캡처하고 재생할 수 있음을 의미합니다.
  • 히든 레이어의 존재는 input-to-hidden 때문에 훈련을 좀 더 복잡하게 만듭니다. 가중치는 최종 오차에 간접적인 영향을 미칩니다. (이것은 내가 네트워크의 출력 값과 목표 값의 차이를 나타낼 때 사용하는 용어입니다. 훈련 데이터에서 제공).
  • 다층 퍼셉트론을 훈련하는 데 사용하는 기술을 역전파라고 합니다. :출력 노드에 직접 연결되지 않은 가중치를 효과적으로 수정할 수 있는 방식으로 최종 오류를 네트워크의 입력 측으로 다시 전파합니다. 역전파 절차는 확장 가능합니다. 즉, 동일한 절차를 통해 임의의 수의 은닉 레이어와 관련된 가중치를 훈련할 수 있습니다.
  • 다음 다이어그램은 기본 다층 퍼셉트론의 구조를 요약한 것입니다.

    숨겨진 레이어는 몇 개입니까?

    예상할 수 있듯이 이 질문에 대한 간단한 대답은 없습니다. 그러나 이해해야 할 가장 중요한 것은 하나의 은닉층이 있는 퍼셉트론은 매우 강력한 계산 시스템이라는 것입니다. 하나의 숨겨진 레이어로 적절한 결과를 얻지 못하면 먼저 다른 개선 사항을 시도하십시오. 아마도 학습률을 최적화하거나 훈련 에포크 수를 늘리거나 훈련 데이터 세트를 향상시켜야 할 수 있습니다. 두 번째 히든 레이어를 추가하면 코드 복잡성과 처리 시간이 늘어납니다.

    명심해야 할 또 다른 사항은 압도적인 신경망은 코딩 노력과 프로세서 리소스의 낭비일 뿐만 아니라 네트워크를 과잉 훈련에 더 취약하게 만들어 실제로 긍정적인 해를 끼칠 수 있다는 것입니다.

    우리는 솔루션이 충분히 일반화되지 않은 신경망의 작동을 시각화하는 방법으로 다음 다이어그램을 포함하는 4부에서 오버트레이닝에 대해 이야기했습니다.

    초강력 퍼셉트론은 사람들이 때때로 상황을 "과도하게 생각하는" 방식과 모호하게 유사한 방식으로 훈련 데이터를 처리할 수 있습니다.

    우리가 세부 사항에 너무 집중하고 실제로는 아주 단순한 문제에 과도한 지적 노력을 가할 때 우리는 "큰 그림"을 놓치고 차선책으로 판명될 솔루션으로 끝납니다. 마찬가지로, 과도한 컴퓨팅 성능과 불충분한 교육 데이터를 가진 퍼셉트론은 새로운 입력 샘플을 보다 효과적으로 분류할 일반화된 솔루션(다음 그림 참조)을 찾는 대신 지나치게 구체적인 솔루션에 정착할 수 있습니다.

    그렇다면 실제로 여러 개의 은닉층이 필요한 경우는 언제일까요? 개인적인 경험으로는 어떤 지침도 드릴 수 없습니다. 내가 할 수 있는 최선은 Dr. Jeff Heaton(링크된 텍스트의 158페이지 참조)의 전문 지식을 전달하는 것입니다. 그는 하나의 숨겨진 레이어를 통해 신경망이 "한 유한 공간에서 다른 유한 공간으로의 연속 매핑"과 관련된 모든 기능을 근사할 수 있다고 말했습니다. .”

    두 개의 히든 레이어를 사용하여 네트워크는 "임의의 정확도로 임의의 결정 경계를 나타낼 수 있습니다."

    숨겨진 노드는 몇 개입니까?

    은닉층에 대한 최적의 차원을 찾으려면 시행착오가 필요합니다. 위에서 논의한 바와 같이 노드가 너무 많은 것은 바람직하지 않지만 입력-출력 관계의 복잡성을 캡처할 수 있는 네트워크를 만들 수 있는 충분한 노드가 있어야 합니다.

    시행 착오가 모두 잘되고 좋지만 일종의 합리적인 출발점이 필요합니다. 위에 링크된 같은 책(159페이지)에서 Heaton 박사는 은닉층의 차원을 선택하는 세 가지 경험 법칙을 언급합니다. 나의 막연한 신호 처리 직관을 기반으로 권장 사항을 제공하여 이것들을 기반으로 할 것입니다.

    <올>
  • 네트워크에 출력 노드가 하나만 있고 필요한 입력-출력 관계가 매우 간단하다고 생각하는 경우 입력 차원의 2/3와 동일한 은닉층 차원으로 시작합니다.
  • 여러 개의 출력 노드가 있거나 필요한 입력-출력 관계가 복잡하다고 생각되면 은닉층 차원을 입력 차원과 출력 차원을 더한 값과 같게 만드십시오(그러나 입력 차원의 두 배 미만으로 유지).
  • 필요한 입력-출력 관계가 매우 복잡하다고 생각되면 숨겨진 차원을 입력 차원의 2배 미만으로 1로 설정합니다.
  • 결론

    이 기사가 다층 퍼셉트론의 은닉층 구성을 구성하고 개선하는 과정을 이해하는 데 도움이 되었기를 바랍니다.

    다음 기사에서는 Python 구현과 몇 가지 예제 문제를 사용하여 은닉층 차원의 효과를 살펴보겠습니다.


    산업용 로봇

    1. 토글 프레스란 무엇이며 어떻게 작동합니까?
    2. 랙 및 피니언 프레스는 어떻게 작동합니까?
    3. 트랜스퍼 몰딩이란 무엇이며 어떻게 작동합니까?
    4. 전송이란 무엇이며 어떻게 작동합니까?
    5. 신경망에 바이어스 노드 통합
    6. 은닉층 신경망의 정확도를 높이는 방법
    7. 신경망 훈련 데이터 세트:Python 신경망 훈련 및 검증 방법
    8. Python에서 다층 퍼셉트론 신경망을 만드는 방법
    9. 산업용 클러치란 무엇이며 어떻게 작동합니까?
    10. 유압 펌프에 필요한 HP는 얼마입니까?