กลับไปหน้าบทความ

อ่าน 12 นาที

เทนเซอร์ (การเรียนรู้ของเครื่อง)

ในการเรียนรู้ของเครื่องคำว่าเทนเซอร์โดยทั่วไปหมายถึงสองแนวคิดที่แตกต่างกัน: (i) วิธีการจัดระเบียบข้อมูล และ (ii) การแปลงเชิงเส้นหลายมิติ ( เทนเซอร์ )...

เทนเซอร์ (การเรียนรู้ของเครื่อง)

ในการเรียนรู้ของเครื่องคำว่าเทนเซอร์โดยทั่วไปหมายถึงสองแนวคิดที่แตกต่างกัน: (i) วิธีการจัดระเบียบข้อมูล และ (ii) การแปลงเชิงเส้นหลายมิติ ( เทนเซอร์ ) ข้อมูลอาจถูกจัดระเบียบในอาร์เรย์หลายมิติ ( อาร์เรย์ Mทาง) ซึ่งโดยทั่วไปเรียกว่า "เทนเซอร์ข้อมูล" อย่างไรก็ตาม ในความหมายทางคณิตศาสตร์อย่างเคร่งครัดเทนเซอร์คือการแมปเชิงเส้นหลายมิติเหนือเซตของปริภูมิเวกเตอร์ โดเมน ไปยังปริภูมิเวกเตอร์เรนจ์ การสังเกต เช่น ภาพ ภาพยนตร์ ปริมาตร เสียง และความสัมพันธ์ระหว่างคำและแนวคิดที่จัดเก็บไว้ใน อาร์เรย์ Mทาง ("เทนเซอร์ข้อมูล") อาจถูกวิเคราะห์โดยเครือข่ายประสาทเทียมหรือวิธีการเทนเซอร์[ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ]

การแยกส่วนเทนเซอร์จะแยกเทนเซอร์ข้อมูลออกเป็นเทนเซอร์ขนาดเล็กกว่า[ 1 ] [ 6 ]การดำเนินการกับเทนเซอร์ข้อมูลสามารถแสดงได้ในรูปของการคูณเมทริกซ์และผลคูณโครเนกเกอร์ [ 7 ] การ คำนวณเกรเดียนต์ ซึ่งเป็นส่วนสำคัญของการแพร่กระจายย้อนกลับสามารถทำได้โดยใช้ไลบรารีซอฟต์แวร์เช่นPyTorchและTensorFlow [ 8 ] [ 9 ]

โดยทั่วไป การคำนวณมักดำเนินการบนหน่วยประมวลผลกราฟิก (GPU) โดยใช้CUDAและบนฮาร์ดแวร์เฉพาะทาง เช่นหน่วยประมวลผล TensorของGoogleหรือTensor coreของNvidiaการพัฒนาเหล่านี้ได้เร่งความเร็วสถาปัตยกรรมเครือข่ายประสาทเทียมอย่างมาก และเพิ่มขนาดและความซับซ้อนของแบบจำลองที่สามารถฝึกฝนได้

ประวัติศาสตร์

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

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

ในช่วงต้นทศวรรษ 2000 วิธีการเทนเซอร์เชิงเส้นหลายตัว[ 1 ] [ 11 ]ได้ก้าวข้ามไปสู่คอมพิวเตอร์วิชั่นคอมพิวเตอร์กราฟิก และการเรียนรู้ของเครื่องด้วยเอกสารของ Vasilescu หรือร่วมมือกับ Terzopoulos เช่น Human Motion Signatures [ 12 ] [ 13 ] TensorFaces [ 14 ] [ 15 ] TensorTextures [ 16 ]และ Multilinear Projection [ 17 ] [ 18 ]พีชคณิตเชิงเส้นหลายตัว ซึ่งเป็นพีชคณิตของเทนเซอร์ลำดับสูง เป็นกรอบการทำงานที่เหมาะสมและโปร่งใสสำหรับการวิเคราะห์โครงสร้างหลายปัจจัยของกลุ่มการสังเกต และสำหรับการแก้ไขปัญหาที่ยากลำบากในการแยกแยะปัจจัยเชิงสาเหตุโดยอาศัยสถิติลำดับที่สอง[ 14 ]หรือสถิติลำดับสูงกว่าที่เกี่ยวข้องกับแต่ละปัจจัยเชิงสาเหตุ[ 15 ]

การวิเคราะห์ปัจจัยเทนเซอร์ (เชิงเส้นหลายตัว) ช่วยแยกและลดอิทธิพลของปัจจัยเชิงสาเหตุต่างๆ ด้วยการเรียนรู้พื้นที่ย่อยเชิงเส้นหลายตัว[ 19 ] เมื่อพิจารณาภาพหรือวิดีโอเป็นอาร์เรย์ 2 หรือ 3 ทาง เช่น "เมทริกซ์ข้อมูล/เทนเซอร์" วิธีการเทนเซอร์จะลดความซ้ำซ้อนเชิงพื้นที่หรือเวลา ดังที่ Wang และ Ahuja ได้แสดงให้เห็น[ 20 ]

