ระดับความไวต่อขนาดเครือข่ายประสาทเทียม


11

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


(ที่มา: tinytux.com )

มีคุณสมบัติมากมายที่บ่งบอกถึงสิ่งนี้เช่นโครงสร้างใบหน้า อย่างไรก็ตามคุณสมบัติที่บอกได้มากที่สุดคืออัตราส่วนของขนาดหัวต่อขนาดร่างกาย :


(ที่มา: wikimedia.org )

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

ฉันสงสัยว่าสถาปัตยกรรมวานิลลาของซีเอ็นเอ็นจะมีอัตราส่วนที่ดีต่อร่างกายได้ดีแค่ไหน?

เมื่อเปรียบเทียบกับ RCNN ระดับภูมิภาคซึ่งสามารถรับกล่องขอบเขตบนร่างกายและศีรษะวานิลลาซีเอ็นเอ็นจะทำงานแย่กว่านี้หรือไม่?

ก่อนที่โลกจะแบนราบในวานิลลาซีเอ็นเอ็น (เช่นหลังจากการโน้มน้าวใจทั้งหมด) แต่ละเอาต์พุตมีเขตข้อมูลที่เปิดกว้างที่สอดคล้องกันซึ่งควรมีความรู้สึกของขนาด ฉันรู้ว่า RCNN ใช้ประโยชน์จากสิ่งนี้ได้เร็วขึ้นโดยการทำข้อเสนอกรอบขอบเขตในขั้นตอนนี้ดังนั้นตัวกรอง convolutional ก่อนหน้านี้จะทำการฝึกอบรมให้กับเครื่องชั่งทั้งหมดโดยอัตโนมัติ

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


1
คุณรู้หรือไม่ว่าเครื่องคำนวณอายุของคุณล้มเหลวตรงไหน? ทำไมคุณถึงคิดว่ามันเป็นสัดส่วนขนาดหัว คุณดูผลลัพธ์ของเลเยอร์กลางหรือไม่
Aksakal

@ Aksakal ฉันไม่คิดว่าเขาทดลองฝึก CNN จากสิ่งที่ฉันเข้าใจเขากำลังทำการทดสอบกับบริการบนเว็บที่มีอยู่: "ในการทำนายอายุจำนวนมากที่ฉันได้ลอง [.. ]"
DeltaIV

คำตอบ:


8

ประการแรกขอบคุณสำหรับการโพสต์คำถามที่น่าสนใจมาก

เพื่อที่จะตอบมันไม่นาน, วานิลลา convnet ผ่านการฝึกอบรมแบบ end-2-end ที่จะทำนายอายุจากภาพถ่ายโดยทั่วไปจะมีแนวโน้มที่จะผิดพลาดภาพประเภทเช่นเดียวที่คุณโพสต์ ประการที่สองทราบว่าถูกต้องประมาณอายุของคนที่เป็นงานที่ไม่ได้เกือบ 1

ข้อแตกต่างที่สำคัญจากวิธีที่คุณนำเสนอโดยใช้เครื่องตรวจจับวัตถุบางตัว (ไม่ว่าจะเป็น RCNN, Faster RCNN, YOLO หรือ SSD) คือคุณกำลังใช้ข้อมูลที่แตกต่างกันในการฝึกอบรมนางแบบ CNN ได้รับการฝึกฝนเฉพาะในรูปและต้องการค้นหาคุณสมบัติที่จำเป็นทั้งหมดด้วยตัวเอง เป็นไปได้มากที่สุดที่จะพบกับคุณสมบัติใบหน้าต่าง ๆ แต่ก็ยังต้องพึ่งพาเสื้อผ้าและอาจเป็นฉาก (เด็ก ๆ อาจจะอยู่ในรูปด้วยของเล่นบางตัวผู้ใหญ่จะมีแนวโน้มมากขึ้นในสภาพแวดล้อมที่ทำงาน ฯลฯ ) คุณสมบัติเหล่านี้จะไม่ส่งผลต่อตัวอย่างตัวอย่างของคุณ

