อะไรคือความแตกต่างระหว่างเครือข่ายประสาทเทียม, เครื่อง Boltzmann แบบ จำกัด , และตัวเข้ารหัสอัตโนมัติ?


123

เมื่อเร็ว ๆ นี้ฉันได้อ่านเกี่ยวกับการเรียนรู้อย่างลึกซึ้งและฉันสับสนเกี่ยวกับข้อกำหนด (หรือพูดเทคโนโลยี) อะไรคือความแตกต่างระหว่าง

  • เครือข่ายประสาทเทียม (CNN),
  • เครื่อง Boltzmann ที่ จำกัด (RBM) และ
  • -เข้ารหัสอัตโนมัติ?

คำตอบ:


237

Autoencoderเป็น 3 ชั้นเครือข่ายประสาทง่ายๆที่หน่วยการส่งออกมีการเชื่อมต่อโดยตรงกลับไปยังหน่วยการป้อนข้อมูล เช่นในเครือข่ายเช่นนี้:

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

output[i]มีขอบกลับไปทุกครั้งinput[i] iโดยทั่วไปจำนวนหน่วยที่ซ่อนอยู่จะน้อยกว่าจำนวนที่มองเห็นได้ (อินพุต / เอาต์พุต) ด้วยเหตุนี้เมื่อคุณส่งข้อมูลผ่านเครือข่ายดังกล่าวอันดับแรกจะบีบอัด (เข้ารหัส) เวกเตอร์อินพุตให้ "พอดี" ในรูปแบบที่เล็กลงแล้วจึงพยายามสร้างใหม่ (ถอดรหัส) กลับมาใหม่ ภารกิจของการฝึกอบรมคือการลดข้อผิดพลาดหรือการสร้างใหม่ให้น้อยที่สุดเช่นค้นหาการแทนค่าแบบกะทัดรัด (การเข้ารหัส) ที่มีประสิทธิภาพที่สุดสำหรับข้อมูลอินพุต

RBMแชร์แนวคิดที่คล้ายกัน แต่ใช้วิธีสุ่ม แทนที่จะเป็นการกำหนดขึ้น (เช่น logistic หรือ ReLU) มันใช้หน่วยสุ่มที่มีการแจกแจงแบบพิเศษ ขั้นตอนการเรียนรู้ประกอบด้วยหลายขั้นตอนของการสุ่มตัวอย่างกิ๊บส์ (เผยแพร่: ตัวอย่าง hiddens ให้ visibles; สร้างใหม่: ตัวอย่าง visibles ให้ hiddens ซ้ำ) และปรับน้ำหนักเพื่อลดข้อผิดพลาดในการสร้างใหม่

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

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

Convolutional Neural Networksค่อนข้างคล้ายกับสองสิ่งนี้ แต่แทนที่จะเรียนรู้เมทริกซ์น้ำหนักทั่วโลกเดี่ยวระหว่างสองเลเยอร์พวกเขาตั้งเป้าหมายที่จะหาชุดของเซลล์ประสาทที่เชื่อมต่อในพื้นที่ ซีเอ็นเอ็นส่วนใหญ่จะใช้ในการรับรู้ภาพ ชื่อของพวกเขามาจากโอเปอเรเตอร์ "convolution"หรือเพียงแค่ "filter" ในระยะสั้นตัวกรองเป็นวิธีที่ง่ายในการดำเนินการที่ซับซ้อนโดยการเปลี่ยนเคอร์เนล convolution อย่างง่าย ใช้เคอร์เนลเบลอเกาส์และคุณจะทำให้มันราบรื่น ใช้เคอร์เนล Canny และคุณจะเห็นขอบทั้งหมด ใช้เคอร์เนล Gabor เพื่อรับคุณสมบัติการไล่ระดับสี

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

(ภาพจากที่นี่ )

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

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

ทั้งสามรุ่นมีกรณีการใช้ข้อดีและข้อเสีย แต่คุณสมบัติที่สำคัญที่สุดคือ:

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

UPD

การลดขนาด

เมื่อเราแสดงวัตถุบางอย่างเป็นเวกเตอร์ขององค์ประกอบเราบอกว่านี่เป็นเวกเตอร์ในพื้นที่ -dimensional ดังนั้นการลดมิติหมายถึงกระบวนการของข้อมูลการกลั่นในลักษณะที่ว่าแต่ละข้อมูลเวกเตอร์จะแปลเป็นอีกเวกเตอร์ในพื้นที่มิติ (เวกเตอร์กับองค์ประกอบ) ที่<n น่าจะเป็นวิธีที่ใช้กันมากที่สุดของการทำเช่นนี้คือPCA PCA พูดอย่างหยาบ ๆ ว่า "แกนภายใน" ของชุดข้อมูล (เรียกว่า "ส่วนประกอบ") และเรียงลำดับตามความสำคัญ แรกnnxxmmm<nmส่วนประกอบที่สำคัญที่สุดจะถูกใช้เป็นพื้นฐานใหม่ แต่ละองค์ประกอบเหล่านี้อาจถูกมองว่าเป็นคุณสมบัติระดับสูงโดยอธิบายเวกเตอร์ข้อมูลได้ดีกว่าแกนดั้งเดิม

