cnn 예제코드

예를 들어 이해합시다. 창 크기가 2이고 보폭이 2인 풀링도 고려해 보십시오. 나는 최근에 웹 사이트를 검토하는 블로그 게시물을 작성했습니다. 그것은이 웹 사이트의 멋진 신경망 내용을 통해 통과 하는 초보자로 귀하의 지침 역할을 할 수 있습니다. 그것을 체크 아웃! https://aprogrammersexperience.blogspot.com/2018/10/beginners-guide-some-useful-machine.html 대상 변수를 `핫 인코딩`해야 합니다. 즉, 각 출력 범주에 대해 열이 만들어지고 각 범주에 대해 이진 변수가 입력됩니다. 예를 들어 데이터 집합의 첫 번째 이미지가 5임을 알았습니다. 즉, 배열의 여섯 번째 숫자는 1이고 나머지 배열은 0으로 채워집니다. 처음에는 컨볼루션 레이어와 풀링 레이어, 끝에 완전히 연결된 몇 개의 레이어, 마지막으로 softmax 분류기의 조합이 있어 입력을 다양한 범주로 분류합니다. 이 네트워크에는 많은 하이퍼 매개 변수가 있으며 지정해야합니다.

대부분의 코드 구조는 다르지만 TensorFlow CNN 자습서의 변수 / 매개 변수 이름과 동일한 변수 / 매개 변수 이름을 유지하려고 노력했습니다. 자체 신경망 모델을 구축하는 데 아직 익숙하지 않은 경우 공식 CNN TensorFlow 자습서를 통해 두 코드 집합의 기본 사항을 비교하여 모델을 만들 때 달라질 수 있는 사항과 수행할 수 없는 사항을 확인합니다. 모든 일반 입력 이미지의 크기는 최소 200x200x3 픽셀입니다. 첫 번째 숨겨진 레이어의 크기는 120,000의 백일해가 됩니다. 이것이 첫 번째 숨겨진 레이어일 경우 전체 복잡한 이미지 집합을 처리하는 데 필요한 뉴런 수를 상상해 보십시오. 삼중 손실을 정의하기 위해 앵커 이미지, 긍정적 인 이미지 및 부정적인 이미지를 취합니다. 긍정적인 이미지는 앵커 이미지에 있는 동일한 사람의 이미지이고, 부정적인 이미지는 다른 사람의 이미지입니다. 우리는 동시에 세 개의 이미지를 보고 있기 때문에, 그것은 세 중 세 가지 손실이라고합니다. 앵커 이미지에는 `A`, 긍정적인 이미지는 `P`, 네거티브 이미지에는 `N`을 사용합니다. 지금까지 배운 모든 개념을 결합하고 컨볼루션 네트워크 예제를 살펴보겠습니다. 부록의 일종으로 나는 우리가 위의 그래프를 생성 할 수 있도록 훈련 시대를 통해 갈 때 정확성을 추적하는 방법을 보여줍니다.

컨볼루션 레이어의 경우 매개 변수 수가 표시되면 = (5*5 + 1) * 6(필터가 6개인 경우)이 됩니다(필터가 6개인 경우)는 156과 같습니다. 컨볼루션 레이어는 매개변수 수를 줄이고 모델 의 학습 속도를 크게 높일 수 있습니다. 잔여 네트워크를 교육하면 더 깊은 네트워크를 교육하더라도 교육 오류가 증가하지 않는다는 이점이 있습니다. 일반 네트워크의 경우 더 깊은 네트워크를 학습한 다음 빠르게 증가하기 시작하면 교육 오류가 먼저 감소합니다. 따라서 완전히 연결된 네트워크를 사용할 수 없습니다. 활성화 인수는 컨볼루션의 출력에 적용할 활성화 함수를 지정합니다.