ในทางตรงกันข้ามถ้าคุณฝึกอบรมเครือข่ายในการตรวจจับวัตถุอย่างชัดเจนว่า "ลำตัว" และ "หัว" คุณจะให้ข้อมูลเพิ่มเติมว่าวัตถุเหล่านี้มีความสำคัญสำหรับงานและทำให้ลดความซับซ้อนของปัญหา2

ในขณะที่วิธีการตรวจจับส่วนหัวและลำตัวจากนั้นประเมินอัตราส่วนขนาดของกล่องขอบเขตฟังดูน่าสนใจฉันสามารถเห็นอุปสรรคหลายประการ:

  1. การรับข้อมูล: ฉันไม่ทราบถึงความพร้อมใช้งานของชุดข้อมูลขนาดใหญ่ซึ่งจะมีทั้งกล่องอายุและขอบเขต
  2. FOV ที่ไม่สมบูรณ์: ในภาพส่วนใหญ่ (เช่นทั้งตัวอย่างของคุณ) ผู้คนจะไม่ปรากฏขึ้นทั้งหมด คุณจะต้องจัดการกับความจริงที่ว่าลำตัวที่ถูกล้อมรอบกล่องจะไม่สมบูรณ์แบบเสมอไปเพราะส่วนหนึ่งของบุคคลนั้นไม่ได้อยู่ในภาพและตาข่ายจะต้องเดาว่าส่วนใหญ่หายไปไหน ไม่น่าจะจับข้อมูลนี้) นอกจากนี้ตัวตรวจจับวัตถุดังกล่าวไม่ได้จัดการการคาดการณ์ของวัตถุบางส่วนอย่างเหมาะสม สิ่งนี้อาจทำให้เกิดเสียงดังมากเกินไปในรุ่น
  3. การโพสท่าที่หลากหลาย: อัตราส่วนของลำตัวต่อหัวจะแตกต่างกันมากสำหรับผู้ที่ดูแบบด้านหน้าและด้านข้าง
  4. ผู้ใหญ่: ดูเหมือนว่าอัตราส่วนจะทำงานได้ดีในการทำนายอายุระหว่าง 0-21 แต่ฉันไม่เห็นว่ามันจะช่วยทำนายอายุของผู้ใหญ่ได้อย่างไร (ฉันคิดว่าอัตราส่วนนั้นจะไม่เปลี่ยนแปลงเมื่ออายุมากขึ้น)

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

ฉันเดาว่าวิธีที่ดีที่สุดในการทำงานนี้คือ 1) ตรวจจับใบหน้า 2) ทำนายอายุเฉพาะจากการครอบตัดใบหน้า (ลบข้อมูลที่อาจทำให้เข้าใจผิด) โปรดทราบว่าบางสถาปัตยกรรมที่คล้ายกับ R-CNN โดยใช้การรวมกำไรจาก ROI สามารถได้รับการฝึกฝนให้ทำสิ่งนี้ในตอนท้ายของ 2


1แม้จะใช้วิธีการทางการแพทย์ที่ซับซ้อนมาก (ซึ่งให้ข้อมูลมากกว่ารูปถ่ายของบุคคล) ซึ่งไม่สามารถทำได้อย่างถูกต้อง ดูนี้ด้าย Quora สำหรับข้อมูลเพิ่มเติม

2ตรวจสอบบทความเรื่องความรู้: ความสำคัญของข้อมูลก่อนเพื่อเพิ่มประสิทธิภาพสำหรับตัวอย่างวิธีการให้ความรู้ขั้นกลางเกี่ยวกับงานสามารถทำให้การเรียนรู้ง่ายขึ้นมาก


8

