다차원 입력을 사용하려면 다차원 뉴런이 필요합니다 (형식주의가 지원하지 않는다고 가정). 슬프게도 당신은 당신의 네트워크 구조에 관한 어떤 정보도주지 않았고, 그것은 당신의 주된 문제 원인이 혼란이라고 생각합니다. 피쳐 표현을 평가할 때마다 입력 레이어를 구성하는 방법을 알아야합니다. 실용적이지 않으면 다른 표현이 필요할 것입니다.
다차원 벡터 : 입력으로 이미지 1 개를 허용하는 네트워크에는 여러 벡터 (각각 행)가 포함 된 입력 노드가 1 개 (!)뿐입니다. 이는 최악의 데이터 표현 일 수 있습니다. 다음과 같은 경우 :
- 입력 계층 구조를 평평하게 만듭니다. 모든 행에 대해 1 입력 뉴런을 얻습니다.
- 입력 계층을 완전히 평평하게 만듭니다. 모든 픽셀에 대해 1 입력 뉴런을 얻습니다.
3 가지 방식 모두와 데이터에 미치는 영향을 생각해보십시오. 후자의 방법은 거의 항상 첫 번째 방법만큼 나쁩니다. 신경망은 의 특징 인으로 가장 잘 작동합니다. 특징은 픽셀의 재구성 (행 벡터)이 아닙니다. 그들은 당신이 픽셀에서 얻을 수있는 메타 데이터가되어야합니다 : 밝기, 뒤로부터 흰색으로 바뀌는 위치, 테두리 상자, 가장자리, 모양, 중력의 덩어리 ... 이미지에서 피쳐로 선택할 수있는 수많은 것들이 있습니다. 처리. 문제를 생각하고 하나 이상을 선택해야합니다.
마지막으로 "행을 1 벡터로 결합하는 방법"에 대해 묻는 경우 : "전체 이미지의 특징 벡터 찾기"를 다시 말하면됩니다. 벡터를 "연결하여"원시 데이터를 네트워크에 공급하고 싶지 않다면 네트워크를 사용하기 전에 정보을 찾아야합니다. 이는 사전 처리에 중요합니다.
OCR에서 사용할 수있는 기능에 대한 자세한 내용은 일부 문서를 읽으십시오. 가장 성공적인 네트워크 atm은 Convolutional Neural Network입니다. 주제 피쳐 추출의 시작점은 here입니다.
벡터 표현의 벡터에 관해서. 예를 들어 모든 행을 단일이 아닌 '단일 값'으로 간주 할 수 있습니까? –
@ HaniGoc 저는 신경 네트워크에 대한 전문가는 아니지만 원칙적으로 입력 레이어의 기능이 노드보다 적다면 데이터를 이미 압축하고있는 것입니다. 그래서 그렇게 할 수 있다고 생각합니다. 내 경험에 비추어 볼 때 전체 이미지를 1D 피쳐 벡터로 푸시해도 충분히 잘 작동합니다. –
"가능"하지만이 기능 매핑의 일반적인 실행 가능성은 의문의 여지가 있습니다. 아래 내 답변을 참조하십시오. 그의 경우 연결은 "데이터 순서 변경"이 아니라 네트워크 자체의 재구성입니다. – runDOSrun