Yoshua Bengio [ 21 ] [ 22 ] Geoff Hinton [ 23 ] [ 24 ]และผู้ร่วมงานของพวกเขาได้อภิปรายความสัมพันธ์ระหว่างโครงข่ายประสาทเทียมเชิงลึกและการวิเคราะห์ปัจจัยเทนเซอร์[ 14 ] [ 15 ]นอกเหนือจากการใช้อาร์เรย์ M ทาง ("เทนเซอร์ข้อมูล") เป็นอินพุต การใช้งานเทนเซอร์สำหรับโครงข่ายประสาท เทียมในยุคแรกๆ ปรากฏขึ้นในการประมวลผลภาษาธรรมชาติคำเดียวสามารถแสดงเป็นเวกเตอร์ผ่านWord2vecได้[ 5 ]ดังนั้นความสัมพันธ์ระหว่างสองคำจึงสามารถเข้ารหัสในเมทริกซ์ได้ อย่างไรก็ตาม สำหรับความสัมพันธ์ที่ซับซ้อนกว่า เช่น ประธาน-กรรม-กริยา จำเป็นต้องสร้างโครงข่ายที่มีมิติสูงกว่า ในปี 2009 งานของ Sutskever ได้นำเสนอ Bayesian Clustered Tensor Factorization เพื่อจำลองแนวคิดเชิงสัมพันธ์ในขณะที่ลดพื้นที่พารามิเตอร์[ 25 ]ตั้งแต่ปี 2014 ถึง 2015 วิธีการเทนเซอร์เริ่มเป็นที่นิยมมากขึ้นในโครงข่ายประสาทเทียมแบบ Convolutional (CNNs) วิธีการเทนเซอร์จัดระเบียบน้ำหนักของเครือข่ายประสาทใน "เทนเซอร์ข้อมูล" วิเคราะห์และลดจำนวนน้ำหนักของเครือข่ายประสาท[ 26 ] [ 27 ] Lebedev และคณะเร่งความเร็วเครือข่าย CNN สำหรับการจำแนกประเภทตัวอักษร (การจดจำตัวอักษรและตัวเลขในภาพ) โดยใช้เทนเซอร์เคอร์เนล 4 มิติ[ 28 ]

คำนิยาม

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

ในที่นี้และเป็นจำนวนเต็มบวก และคือจำนวนโหมดของเทนเซอร์ (หรือเรียกอีกอย่างว่าจำนวนวิธีของอาร์เรย์หลายทาง) มิติของโหมดคือสำหรับ[ 14 ] [ 15 ] [ 29 ] [ 5 ]

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

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

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

ในการประมวลผลภาษาธรรมชาติ คำหนึ่งคำอาจถูกแสดงเป็นเวกเตอร์ผ่าน อัลกอริทึม Word2vecดังนั้นจึงกลายเป็นเทนเซอร์โหมด 1

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

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

ในฐานะค่าหน่วย

โครงข่ายประสาทเทียมที่มีเทนเซอร์เป็นค่าโหนด

เทนเซอร์สามารถใช้เป็นค่าหน่วยของโครงข่ายประสาทเทียม ซึ่งขยายแนวคิดของค่าสเกลาร์ เวกเตอร์ และเมทริกซ์ ไปสู่มิติหลายมิติได้

ค่าเอาต์พุตของหน่วยชั้นเดียวคือผลรวมของค่าอินพุตและน้ำหนักการเชื่อมต่อที่กรองผ่านฟังก์ชันการกระตุ้น :

ที่ไหน

โครงข่ายประสาทเทียมแบบคอนโวลูชัน โดยแต่ละหน่วยเป็นภาพ 2 มิติที่แสดงด้วยเทนเซอร์

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

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

ในชั้นที่เชื่อมต่อกันอย่างสมบูรณ์

โครงข่ายประสาทเทียมแบบเชื่อมต่อสมบูรณ์สองชั้นและการแสดงผลในรูปผลคูณโครเนกเกอร์แบบเทนเซอร์

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

ค่าเอาต์พุตของหน่วยชั้นเดียวคือผลรวมของค่าอินพุตและน้ำหนักการเชื่อมต่อที่กรองผ่านฟังก์ชันการกระตุ้น :

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

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

ซึ่งคำนวณผลรวม-ผลคูณโดยใช้การคูณเทนเซอร์ (คล้ายกับการคูณเมทริกซ์)

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

ในเลเยอร์คอนโวลูชัน

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

