เครือข่ายนิวรัล - ไบนารีเทียบกับอินพุตแบบไม่ต่อเนื่อง


14

มีเหตุผลที่ดีสำหรับการเลือกค่าไบนารี (0/1) มากกว่าค่าปกติหรือต่อเนื่องเช่น (1; 3) เป็นอินพุตสำหรับเครือข่าย feedforward สำหรับโหนดอินพุตทั้งหมด (มีหรือไม่มี backpropagation)

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

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

คุณเห็นด้วยหรือไม่ว่าเป็นเพียง "ลองและดู" หรือคุณมีความคิดเห็นอื่นเกี่ยวกับเรื่องนี้หรือไม่? ความเป็นไปได้ที่หนึ่ง: อินพุตโดยตรงของค่าที่เป็นไปได้ {1; 3} ความเป็นไปได้ที่สอง: รับค่าอินพุตแต่ละโหนดเป็นไบนารี

คำตอบ:


11

การแปลงตัวแปรอินพุตเป็นไบนารี่ขึ้นอยู่กับตัวแปรอินพุตหรือไม่ คุณอาจคิดว่าอินพุตเครือข่ายประสาทเทียมเป็นตัวแทนของ "ความเข้ม" ชนิดหนึ่งเช่นค่าที่ใหญ่กว่าของตัวแปรอินพุตจะแสดงถึงความเข้มที่มากขึ้นของตัวแปรอินพุตนั้น หลังจากที่ทุกคนสมมติว่าเครือข่ายที่มีเพียงหนึ่งอินพุตโหนดซ่อนที่กำหนดของเครือข่ายที่จะเรียนรู้ฟังก์ชั่นบางอย่างB) โดยที่คือฟังก์ชันถ่ายโอน (เช่น sigmoid) และตัวแปรอินพุตf(wx+b)fx

การตั้งค่านี้ไม่สมเหตุสมผลสำหรับตัวแปรเด็ดขาด หากหมวดหมู่มีตัวเลขแสดงว่าไม่มีความเหมาะสมที่จะใช้ฟังก์ชันกับหมวดหมู่เหล่านั้น เช่นจินตนาการว่าตัวแปรอินพุตของคุณแสดงถึงสัตว์และแกะ = 1 และวัว = 2 มันไม่มีเหตุผลที่จะทวีคูณแกะด้วยและเพิ่มเข้ากับมันและไม่สมเหตุสมผลที่วัวจะมีขนาดใหญ่กว่าแกะ ในกรณีนี้คุณควรแปลงการเข้ารหัสที่ไม่ต่อเนื่องเพื่อไบนารี 1 -of-เข้ารหัสf(wx+b)wbk

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


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

4

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

เพื่อให้มีความชัดเจนผลลัพธ์จะต้องอยู่ระหว่าง 0 ถึง 1 ดังนั้นคุณจึงเลือกป้ายกำกับของคุณเป็น 0 และ 1 และลดการข้ามเอนโทรปี โดยที่เป็นเอาต์พุตของเครือข่ายของคุณและคือค่าเป้าหมายสำหรับตัวอย่างการฝึกอบรมของคุณ ดังนั้นคุณจำเป็นต้อง\} y ( x ) t t { 0 , 1 }

E=y(x)t(1y(x))1t
y(x)tt{0,1}

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

1

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

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