dropout 예제

좋은 소리, 지금까지 당신의 도움을 주셔서 대단히 감사합니다. 나는 여자와 가라마니에서 변형 드롭 아웃의 올바른 케라스 구현이 필요, 나는 keras gru에서 이것을 올바르게 구현하는 방법을 궁금해?! 이 논문은 입력, 반복 연결 및 출력에 드롭아웃을 적용해야 한다고 말합니다. 입력 및 반복 연결에 대해서만 «변형 드롭아웃»을 구현했습니다. 두 층 gru에 대 한 종이에 정확 하 게 같은 기술을 적용 하려는 경우, 각 gru 레이어 후 드롭 아웃 출력 레이어를 사용 하지 말아야, «출력»에 드롭 아웃을 적용 하는, 종이에 언급 한 대로? 나는이 분야에서 초보자이고 정확히 여자와 가라마니가 제안처럼 그것을 구현하는 인터넷에서 아무것도 찾을 수 없습니다?! «상태 설정»과 같은 다른 매개 변수도 설정해야합니까? 요약하자면: 내 실험을 위해 케라스에서 변형 드롭아웃의 정확한 구현이 필요하며 내 접근 방식을 확인할 수 있다면 정말 대단할 것입니다. 사전에 감사합니다! 모델 = 순차적() model.add(LSTM, 입력_모양=(1,1)) model.add(드롭아웃(0.5)) model.add(Dense(1)) 예제를 실행하면 적어도 단일 테스트 실행에서 분류 정확도가 작아집니다. 이제 뉴런의 p*n만 사용하기 때문에 모든 뉴런을 사용하는 경우 x가 예상되는 출력인 경우 출력은 p*x에 대한 기대치를 갖습니다(드롭아웃 제외). 가시 층의 드롭아웃에 대해, 예를 들어 60 개의 이미지 중 12 개 (20 %)의 바흐에서 0으로 설정됩니다? 드롭아웃은 주어진 확률로 드롭아웃할 노드를 임의로 선택하여 쉽게 구현됩니다(예: 20%). 각 웨이트 업데이트 주기. 이것이 케라스에서 드롭아웃이 구현되는 방법입니다. 드롭아웃은 모델 학습 중에만 사용되며 모델의 기술을 평가할 때 사용되지 않습니다. 숨겨진 레이어가 아래에 나열된 후 드롭아웃이 추가된 완전한 업데이트된 예제: 드롭아웃은 가시 레이어라는 입력 뉴런에 적용할 수 있습니다.

# 치수 1과 128 개의 뉴런이있는 숨겨진 레이어 i가있는 입력 레이어. model.add (조밀한 (128, input_dim=1, 활성화 =`relu`))) # 뉴런 및 활성화 계층의 20 %의 드롭 아웃. model.add(드롭아웃(.2)) model.add(활성화(«선형»)) # 64개의 뉴런과 활성화 레이어가 있는 숨겨진 레이어 j. model.add(Dense(64, activation=`relu`)) model.add(활성화(«선형»)) # 64개의 뉴런이 있는 숨겨진 레이어 k. model.add(조밀한(64, 활성화=`relu`))) # 출력 레이어. model.add(Dense(1)) 예제를 실행하여 86%의 예상 분류 정확도를 생성합니다. 컨볼루션 신경망에서 드롭아웃을 사용하는 또 다른 방법은 풀링 중에 사용되지 않는 컨볼루션 레이어에서 전체 피처 맵을 삭제하는 것입니다. 이를 공간 드롭아웃(또는 «공간 드롭아웃»)이라고 합니다. 아래 예제에서는 입력(또는 보이는 레이어)과 첫 번째 숨겨진 레이어 사이에 새 드롭아웃 레이어를 추가합니다. 드롭아웃 비율은 20%로 설정되어 있으며, 이는 5개의 입력 중 하나가 각 업데이트 주기에서 임의로 제외된다는 것을 의미합니다. 드롭아웃은 정규화 기술입니다.

각 반복에서 각 레이어의 일부 뉴런(단위)을 임의로 종료하고 앞으로 전파 및 역전파모두에서 이러한 뉴런을 사용하지 않습니다. 각 반복에서 삭제되는 단위는 임의이므로 학습 알고리즘은 모든 반복에서 종료되는 뉴런을 알지 못했습니다. 따라서 학습 알고리즘이 가중치를 분산시키고 특정 위업(단위)에 집중하지 않도록 합니다. 또한 드롭아웃은 일반화 오류를 개선하는 데 도움이 됩니다: 첫 번째 컨볼루션 레이어 전에 드롭아웃을 사용할 수 있습니까? 여기에 표시된 예제에서는 조밀한 레이어 이전에 드롭아웃이 수행됩니다. 그러나 나는 그들이 첫 번째 컨볼루션 계층 전에 드롭 아웃을 사용한 코드를 발견했습니다.