การคำนวณ คอนโวลูชันมักทำโดยการคูณสัญญาณอินพุตกับเคอร์เนลตัวกรองในสองมิติ รูปแบบที่ไม่ต่อเนื่องและจำกัดคือ:

ความกว้างของเคอร์เนลอยู่ ที่ไหน

คำจำกัดความนี้สามารถเขียนใหม่ได้เป็นผลคูณเมทริกซ์-เวกเตอร์ในแง่ของเทนเซอร์ที่แสดงเคอร์เนล ข้อมูล และการแปลงผกผันของเคอร์เนล[ 30 ]

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

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

การแยกตัวประกอบเทนเซอร์

หนึ่งในคุณูปการสำคัญของเทนเซอร์ในด้านการเรียนรู้ของเครื่องจักรคือความสามารถในการ แยก ตัวประกอบเทนเซอร์เพื่อแยกข้อมูลออกเป็นปัจจัยองค์ประกอบ หรือลดพารามิเตอร์ที่เรียนรู้ เทคนิคการสร้างแบบจำลองเทนเซอร์ข้อมูลนั้นมาจากวิธีการแยกตัวประกอบเทนเซอร์เชิงเส้น (CANDECOMP/Parafac decomposition) และวิธีการแยกตัวประกอบเทนเซอร์เชิงเส้นหลายตัว (Tucker)

การสลายตัวของทักเกอร์

การแยกส่วนแบบทักเกอร์ของเทนเซอร์

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

จากนั้นเทนเซอร์ดั้งเดิมสามารถแสดงได้ในรูปผลคูณเทนเซอร์ของเทนเซอร์ทั้งสี่นี้:

ในตัวอย่างที่แสดงในรูป มิติของเทนเซอร์มีดังนี้

: I=8, J=6, K=3, : I=8, P=5, : J=6, Q=4, : K=3, R=2, : P=5, Q=4, R=2.

จำนวนองค์ประกอบทั้งหมดในการแยกตัวประกอบแบบทักเกอร์คือ

จำนวนองค์ประกอบในข้อมูลต้นฉบับคือ 144 ส่งผลให้ข้อมูลลดลงจาก 144 เหลือ 110 องค์ประกอบ ซึ่งลดลง 23% ในแง่ของพารามิเตอร์หรือขนาดข้อมูล สำหรับเทนเซอร์เริ่มต้นที่มีขนาดใหญ่กว่ามาก และขึ้นอยู่กับลำดับ (ความซ้ำซ้อน) ของเทนเซอร์นั้น ผลลัพธ์ที่ได้อาจมีนัยสำคัญมากกว่านี้

งานของ Rabanser et al. นำเสนอการแนะนำเกี่ยวกับเทนเซอร์พร้อมรายละเอียดเพิ่มเติมเกี่ยวกับการขยายการแยกส่วน Tucker ไปสู่มิติ N นอกเหนือจากตัวอย่างโหมด 3 ที่ให้ไว้ในที่นี้[ 5 ]

รถไฟเทนเซอร์

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

การพัฒนาในปี 2011 โดย Ivan Oseledts ผู้เขียนสังเกตว่าการแยกส่วน Tucker นั้น "เหมาะสมสำหรับมิติขนาดเล็ก โดยเฉพาะอย่างยิ่งสำหรับกรณีสามมิติ สำหรับd ขนาดใหญ่ จะไม่เหมาะสม" [ 31 ]ดังนั้นสามารถใช้เทนเซอร์เทรนเพื่อแยกตัวประกอบเทนเซอร์ขนาดใหญ่ในมิติที่สูงขึ้นได้

กราฟเทนเซอร์

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

การพัฒนาเหล่านี้ส่งผลกระทบต่อทุกด้านของการเรียนรู้ของเครื่อง เช่นการขุดค้นข้อความและการจัดกลุ่ม ข้อมูลที่เปลี่ยนแปลงตามเวลา และเครือข่ายประสาทเทียมซึ่งข้อมูลป้อนเข้าเป็นกราฟทางสังคมและข้อมูลเปลี่ยนแปลงแบบไดนามิก[ 33 ] [ 34 ] [ 35 ] [ 36 ]

ฮาร์ดแวร์

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

ในปี 2014 Nvidiaได้พัฒนาcuDNNซึ่งเป็น CUDA Deep Neural Network ซึ่งเป็นไลบรารีสำหรับชุดของพรีมิทีฟที่ได้รับการปรับให้เหมาะสมซึ่งเขียนด้วยภาษา CUDA แบบขนาน[ 37 ] CUDA และ cuDNN จึงทำงานบน GPU เฉพาะที่ใช้การประมวลผลแบบขนานขนาดใหญ่แบบรวมในฮาร์ดแวร์ GPU เหล่านี้ยังไม่ใช่ชิปเฉพาะสำหรับเทนเซอร์ แต่เป็นฮาร์ดแวร์ที่มีอยู่แล้วซึ่งได้รับการดัดแปลงสำหรับการคำนวณแบบขนานในการเรียนรู้ของเครื่อง

