신경망을 사용하여 행렬의 패턴 인식


10

CAD 모델의 설계 기능 (예 : 슬롯, 보스, 구멍, 포켓, 계단)을 식별 할 수있는 신경망을 개발하려고합니다.

네트워크에 사용하려는 입력 데이터는 anxn 행렬입니다 (여기서 n은 CAD 모델의면 수입니다). 행렬에서 오른쪽 위 삼각형의 '1'은 두면 사이의 볼록한 관계를 나타내고 왼쪽 아래 삼각형의 '1'은 오목한 관계를 나타냅니다. 두 위치에서 모두 0은면이 인접하지 않음을 의미합니다. 아래 이미지는 그러한 매트릭스의 예를 보여줍니다. 여기에 이미지 설명을 입력하십시오

최대 모델 크기를 20 개의면으로 설정하고 네트워크에 대한 입력을 일정한 크기로 만들기 위해 그보다 작은 것에 패딩을 적용한다고 가정하겠습니다.

5 개의 다른 디자인 기능을 인식 할 수 있기를 원하므로 5 개의 출력 뉴런 (슬롯, 포켓, 홀, 보스, 스텝)을 갖습니다.

이것이 일종의 '패턴 인식'문제가된다고 말하는 것이 옳습니까? 예를 들어, 모델에 존재하는 디자인 기능을 설명하는 레이블과 함께 여러 교육 모델을 네트워크에 제공하면 네트워크가 특정 디자인 기능과 관련된 매트릭스에 표시된 특정 인접 패턴을 인식하는 방법을 배우게됩니까?

나는 기계 학습의 완전한 초보자 이며이 접근법의 작동 여부에 대한 처리를 시도하고 있습니다. 문제를 이해하기 위해 더 많은 정보가 필요한 경우 의견을 남기십시오. 모든 의견이나 도움을 부탁드립니다.


1
이거 정말 흥미로워 요. 그러나 어떤 삼각형에 대해 이야기하고 있습니까? 명확성을 위해 그릴 수 있습니까?
FelicityC

답변:


1

이것이 일종의 '패턴 인식'문제가된다고 말하는 것이 옳습니까?

기술적으로는 그렇습니다. 실제로 : 아닙니다.

"패턴 인식"이라는 용어를 너무 문자 그대로 해석하고 있다고 생각합니다. 위키 백과 에서는 패턴 인식을 "데이터의 패턴 및 규칙 인식에 중점을 둔 머신 러닝의 한 분야"라고 정의 하지만 논리적 추론으로 "쉽게"추론 할 수있는 문제를 해결하는 것은 아닙니다.

예를 들어

행렬의 오른쪽 위 삼각형의 '1'은 두면 사이의 볼록한 관계를 나타내고 왼쪽 아래 삼각형의 '1'은 오목한 관계를 나타냅니다

이것은 항상 사실 입니다. 일반적인 머신 러닝 상황에서는 일반적으로 이러한 사전 지식이 없습니다. 최소한 "손으로 해결"하는 것이 다루기 힘든 정도는 아닙니다.

패턴 인식은 일반적으로 기존의 논리 추론과 간단한 회귀 모델로 분석하기에 너무 복잡 할 때 문제를 해결하기위한 통계적 접근 방식입니다. Wikipedia는 또한 (일부 경우 머신 러닝과 거의 동의어 인 것으로 간주되는) 패턴 인식을 언급합니다.

즉 ,이 문제에 패턴 인식을 사용할 있습니다. 그러나이 경우 과도한 것으로 보입니다. 내가 이해할 수있는 한 귀하의 문제에는 실제 "분석적"솔루션이 있습니다. 즉, 논리적으로 항상 100 % 정확한 결과를 얻을 수 있습니다. 이론적으로 머신 러닝 알고리즘이이를 수행 할 수 있으며이 경우 ML의이 분기를 메타 모델링이라고합니다 [1].

예를 들어, 모델에 존재하는 디자인 기능을 설명하는 레이블과 함께 여러 교육 모델을 네트워크에 제공하면 네트워크가 특정 디자인 기능과 관련된 매트릭스에 표시된 특정 인접 패턴을 인식하는 방법을 배우게됩니까?

한마디로 : 아마도. 가장 좋은 방법은? 아마 아닙니다. 왜 안 물어봐?

