อะไรคือความแตกต่างระหว่างเครือข่ายประสาทเทียมและการเรียนรู้อย่างลึกซึ้ง?


25

ฉันต้องการใช้การเรียนรู้อย่างลึกซึ้งในโครงการของฉัน ฉันได้อ่านบทความสองสามฉบับและมีคำถามเกิดขึ้นกับฉัน: มีความแตกต่างระหว่างโครงข่ายประสาทเทียมกับการเรียนรู้ลึกหรือไม่? สิ่งเหล่านี้เหมือนกันหรือมีความแตกต่างที่สำคัญและสิ่งใดดีกว่ากัน


บอกฉันว่าอะไรคือความแตกต่างที่แน่นอนจากการเรียนรู้อย่างลึกซึ้งและเครือข่ายประสาทเทียมฉันรู้สึกสับสนใน 2 หัวข้อนี้
Yamini

คำตอบ:


33

การเรียนรู้เชิงลึกเป็นสาขาของการเรียนรู้ของเครื่องโดยใช้เครือข่ายโครงข่ายประสาทเทียม (Deep Neural Networks หรือ DNNs) ซึ่งหมายถึงเครือข่ายประสาทที่มีอย่างน้อย 3 หรือ 4 ชั้น (รวมถึงชั้นข้อมูลเข้าและชั้นส่งออก) แต่สำหรับบางคน (โดยเฉพาะอย่างยิ่งที่ไม่ใช่ด้านเทคนิค) ตาข่ายประสาทใด ๆ มีคุณสมบัติเป็นการเรียนรู้ลึกโดยไม่คำนึงถึงความลึกของมัน และคนอื่น ๆ คิดว่าตาข่าย 10 ชั้นเป็นแบบตื้น

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

แต่ CNN ไม่ได้อยู่คนเดียวมีสถาปัตยกรรมโครงข่ายประสาทอื่น ๆ อีกมากมายรวมถึง Recurrent Neural Networks (RNN), Autoencoders, Transformers, Deep Belief Nets (DBN = สแต็กของ Boltzmann Machines, RBM) และอื่น ๆ อีกมากมาย พวกเขาสามารถตื้นหรือลึก หมายเหตุ: แม้แต่ RNNs ตื้น ๆ ก็ยังถือว่าเป็นส่วนหนึ่งของการเรียนรู้ลึกเพราะการฝึกฝนพวกเขาต้องการการคลี่มันออกไปตามกาลเวลาทำให้เกิดตาข่ายลึก


@MiniQurak โปรดแก้ไขฉันฉันผิด สิ่งที่ฉันเข้าใจคือ CNN เป็นเพียงหนึ่งในสถาปัตยกรรมของอวนลึกเช่นเดียวกับ Autoencoders, Deep Belief Nets, Recurrent Neural Networks (RNN) .. ถูกต้องหรือไม่
Aadnan Farooq

ใช่ที่ถูกต้อง.
MiniQuark

ถ้าอย่างนั้นเราสามารถบอกได้ว่าสถาปัตยกรรมไหนดีกว่าขึ้นอยู่กับชุดข้อมูล? หรืออะไรคือปัจจัยสำคัญ
Aadnan Farooq A

1
ซีเอ็นเอ็นนั้นยอดเยี่ยมสำหรับงานการจดจำรูปภาพ พวกเขายังส่องแสงเมื่อใดก็ตามที่ข้อมูลมีรูปแบบของโครงสร้างแบบลำดับชั้นบางรูปแบบในพื้นที่ (เช่นส่วนของเส้นตรง) ประกอบเป็นรูปแบบขนาดใหญ่ (เช่นสี่เหลี่ยมจัตุรัสสามเหลี่ยม) ประกอบเป็นรูปแบบที่มีขนาดใหญ่ขึ้น วิธีนี้ใช้งานได้ดีสำหรับงานรู้จำเสียง RNN เหมาะสำหรับอนุกรมเวลา (เช่นการพยากรณ์อากาศ) และการจัดการลำดับข้อมูลโดยทั่วไป (เช่นประโยค) มีการใช้มากสำหรับ NLP (การประมวลผลภาษาธรรมชาติ) AutoEncoders ไม่ได้รับการดูแลพวกเขาเรียนรู้รูปแบบในข้อมูล
MiniQuark

1
เอาล่ะ :)
Firebug

21

ภายในขอบเขตของการประมวลผลสัญญาณปรับตัว / การเรียนรู้ของเครื่องจักรการเรียนรู้ลึก (DL)เป็นวิธีการเฉพาะที่เราสามารถฝึกการเป็นตัวแทนของเครื่องที่ซับซ้อน