ซีเอ็นเอ็นนั้นมีคลาสที่ใหญ่เกินไปที่จะตอบคำถามนี้ LeNet, AlexNet, ZFNet และ VGG16 จะทำงานแตกต่างจาก GoogLeNet ซึ่งสร้างขึ้นโดยเฉพาะเพื่อทำสิ่งที่ R-CNN ทำส่วนใหญ่ด้วยสถาปัตยกรรม CNN (คุณอาจรู้จัก GoogLeNet ด้วยชื่อ Inception หน่วยพื้นฐาน (เครือข่ายย่อย) ที่สร้าง GoogLeNet) ในที่สุด ResNets จะทำงานแตกต่างกัน และสถาปัตยกรรมเหล่านี้ไม่ได้ถูกสร้างขึ้นเพื่อจำแนกคลาสอายุ แต่คลาส ImageNet 1000 ซึ่งไม่มีคลาสอายุสำหรับมนุษย์ หนึ่งสามารถใช้การเรียนรู้การถ่ายโอน(ถ้าคุณมีภาพการฝึกอบรมเพียงพอ) เพื่อฝึกนางแบบที่ผ่านการฝึกอบรมที่มีอยู่อย่างกว้างขวางด้านบนและดูว่ามันทำงานอย่างไร โดยทั่วไปแล้วโดยเฉพาะอย่างยิ่งสถาปัตยกรรมที่เก่ากว่า (สมมติว่าสูงถึง VGG16) มีการเรียนรู้ที่ยาก "คุณสมบัติทั่วโลก" ซึ่งจำเป็นต้องเรียนรู้เกี่ยวกับ "หัว" (คุณลักษณะที่ซับซ้อน), "ลำตัว" (คุณลักษณะที่ซับซ้อนอื่น) และ อัตราส่วน (ซึ่งต้องการให้ทั้งสองคุณสมบัติมีความสัมพันธ์เชิงพื้นที่บางอย่าง) สิ่งนี้เป็นสิ่งที่ Capsule Networks สามารถทำได้

Convnets เกิดมาเพื่อทำสิ่งที่ตรงกันข้าม: มีความอ่อนไหวต่อคุณลักษณะในท้องถิ่นและค่อนข้างอ่อนไหวต่อตำแหน่ง / ขนาดที่สัมพันธ์กัน Convnet ที่ดีควรรู้จัก "แมวขาว" ไม่ว่าจะเป็นภาพโคลสอัพหรือภาพอเมริกัน การรวมเลเยอร์ convolutional (ซึ่งมีความอ่อนไหวต่อคุณลักษณะท้องถิ่น) เข้ากับเลเยอร์รวมกัน (ซึ่งเอาส่วนหนึ่งของความไวต่อการเปลี่ยนแปลงในระดับหรือการแปลของภาพ) ให้คุณสถาปัตยกรรมซึ่งในรูปแบบพื้นฐานที่สุดไม่ดีในการเรียนรู้ประเภทเชิงพื้นที่ ความสัมพันธ์ระหว่างวัตถุที่คุณกำลังมองหา มีตัวอย่างอยู่ที่ไหนสักแห่ง (แต่ฉันไม่สามารถหามันได้อีกแล้ว) ที่ไหนหลังจากแยกรูปแมวในรูปสี่เหลี่ยม nonoverlapping ที่เรียงซ้อนกันแล้ววางรวมกันตามลำดับแบบสุ่ม CNN จะทำการระบุรูปภาพเป็นcat. สิ่งนี้บ่งชี้ว่า CNN มีความอ่อนไหวต่อคุณลักษณะท้องถิ่น (พื้นผิวหรืออะไรทำนองนั้น) มากกว่าความสัมพันธ์เชิงพื้นที่ระหว่างคุณลักษณะระดับสูง ดูเพิ่มเติมที่เอกสารเครือข่ายแคปซูลสำหรับการสนทนาเกี่ยวกับเรื่องนี้ ฮินตันยังแสดงให้เห็นเช่นนี้ในวิดีโอเกี่ยวกับข้อ จำกัด ของ convnets

