컨볼루션 신경망 기반 이미지 분류기를 구축하는 방법을 시연하기 위해 개 이미지를 고양이의 이미지와 식별하고 분리하는 6층 신경망을 구축합니다. 우리가 구축 할이 네트워크는 CPU에서 실행할 수있는 매우 작은 네트워크입니다. 이미지 분류를 수행하는 데 매우 능숙한 기존 신경망에는 더 많은 매개 변수가 있으며 CPU에서 학습하는 경우 많은 시간이 소요됩니다. 그러나, 이 게시물에서, 내 목표는 ILSVRC에 참여 하는 대신 Tensorflow를 사용 하 여 실제 컨볼루션 신경 망을 구축 하는 방법을 보여. 텐서플로우 튜토리얼을 시작하기 전에 컨볼루션 신경망의 기본을 살펴보겠습니다. conv-nets에 이미 익숙한 경우(그리고 conv-net이라고 부름) 2부 즉 Tensorflow 자습서로 이동할 수 있습니다. 신경망의 아키텍처를 설계할 때 결정해야 할 사항: 레이어를 어떻게 정렬합니까? 어떤 레이어를 사용할 것인가? 각 층 등에서 얼마나 많은 뉴런을 사용할 수 있습니까? 아키텍처를 설계하는 것은 약간 복잡하고 고급 주제이며 많은 연구가 필요합니다. 많은 표준 문제에 대 한 좋은 작동 하는 많은 표준 아키텍처가 있다. 예는 알렉스넷, 구글넷, 인셉션레스넷, VGG 등입니다. 처음에는 표준 네트워크 아키텍처만 사용해야 합니다. 신경망에 대한 많은 경험을 쌓은 후에 네트워크 설계를 시작할 수 있습니다. 따라서, 지금 그것에 대해 걱정하지 말자. 텐서플로우는 대부분의 최적화 기능을 구현합니다.

그라데이션 계산 및 중량 최적화를 위해 AdamOptimizer를 사용해야 합니다. 우리는 0.0001의 학습 속도로 비용을 최소화하기 위해 노력하고 있음을 지정합니다. 예제 코드 및 자습서: https://www.tensorflow.org/tutorials/estimators/cnn 뒤로 전파 라는 프로세스를 사용 하 여 매개 변수의 최고의 집합을 찾을 수 있습니다., 즉 매개 변수의 임의의 집합으로 시작 하 고 이러한 가중치를 계속 변경 합니다. 모든 트레이닝 이미지는 올바른 출력을 얻을 수 있습니다. 올바른 가중치를 찾는 데 수학적으로 빠른 가중치를 변경하는 많은 최적화 방법이 있습니다. 그라데이션Descent는 이러한 방법 중 하나입니다(뒤로 전파 및 그라데이션을 변경하는 최적화 방법은 매우 복잡한 주제입니다. 그러나 텐서플로우가 이를 처리하기 때문에 걱정할 필요가 없습니다. 이것은 비용의 매우 간단한 예이지만 실제 교육에서는 교차 엔트로피 비용과 같은 훨씬 더 복잡한 비용 측정값을 사용합니다.

그러나 Tensorflow는 이러한 비용의 대부분을 구현하므로 이 시점에서 이러한 비용의 세부 사항에 대해 걱정할 필요가 없습니다. 이제 가중치의 최적 값에 도달하기 위해 최소화할 비용을 정의해 보겠습니다. 우리는 마지막으로 완전히 연결된 레이어와 실제 레이블의 출력을 소요 Tensorflow 함수 softmax_cross_entropy_with_logits를 사용하여 계산되는 간단한 비용을 사용하여 그 평균우리에게 비용을 줄 것이다 cross_entropy을 계산합니다. 파일 개 – 고양이 – model.meta는 전체 네트워크 그래프를 포함하고 우리는 나중에 그래프를 다시 만드는 데 사용할 수 있습니다. 이를 위해 텐서플로우에서 제공하는 보호기 오브젝트를 사용해야 합니다. 예제 코드 및 자습서: https://www.datacamp.com/community/tutorials/cnn-tensorflow-python 여기에서 Fashion-MNIST 데이터 집합을 찾을 수 있습니다. Keras 또는 Scikit-Learn 패키지와 달리 TensorFlow에는 패션 MNIST 데이터 집합을 로드하기 위해 미리 정의된 모듈이 없지만 기본적으로 MNIST 데이터 집합이 있습니다.

 

Comments are closed.

Set your Twitter account name in your settings to use the TwitterBar Section.