신경망이“예”또는“아니오”이상의 답변을 제공 할 수 있습니까?


11

내가 읽은 이미지 인식을위한 모든 신경망 예제는 간단한 "예"또는 "아니오"답변을 생성합니다. 하나의 이탈 노드는 "예, 이것은 사람의 얼굴입니다"에 해당하고 다른 하나는 "아니요, 이것은 사람의 얼굴이 아닙니다"에 해당합니다.

나는 이것이 설명의 단순함을 이해하지만, 그러한 신경망이 어떻게 더 구체적인 출력을 제공하도록 프로그래밍 될 수 있는지 궁금합니다. 예를 들어, 내가 동물을 분류하고 있다고 가정 해 봅시다. "동물"또는 "동물 아님"이라고 말하는 대신 "개", "물고기", "새", "뱀"등과 같은 응답을 원합니다. 마지막 종료 노드는 "동물 / I 아님"입니다. 인식하지 못합니다 ".

이것이 가능할 것이라고 확신하지만 방법을 이해하는 데 어려움이 있습니다. 하나의 출구 노드 (즉, "이것은 개입니다")를 훈련시키고 뉴런의 가중치가 변경되면 이전의 다른 출구 노드에 대한 이상적인 상태 인 것처럼 오류의 역 전파에 대한 훈련 알고리즘으로 보입니다. 훈련 된 (즉, "이것은 새입니다") 이탈하기 시작하고 그 반대도 마찬가지입니다. 따라서 하나의 범주를 인식하도록 네트워크를 교육하면 다른 범주에 대해 수행 된 모든 교육이 중단되므로 간단한 "예"또는 "아니오"디자인으로 제한됩니다.

이것이 그러한 인식기를 불가능하게합니까? 아니면 알고리즘을 오해하고 있습니까? 내가 생각할 수있는 유일한 것은 :

  • 우리가 분류하고자하는 각각의 것에 대해 하나의 신경망을 훈련시킬 수 있고 어떻게 든 더 큰 슈퍼 네트워크를 구축하기 위해 그것들을 사용할 수 있습니다 (예를 들어, "개"에 대한 네트워크, "새"에 대한 네트워크 등) "동물"에 대한 슈퍼 네트워크를 만들기 위해 함께 추가); 또는,

  • 엄청나게 진보 된 수학을 필요로하고 어떤 식 으로든 가능한 모든 출력 (즉, insert math magic here)에 이상적인 뉴런 가중치 상태를 생성하는 어리석게 복잡한 훈련 방법론을 만듭니다 .

(측면 노트 1 : 저는 특히 다층 퍼셉트론을 일종의 신경망으로보고 있습니다.)

(측면 참고 2 : 첫 번째 글 머리 기호 "가능한 솔루션"의 경우, 각각의 특정 신경망을 가지고 있고 "예"응답을받을 때까지 네트워크를 반복하는 것만으로는 충분하지 않습니다. 머신 러닝보다는 프로그래밍. 정보를 제공하고 적절한 응답을받을 수있는 하나의 신경망 을 가질 수 있는지 알고 싶습니다 .)

답변:


15

제목 만 대답하면됩니다. 신경망은 부울이 아닌 답변을 줄 수 있습니다. 예를 들어, 신경망은 주식 시장 가치를 예측하는 데 사용되어 왔으며, 이는 숫자 답이며 따라서 예 / 아니오 이상입니다. 신경망은 필기 인식에도 사용되며 출력은 전체 알파벳, 숫자 및 문장 부호와 같은 전체 문자 범위 중 하나 일 수 있습니다.

동물 인식-당신의 모범에 더 집중하기 위해 가능하다고 말하고 싶습니다. 주로 필기 인식 예제의 확장입니다. 모양의 특징을 인식하고이를 "이상적인"모양과 비교하여 일치하는 것을 확인합니다. 문제는 이론적 인 것이 아니라 기술적입니다. 인식 소프트웨어를 통해 실행되는 필기는 일반적으로 훌륭하고 간단한 일련의 선과 곡선으로 매핑됩니다. 동물의 얼굴을 인식하기가 더 어려우므로 눈, 코, 입, 거친 두개골 윤곽 등의 특징을 추출하기 위해 이미지 처리 로직이 필요합니다. 그럼에도 불구하고 가능한지 여부 만 물어 보았으므로 대답은 그렇습니다.

