4

현재 외형에 따라 썩은 사과와 정상 사과를 구분할 수있는 길쌈 신경망을 훈련 중입니다. 필요한 모든 데이터가 있지만 다음 코드 줄에 대한 질문이 있습니다.나는 내 CNN을 어떤 순서로 훈련해야합니까?

epoch_x, epoch_y = tf.train.batch([resized_image, "Normal"], batch_size=batch_size) 

이렇게하면 신경망에 이미지와 레이블이 적용됩니다. 내 질문은, 정상적인 오렌지의 모든 일괄 처리로 네트워크를 훈련시킨 다음 썩은 오렌지로 신경망을 훈련해야합니까? 나는 썩은 오렌지와 정상적인 오렌지의 배치를 교대로해야합니까? 이 이미지들이 훈련 받아야 할 특별한 순서가 있습니까?

+0

이와 유사합니까 [질문] (http://stackoverflow.com/questions/8101925/effects-of-randomizing-the-order-of-inputs-to-a-neural-network)? – vendaTrout

답변

6

특정 순서로 훈련시키지 않아야하며, 각 배치에는 양수 및 음수 예제가 임의의 순서로 포함되어야합니다. 수업의 균형이 맞으면 각 배치에는 거의 같은 수의 양/음 샘플이 있습니다.

가장 쉬운 방법은 (첫 번째 차원에서) 데이터를 무작위로 섞어 순서대로 배치하는 것입니다. 우수 사례는 또한 각 신기원 이후에 데이터를 다시 셔플 링하기 때문에, 신경망은 표본이 제시된 순서대로 패턴을 보지 못합니다.

이 기술은 신경 네트워크 훈련에 어떤 종류의 편견도 예방합니다.

+0

오, 나는 몰랐다. 각 배치에는 양수 및 음수 예제가 포함되어야합니다. 신경망은 어떤 이미지가 양이고 어떤 이미지가 음성인지 어떻게 알 수 있습니까? 이 부분을 어디에 지정해야합니까? –

+0

@RehaanAhmad 레이블 (y)은 NN에게 각 샘플이 속한 클래스를 알려줍니다. –

+0

잠깐, 좀 더 자세하게 설명해 주시겠습니까? tensorflow에서 이러한 레이블을 정의하는 방법은 무엇입니까? –

관련 문제