python cnn 예제

그래서, 3 X 3 필터와 6 X 6 입력을 컨싱 우리에게 4 X 4의 출력을 주었다. 한 가지 예를 더 생각해 보십시오: 원샷 학습은 한 가지 예에서 그 사람을 인식하는 법을 배우는 것입니다. CNN을 훈련하여 얼굴의 표현을 배우는 것은 이미지가 적을 때 좋은 생각이 아닙니다. 모델은 단순히 얼굴의 기능을 배울 수 없습니다. 새 사용자가 데이터베이스에 가입하는 경우 전체 네트워크를 다시 학습해야 합니다. 꽤 수수께끼, 그렇지? 그래서 ConvNet을 사용하는 대신, 우리는 유사성 기능을 배우려고 노력합니다 : 기사의 가장 좋은 것은 CNN에 대해 지금까지 본 적이 없으며 너무 깊고 너무 적지 않습니다. 그냥 CNN, 아키텍처에 좋은 아이디어를 얻을 수있는 권리 혼합물. 위의 모든 사용 사례 (스타일 전송, SSD 등)에 대해 GitHub 예제가 게시된 경우 싶습니다. 2-D 이미지 대신 모양 6 X 6 X 3의 3D 입력 이미지가 있다고 가정해 보겠습니다. 이 이미지에 컨볼루션을 적용하려면 어떻게 해야 할까요? 우리는 대신 3 X 3 X 3 필터를 사용합니다. 예를 들어 대상 변수를 `핫 인코딩`해야 합니다. 즉, 각 출력 범주에 대해 열이 만들어지고 각 범주에 대해 이진 변수가 입력됩니다.

예를 들어 데이터 집합의 첫 번째 이미지가 5임을 알았습니다. 즉, 배열의 여섯 번째 숫자는 1이고 나머지 배열은 0으로 채워집니다. MNIST 데이터 집합은 28×28 픽셀 흑백 이미지로 포맷된 60,000개의 교육 예제와 10,000개의 손으로 쓴 숫자 0-9의 테스트 예제로 구성됩니다. 간단한 예제를 사용하여 신경 스타일 전송의 개념을 이해해 보겠습니다. 지정된 이미지를 다른 이미지의 스타일로 다시 만들려고 한다고 가정합니다. 여기서 입력 이미지는 콘텐츠 이미지라고 하며 입력을 다시 만들려는 이미지는 스타일 이미지라고 합니다. 이에 대한 출력은 클래스 레이블 1이어야 합니다. 컴퓨터는 픽셀을 사용하여 이미지를 볼 수 있습니다. 이미지의 픽셀은 일반적으로 관련이 있습니다. 예를 들어 특정 픽셀 그룹은 이미지 또는 다른 패턴의 가장자리를 나타낼 수 있습니다.

회선은 이미지를 식별하는 데 도움이이것을 사용합니다. 따라서 이미지를 신경망에 맞추기 전에 기본적으로 교육 데이터를 합성하는 이미지 보강을 수행해야 합니다. 우리는 합성 부분을 수행하기위한 keras.preprocessing 라이브러리를 사용하여이 작업을 수행할뿐만 아니라 디렉토리의 이름이 레이블로 수행되는 제대로 구조화 된 디렉토리에 있는 이미지의 테스트 테스트 세트뿐만 아니라 교육 세트를 준비할 것입니다. 모든 이미지가 그 안에 있습니다. 예: `고양이` 폴더 에 있는 모든 이미지는 keras에 의해 고양이로 간주됩니다. 자동 이미지 인식의 예를 들어 봅시다. 사진에 고양이가 포함되어 있는지 여부를 확인하는 프로세스에는 활성화 기능이 포함됩니다. 사진이 뉴런이 이전에 본 이전 고양이 이미지와 유사한 경우 “고양이”라는 레이블이 활성화됩니다. 이 튜토리얼은 케라스와 파이썬에서 신경망을 컨볼루션하기 좋은 시작이었다. 당신은 쉽게 또는 심지어 조금 더 많은 노력으로 따라 할 수 있다면, 잘! 동일한 모델 아키텍처를 사용하지만 사용 가능한 다양한 유형의 공용 데이터 집합을 사용하여 몇 가지 실험을 수행해 보십시오. 일반적으로 얼굴 인식 작업에서 발생하는 한 가지 잠재적인 장애물은 학습 데이터가 부족한 문제입니다.

이것은 우리가 사람의 얼굴의 단일 이미지를 가지고 있으며, 우리는 그것을 사용하여 새로운 이미지를 인식해야하는 곳입니다. 딥 러닝은 하나의 교육 예제로 잘 작동하는 것으로 정확히 알려져 있지 않기 때문에 이것이 어떻게 도전을 제시하는지 상상할 수 있습니다. 위의 shape() 작업에서 -1은 batch_size 차원이 입력 데이터의 예제 수에 따라 동적으로 계산된다는 것을 의미합니다. 각 예제에는 7(풀2 높이) * 7(풀2 너비) * 64(풀2 채널) 피처가 있으므로 피처 차원에 7 * 7 * 64(총 3136)의 값을 갖기를 원합니다.