เลเยอร์ใดที่ใช้เวลามากขึ้นในการฝึกอบรมของ CNN Convolution Layer กับ FC FC


11

ใน Convolutional Neural Network เลเยอร์ใดที่ใช้เวลาสูงสุดในการฝึกอบรม? Convolution Layer หรือ Layer ที่เชื่อมต่อเต็ม? เราสามารถใช้สถาปัตยกรรม AlexNet เพื่อทำความเข้าใจกับสิ่งนี้ ฉันต้องการที่จะเห็นการแบ่งเวลาของกระบวนการฝึกอบรม ฉันต้องการเปรียบเทียบเวลาแบบสัมพัทธ์เพื่อให้เราสามารถกำหนดค่า GPU คงที่ได้

คำตอบ:


11

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

โดยทั่วไปใน CNN ใด ๆ เวลาสูงสุดของการฝึกอบรมจะเกิดขึ้นใน Back-Propagation ของข้อผิดพลาดใน Layer ที่เชื่อมต่อเต็มที่ (ขึ้นอยู่กับขนาดของภาพ) นอกจากนี้หน่วยความจำสูงสุดยังครอบครองโดยพวกเขา นี่คือสไลด์จาก Stanford เกี่ยวกับพารามิเตอร์ VGG Net:

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

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

(3* * * *3* * * *3)(3* * * *3* * * *3)224* * * *224224* * * *224* * * *(3* * * *3* * * *3)64224* * * *22464* * * *224* * * *224* * * *(3* * * *3* * * *3)87* * * *106

56* * * *56* * * *25656* * * *56(3* * * *3* * * *256)56* * * *56256* * * *56* * * *56* * * *(3* * * *3* * * *256)1850* * * *106

sเสื้อRผมdอี=1

ชั่วโมงannอีล.sโอยูเสื้อพียูเสื้อ* * * *(พีผมxอีล.Oยูเสื้อพียูเสื้อชั่วโมงอีผมก.ชั่วโมงเสื้อ* * * *พีผมxอีล.Oยูเสื้อพียูเสื้อWผมdเสื้อชั่วโมง)* * * *(ผมล.เสื้ออีRชั่วโมงอีผมก.ชั่วโมงเสื้อ* * * *ผมล.เสื้ออีRWผมdเสื้อชั่วโมง* * * *ชั่วโมงannอีล.sผมnพียูเสื้อ)

ขอบคุณ GPU ที่รวดเร็วของเราทำให้เราสามารถจัดการการคำนวณขนาดใหญ่เหล่านี้ได้อย่างง่ายดาย แต่ในชั้น FC นั้นจำเป็นต้องโหลดเมทริกซ์ทั้งหมดซึ่งทำให้เกิดปัญหาหน่วยความจำซึ่งโดยทั่วไปไม่ใช่กรณีของเลเยอร์ convolutional ดังนั้นการฝึกอบรมเลเยอร์ convolutional จึงยังคงง่าย นอกจากนี้สิ่งเหล่านี้จะต้องถูกโหลดในหน่วยความจำ GPU เองและไม่ใช่ RAM ของ CPU

นี่คือแผนภูมิพารามิเตอร์ของ AlexNet:

ป้อนคำอธิบายรูปภาพที่นี่

และนี่คือการเปรียบเทียบประสิทธิภาพของสถาปัตยกรรม CNN ต่างๆ:

ป้อนคำอธิบายรูปภาพที่นี่

ฉันขอแนะนำให้คุณดูCS231n Lecture 9โดย Stanford University เพื่อทำความเข้าใจเกี่ยวกับซอกและ crannies ของสถาปัตยกรรมของ CNN


4

เนื่องจาก CNN มีการดำเนินการ convolution แต่ DNN ใช้ Converive divergence สำหรับการฝึกอบรม ซีเอ็นเอ็นมีความซับซ้อนมากขึ้นในแง่ของสัญลักษณ์ Big O

สำหรับการอ้างอิง:

1) ความซับซ้อนของเวลา CNN
https://arxiv.org/pdf/1412.1710.pdf

2) เลเยอร์ที่เชื่อมต่ออย่างเต็มที่ / Deep Neural Network (DNN) / Multi Layer Perceptron (MLP) https://www.researchgate.net/post/What_is_the_time_complexity_of_Multilayer_Perceptron_MLP_and_other_neural_networks

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