내가 읽은 이미지 인식을위한 모든 신경망 예제는 간단한 "예"또는 "아니오"답변을 생성합니다. 하나의 이탈 노드는 "예, 이것은 사람의 얼굴입니다"에 해당하고 다른 하나는 "아니요, 이것은 사람의 얼굴이 아닙니다"에 해당합니다.
나는 이것이 설명의 단순함을 이해하지만, 그러한 신경망이 어떻게 더 구체적인 출력을 제공하도록 프로그래밍 될 수 있는지 궁금합니다. 예를 들어, 내가 동물을 분류하고 있다고 가정 해 봅시다. "동물"또는 "동물 아님"이라고 말하는 대신 "개", "물고기", "새", "뱀"등과 같은 응답을 원합니다. 마지막 종료 노드는 "동물 / I 아님"입니다. 인식하지 못합니다 ".
이것이 가능할 것이라고 확신하지만 방법을 이해하는 데 어려움이 있습니다. 하나의 출구 노드 (즉, "이것은 개입니다")를 훈련시키고 뉴런의 가중치가 변경되면 이전의 다른 출구 노드에 대한 이상적인 상태 인 것처럼 오류의 역 전파에 대한 훈련 알고리즘으로 보입니다. 훈련 된 (즉, "이것은 새입니다") 이탈하기 시작하고 그 반대도 마찬가지입니다. 따라서 하나의 범주를 인식하도록 네트워크를 교육하면 다른 범주에 대해 수행 된 모든 교육이 중단되므로 간단한 "예"또는 "아니오"디자인으로 제한됩니다.
이것이 그러한 인식기를 불가능하게합니까? 아니면 알고리즘을 오해하고 있습니까? 내가 생각할 수있는 유일한 것은 :
우리가 분류하고자하는 각각의 것에 대해 하나의 신경망을 훈련시킬 수 있고 어떻게 든 더 큰 슈퍼 네트워크를 구축하기 위해 그것들을 사용할 수 있습니다 (예를 들어, "개"에 대한 네트워크, "새"에 대한 네트워크 등) "동물"에 대한 슈퍼 네트워크를 만들기 위해 함께 추가); 또는,
엄청나게 진보 된 수학을 필요로하고 어떤 식 으로든 가능한 모든 출력 (즉,
insert math magic here
)에 이상적인 뉴런 가중치 상태를 생성하는 어리석게 복잡한 훈련 방법론을 만듭니다 .
(측면 노트 1 : 저는 특히 다층 퍼셉트론을 일종의 신경망으로보고 있습니다.)
(측면 참고 2 : 첫 번째 글 머리 기호 "가능한 솔루션"의 경우, 각각의 특정 신경망을 가지고 있고 "예"응답을받을 때까지 네트워크를 반복하는 것만으로는 충분하지 않습니다. 머신 러닝보다는 프로그래밍. 정보를 제공하고 적절한 응답을받을 수있는 하나의 신경망 을 가질 수 있는지 알고 싶습니다 .)