การเดาที่ฉับไวของฉันคือหนึ่งในสถาปัตยกรรมล่าสุดจะมีความสามารถอย่างสมบูรณ์แบบ (ได้รับข้อมูลเพียงพอ) ของผู้ชายที่ฉลาดจากเด็ก ๆ แต่ไม่ใช่เพราะ "เกณฑ์" ในความสัมพันธ์ของตัวชี้วัดระหว่างคุณลักษณะระดับสูงเช่น "หัว" และ "ลำตัว" . มันจะได้เรียนรู้ความสม่ำเสมอทางสถิติบางอย่างอาจไม่สามารถสังเกตเห็นได้อย่างสมบูรณ์สำหรับมนุษย์ซึ่งแยกภาพสำหรับผู้ใหญ่ออกจากภาพเด็กในชุดฝึกอบรม


ฉันขอขอบคุณคำตอบของคุณ แต่ฉันมีปัญหาในการตกลง สถาปัตยกรรม RCNN นั้นมีโครงสร้างตัวกรองเป็นหลักเช่นเดียวกับการสนทนากับวัตถุเช่น VGG และ Resnet และเนื่องจาก RCNN สามารถตรวจจับสเกลและตำแหน่งสัมพัทธ์มันจึงเป็นไปตามที่ VGG และ Resnet ควรจะสามารถตรวจสอบสเกลได้ อย่างไรก็ตามสถาปัตยกรรม RCNN นั้นขึ้นอยู่กับข้อเสนอแบบกล่องซึ่งพวกเขาทำหลายพันต่อภาพหลังจากนั้นแต่ละข้อเสนอจะถูกประเมิน ดังนั้นดูเหมือนว่าถ้าฉันรวมข้อเสนอบางอย่างของกล่องเข้าด้วยกันอย่างน้อย Vanilla CNN ควรตรวจสอบมาตราส่วนได้ดีขึ้น ฉันไม่แน่ใจว่าจำเป็นหรือไม่
Alex R.

RCNN ไม่ใช่ CNN ไม่เพียง แต่คุณพลาดการค้นหาแบบเลือกสำหรับกล่องขอบเขต แต่คุณยังพลาด SVM เชิงเส้นและระยะ regressor กล่องขอบเขต นอกจากนี้ยังมีความแตกต่างอย่างมากระหว่างความสามารถในการตรวจสอบขนาดของ AlexNet (ซึ่งเป็น CNN ที่ใช้ในกระดาษ RCNN ดั้งเดิม) หรือ VGG และความสามารถของ GoogLeNet หรือ ResNet: GoogLeNet ได้รับการพัฒนาอย่างแม่นยำเพื่อทำสิ่งที่ RCNN ทำ ฉันคิดว่าทั้ง GoogLeNet และ ResNet สามารถจำแนกอายุได้ แต่ไม่มีวิธีที่จะรู้ว่าพวกเขาจะทำหรือไม่โดยใช้คุณสมบัติที่เหมาะสมกับเรา (อัตราส่วนส่วนลำตัว) หรือโดยการหาสถิติ 1 /
DeltaIV

2 / ระเบียบซึ่งมนุษย์ไม่เคยสังเกตเห็น ฉันขอแนะนำให้คุณทดลองและลอง แต่น่าเสียดายที่การสร้างฐานข้อมูลภาพเท่านั้นจะเป็นโครงการวิจัยในตัวเอง (เว้นแต่คุณจะทำงานใน บริษัท แฟชั่น)
DeltaIV

1
ฉันขอโทษสำหรับความสับสน ฉันรู้ว่ามีอีก 20 RCNN ที่แตกต่างกันออกไปมีสถาปัตยกรรมแต่ละคนอ้างว่าเป็นคนล้าสมัย
Alex R.

1
blog.piekniewski.info/2016/12/29/can-a-deep-net-see-a-catนอกจากนี้ยังมีปัญหาที่แตกต่างกัน แต่ยังเกี่ยวข้องกับการจับคู่พื้นผิวและจากนักวิจัยที่เคารพนับถือมากขึ้นarxiv.org/pdf/ 1703.06857
DeltaIV

0

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

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