โดยทั่วไปพวกเขาจะมีสูตรที่สามารถแมปอินพุตของคุณไปจนถึงเป้าหมายเป้าหมายได้yผ่านชุดลำดับชั้นที่ซ้อนกัน (นี่คือที่การดำเนินการ 'ลึก' มาจาก) โดยทั่วไปแล้วการดำเนินการเหล่านั้นเป็นการดำเนินการเชิงเส้น / การคาดการณ์ ( W i ) ตามด้วยการไม่เป็นเชิงเส้น ( f i ) เช่น:xyWifi

y=fN(...f2(f1(xTW1)W2)...WN)

ขณะนี้ภายใน DL มีสถาปัตยกรรมที่แตกต่างกันมากมาย: หนึ่งในสถาปัตยกรรมดังกล่าวเป็นที่รู้จักกันในชื่อตาข่ายประสาทเทียม (CNN) สถาปัตยกรรมอื่นเป็นที่รู้จักกันในชื่อperceptron แบบหลายชั้น (MLP) ฯลฯ สถาปัตยกรรมที่แตกต่างให้ยืมตัวเองเพื่อแก้ไขปัญหาประเภทต่างๆ

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

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

WiWR10x20vR10x1uR1x20u=vTWW ขององค์ประกอบของเลเยอร์ถัดไป

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

นี่คือสิ่งที่ CNN เข้ามา! นี่คือสิ่งที่ดูเหมือน:

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

Wi

เป็นเรื่องธรรมดาที่จะเห็น "CNNs" อ้างถึงอวนที่เรามีเลเยอร์ convolutional ทั่วทั้งเน็ตและ MLPs ที่ส่วนท้ายสุดดังนั้นจึงเป็นข้อแม้หนึ่งที่ต้องระวัง


1
+1 คำตอบที่ดีฉันเพิ่งเรียนเกี่ยวกับ toeplitz matricies ;-)
MiniQuark

@MiniQuark ขอบคุณ! ใช่ - คุณสามารถเขียนการบิดแบบทวีคูณโดยเมทริกซ์ toeplitz :)
Tarin Ziyaee

@TarinZiyaee และ MiniQurak พวกคุณช่วยแนะนำหนังสือ / บทความดีๆเกี่ยวกับการสอนสำหรับผู้เริ่มต้นเพื่อเรียนรู้เกี่ยวกับการเรียนรู้อย่างละเอียด
Aadnan Farooq

ซีเอ็นเอ็นไม่จำเป็นต้องลึก (-1)
Firebug

7

การเรียนรู้ลึก = เครือข่ายประสาทเทียมลึก + ชนิดอื่น ๆ ของรุ่นลึก

โครงข่ายประสาทเทียมระดับลึก = เครือข่ายประสาทเทียมที่มีชั้นมากกว่า 1 ชั้น (ดูจำนวนเลเยอร์ขั้นต่ำในเครือข่ายนิวรัลครอสหรือวิกิพีเดียสำหรับการอภิปรายเพิ่มเติม ... )

Convolution Neural Network = ประเภทของเครือข่ายประสาทเทียม


ยุติธรรมมากการเรียนรู้ลึกยังรวมถึง "เครื่องเคอร์เนลหลายชั้น" และ CNN สามารถตื้นได้ :)
MiniQuark

@MiniQuark yep
Franck Dernoncourt

เครือข่ายประสาทเทียมที่มีชั้นมากกว่า 1 ..... ฉันไม่แน่ใจว่าเครือข่ายที่มีเพียง 2 ชั้นเรียกว่าเครือข่ายลึก
SmallChess

1
@StudentT บางทีฉันไม่ได้ทำงานด้านการตลาด;) en.wikipedia.org/w/…
Franck Dernoncourt

1
นี่ควรเป็นคำตอบที่ดีที่สุดเพราะ CNN ไม่จำเป็นต้องลึกซึ้งและการเรียนรู้ลึกไม่เพียง แต่เกี่ยวกับ ANNs (ในแง่สามัญ)
Firebug

6

สไลด์นี้โดยยานน์เลคันทำให้จุดที่รุ่นเท่านั้นที่มีลำดับชั้นของคุณลักษณะ (คุณลักษณะระดับที่ต่ำกว่าจะเรียนรู้ที่ชั้นหนึ่งของรูปแบบและคุณลักษณะเหล่านั้นจะรวมกันในระดับต่อไป) มีความลึก

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

คำจำกัดความของ Yann LeCun


3

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

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

CNNเป็นประเภทของโครงข่ายประสาทเทียมที่ลึกและมีอีกหลายประเภท ซีเอ็นเอ็นเป็นที่นิยมเพราะมีแอพพลิเคชั่นที่มีประโยชน์มากในการจดจำรูปภาพ


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

@MiniQuark ด้วยการเพิ่มข้อมูลชุดข้อมูลของคุณจะยังคงมีขนาดใหญ่เพียงแค่คุณเริ่มต้นด้วยสิ่งเล็ก ๆ ...
SmallChess

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