가장 좋은 방법은 아마도 적응 공명 이론과 같은 것들을 살펴 보는 것입니다. 일반적인 원리는 감각 입력 (이 경우 다양한 얼굴 특징의 상대적 크기, 모양 및 간격에 대한 메트릭)이 해당 클래스를 정의하는 "시제품"또는 템플릿과 비교된다는 것입니다. 감각 입력과 기억 된 템플릿 사이의 차이가 특정 임계 값 ( "경찰 파라미터"에 의해 정의 된 바와 같은) 미만이면, 관찰되는 대상은 템플릿에 의해 표현 된 그룹의 구성원 인 것으로 가정된다; 일치하는 항목을 찾을 수 없으면 시스템은이를 이전에 볼 수없는 유형으로 선언합니다. 이런 종류의 그물에 대한 좋은 점은 물체가 말이라는 것을 인식 할 때 말 인식에 대해 더 많이 배울 수 있다는 것입니다.

편집하다:

(완전한 공개의 이익을 위해 : 나는 여전히 프로젝트를 위해 이것을 스스로 연구하고 있으므로 내 지식은 여전히 ​​불완전하며 아마도 장소에서 조금 벗어날 수 있습니다.)

이것은 이전에 훈련 된 다른 노드의 가중치를 망치는 한 출력 노드의 역 전파 설정 가중치와 어떻게 관련이 있습니까?

지금까지 읽은 내용과 ART 패러다임은 약간 다릅니다. 두 부분으로 나뉩니다. 하나는 입력을 배우고 다른 하나는 입력을 배우는 것입니다. 이는 일치하지 않는 입력 세트를 발견하면 커밋되지 않은 뉴런이 활성화되고 입력과 일치하도록 조정되어 다음 번에 뉴런이 일치를 트리거하도록합니다. 이 층의 뉴런은 인식만을위한 것입니다. 이 레이어에서 일치하는 항목을 찾으면 입력이 응답을 계산하는 레이어 아래로 전달됩니다. 상황에 따라이 계층은 매우 간단 할 것입니다. 내가보고있는 시스템은 운전을 배우고 있습니다. 이것은 실제로 두 가지 유형의 학습입니다. 하나는 다양한 상황에서 운전하는 법을 배우는 것이고 다른 하나는 상황을 인식하는 법을 배우는 것입니다. 예를 들어

이전에 배운 행동을 망치지 않고 새로운 입력을 배우는 이러한 아이디어를 안정성 / 가소성 딜레마라고합니다. 그물은 학습 된 행동을 유지할 수 있을만큼 안정적 이어야 하지만, 상황이 바뀔 때 새로운 것을 배울 수있을 정도로 플라스틱 이어야합니다. 이것이 바로 ART net이 해결하고자하는 것입니다.


큰 답변 감사합니다! 그렇다면 이것은 이전에 훈련 된 다른 노드의 가중치를 망치는 하나의 출력 노드에 대한 백프로 포지션 설정 가중치와 어떻게 관련이 있습니까? 아니면 내가 잘못 생각하고 있습니까?
asteri

@ Jeff 나는 내 대답에 약간을 추가했습니다. 특별히 자세하지는 않습니다. 두렵습니다. 저는 여전히 스스로 배우고 있습니다. 여전히 당신의 질문은 안정성 / 가소성 딜레마에 관한 것입니다. 당신은 이미 알고있는 것을 인식하는 방법을 잊어 버리지 않고 새로운 것을 인식하기 위해 그물을 훈련시킬 수 있기를 원합니다. 조사해 볼 가치가 있습니다.
anaximander

3

@anaximander의 대답은 꽤 좋습니다. 귀하의 질문 에이 부분에 대해 언급 할 것이라고 생각했습니다.

