คำถามและคำตอบสัมภาษณ์การเรียนรู้เชิงลึก 10 อันดับแรก

เผยแพร่แล้ว: 2019-08-29

แม้ว่าจะยังคงมีการพัฒนา แต่การเรียนรู้เชิงลึกได้กลายเป็นเทคโนโลยีที่ก้าวล้ำในด้านวิทยาศาสตร์ข้อมูล ตั้งแต่ DeepMind ของ Google ไปจนถึงรถยนต์ที่ขับเคลื่อนด้วยตนเอง นวัตกรรม Deep Learning ได้ทำให้คนทั้งโลกต้องตกตะลึง บริษัทและองค์กรต่างๆ ทั่วโลกกำลังนำเทคโนโลยี Deep Learning มาใช้เพื่อเพิ่มโอกาสทางธุรกิจ ผลลัพธ์ - ความต้องการผู้เชี่ยวชาญที่มีทักษะในการเรียนรู้เชิงลึกและการเรียนรู้ของเครื่องเพิ่มขึ้นอย่างรวดเร็วอย่างที่ไม่เคยมีมาก่อน อันที่จริง Data Science กำลังมาแรงในตลาดตอนนี้ ถ้าคุณสามารถสร้างอาชีพใน Data Science ได้ คุณก็พร้อมที่จะไป!

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

ดังนั้นเราจึงตัดสินใจที่จะทำให้มันง่ายขึ้นเล็กน้อยสำหรับคุณในการเริ่มต้นและรวบรวมรายชื่อคำถามสัมภาษณ์เกี่ยวกับ Deep Learning ที่พบบ่อยที่สุด 10 ข้อ!

  1. การเรียนรู้เชิงลึกคืออะไร?

การเรียนรู้เชิงลึกเป็นส่วนย่อยของการเรียนรู้ของเครื่องที่ใช้โครงข่ายประสาทเทียมเพื่อให้เครื่องจำลองการตัดสินใจเหมือนมนุษย์ Neural Nets ได้รับแรงบันดาลใจจากโครงสร้างเซลล์ประสาทของสมองมนุษย์ การเรียนรู้เชิงลึกพบแอปพลิเคชันมากมายในด้านต่างๆ เช่น การตรวจหาคุณลักษณะ การมองเห็นด้วยคอมพิวเตอร์ การรู้จำคำพูด และการประมวลผลภาษาธรรมชาติ

  1. Perceptron คืออะไร?

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

ในขณะที่เดนไดรต์รับสัญญาณจากเซลล์ประสาทอื่นๆ ร่างกายของเซลล์จะสรุปปัจจัยการผลิตทั้งหมดที่ได้รับ และแอกซอนจะส่งข้อมูลที่รวบรวมโดยร่างกายเซลล์เป็นสัญญาณไปยังเซลล์อื่นๆ

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

  1. หน้าที่ของน้ำหนักและอคติคืออะไร?

ในการเปิดใช้งานโหนดภายในโครงข่ายประสาทเทียม เราต้องใช้สูตรต่อไปนี้:

เอาต์พุต = enable_function(dot_product(น้ำหนัก, อินพุต)+ อคติ)

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

  1. หน้าที่ของการเปิดใช้งานคืออะไร?

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

  1. Gradient Descent คืออะไร?

Gradient Descent เป็นอัลกอริธึมการปรับให้เหมาะสมที่ใช้เพื่อลดฟังก์ชันต้นทุนของพารามิเตอร์เฉพาะโดยการเคลื่อนที่อย่างต่อเนื่องไปในทิศทางของการลงเขาที่ชันที่สุดตามที่กำหนดโดยค่าลบของการไล่ระดับสี

  1. ฟังก์ชันต้นทุนคืออะไร?

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

  1. Backpropagation คืออะไร?

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

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

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

  1. คุณจะเริ่มต้นน้ำหนักในโครงข่ายประสาทได้อย่างไร?

โดยพื้นฐานแล้ว มีสองวิธีในการเริ่มต้นน้ำหนัก –

  • เริ่มต้นน้ำหนักให้เป็นศูนย์ (0): เมื่อทำเช่นนี้ โมเดลของคุณจะกลายเป็นเหมือนโมเดลเชิงเส้น ซึ่งหมายความว่าเซลล์ประสาททั้งหมดและทุกเลเยอร์จะทำหน้าที่เดียวกัน ซึ่งจะเป็นอุปสรรคต่อประสิทธิภาพการทำงานของ Deep net
  • เริ่มต้นการชั่งน้ำหนักแบบสุ่ม: ในวิธีนี้ คุณจะกำหนดน้ำหนักแบบสุ่มโดยกำหนดค่าเริ่มต้นให้ใกล้เคียงกับ 0 มาก เนื่องจากเซลล์ประสาทต่างๆ ทำการคำนวณที่แตกต่างกัน วิธีนี้จึงช่วยให้มีความแม่นยำมากขึ้น
  1. ไฮเปอร์พารามิเตอร์คืออะไร?

