Google DeepDream อธิบายแล้ว


12

ฉันเคยเห็นคำถามสองสามข้อเกี่ยวกับ Deep Dream ในเว็บไซต์นี้ แต่ดูเหมือนว่าไม่มีใครพูดถึง DeepDream ได้ว่าทำอะไรโดยเฉพาะ เท่าที่ฉันรวบรวมพวกเขาดูเหมือนจะเปลี่ยนฟังก์ชั่นวัตถุประสงค์และยังเปลี่ยน backpropagation เพื่อให้แทนที่จะอัปเดตตุ้มน้ำหนักที่พวกเขาอัพเดทภาพอินพุต

ฉันสงสัยว่าถ้าใครรู้ว่าสิ่งที่ Google ทำ พวกเขากล่าวถึงหนึ่งในบทความของพวกเขาที่เรียกว่านักบวชชาวเบย์เมื่อพวกเขาทำการหาค่าเหมาะที่สุดและด้วยเหตุนี้ฉันสามารถจินตนาการได้ว่าการใช้โครงข่ายประสาทเทียมเพื่อพ่นภาพสำหรับแต่ละฉลากนั้นไม่ใช่เรื่องยาก - เราสามารถกำหนดป้ายแล้ว ปรับเวกเตอร์อินพุตให้เหมาะสม

อย่างไรก็ตามส่วนที่น่าสนใจของความฝันที่ลึกล้ำก็คือมันทำแบบนี้ต่อเลเยอร์และในเรื่องนี้ฉันไม่ค่อยแน่ใจว่ามันจะเน้นรายละเอียดอย่างไรต่อเลเยอร์

แน่นอนว่าการป้อนภาพจะให้คุณค่ากับคุณในแต่ละเซลล์ประสาท แต่ถ้าเช่นนั้นเราจะใช้ข้อมูลนั้นเพื่ออธิบายรายละเอียดที่เกินจริงในภาพต้นฉบับได้อย่างไร ฉันพยายามหารายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้

การอ้างอิง: ที่นี่ vzn ตอบคำถามที่คล้ายกัน: https://cs.stackexchange.com/a/44857/49671

จากลิงก์นั้นมีการนำ Deepdream มาใช้ที่นี่: http://auduno.com/post/125362849838/visualizing-googlenet-classes

ยกเว้นว่ามันจะไม่มีคุณสมบัติที่พูดเกินจริงตามที่กล่าวไว้ที่นี่: http://googleresearch.blogspot.com/2015/06/inceptionism-going-deeper-into-neural.html

ที่ซึ่งทั้งคู่แสดงการสร้างภาพข้อมูลของคลาสเฉพาะและเลเยอร์เฉพาะและพูดว่า:

แทนที่จะกำหนดคุณสมบัติที่เราต้องการให้เครือข่ายขยายแน่นอนเราสามารถปล่อยให้เครือข่ายตัดสินใจได้ ในกรณีนี้เราเพียงแค่ป้อนรูปภาพหรือรูปภาพตามอำเภอใจของเครือข่ายและให้เครือข่ายวิเคราะห์รูปภาพ จากนั้นเราเลือกเลเยอร์และขอให้เครือข่ายปรับปรุงสิ่งที่ตรวจพบ


2
สำเนาซ้ำซ้อนของDeep Dreamer
manlio

คำตอบ:


7

แนวคิดของ DeepDream คือ: เลือกเลเยอร์จากเครือข่าย (โดยปกติคือเลเยอร์แบบ Convolutional) ส่งภาพเริ่มต้นผ่านเครือข่ายเพื่อแยกคุณลักษณะที่เลเยอร์ที่เลือกตั้งค่าการไล่ระดับสีที่เลเยอร์นั้นเท่ากับการเปิดใช้งานของตัวเอง เพื่อภาพ

ทำไมมันถึงสมเหตุสมผล? โดยสังหรณ์ใจมันขยายคุณสมบัติที่เปิดใช้งานสูงสุดในเครือข่าย ด้วยการ backpropagating gradient นี้เราจะทำการอัพเดทรูปภาพที่จะเพิ่มการเปิดใช้งานที่มีอยู่ หากมีตัวตรวจจับคล้ายแมวอยู่ในเลเยอร์และภาพมีแพตช์บางตัวที่ดูเหมือนแมว DeepDream กระตุ้นการเปิดใช้งานนี้โดยการอัพเดตแพตช์นี้ให้เหมือนแมวมากขึ้น เป็นผลให้ DeepDream พยายามค้นหาแมวและสุนัขทุกที่ในรูปภาพ (ชุดข้อมูล ImageNet มีสุนัขจำนวนมากดังนั้นเครือข่ายมีเซลล์ประสาทที่เกี่ยวข้องกับสุนัขจำนวนมาก)

หากคุณดูรหัสส่วนสำคัญคือobjective_L2ฟังก์ชั่นที่ทำให้เกิดสิ่งนี้:จากนั้นจึงเพิ่มตำแหน่งแบ็คแพ็คdx=x

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.