하나의 출구 노드 (즉, "이것은 개입니다")를 훈련시키고 뉴런의 가중치가 변경되면 이전의 다른 출구 노드에 대한 이상적인 상태 인 것처럼 오류의 역 전파에 대한 훈련 알고리즘으로 보입니다. 훈련 된 (즉, "이것은 새입니다") 이탈하기 시작하고 그 반대도 마찬가지입니다. 따라서 하나의 범주를 인식하도록 네트워크를 교육하면 다른 범주에 대해 수행 된 모든 교육이 중단되므로 간단한 "예"또는 "아니오"디자인으로 제한됩니다.

글쎄, 나는 당신의 가정이 잘못되었다고 생각합니다. 올바르게 이해하면 분류하려는 카테고리 당 하나의 출력을 가진 NN이 있습니다. 이상적으로는 "개"와 "새"분류가 동시에 실행되지 않도록 거의 독립적으로 작동하기를 원합니다. 따라서 실제로 훈련 중에 발생하는 것은 "개"결과로 NN을 훈련 할 때 역전 파는 "새"및 기타 출력 뉴런이 오탐을 생성하지 않도록하기위한 것입니다. 따라서 이론적으로는 주석과 달리 잘 작동합니다. "조류"에 대한 부정적인 결과의 강화는 정확하다.

그러나 문제는이 방법의 확장 성입니다. 네트워크에 더 많은 범주를 추가하면 교육은 최소한 선형 적이지만 훨씬 더 나쁜 방식으로 복잡해집니다. 이러한 이유로 많은 사람들이 개별 NN이 각 범주에 대해 훈련되는 방식을 사용합니다. 이것은 일을 충분히 간단하고 비교적 확장 가능하게 유지합니다. 이들을 결합하는 방법의 메타 수준은 당신에게 달려 있습니다. 단순히 모든 NN을 반복하고 어떤 것이 긍정적 인 결과를 만들어 내는지, 동물을 좁히는 중간 수준의 휴리스틱 NN을 만들거나 개별 NN을 뉴런으로 결합하는 거대한 NN을 가질 수도 있습니다. . 본질적으로 내가 말하려는 것은 문제의 구조에 대한 사전 지식이 있다는 것입니다. 개별 분류는 서로 구별 될 가능성이 높습니다.

편집 : 제목 질문에 대답하기 위해 물론 NN은 예 / 아니오 이상의 답변을 제공 할 수 있습니다. "표준"모델에서, 각각의 출력 뉴런은 일반적으로 예 / 아니오를 발생시킵니다 (그러나이 동작은 기울어 질 경우 변경 될 수 있음). 그러나 컴퓨터와 마찬가지로 비트를 결합하여 다양한 이산 값을 제공 할 수 있으며 원하는 방식으로 해석 할 수 있습니다. 비 이진 출력의 시각적 인 예는 일반적으로 2D 출력을 갖는 자체 구성 맵 입니다.


답변 주셔서 감사합니다. 나는 내가 원하는만큼 많은 출력 노드를 가질 수 있다는 것을 알고 있었지만, 오류 알고리즘의 역 전파 특성 (원하는 결과에 대한 모든 가중치를 조정)으로 인해 하나의 분류를 배우면 다른 분류를 배울 수 없다는 것이 우려되었다.
asteri

1

짧고 강건한 답변 : 예. 모든 NN은 yes, 또는 보다 더 많은 정보를 제공 할 수 있습니다 no. 임계 값 때문입니다. 가중치가 일부 임계 값보다 높으면 답변이 분류 등급 중 하나이고, 더 낮 으면 답변이 두 번째 분류 등급입니다. 원래:

    0..threshold 
    threshold..1

Neuron의 출력은 [0..1] 간격 (또는 [-1,1]에 따라 다름)이며 출력이 임계 값보다 낮거나 높은지 여부 (출력) 0..1 간격으로 쉽게 변환 할 수 있으며 %를 의미합니다)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.