CNN의 입력으로 측면 이미지와 함께 비 이미지 기능을 추가하는 방법


14

안개 조건 (3 클래스)에서 이미지를 분류하기 위해 회선 신경 네트워크를 훈련하고 있습니다. 그러나 약 150.000 개의 이미지 각각에 대해 이미지 클래스를 예측하는 데 도움이되는 4 가지 기상 변수가 있습니다. 기존 CNN 구조에 기상 변수 (예 : 온도, 풍속)를 추가하여 분류에 도움을 줄 수있는 방법이 궁금했습니다.

내가 이미 생각할 수있는 한 가지 방법은 CNN과 함께 다른 (작은) 피드 포워드 신경망을 만든 다음 CNN 레이어의 출력과 비 이미지 신경망의 숨겨진 레이어를 조밀 한 레이어에서 서로 연결하는 것입니다.

내가 생각할 수있는 두 번째 방법은 이러한 기능을 고밀도 레이어에 접촉하는 것입니다. 그러나이 경우 이미지가 아닌 변수는 선형 예측 만 할 수 있습니다.

비 이미지 기능이 모델에 포함될 수있는 다른 방법이 있습니까? 그리고 내가 가지고있는 데이터의 양을 고려할 때 권장되는 방법은 무엇입니까?

내가 가지고있는 또 다른 질문은 이러한 비 이미지 기능으로 훈련하면서 회선 레이어를 고정 해제해야하는지 여부입니다. ImageNet에서 사전 훈련 된 것으로 초기화 된 Resnet-18의이 레이어는 이미 이미지를 사용하여 미세 조정되었습니다. 내 생각에 비 이미지 기능이 이미지 기능 (이전의 CNN에서는 아님)과 '접촉'하기 때문에 여기서는 고정 된 상태로 유지하고 밀도가 높은 레이어 만 고정 해제해야합니다. 내가 틀렸다면 그렇게 말하십시오!


GAN, VAE와 같은 생성 모델을 통해 additional_features와 이미지 간의 조인 분포를 모델링 할 수 있습니다. 잠복 변수를
가져와

나는 비슷한 상황에 처해있다. 나는 지난 15 분 동안 하늘 이미지 스택을 사용하여 15 분 후에 카메라에 가까운 태양 전지 패널의 출력을 예측하고 시도합니다. 최근에 여러 날씨 기능을 사용하기로 결정했습니다 (귀하의 경우와 같이 각 이미지마다 하나씩). 첫 번째 제안은 두 번째 제안보다 훨씬 효과적이었습니다 (고밀도 레이어에 비 그래픽 기능을 직접 추가하는 것). 정확하게 말하면, 두 번째 제안은 정규화 문제를 야기했습니다. 나는 아직 설명 할 수없는 어떤 이유로 Batchnorm 레이어가 그래픽 기능을 정규화 할 수 없다는 것을 발견했다
Vignesh Venugopal

@VigneshVenugopal 그렇지 않으면 알 수없는 의견에 저를 언급하십시오. 질문이 뭐야? :)
Media

네트워크에 속도 및 스로틀 및 조향 각도를 연결하려면 어떻게해야합니까? 밀도가 얼마나 많은지에 대해 설명해 주시겠습니까? 그것에 무엇입니까?
Nasrinzaghari

답변:


10

내 솔루션은 첫 번째 권장 사항과 비슷하지만 약간 변경되었습니다.

  1. 컨벌루션 레이어를 구성하고 평평한 레이어까지 쌓아 올립니다. 이 네트워크에는 이미지 데이터가 제공되어야합니다.
  2. 활성화 맵을 평평하게
  3. 원하는 수의 뉴런과 레이어로 완전히 연결된 네트워크를 구성하십시오.
  4. 컨볼 루션 네트의 평평한 층과 완전히 연결된 네트의 출력을 연결합니다.
  5. 밀도가 높은 레이어를 추가하고 클래스를 나타내는 마지막 레이어에 연결하십시오.

이 아키텍처에 관례적인 비용 함수를 사용할 수 있습니다.


Keras에서 Concatenate()레이어로 할 수 있습니까?
Leevo

예. 서로 연결하기 위해 연결해야합니다.
Media

내가 사용하여야한다 Concatenate()또는 concatenate()레이어? 차이점을 알 수 없습니다
Leevo

네트워크 생성 방법에 따라 다릅니다. 그건 그렇고, 당신은 각각의 인수 목록을 볼 수 있습니다. 그들은 다릅니다. 당신은 또한 여기를 보고 싶을 수도 있습니다 .
Media
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.