모델이 원하는 것을 정확히 배우지 못할 가능성이 항상 있습니다. 또한 오버 피팅 (overfitting) 과 같은 여러 가지 문제 가 있습니다. 내가 말했듯이 통계적 접근 방식입니다. 모든 테스트 데이터를 100 % 정확한 것으로 분류하더라도 (정렬하게 다루기 힘든 수학을 확인하지 않는 한) 항상 올바르게 분류되는지 100 % 확신 할 수있는 방법은 없습니다. 또한 모델을 작업하는 데 더 많은 시간을 소비하고 논리를 추론하는 데 걸리는 시간이 더 많이 걸릴 것이라고 생각합니다.

나는 또한 @Bitzel에 동의하지 않습니다 : 나는 이것에 대해 CNN (convolutional neural network)을하지 않을 것입니다. CNN은 매트릭스의 특정 부분을 보려고 할 때 사용되며 픽셀 간의 관계 및 연결성은 이미지와 같이 중요합니다. 당신은 1과 0만을 가지고 있기 때문에, 나는 CNN이 과도하게 과잉 일 것이라고 강력히 의심한다. 그리고 모든 희소성 (많은 0)으로 인해 컨볼 루션에서 많은 0이 생깁니다.

나는 실제로 바닐라 (피드 포워드) 신경망을 제안하고 있는데, 희소 함에도 불구 하고이 분류를 아주 쉽게 할 수 있다고 생각합니다.


1
매우 철저한 답변. 한 가지 짧은 버전은 분석 솔루션이있는 질문에 대해 ML이 일반적으로 올바른 접근법이 아니라는 것입니다.
Amrinder Arora

0

내가 이해하는 한, 네 문제는 패턴 인식과 관련이 있습니다. 접근 방식은 이전에 신경망에 제공 한 레이블로 입력을 분류하는 것이므로 컨볼 루션 신경망이 문제가 될 수 있다고 생각합니다.


0

문제

제안 된 시스템의 교육 데이터는 다음과 같습니다.

  • 솔리드 형상 설계의 표면 인접성을 나타내는 부울 행렬
  • 또한 내부와 외부 모서리의 각도를 구분하는 매트릭스로 표현됩니다.
  • 라벨 (아래에 설명)

볼록 및 오목은 표면 기울기 불연속을 설명하는 올바른 용어가 아닙니다. 엔드 밀과 같은 내부 모서리는 실제로 오목한 표면이 아닙니다. 이상적인 솔리드 모델의 관점에서 표면 경사 불연속은 반지름이 0입니다. 같은 이유로 외부 모서리는 표면의 볼록한 부분이 아닙니다.

제안 된 훈련 된 시스템의 의도 된 출력은 특정 솔리드 기하학적 설계 특징의 존재를 나타내는 부울 배열입니다.

  • 하나 이상의 슬롯
  • 하나 이상의 보스
  • 하나 이상의 구멍
  • 하나 이상의 포켓
  • 하나 이상의 단계

이 부울 값 배열은 훈련을위한 레이블로도 사용됩니다.

접근시 가능한주의 사항

이 접근법에는 매핑 불일치가 있습니다. 그들은 대략 네 가지 범주 중 하나에 속합니다.

  • CAD 모델의 토폴로지를 매트릭스에 매핑하여 작성된 모호성-제안 된 매트릭스 인코딩에서 기본적으로 캡처되지 않은 솔리드 형상
  • 매트릭스가없는 CAD 모델 (가장자리가 내각에서 외각으로 변하거나 곡률에서 나오는 경우)
  • 매트릭스에서 피쳐를 식별 할 때의 모호함-매트릭스에서 패턴을 식별 할 수있는 피쳐간에 겹칩니다.
  • 다섯 가지 중 하나가 아닌 기능을 설명하는 행렬-개발시 다운 스트림 데이터 손실 문제가 될 수 있음

