Google DeepDream xây dựng


12

Tôi đã thấy một vài câu hỏi trên trang web này về Deep Dream, tuy nhiên không ai trong số họ dường như thực sự nói về những gì DeepDream đang làm, cụ thể. Theo như tôi đã thu thập được, họ dường như đã thay đổi chức năng mục tiêu và cũng thay đổi việc sao lưu để thay vì cập nhật trọng số, họ cập nhật hình ảnh đầu vào.

Tôi tự hỏi nếu có ai biết chính xác những gì Google đã làm. Họ đề cập đến một trong những bài báo của họ áp đặt các linh mục Bayes khi họ thực hiện tối ưu hóa, và với điều này tôi có thể tưởng tượng rằng việc lấy mạng lưới thần kinh để tạo ra một hình ảnh cho mỗi nhãn không khó lắm - chúng ta có thể chỉ cần đặt nhãn tối ưu hóa vector đầu vào cho phù hợp.

Tuy nhiên, phần thú vị của giấc mơ sâu sắc là nó thực hiện điều này trên mỗi lớp và về vấn đề này tôi không chắc chắn làm thế nào nó nhấn mạnh các chi tiết theo cách mỗi lớp.

Chắc chắn, cho ăn trong một hình ảnh sẽ cung cấp cho bạn các giá trị ở mỗi nơ-ron, nhưng sau đó làm thế nào chúng ta có thể sử dụng thông tin đó để phóng đại các chi tiết trong ảnh gốc? Tôi đã vật lộn để tìm bất kỳ bài viết chi tiết về điều này.

Tham khảo: Tại đây vzn đã trả lời một câu hỏi tương tự: /cs//a/44857/49671

Từ liên kết đó, có một triển khai Deepdream, tại đây: http://auduno.com/post/125362849838/visualizing-googlenet-groupes

Ngoại trừ việc nó không cung cấp sự phóng đại của các tính năng như được thảo luận ở đây: http://googleresearch.blogspot.com/2015/06/inceptionism- màng-deeper -into-neural.html

Trong đó cả hai đều hiển thị trực quan hóa các lớp cụ thể và các lớp cụ thể và nói:

Thay vì quy định chính xác tính năng nào chúng tôi muốn mạng khuếch đại, chúng tôi cũng có thể để mạng đưa ra quyết định đó. Trong trường hợp này, chúng tôi chỉ cần cung cấp cho mạng một hình ảnh hoặc hình ảnh tùy ý và để mạng phân tích hình ảnh. Sau đó chúng tôi chọn một lớp và yêu cầu mạng tăng cường bất cứ thứ gì nó phát hiện ra.


2
Bản sao có thể có của Deep Dreamer
manlio

Câu trả lời:


7

Ý tưởng của DeepDream là thế này: chọn một số lớp từ mạng (thường là lớp chập), chuyển hình ảnh bắt đầu qua mạng để trích xuất các tính năng ở lớp đã chọn, đặt gradient ở lớp đó bằng với kích hoạt, sau đó sao lưu đến hình ảnh.

Tại sao nó có ý nghĩa? Theo trực giác, nó khuếch đại các tính năng được kích hoạt tối đa trong mạng. Bằng cách sao lưu lại gradient này, chúng tôi sẽ tạo một bản cập nhật hình ảnh sẽ tăng bất kỳ kích hoạt hiện có nào. Nếu có một máy dò giống như con mèo trong lớp và hình ảnh có chứa một số bản vá trông hơi giống một con mèo, DeepDream sẽ tăng kích hoạt này bằng cách cập nhật bản vá này để giống như con mèo hơn. Do đó, DeepDream đang cố gắng tìm mèo và chó ở mọi nơi trong ảnh (tập dữ liệu ImageNet có rất nhiều chó, vì vậy mạng có nhiều nơ-ron liên quan đến chó).

Nếu bạn nhìn vào , phần chính là objective_L2hàm tạo ra điều này: và sau đó backpropagates.dx=x

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.