ไฮเปอร์พารามิเตอร์เป็นตัวแปรที่มีค่าถูกกำหนดก่อนกระบวนการฝึกอบรม พวกเขากำหนดทั้งโครงสร้างของเครือข่ายและวิธีการฝึกอบรม

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

  1. ซีเอ็นเอ็นคืออะไร? ชั้นต่าง ๆ ของมันคืออะไร?

CNN หรือ Convolutional Neural Network เป็นเครือข่ายประสาทลึกชนิดหนึ่งที่ใช้เป็นหลักในการวิเคราะห์การแสดงภาพ เครือข่ายเหล่านี้ใช้โฮสต์ของเพอร์เซปตรอนหลายชั้นที่ต้องการการประมวลผลล่วงหน้าน้อยที่สุด ในขณะที่โครงข่ายประสาทเทียมใช้เวกเตอร์เป็นอินพุต ใน CNN อินพุตจะเป็นภาพหลายช่องสัญญาณ

CNN แบ่งชั้นต่างๆ ดังนี้

  • Convolutional Layer – เลเยอร์ นี้ดำเนินการ Convolutional เพื่อสร้างหน้าต่างรูปภาพขนาดเล็กจำนวนมากเพื่อแยกวิเคราะห์ข้อมูล
  • เลเยอร์ ReLU - เลเยอร์ นี้แนะนำความไม่เป็นเชิงเส้นให้กับเครือข่าย มันเปลี่ยนพิกเซลเชิงลบทั้งหมดเป็นศูนย์
  • Pooling Layer – เลเยอร์ นี้ดำเนินการสุ่มตัวอย่างเพื่อลดมิติของการแมปคุณลักษณะแต่ละรายการ
  • เลเยอร์ที่ เชื่อมต่ออย่างสมบูรณ์ – เลเยอร์ นี้จดจำและจำแนกวัตถุทั้งหมดที่มีอยู่ในภาพตัวอย่าง

นั่นคือคำถามเกี่ยวกับการเรียนรู้เชิงลึกขั้นพื้นฐาน 10 ข้อที่ผู้สัมภาษณ์อาจถามคุณระหว่างการสัมภาษณ์ DL อย่างไรก็ตาม การอ่านคำถามสัมภาษณ์เพียงอย่างเดียวไม่เพียงพอที่จะทำการสัมภาษณ์งาน คุณต้องมีความรู้เชิงลึกเกี่ยวกับสายงาน แนวทางปฏิบัติที่ดีที่สุดคือการลงทะเบียน โปรแกรมการรับรองการเรียนรู้เชิงลึกและการเรียนรู้ของเครื่อง โปรแกรมเหล่านี้ออกแบบมาเพื่อสอน az ของทั้ง ML และ DL ให้คุณ

ทักษะที่จำเป็นในการเป็นวิศวกรการเรียนรู้เชิงลึกคืออะไร?

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

เครื่องมือใดที่จำเป็นสำหรับวิศวกรการเรียนรู้เชิงลึก

วิศวกรการเรียนรู้เชิงลึกมีหน้าที่รับผิดชอบในการทำงานย่อยให้เสร็จสิ้น เช่น การปรับใช้ วิศวกรรมข้อมูล และการสร้างแบบจำลอง พวกเขาใช้เครื่องมือหลายอย่างเพื่อทำให้งานง่ายขึ้นและประหยัดเวลา Python และแพ็คเกจที่เกี่ยวข้อง เช่น Numpy, Pandas, Pytorch และอื่นๆ ใช้สำหรับสร้างโมเดลงานย่อย ภาษาโปรแกรมต่างๆ เช่น Java, C และ C++ ใช้เพื่อแปลงรหัส ขึ้นอยู่กับข้อกำหนด หน้าที่การปรับใช้จะดำเนินการโดยใช้เทคโนโลยีคลาวด์ที่หลากหลาย รวมถึง AWS, GCP และ Azure แพลตฟอร์มต่างๆ เช่น Jupyter Notebook, Sublime และ JIRA ใช้เพื่อติดตามการทำงานร่วมกันและปรับปรุงเวิร์กโฟลว์

คณิตศาสตร์จำเป็นต้องทำได้ดีในด้านการเรียนรู้เชิงลึกหรือไม่?

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