이는 일부 기계 설계 도메인에서 공통적 일 수있는 토폴로지 문제의 몇 가지 예일 뿐이며 데이터 매핑을 난독 화합니다.

  • 구멍은 내부 반지름이있는 상자 프레임과 동일한 행렬을 갖습니다.
  • 외부 반지름으로 인해 행렬이 지나치게 단순화 될 수 있습니다.
  • 모서리와 교차하는 구멍은 매트릭스 형태의 다른 토폴로지와 구분할 수 없습니다.
  • 두 개 이상의 교차 관통 구멍이 인접 모호함을 나타낼 수 있습니다.
  • 중앙 구멍이있는 둥근 보스를지지하는 플랜지와 리브는 구분할 수 없습니다.
  • 공과 원환 체는 같은 행렬을 가지고 있습니다.
  • 180도 비틀림이있는 육각형 십자형의 디스크와 밴드는 동일한 매트릭스를 갖습니다.

이러한 가능한 경고는 질문에 정의 된 프로젝트에 대해 우려되거나 우려되지 않을 수 있습니다.

면 크기를 설정하면 효율성과 안정성의 균형이 유지되지만 사용성이 제한됩니다. RNN 변형 중 하나를 활용하는 접근 방식이있을 수 있으며, 간단한 형상의 효율성을 저하시키지 않으면 서 임의의 모델 크기를 적용 할 수 있습니다. 이러한 접근법은 각각의 예에 대한 시퀀스로서 매트릭스를 재생하고, 잘 알려진 정규화 전략을 각 매트릭스에 적용하는 것을 포함 할 수있다. 훈련 효율에 대한 엄격한 제약이없고면의 수에 대한 실제 최대 값이 존재하면 패딩이 효과적 일 수 있습니다.

출력으로 카운트와 확실성을 고려

[0.0,1.0] 훈련 데이터의 라벨링을 변경하지 않고 출력 셀의 활성화 기능의 범위 일 수있다.

피처 당 단일 부울 대신 다중 이진 출력 셀을 집계하여 생성 된 부호없는 이진 표현으로 음이 아닌 정수 출력을 사용할 가능성도 최소한 고려해야합니다. 다운 스트림에서 기능을 계산하는 기능이 중요해질 수 있습니다.

이것은 각 솔리드 지오메트리 모델의 각 특징에 대해 훈련 된 네트워크에 의해 생성 될 수있는 5 개의 현실적인 순열을 고려해야합니다.

  • 존재를 나타내는 부울
  • 인스턴스 수를 나타내는 음이 아닌 정수
  • 하나 이상의 인스턴스에 대한 부울 및 실제 확실성
  • 하나 이상의 인스턴스에 대한 가장 확실한 인스턴스 수와 실제 확실성을 나타내는 음이 아닌 정수
  • 음이 아닌 실제 평균 및 표준 편차

패턴 인식 또는 무엇?

현재의 문화에서,이 문제에 인공 네트워크를 적용하는 것은 일반적으로 컴퓨터 비전 또는 오디오 처리의 관점에서 패턴 인식으로 설명되지 않습니다. 근접성, 정확성 및 신뢰성 기준이 주어지면 아이디어 매핑의 거친 방향으로 수렴을 통해 복잡한 기능 매핑을 학습하는 것으로 생각됩니다. 기능의 매개 변수에프주어진 입력 엑스관련 라벨을 향해 움직입니다. 와이 훈련 중.

에프(엑스)와이

네트워크에 의해 기능적으로 근사되는 개념 클래스가 학습에 사용 된 샘플에 충분히 표현되어 있고 대상 응용 프로그램이 나중에 그리는 것과 같은 방식으로 훈련 예제 샘플이 그려지면 근사값이 충분할 수 있습니다.

정보 이론의 세계에서, 더 높은 수준의 AI 개념적 추상화에서와 같이 패턴 인식과 기능적 근사 사이의 구별이 흐려진다.

실행할 수 있음

네트워크가 매트릭스를 설계 기능의 [부울] [인디케이터 배열]에 매핑하는 법을 배우겠습니까?

위에서 언급 한 경고를 프로젝트 이해 관계자가 수용 할 수있는 경우, 예를 잘 표시하고 충분한 수로 제공하며, 데이터 정규화, 손실 기능, 하이퍼 파라미터 및 레이어 배열이 제대로 설정되면 수렴이 발생할 가능성이 있습니다. 교육 및 합리적인 자동화 기능 식별 시스템. 다시 한 번, 사용 편의성은 훈련 사례와 같은 개념 클래스에서 도출 된 새로운 견고한 형상에 달려 있습니다. 시스템 안정성은 이후 사용 사례를 대표하는 교육에 의존합니다.

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