ในช่วงปี 2015–2017 Googleได้คิดค้นหน่วยประมวลผลเทนเซอร์ (TPU) [ 38 ] TPU เป็นหน่วยฮาร์ดแวร์เฉพาะที่มีฟังก์ชันคงที่ซึ่งเชี่ยวชาญในการคูณเมทริกซ์ที่จำเป็นสำหรับผลคูณเทนเซอร์ โดยเฉพาะอย่างยิ่ง พวกมันใช้อาร์เรย์ของหน่วยคูณ 65,536 หน่วยที่สามารถทำการบวกผลคูณเมทริกซ์ 256x256 ได้ในรอบคำสั่งทั่วโลกเพียงรอบเดียว[ 39 ]

ต่อมาในปี 2017 Nvidia ได้เปิดตัว Tensor Core ของตนเองด้วยสถาปัตยกรรม GPU Volta โดย Tensor Core แต่ละตัวเป็นไมโครยูนิตที่สามารถทำการบวกและคูณเมทริกซ์ขนาด 4x4 ได้ มี Tensor Core จำนวน 8 ตัวสำหรับแต่ละบล็อกหน่วยความจำที่ใช้ร่วมกัน (SM) [ 40 ]การ์ด GPU GV100 รุ่นแรกมี SM จำนวน 108 บล็อก ส่งผลให้มี Tensor Core จำนวน 672 ตัว อุปกรณ์นี้ช่วยเร่งความเร็วการเรียนรู้ของเครื่องได้ถึง 12 เท่าเมื่อเทียบกับ GPU Tesla รุ่นก่อนหน้า[ 41 ]จำนวน Tensor Core จะเพิ่มขึ้นตามจำนวนคอร์และหน่วย SM ในแต่ละรุ่นของการ์ดใหม่

การพัฒนาฮาร์ดแวร์ GPU ร่วมกับสถาปัตยกรรมแบบรวมของ Tensor Core ทำให้สามารถฝึกฝนเครือข่ายประสาทเทียมขนาดใหญ่ขึ้นได้มาก ในปี 2022 เครือข่ายประสาทเทียมที่ใหญ่ที่สุดคือPaLM ของ Google ซึ่งมีพารามิเตอร์ที่เรียนรู้ (น้ำหนักเครือข่าย) 540 พันล้านตัว[ 42 ] (โมเดลภาษา GPT-3รุ่นเก่ามีพารามิเตอร์ที่เรียนรู้มากกว่า 175 พันล้านตัวที่สร้างข้อความที่เหมือนมนุษย์ ขนาดไม่ใช่ทุกอย่าง โมเดล Alpaca ของ Stanford ในปี 2023 ที่มีขนาดเล็กกว่ามากอ้างว่าดีกว่า[ 43 ]โดยเรียนรู้จากโมเดลLLaMA ของ Meta/Facebook ในปี 2023 ซึ่งเป็นรุ่นที่มีพารามิเตอร์ 7 พันล้านตัวที่เล็กกว่า) แชทบอทChatGPT ที่ได้รับความนิยมอย่างกว้างขวาง สร้างขึ้นบนGPT-3.5 (และหลังจากอัปเดตเป็นGPT-4 ) โดยใช้การเรียนรู้แบบมีผู้กำกับดูแลและการเรียนรู้แบบเสริมแรง

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Tensor_(machine_learning)&oldid=1359573487 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ เทนเซอร์ (การเรียนรู้ของเครื่อง)

ในการเรียนรู้ของเครื่องคำว่าเทนเซอร์โดยทั่วไปหมายถึงสองแนวคิดที่แตกต่างกัน: (i) วิธีการจัดระเบียบข้อมูล และ (ii) การแปลงเชิงเส้นหลายมิติ ( เทนเซอร์ )...

ประวัติศาสตร์

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

คำนิยาม

ให้เป็น ฟิลด์ (เช่น จำนวนจริง หรือ จำนวนเชิงซ้อน ) เทนเซอร์คือการแปลงเชิงเส้นหลายตัวจากเซตของปริภูมิเวกเตอร์โดเมนไปยังปริภูมิเวกเตอร์เรนจ์: เอฟ {\displaystyle \mathbb {F} } อาร์ {\displaystyle \mathbb {R} } ซี {\displaystyle \mathbb {C} } ที ∈ เอฟ ฉัน 1 × ฉัน...

ในฐานะค่าหน่วย

เทนเซอร์สามารถใช้เป็นค่าหน่วยของโครงข่ายประสาทเทียม ซึ่งขยายแนวคิดของค่าสเกลาร์ เวกเตอร์ และเมทริกซ์ ไปสู่มิติหลายมิติได้