คำถามติดแท็ก autoencoders

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

4
อะไรคือความแตกต่างระหว่างเครือข่ายประสาทเทียม, เครื่อง Boltzmann แบบ จำกัด , และตัวเข้ารหัสอัตโนมัติ?
เมื่อเร็ว ๆ นี้ฉันได้อ่านเกี่ยวกับการเรียนรู้อย่างลึกซึ้งและฉันสับสนเกี่ยวกับข้อกำหนด (หรือพูดเทคโนโลยี) อะไรคือความแตกต่างระหว่าง เครือข่ายประสาทเทียม (CNN), เครื่อง Boltzmann ที่ จำกัด (RBM) และ -เข้ารหัสอัตโนมัติ?

7
reparameterization trick สำหรับ VAEs ทำงานอย่างไรและทำไมจึงมีความสำคัญ
อย่างไรเคล็ดลับ reparameterizationสำหรับ autoencoders แปรผัน (VAE) ทำงานอย่างไร มีคำอธิบายที่เข้าใจง่ายและเข้าใจง่ายโดยไม่ทำให้คณิตศาสตร์ง่ายขึ้นหรือไม่? แล้วทำไมเราถึงต้องการ 'เคล็ดลับ'?


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

3
ก่อนการฝึกอบรมในโครงข่ายประสาทเทียมแบบลึก?
มีใครเคยเห็นวรรณกรรมเกี่ยวกับการฝึกอบรมล่วงหน้าในโครงข่ายประสาทเทียมแบบลึกหรือไม่? ฉันเห็นเฉพาะการฝึกอบรมล่วงหน้าในเครื่องสร้างรหัสอัตโนมัติหรือเครื่องโบลต์แมนที่ จำกัด เท่านั้น

3
สร้างตัวเข้ารหัสอัตโนมัติใน Tensorflow เพื่อให้เกิน PCA
Hinton และ Salakhutdinov ในการลดมิติข้อมูลด้วย Neural Networks, Science 2006เสนอ PCA แบบไม่เชิงเส้นผ่านการใช้ autoencoder แบบลึก ฉันพยายามสร้างและฝึกอบรมโปรแกรมสร้างรหัสอัตโนมัติ PCA ด้วย Tensorflow หลายครั้ง แต่ฉันไม่เคยได้รับผลลัพธ์ที่ดีกว่า linear PCA ฉันจะฝึกอบรมตัวเข้ารหัสอัตโนมัติได้อย่างมีประสิทธิภาพได้อย่างไร (แก้ไขในภายหลังโดย @amoeba: เวอร์ชันเดิมของคำถามนี้มีรหัส Python Tensorflow ที่ทำงานไม่ถูกต้องสามารถพบได้ในประวัติการแก้ไข)

2
วิธีลดน้ำหนัก KLD เทียบกับการสูญเสียการสร้างใหม่ในโปรแกรมเปลี่ยนเกียร์อัตโนมัติแบบแปรผัน
ในตัวอย่างโค้ดเกือบทั้งหมดที่ฉันเคยเห็น VAE ฟังก์ชั่นการสูญเสียมีการกำหนดไว้ดังนี้ (นี่คือรหัส tenorflow แต่ฉันเคยเห็นคล้ายกับ theano ไฟฉาย ฯลฯ มันสำหรับ convnet แต่ก็ไม่เกี่ยวข้องกันเกินไป เพียงแค่ส่งผลกระทบต่อแกนที่ต้องใช้เงินก้อน): # latent space loss. KL divergence between latent space distribution and unit gaussian, for each batch. # first half of eq 10. in https://arxiv.org/abs/1312.6114 kl_loss = -0.5 * tf.reduce_sum(1 + log_sigma_sq - tf.square(mu) - tf.exp(log_sigma_sq), axis=1) # …

1
ระบบเข้ารหัสอัตโนมัติแบบแปรปรวนคืออะไรและใช้งานการเรียนรู้อะไรบ้าง
ตามนี้และนี้คำตอบ autoencoders ดูเหมือนจะเป็นเทคนิคที่ใช้โครงข่ายประสาทเทียมสำหรับการลดมิติ ฉันต้องการทราบเพิ่มเติมว่าautoencoder แบบแปรผันคืออะไร(ความแตกต่าง / ประโยชน์หลัก ๆ ของมันมากกว่า autoencoders แบบดั้งเดิม) และสิ่งที่เป็นหน้าที่การเรียนรู้หลักที่อัลกอริทึมเหล่านี้ใช้

2
ระบบเข้ารหัสอัตโนมัติไม่สามารถเรียนรู้คุณสมบัติที่มีความหมายได้
ฉันมี 50,000 ภาพเช่นสองภาพนี้: พวกเขาแสดงกราฟของข้อมูล ฉันต้องการแยกฟีเจอร์จากภาพเหล่านี้ดังนั้นฉันจึงใช้รหัส autoencoder ที่จัดทำโดย Theano (deeplearning.net) ปัญหาคือตัวเข้ารหัสอัตโนมัติเหล่านี้ดูเหมือนจะไม่ได้เรียนรู้คุณสมบัติใด ๆ ฉันลอง RBM แล้วมันก็เหมือนกัน ชุดข้อมูล MNIST ให้คุณสมบัติที่ดี แต่ดูเหมือนว่าข้อมูลของฉันจะไม่ให้ผลลัพธ์ ฉันแนบตัวอย่างด้านล่าง: ตัวกรองที่สร้างบน MNIST: ตัวกรองที่สร้างขึ้นโดยการฝึกอบรมกับข้อมูลของฉัน: ฉันใช้พีชคณิตขนาดต่าง ๆ ที่ซ่อนอยู่และการฝึกอบรมต่าง ๆ มากมาย แต่ผลลัพธ์ก็เหมือนกันเสมอ ทำไมมันไม่ทำงาน ทำไมระบบเข้ารหัสอัตโนมัติไม่สามารถดึงคุณสมบัติต่าง ๆ จากภาพเหล่านี้ได้? แก้ไข: สำหรับใครก็ตามที่มีปัญหาคล้ายกัน วิธีการแก้ปัญหานั้นง่ายมากและเป็นสาเหตุที่โง่ ฉันลืมที่จะ rescale ค่าพิกเซลจากการเข้ารหัส RGB เพื่อลอยในช่วง 0 - 1 การลดขนาดค่าแก้ปัญหา