ทั้ง - ตัวเข้ารหัสอัตโนมัติและ RBM ทำสิ่งเดียวกัน การเวกเตอร์ในพื้นที่มิติที่พวกเขาแปลเป็นมิติหนึ่งพยายามที่จะให้ข้อมูลเป็นสิ่งที่สำคัญมากที่สุดเท่าที่เป็นไปได้และในเวลาเดียวกันลบเสียงรบกวน หากการฝึกอบรม autoencoder / RBM ประสบความสำเร็จแต่ละองค์ประกอบของผลเวกเตอร์ (เช่นแต่ละหน่วยที่ซ่อนอยู่) แสดงถึงสิ่งที่สำคัญเกี่ยวกับวัตถุ - รูปร่างของคิ้วในภาพประเภทของภาพยนตร์สาขาการศึกษาในบทความทางวิทยาศาสตร์ ฯลฯ คุณ ใช้ข้อมูลที่มีเสียงดังเป็นข้อมูลนำเข้าจำนวนมากและให้ข้อมูลที่น้อยลงในรูปแบบที่มีประสิทธิภาพมากกว่าnm

สถาปัตยกรรมลึก

ดังนั้นถ้าเรามี PCA แล้วทำไมเราถึงสร้างระบบเข้ารหัสอัตโนมัติและ RBM ขึ้นมา? ปรากฎว่า PCA อนุญาตการแปลงเชิงเส้นของเวกเตอร์ข้อมูลเท่านั้น นั่นคือมีองค์ประกอบหลักคุณสามารถเป็นตัวแทนของเวกเตอร์เท่านั้นxมันค่อนข้างดีอยู่แล้ว แต่ก็ไม่เพียงพอ ไม่ว่าคุณจะใช้ PCA กับข้อมูลกี่ครั้งก็ตามความสัมพันธ์จะยังคงเป็นเส้นตรงเสมอmc1..cmx=i=1mwici

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

แต่คุณไม่เพียงเพิ่มเลเยอร์ใหม่ ในแต่ละเลเยอร์คุณพยายามที่จะเรียนรู้การแสดงข้อมูลที่ดีที่สุดจากอันก่อนหน้านี้:

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

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

ตอนนี้โปรดทราบว่าในตัวอย่างนี้เราทำงานกับข้อมูลภาพและใช้พื้นที่พิกเซลที่มีขนาดใหญ่ขึ้นและใหญ่ขึ้นตามลำดับ มันฟังดูไม่เหมือนกันเหรอ? ใช่เพราะเป็นตัวอย่างของเครือข่ายการสนทนาที่ลึกซึ้ง ไม่ว่าจะเป็นตาม autoencoders หรือ RBMs มันใช้ convolution เพื่อเน้นความสำคัญของท้องถิ่น นั่นเป็นเหตุผลที่ CNN ค่อนข้างแตกต่างจากระบบเข้ารหัสอัตโนมัติและ RBM

การจำแนกประเภท

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


3
@ffriend คำอธิบายที่สั้นและชัดเจนมาก มีหลายสิ่งที่เขียนเกี่ยวกับหัวข้อเหล่านี้ "RockTheStar" หากคุณต้องการคำอธิบายโดยละเอียดเพิ่มเติมคุณสามารถอ่านหนังสือเล่มนี้ของ Yoshua Bengio ได้ 100 หน้า (www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)
Javierfdr

คุณจะใช้อะไรในการทำนายลำดับเหตุการณ์
skan

2
@skan: ดูที่RNNs โดยเฉพาะ LSTMเป็นที่นิยมมากในขณะนี้ คุณอาจต้องการถามคำถามแยกต่างหากพร้อมรายละเอียดเพิ่มเติมเพื่อรับคำตอบที่มีคุณสมบัติเหมาะสมเนื่องจาก RNN ไม่ใช่ผู้เชี่ยวชาญในสาขาของฉัน
แฟน

15

