Cách thêm các tính năng không phải hình ảnh dọc theo hình ảnh bên cạnh làm đầu vào của CNN


14

Tôi đang đào tạo một mạng lưới thần kinh tích chập để phân loại hình ảnh trong điều kiện sương mù (3 lớp). Tuy nhiên, với mỗi khoảng 150.000 hình ảnh, tôi cũng có sẵn bốn biến số khí tượng có thể giúp dự đoán các lớp của hình ảnh. Tôi đã tự hỏi làm thế nào tôi có thể thêm các biến khí tượng (ví dụ nhiệt độ, tốc độ gió) vào cấu trúc CNN hiện có để nó có thể giúp phân loại.

Một cách mà tôi có thể nghĩ đến là tạo ra một mạng lưới thần kinh tiếp theo (nhỏ) khác với CNN và sau đó nối các đầu ra của các lớp CNN và các lớp ẩn của mạng lưới thần kinh không hình ảnh với nhau ở lớp dày đặc.

Cách thứ hai tôi có thể nghĩ đến là chỉ cần liên hệ các tính năng này với lớp dày đặc. Tuy nhiên, trong trường hợp này, các biến không phải hình ảnh sẽ (tôi nghĩ) chỉ có thể đưa ra dự đoán tuyến tính.

Có cách nào khác (tốt hơn) mà các tính năng không phải hình ảnh có thể được đưa vào mô hình không? Và phương pháp nào nên được xem xét khi xem xét lượng dữ liệu tôi có?

Một câu hỏi khác mà tôi có là liệu tôi có nên giải phóng các lớp chập trong khi luyện tập với các tính năng không có hình ảnh này không? Các lớp của Resnet-18 (được khởi tạo là được đào tạo trước trên ImageNet) đã được tinh chỉnh bằng cách sử dụng các hình ảnh. Tôi đoán là tôi nên giữ chúng ở trạng thái đóng băng và chỉ giải phóng lớp dày đặc vì chỉ ở đây các tính năng không phải hình ảnh mới tiếp xúc với các tính năng hình ảnh (không sớm hơn trong CNN). Nếu tôi sai về điều này, xin vui lòng nói như vậy!


bạn có thể mô hình hóa phân phối tham gia giữa thêm_features và hình ảnh thông qua một số mô hình thế hệ như GAN, VAE. sau đó bạn có thể lấy các biến tiềm ẩn và sử dụng nó với tiêu chí được giám sát
Fadi Bakoura

Bản thân tôi cũng ở trong hoàn cảnh tương tự. Tôi đang sử dụng một chồng hình ảnh bầu trời trong 15 phút qua để thử và dự đoán đầu ra của các tấm pin mặt trời gần với máy ảnh trong 15 phút trong tương lai. Gần đây tôi đã quyết định đưa một số tính năng thời tiết vào chơi (một tính năng cho mỗi hình ảnh như trong trường hợp của bạn). Đề xuất đầu tiên của bạn hoạt động tốt hơn nhiều so với đề xuất thứ hai (bổ sung trực tiếp các tính năng phi đồ họa vào lớp dày đặc). Nói chính xác, đề xuất thứ hai dẫn đến các vấn đề với bình thường hóa. Tôi thấy rằng vì một số lý do mà tôi chưa thể giải thích được, lớp Batchnorm không thể bình thường hóa fea đồ họa
Vignesh Venugopal

@VigneshVenugopal vui lòng đề cập đến tôi trong các bình luận nếu không tôi không thể được thông báo. Câu hỏi của bạn là gì? :)
Truyền thông

Làm cách nào tôi có thể kết hợp tốc độ & ga và góc lái với các mạng của mình? Bạn có thể giải thích về dày đặc bao nhiêu thêm dày đặc? Điều gì phụ thuộc vào nó?
Nasrinzaghari

Câu trả lời:


10

Giải pháp của tôi giống như đề xuất đầu tiên của bạn, nhưng với những thay đổi nhỏ.

  1. Xây dựng các lớp chập của bạn và xếp chúng cho đến lớp phẳng. Mạng này nên được cung cấp với dữ liệu hình ảnh.
  2. Làm phẳng bản đồ kích hoạt của bạn
  3. Xây dựng một mạng lưới được kết nối đầy đủ với số lượng tế bào thần kinh và các lớp mong muốn.
  4. Nối các đầu ra của lớp dẹt của lưới chập và lưới được kết nối đầy đủ.
  5. thêm một số lớp dày đặc và kết nối chúng với lớp cuối cùng đại diện cho các lớp của bạn.

Bạn có thể sử dụng các hàm chi phí thông thường cho kiến ​​trúc này.


Trong Keras, bạn có thể làm điều đó với Concatenate()các lớp không?
Leevo

Đúng. Bạn nên nối chúng để đặt chúng cạnh nhau.
Truyền thông

Tôi sẽ sử dụng Concatenate()hoặc concatenate()lớp? Tôi không thể nói sự khác biệt
Leevo

Nó phụ thuộc vào cách bạn muốn tạo mạng của bạn. Nhân tiện, bạn có thể thấy danh sách đối số của mỗi. Họ khác nhau. Bạn cũng có thể muốn xem ở đây .
Truyền thông
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.