ความแตกต่างระหว่างคำว่า "เคอร์เนล" และ "ตัวกรอง" ในบริบทของเครือข่ายประสาทเทียมคืออะไร?
ความแตกต่างระหว่างคำว่า "เคอร์เนล" และ "ตัวกรอง" ในบริบทของเครือข่ายประสาทเทียมคืออะไร?
คำตอบ:
ในบริบทของเครือข่ายประสาทเทียมเคอร์เนล = ตัวกรอง = ตัวตรวจจับคุณสมบัติ
นี่เป็นภาพประกอบที่ยอดเยี่ยมจากบทแนะนำการเรียนรู้อย่างลึกซึ้งของ Stanford (อธิบายโดยDenny Britz )
ตัวกรองเป็นหน้าต่างบานเลื่อนสีเหลืองและค่าของมันคือ:
แมปคุณสมบัติเหมือนกับตัวกรองหรือ "เคอร์เนล" ในบริบทเฉพาะนี้ น้ำหนักของตัวกรองจะกำหนดคุณสมบัติเฉพาะที่ตรวจพบ
ตัวอย่างเช่น Franck ให้ภาพที่ดีเยี่ยม โปรดสังเกตว่าตัวกรอง / ฟีเจอร์ตัวตรวจจับของเขามี x1 ตามองค์ประกอบแนวทแยงมุมและ x0 ตามองค์ประกอบอื่น ๆ ทั้งหมด น้ำหนักเคอร์เนลนี้จะตรวจจับพิกเซลในภาพที่มีค่า 1 ตามแนวทแยงมุมของภาพ
สังเกตว่าคุณสมบัติที่เกิดขึ้นนั้นแสดงให้เห็นถึงค่า 4 ทุกภาพมี "1" ตามค่าเส้นทแยงมุมของฟิลเตอร์ 3x3 (ดังนั้นการตรวจจับฟิลเตอร์ในส่วน 3x3 เฉพาะของภาพ) และค่าที่ต่ำกว่า 2 ในพื้นที่ของ รูปภาพที่ตัวกรองนั้นไม่ตรงกันอย่างยิ่ง
แล้วเราจะใช้คำว่า "เคอร์เนล" สำหรับน้ำหนักสองมิติและคำว่า "ตัวกรอง" สำหรับโครงสร้าง 3 มิติของหลายเมล็ดซ้อนกันหรือไม่ มิติของตัวกรองคือ (สมมติว่าเมล็ดสี่เหลี่ยม) เคอร์เนลแต่ละอันที่กรองจะได้รับการโน้มน้าวด้วยหนึ่งในช่องของอินพุต (ขนาดอินพุตเช่นภาพ RGB) มันเหมาะสมที่จะใช้คำที่แตกต่างเพื่ออธิบายน้ำหนักสองมิติและโครงสร้างของน้ำหนัก 3 มิติที่แตกต่างกันเนื่องจากการคูณเกิดขึ้นระหว่างอาร์เรย์ 2 มิติจากนั้นผลลัพธ์จะถูกรวมเพื่อคำนวณการดำเนินการ 3 มิติ
ปัจจุบันมีปัญหากับระบบการตั้งชื่อในฟิลด์นี้ มีหลายคำที่อธิบายสิ่งเดียวกันและแม้กระทั่งคำที่ใช้แทนกันสำหรับแนวคิดที่แตกต่างกัน! ใช้เป็นตัวอย่างคำศัพท์ที่ใช้เพื่ออธิบายผลลัพธ์ของเลเยอร์ convolution: แผนที่คุณลักษณะ, ช่องทาง, การเปิดใช้งาน, เทนเซอร์, เทนเซอร์, เครื่องบิน, ฯลฯ ...
ตามวิกิพีเดีย "ในการประมวลผลภาพเคอร์เนลเป็นเมทริกซ์ขนาดเล็ก"
ขึ้นอยู่กับวิกิพีเดีย "เมทริกซ์คืออาร์เรย์สี่เหลี่ยมเรียงในแถวและคอลัมน์"
ถ้าเคอร์เนลเป็นอาร์เรย์สี่เหลี่ยมแล้วมันไม่สามารถเป็นโครงสร้าง 3 มิติของน้ำหนักซึ่งโดยทั่วไปเป็นขนาด
ฉันไม่สามารถยืนยันได้ว่านี่เป็นคำศัพท์ที่ดีที่สุดแต่ดีกว่าใช้คำว่า "เคอร์เนล" และ "ตัวกรอง" แทนกันได้ ยิ่งไปกว่านั้นเราต้องการคำอธิบายแนวคิดของอาร์เรย์ 2D ที่แตกต่างที่สร้างตัวกรอง
คำตอบที่มีอยู่นั้นยอดเยี่ยมและตอบคำถามได้อย่างครอบคลุม เพียงแค่ต้องการเพิ่มตัวกรองในเครือข่าย Convolutional ที่ใช้ร่วมกันทั่วทั้งภาพ (กล่าวคือการป้อนข้อมูลจะถูกสร้างขึ้นด้วยตัวกรองดังที่เห็นในคำตอบของ Franck) ลานรับสัญญาณของเซลล์ประสาทโดยเฉพาะมีการป้อนข้อมูลทุกหน่วยงานที่มีผลต่อเซลล์ประสาทในคำถาม เขตข้อมูลที่เปิดกว้างของเซลล์ประสาทในเครือข่าย Convolutional นั้นโดยทั่วไปจะมีขนาดเล็กกว่าเขตข้อมูลที่เปิดกว้างของเซลล์ประสาทในเครือข่ายหนาแน่นของตัวกรองที่ใช้ร่วมกัน (เรียกอีกอย่างว่าพารามิเตอร์ที่ใช้ร่วมกัน )
พารามิเตอร์การแบ่งปันฟาโรห์ประโยชน์บางอย่างใน CNNs คือคุณสมบัติที่เรียกว่าequivariance กับการแปล นี่คือการพูดว่าถ้าอินพุตถูกรบกวนหรือแปลแล้วเอาต์พุตจะถูกแก้ไขในลักษณะเดียวกัน Ian Goodfellow ให้ตัวอย่างที่ดีเยี่ยมใน Deep Learning Book เกี่ยวกับวิธีที่ผู้ปฏิบัติงานสามารถใช้ประโยชน์จากความไม่เท่าเทียมใน CNNs:
เมื่อประมวลผลข้อมูลอนุกรมเวลานั่นหมายความว่า convolution จะสร้างไทม์ไลน์ที่แสดงเมื่อคุณลักษณะต่างๆปรากฏขึ้นในอินพุตหากเราย้ายเหตุการณ์ในเวลาต่อมาในอินพุทการแสดงแบบเดียวกันนั้นจะปรากฏในเอาต์พุต ในภายหลัง ในทำนองเดียวกันกับรูปภาพ Convolution จะสร้างแผนที่ 2 มิติซึ่งมีคุณสมบัติบางอย่างที่ปรากฏในอินพุต ถ้าเราย้ายวัตถุในอินพุทการเป็นตัวแทนของมันจะย้ายจำนวนเท่ากันในเอาท์พุท สิ่งนี้มีประโยชน์เมื่อเรารู้ว่าบางฟังก์ชั่นของพิกเซลจำนวนเล็กน้อยที่อยู่ใกล้เคียงนั้นมีประโยชน์เมื่อนำไปใช้กับตำแหน่งอินพุตหลายแห่ง ตัวอย่างเช่นเมื่อประมวลผลภาพจะมีประโยชน์ในการตรวจจับขอบในชั้นแรกของเครือข่าย convolutional ขอบเดียวกันปรากฏขึ้นทุกที่ในภาพดังนั้นจึงเป็นเรื่องจริงที่จะใช้พารามิเตอร์ร่วมกันในภาพทั้งหมด