สถาปัตยกรรมเหล่านี้ทั้งหมดสามารถตีความได้ว่าเป็นเครือข่ายประสาท ข้อแตกต่างที่สำคัญระหว่าง AutoEncoder และ Convolutional Network คือระดับของการเดินสายเครือข่าย ตาข่าย Convolutional ค่อนข้างเดินสายมาก การทำงานของ Convolution นั้นค่อนข้างเฉพาะในโดเมนรูปภาพซึ่งหมายถึงการกระจัดกระจายในจำนวนการเชื่อมต่อในมุมมองเครือข่ายประสาท การดำเนินการรวมกลุ่ม (การสุ่มตัวอย่าง) ในโดเมนอิมเมจเป็นชุดการเชื่อมต่อโครงข่ายประสาทในโดเมนประสาท ข้อ จำกัด ทอพอโลยีดังกล่าวในโครงสร้างเครือข่าย ด้วยข้อ จำกัด ดังกล่าวการฝึกอบรมของ CNN จะเรียนรู้น้ำหนักที่ดีที่สุดสำหรับการดำเนินการโน้มน้าวใจนี้ (ในทางปฏิบัติมีตัวกรองหลายตัว) ซีเอ็นเอ็นมักใช้สำหรับงานด้านรูปภาพและการพูดที่มีข้อ จำกัด ทาง convolutional เป็นข้อสันนิษฐานที่ดี

ในทางตรงกันข้าม Autoencoders แทบไม่ได้ระบุอะไรเลยเกี่ยวกับทอพอโลยีของเครือข่าย พวกเขามีทั่วไปมากขึ้น ความคิดคือการหาการเปลี่ยนแปลงของระบบประสาทที่ดีในการสร้างอินพุตใหม่ พวกเขาประกอบด้วย encoder (โครงการอินพุตไปยังเลเยอร์ที่ซ่อนอยู่) และถอดรหัส (reprojects เลเยอร์ที่ซ่อนอยู่เพื่อเอาท์พุท) เลเยอร์ที่ซ่อนอยู่จะเรียนรู้ชุดคุณสมบัติแฝงหรือปัจจัยแฝง ระบบเข้ารหัสอัตโนมัติเชิงเส้นตรงจะขยายพื้นที่ย่อยเดียวกันด้วย PCA ให้ชุดข้อมูลพวกเขาเรียนรู้จำนวนพื้นฐานเพื่ออธิบายรูปแบบพื้นฐานของข้อมูล

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


6

RBM สามารถมองได้ว่าเป็นตัวเข้ารหัสอัตโนมัติที่น่าจะเป็น ที่จริงแล้วมันแสดงให้เห็นว่าภายใต้เงื่อนไขบางอย่างที่พวกเขากลายเป็นเทียบเท่า

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

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


1

ฉันไม่สามารถบอกคุณเกี่ยวกับ RBM ได้มากนัก แต่ระบบเข้ารหัสอัตโนมัติและ CNN เป็นสองสิ่งที่แตกต่างกัน autoencoder เป็นเครือข่ายประสาทที่ได้รับการฝึกฝนในแบบที่ไม่มีผู้ดูแล เป้าหมายของเครื่องสร้างรหัสอัตโนมัติคือการหาข้อมูลที่มีขนาดกะทัดรัดมากขึ้นโดยการเรียนรู้โปรแกรมเปลี่ยนไฟล์ซึ่งแปลงข้อมูลให้เป็นตัวแทนขนาดกะทัดรัดที่สอดคล้องกันและถอดรหัสซึ่งสร้างข้อมูลต้นฉบับขึ้นใหม่ ส่วนเข้ารหัสของ autoencoders (และ RBM เดิม) ถูกใช้เพื่อเรียนรู้น้ำหนักเริ่มต้นที่ดีของสถาปัตยกรรมที่ลึกกว่า แต่มีแอปพลิเคชันอื่น ๆ โดยพื้นฐานแล้วตัวเข้ารหัสอัตโนมัติเรียนรู้การจัดกลุ่มของข้อมูล ในทางตรงกันข้ามคำว่า CNN หมายถึงเครือข่ายประสาทชนิดหนึ่งซึ่งใช้ตัวดำเนินการแบบ Convolution (มักจะเป็นแบบ 2D เมื่อใช้สำหรับงานการประมวลผลภาพ) เพื่อแยกคุณสมบัติออกจากข้อมูล ในการประมวลผลภาพตัวกรอง ที่ซับซ้อนกับรูปภาพได้เรียนรู้โดยอัตโนมัติเพื่อแก้ปัญหาในมือเช่นงานจัดหมวดหมู่ ไม่ว่าจะเป็นเกณฑ์การฝึกอบรมการถดถอย / การจัดหมวดหมู่ (ภายใต้การดูแล) หรือการสร้างใหม่ (ไม่ได้รับการดูแล) นั้นไม่เกี่ยวข้องกับแนวคิดเรื่องการโน้มน้าวใจเป็นทางเลือกในการแปลงเลียนแบบ คุณยังสามารถมีตัวเข้ารหัสอัตโนมัติของ CNN


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