2

목적 : 신경 회로망특징 벡터 표현 신경망

설명을 사용하여 숫자 인식 : 이미지 8 x 13 pixels로 정규화 있습니다. 각 행에 대해 검은 색 픽셀은 1이고 모든 흰색 흰색 0입니다. 다음과 같이 각 화상 따라서 벡터의 벡터로 표현된다 : enter image description here

문제점 :가 신경망에 vector of vectors 사용할 수있다? 이미지가 어떻게 표현되어야 하는가?

  1. 행을 1 벡터로 결합 하시겠습니까?
  2. 모든 행을 10 진수 형식으로 변환하십시오. 예 : ROW1 : 11111000 = 248

답변

2

간단히 연결하여 하나 개의 벡터로 결합하는 것은 확실히 가능하다. 실제로 데이터의 임의적 인 재정렬은 교육과 분류간에 일관성이있는 한 결과를 변경하지 않는다는 것을 알아야합니다.

두 번째 접근 방식에 관해서는, 나는 (나는 정말로 확신 할 수 없다) 당신이 그런 식으로 정보를 잃을지도 모른다 고 생각한다.

+0

벡터 표현의 벡터에 관해서. 예를 들어 모든 행을 단일이 아닌 '단일 값'으로 간주 할 수 있습니까? –

+1

@ HaniGoc 저는 신경 네트워크에 대한 전문가는 아니지만 원칙적으로 입력 레이어의 기능이 노드보다 적다면 데이터를 이미 압축하고있는 것입니다. 그래서 그렇게 할 수 있다고 생각합니다. 내 경험에 비추어 볼 때 전체 이미지를 1D 피쳐 벡터로 푸시해도 충분히 잘 작동합니다. –

+0

"가능"하지만이 기능 매핑의 일반적인 실행 가능성은 의문의 여지가 있습니다. 아래 내 답변을 참조하십시오. 그의 경우 연결은 "데이터 순서 변경"이 아니라 네트워크 자체의 재구성입니다. – runDOSrun

1

다차원 입력을 사용하려면 다차원 뉴런이 필요합니다 (형식주의가 지원하지 않는다고 가정). 슬프게도 당신은 당신의 네트워크 구조에 관한 어떤 정보도주지 않았고, 그것은 당신의 주된 문제 원인이 혼란이라고 생각합니다. 피쳐 표현을 평가할 때마다 입력 레이어를 구성하는 방법을 알아야합니다. 실용적이지 않으면 다른 표현이 필요할 것입니다.

다차원 벡터 : 입력으로 이미지 1 개를 허용하는 네트워크에는 여러 벡터 (각각 행)가 포함 된 입력 노드가 1 개 (!)뿐입니다. 이는 최악의 데이터 표현 일 수 있습니다. 다음과 같은 경우 :

  • 입력 계층 구조를 평평하게 만듭니다. 모든 행에 대해 1 입력 뉴런을 얻습니다.
  • 입력 계층을 완전히 평평하게 만듭니다. 모든 픽셀에 대해 1 입력 뉴런을 얻습니다.

3 가지 방식 모두와 데이터에 미치는 영향을 생각해보십시오. 후자의 방법은 거의 항상 첫 번째 방법만큼 나쁩니다. 신경망은 의 특징 인으로 가장 잘 작동합니다. 특징은 픽셀의 재구성 (행 벡터)이 아닙니다. 그들은 당신이 픽셀에서 얻을 수있는 메타 데이터가되어야합니다 : 밝기, 뒤로부터 흰색으로 바뀌는 위치, 테두리 상자, 가장자리, 모양, 중력의 덩어리 ... 이미지에서 피쳐로 선택할 수있는 수많은 것들이 있습니다. 처리. 문제를 생각하고 하나 이상을 선택해야합니다.

마지막으로 "행을 1 벡터로 결합하는 방법"에 대해 묻는 경우 : "전체 이미지의 특징 벡터 찾기"를 다시 말하면됩니다. 벡터를 "연결하여"원시 데이터를 네트워크에 공급하고 싶지 않다면 네트워크를 사용하기 전에 정보을 찾아야합니다. 이는 사전 처리에 중요합니다.

OCR에서 사용할 수있는 기능에 대한 자세한 내용은 일부 문서를 읽으십시오. 가장 성공적인 네트워크 atm은 Convolutional Neural Network입니다. 주제 피쳐 추출의 시작점은 here입니다.

1

1) 예 하나 개의 벡터로 결합 내가) 때문에 울렸다 (0-255에서 정상화 http://vimeo.com/52775200

2) 아니오이 적합하지 않은이 방법을 사용 적합 ->이 범위 (0 - 1) differt 행이 aprox와 동일한 값을 갖기 때문에 데이터가 손실됩니다.