3
สถาปัตยกรรมของตัวเข้ารหัสอัตโนมัติแบบเรียงซ้อนคืออะไร?
ดังนั้นฉันจึงพยายามที่จะจัดเตรียมภาพลักษณ์ของมนุษย์โดยใช้ตาข่ายแบบ Convolutional ฉันอ่านเอกสาร ( Paper1และPaper2 ) และลิงก์ stackoverflowนี้แต่ฉันไม่แน่ใจว่าฉันเข้าใจโครงสร้างของอวน (มันไม่ได้นิยามไว้อย่างชัดเจนในเอกสาร) คำถาม: ฉันสามารถป้อนข้อมูลของฉันตามด้วยเลเยอร์เสียงตามด้วยเลเยอร์ Conv ตามด้วยเลเยอร์รวมกำไร - หลังจากนั้นฉันจะยกเลิกการรวมกลุ่มก่อนที่จะให้ผลลัพธ์ของฉัน (ซึ่งเป็นรูปอินพุตของฉัน) บอกว่าฉันมีหลายภาพ (135,240) ถ้าฉันใช้ 32, (12,21) เมล็ด, ตามด้วย (2,2) การรวมฉันจะจบลงด้วยแผนที่คุณลักษณะ 32 (62, 110) ตอนนี้ฉันจะยกเลิกการพูลเพื่อรับแผนที่คุณลักษณะ 32 (124, 220) แล้วแบนได้หรือไม่ ก่อนให้เลเยอร์เอาต์พุต (135,240) ของฉัน ถ้าฉันมีเลเยอร์ Conv-pool หลายเลเยอร์ฉันควรฝึกพวกมันทีละตัว - เช่นในระบบถอดรหัสอัตโนมัติ หรือ - ฉันสามารถมีบางสิ่งเช่นอินพุต - Conv-pool-Conv-pool-conv-pool-output (เอาต์พุตเหมือนกับอินพุต) ได้หรือไม่? ในกรณีดังกล่าวการรวมกำไรการลดราคาควรมีการจัดการอย่างไร ฉันควรยกเลิกการพูลในเลเยอร์พูลสุดท้ายก่อนออกผลลัพธ์หรือไม่ …

1
ฟังก์ชั่นการสูญเสียสำหรับระบบเข้ารหัสอัตโนมัติ
ฉันกำลังทดลองตัวเข้ารหัสอัตโนมัติเล็กน้อยและด้วย tenorflow ฉันได้สร้างแบบจำลองที่พยายามสร้างชุดข้อมูล MNIST ขึ้นมาใหม่ เครือข่ายของฉันง่ายมาก: X, e1, e2, d1, Y โดยที่ e1 และ e2 กำลังเข้ารหัสเลเยอร์, ​​d2 และ Y เป็นชั้นถอดรหัส (และ Y เป็นเอาต์พุตที่สร้างขึ้นใหม่) X มี 784 หน่วย, e1 มี 100, e2 มี 50, d1 มี 100 อีกครั้งและ Y 784 อีกครั้ง ฉันใช้ sigmoids เป็นฟังก์ชั่นการเปิดใช้งานสำหรับเลเยอร์ e1, e2, d1 และ Y อินพุตอยู่ใน [0,1] …

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

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

1
"ความสามารถ" ของรูปแบบการเรียนรู้ของเครื่องคืออะไร?
ฉันกำลังศึกษานี้กวดวิชาในแปรผัน Autoencoders โดยคาร์ล Doersch ในหน้าสองมันระบุ: หนึ่งในเฟรมเวิร์กดังกล่าวที่ได้รับความนิยมมากที่สุดคือ Variational Autoencoder [1, 3] ซึ่งเป็นหัวเรื่องของบทช่วยสอนนี้ สมมติฐานของรุ่นนี้อ่อนแอและการฝึกอบรมนั้นรวดเร็วผ่านการ backpropagation VAE ทำการประมาณค่า แต่ข้อผิดพลาดที่แนะนำโดยการประมาณนี้มีขนาดเล็กมากซึ่งเป็นแบบจำลองความจุสูง ลักษณะเหล่านี้มีส่วนทำให้ความนิยมเพิ่มขึ้นอย่างรวดเร็ว ฉันเคยอ่านข้อเรียกร้องเหล่านี้เกี่ยวกับโมเดลความจุสูงมาแล้ว แต่ดูเหมือนว่าฉันจะไม่พบคำจำกัดความที่ชัดเจนสำหรับมัน ฉันยังพบคำถาม stackoverflow ที่เกี่ยวข้องนี้แต่สำหรับฉันคำตอบนั้นไม่น่าพอใจมาก มีคำจำกัดความสำหรับความสามารถของแบบจำลองหรือไม่? คุณวัดได้ไหม

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

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