ด้วยความก้าวหน้าใน Machine Learning ได้ใช้ถนนสูง Deep Learning ถือเป็นเทคโนโลยีขั้นสูงสุดที่สร้างขึ้นเพื่อแก้ปัญหาที่ซับซ้อนซึ่งใช้ชุดข้อมูลจำนวนมาก บล็อกนี้เกี่ยวกับ Neural Networks คืออะไรจะแนะนำให้คุณรู้จักกับแนวคิดพื้นฐานของ Neural Networks และวิธีที่พวกเขาสามารถแก้ปัญหาที่ซับซ้อนที่ขับเคลื่อนด้วยข้อมูล
หากต้องการรับความรู้เชิงลึกเกี่ยวกับปัญญาประดิษฐ์และการเรียนรู้เชิงลึกคุณสามารถลงทะเบียนเพื่อรับชมแบบสดได้ โดย Edureka พร้อมการสนับสนุนตลอด 24 ชั่วโมงทุกวันและการเข้าถึงตลอดชีวิต
นี่คือรายการหัวข้อที่จะกล่าวถึงในนี้ บล็อก:
- Neural Network คืออะไร?
- Deep Learning คืออะไร?
- ความแตกต่างระหว่าง AI, ML และ DL
- ต้องการการเรียนรู้เชิงลึก
- กรณีการใช้งาน Deep Learning
- Neural Networks ทำงานอย่างไร?
- Neural Network อธิบายด้วยตัวอย่าง
นิยามง่ายๆของโครงข่ายประสาทเทียม
แบบจำลองตามสมองของมนุษย์ก Neural Network สร้างขึ้นเพื่อเลียนแบบการทำงานของสมองมนุษย์ . สมองของมนุษย์เป็นโครงข่ายประสาทที่ประกอบด้วยเซลล์ประสาทหลายเซลล์ในทำนองเดียวกันเครือข่ายประสาทเทียม (ANN) ประกอบด้วยหลายตัวรับรู้ (อธิบายในภายหลัง)
โครงข่ายประสาทประกอบด้วยชั้นที่สำคัญสามชั้น:
- ชั้นอินพุต: ตามชื่อที่แนะนำเลเยอร์นี้ยอมรับอินพุตทั้งหมดที่โปรแกรมเมอร์มีให้
- เลเยอร์ที่ซ่อนอยู่: ระหว่างอินพุตและเลเยอร์เอาต์พุตคือชุดของเลเยอร์ที่เรียกว่าเลเยอร์ที่ซ่อนอยู่ ในเลเยอร์นี้จะทำการคำนวณซึ่งส่งผลให้ได้ผลลัพธ์
- ชั้นเอาต์พุต: อินพุตจะผ่านชุดของการแปลงผ่านเลเยอร์ที่ซ่อนอยู่ซึ่งสุดท้ายแล้วผลลัพธ์จะได้ผลลัพธ์ที่ส่งผ่านทางนี้ ชั้น.
ก่อนที่เราจะเจาะลึกเกี่ยวกับการทำงานของ Neural Network มาทำความเข้าใจว่า Deep Learning คืออะไร
Deep Learning คืออะไร?
Deep Learning เป็นสาขาวิชาขั้นสูงของ Machine Learning ที่ใช้แนวคิดของ Neural Networks เพื่อแก้ปัญหาการใช้งานเชิงคำนวณขั้นสูงที่เกี่ยวข้องกับการวิเคราะห์ข้อมูลหลายมิติ กระบวนการสกัดคุณสมบัติโดยอัตโนมัติทำให้แน่ใจว่าจำเป็นต้องมีการแทรกแซงจากมนุษย์น้อยที่สุด
Deep Learning คืออะไรกันแน่?
Deep Learning เป็นขั้นสูง สาขาย่อยของ Machine Learning ที่ใช้อัลกอริทึมที่ได้รับแรงบันดาลใจจากโครงสร้างและหน้าที่ของสมองที่เรียกว่า Artificial Neural Networks
ความแตกต่างระหว่าง AI, ML และ DL (ปัญญาประดิษฐ์เทียบกับการเรียนรู้ของเครื่องและการเรียนรู้เชิงลึก)
คนทั่วไปมักจะคิดว่า , และ การเรียนรู้เชิงลึก เหมือนกันเนื่องจากมีแอปพลิเคชันทั่วไป ตัวอย่างเช่น Siri เป็นแอปพลิเคชัน AI, Machine learning และ Deep learning
แล้วเทคโนโลยีเหล่านี้เกี่ยวข้องกันอย่างไร?
- ปัญญาประดิษฐ์ เป็นศาสตร์แห่งการนำเครื่องจักรมาเลียนแบบพฤติกรรมของมนุษย์
- การเรียนรู้ของเครื่อง เป็นชุดย่อยของปัญญาประดิษฐ์ (AI) ที่มุ่งเน้นไปที่การทำให้เครื่องจักรทำการตัดสินใจโดยการป้อนข้อมูล
- การเรียนรู้เชิงลึก เป็นส่วนย่อยของ Machine Learning ที่ใช้แนวคิดของเครือข่ายประสาทเทียมเพื่อแก้ปัญหาที่ซับซ้อน
เพื่อสรุป AI นั้น Machine Learning และ Deep Learning เป็นฟิลด์ที่เชื่อมต่อกัน การเรียนรู้ของเครื่องและการเรียนรู้เชิงลึกช่วยให้ปัญญาประดิษฐ์โดยจัดเตรียมชุดอัลกอริทึมและเครือข่ายประสาทเทียมเพื่อแก้ปัญหา ปัญหาที่เกิดจากข้อมูล
เมื่อคุณคุ้นเคยกับพื้นฐานแล้วเรามาทำความเข้าใจว่าอะไรทำให้เกิดความจำเป็นในการเรียนรู้เชิงลึก
Need For Deep Learning: ข้อ จำกัด ของอัลกอริทึมและเทคนิคการเรียนรู้ของเครื่องแบบดั้งเดิม
แมชชีนเลิร์นนิงเป็นความก้าวหน้าครั้งสำคัญในโลกแห่งเทคนิคซึ่งนำไปสู่ระบบอัตโนมัติของงานที่ซ้ำซากจำเจและใช้เวลานานช่วยในการแก้ปัญหาที่ซับซ้อนและตัดสินใจอย่างชาญฉลาด อย่างไรก็ตามมีข้อบกพร่องเล็กน้อยในการเรียนรู้ของเครื่องที่นำไปสู่การเกิด Deep Learning
ข้อ จำกัด บางประการของ Machine Learning มีดังนี้
- ไม่สามารถประมวลผลข้อมูลมิติสูง: แมชชีนเลิร์นนิงสามารถประมวลผลเฉพาะข้อมูลขนาดเล็กที่มีตัวแปรชุดเล็ก ๆ หากคุณต้องการวิเคราะห์ข้อมูลที่มีตัวแปรกว่า 100 ตัวจะไม่สามารถใช้ Machine Learning ได้
- วิศวกรรมคุณลักษณะเป็นแบบแมนนวล: พิจารณากรณีการใช้งานที่คุณมีตัวแปรทำนาย 100 ตัวแปรและคุณต้อง จำกัด เฉพาะตัวแปรที่สำคัญให้แคบลง ในการทำเช่นนี้คุณต้องศึกษาความสัมพันธ์ระหว่างตัวแปรแต่ละตัวด้วยตนเองและดูว่าตัวแปรใดมีความสำคัญในการทำนายผลลัพธ์ งานนี้เป็นงานที่น่าเบื่อและใช้เวลานานสำหรับนักพัฒนา
- ไม่เหมาะสำหรับการตรวจจับวัตถุและการประมวลผลภาพ: เนื่องจากการตรวจจับวัตถุต้องใช้ข้อมูลที่มีมิติสูงจึงไม่สามารถใช้ Machine Learning เพื่อประมวลผลชุดข้อมูลภาพได้จึงเหมาะอย่างยิ่งสำหรับชุดข้อมูลที่มีคุณสมบัติ จำกัด จำนวน
ก่อนที่เราจะเข้าสู่ส่วนลึกของ Neural Networks ลองพิจารณากรณีการใช้งานจริงที่นำ Deep Learning มาใช้
กรณีการใช้งาน / แอปพลิเคชันการเรียนรู้เชิงลึก
คุณทราบหรือไม่ว่า PayPal ประมวลผลการชำระเงินกว่า 235,000 ล้านดอลลาร์จากธุรกรรม 4 พันล้านรายการโดยลูกค้ามากกว่า 170 ล้านราย ใช้ข้อมูลจำนวนมากนี้เพื่อระบุกิจกรรมฉ้อโกงที่อาจเกิดขึ้นด้วยเหตุผลอื่น ๆ
ด้วยความช่วยเหลือของอัลกอริธึม Deep Learning PayPal ได้ขุดข้อมูลจากประวัติการซื้อของลูกค้านอกเหนือจากการตรวจสอบรูปแบบของการฉ้อโกงที่อาจเกิดขึ้นซึ่งจัดเก็บไว้ในฐานข้อมูลเพื่อคาดการณ์ว่าธุรกรรมหนึ่ง ๆ เป็นการฉ้อโกงหรือไม่
บริษัท ได้ใช้เทคโนโลยี Deep Learning & Machine Learning มาเป็นเวลาประมาณ 10 ปี ในขั้นต้นทีมตรวจสอบการฉ้อโกงใช้แบบจำลองเชิงเส้นที่เรียบง่าย แต่ในช่วงหลายปีที่ผ่านมา บริษัท ได้เปลี่ยนไปใช้เทคโนโลยี Machine Learning ขั้นสูงที่เรียกว่า Deep Learning
ผู้จัดการความเสี่ยงด้านการฉ้อโกงและนักวิทยาศาสตร์ข้อมูลที่ PayPal, Ke Wang, อ้างถึง:
“ สิ่งที่เราได้รับจากแมชชีนเลิร์นนิงขั้นสูงที่ทันสมัยกว่าคือความสามารถในการใช้ข้อมูลจำนวนมากจัดการกับเลเยอร์และเลเยอร์ของนามธรรมและสามารถ 'มองเห็น' สิ่งต่างๆที่เทคโนโลยีที่เรียบง่ายกว่าจะมองไม่เห็นแม้แต่มนุษย์เองก็อาจ ไม่สามารถมองเห็นได้”
แบบจำลองเชิงเส้นอย่างง่ายสามารถใช้ตัวแปรได้ประมาณ 20 ตัว อย่างไรก็ตามด้วยเทคโนโลยี Deep Learning เราสามารถเรียกใช้จุดข้อมูลได้หลายพันจุด ดังนั้นโดยการดำเนินการ เทคโนโลยี Deep Learning ในที่สุด PayPal สามารถวิเคราะห์ธุรกรรมนับล้านรายการเพื่อระบุการฉ้อโกง กิจกรรม.
ตอนนี้เรามาดูส่วนลึกของ Neural Network และทำความเข้าใจว่าพวกมันทำงานอย่างไร
Neural Network ทำงานอย่างไร?
เพื่อทำความเข้าใจเครือข่ายประสาทเทียมเราจำเป็นต้องแยกมันออกและทำความเข้าใจหน่วยพื้นฐานที่สุดของเครือข่ายประสาทเทียมนั่นคือ Perceptron
Perceptron คืออะไร?
Perceptron เป็นเครือข่ายประสาทชั้นเดียวที่ใช้ในการจำแนกข้อมูลเชิงเส้น มีส่วนประกอบสำคัญ 4 ส่วน ได้แก่
- อินพุต
- น้ำหนักและอคติ
- ฟังก์ชัน Summation
- ฟังก์ชั่นการเปิดใช้งานหรือการเปลี่ยนแปลง
ตรรกะพื้นฐานที่อยู่เบื้องหลัง Perceptron มีดังนี้:
อินพุต (x) ที่ได้รับจากชั้นอินพุตจะถูกคูณด้วยน้ำหนักที่กำหนด w จากนั้นค่าที่คูณจะถูกเพิ่มเพื่อสร้างผลรวมถ่วงน้ำหนัก จากนั้นผลรวมถ่วงน้ำหนักของอินพุตและน้ำหนักตามลำดับจะถูกนำไปใช้กับฟังก์ชันการเปิดใช้งานที่เกี่ยวข้อง ฟังก์ชันการเปิดใช้งานจะจับคู่อินพุตกับเอาต์พุตตามลำดับ
น้ำหนักและอคติในการเรียนรู้เชิงลึก
ทำไมเราจึงต้องกำหนดน้ำหนักให้กับแต่ละอินพุต?
เมื่อป้อนตัวแปรอินพุตเข้ากับเครือข่ายแล้วค่าที่เลือกแบบสุ่มจะถูกกำหนดให้เป็นน้ำหนักของอินพุตนั้น น้ำหนักของจุดข้อมูลอินพุตแต่ละจุดบ่งบอกถึงความสำคัญของอินพุตนั้นในการทำนายผลลัพธ์
ในทางกลับกันพารามิเตอร์ bias ช่วยให้คุณสามารถปรับเส้นโค้งฟังก์ชันการเปิดใช้งานเพื่อให้ได้ผลลัพธ์ที่แม่นยำ
ฟังก์ชัน Summation
เมื่อมีการกำหนดน้ำหนักอินพุตเรียบร้อยแล้วผลิตภัณฑ์ของอินพุตและน้ำหนักตามลำดับจะถูกนำมาใช้ การเพิ่มผลิตภัณฑ์ทั้งหมดเหล่านี้ทำให้เรามีผลรวมถ่วงน้ำหนัก สิ่งนี้ทำได้โดยฟังก์ชัน summation
ฟังก์ชั่นการเปิดใช้งาน
จุดมุ่งหมายหลักของฟังก์ชันการเปิดใช้งานคือการแมปผลรวมถ่วงน้ำหนักกับผลลัพธ์ ฟังก์ชันการเปิดใช้งานเช่น tanh, ReLU, sigmoid เป็นต้นเป็นตัวอย่างของฟังก์ชันการเปลี่ยนแปลง
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการทำงานของ Perceptrons คุณสามารถอ่านสิ่งนี้ได้ บล็อก
ก่อนที่เราจะ สรุปบล็อกนี้เรามาดูตัวอย่างง่ายๆเพื่อทำความเข้าใจว่า Neural Network ทำงานอย่างไร
Neural Networks อธิบายด้วยตัวอย่าง
พิจารณาสถานการณ์ที่คุณจะต้องสร้างโครงข่ายประสาทเทียม (ANN) ที่แบ่งประเภทของรูปภาพออกเป็นสองคลาส:
- Class A: มีรูปใบไม้ที่ไม่เป็นโรค
- คลาส B: มีรูปใบที่เป็นโรค
แล้วคุณจะสร้างโครงข่ายประสาทที่จำแนกใบไม้ออกเป็นพืชที่เป็นโรคและไม่เป็นโรคได้อย่างไร?
กระบวนการนี้มักจะเริ่มต้นด้วยการประมวลผลและการแปลงอินพุตในลักษณะที่สามารถประมวลผลได้ง่าย ในกรณีของเราภาพใบไม้แต่ละใบจะถูกแบ่งออกเป็นพิกเซลขึ้นอยู่กับขนาดของภาพ
ตัวอย่างเช่นหากภาพประกอบด้วย 30 x 30 พิกเซลจำนวนพิกเซลทั้งหมดจะเป็น 900 พิกเซลเหล่านี้จะแสดงเป็นเมทริกซ์ซึ่งจะถูกป้อนเข้าในชั้นอินพุตของ Neural Network
เช่นเดียวกับการที่สมองของเรามีเซลล์ประสาทที่ช่วยในการสร้างและเชื่อมต่อความคิด ANN มีการรับรู้ที่รับอินพุตและประมวลผลโดยส่งต่อจากเลเยอร์อินพุตไปยังเลเยอร์ที่ซ่อนอยู่และในที่สุดก็เป็นเลเยอร์เอาต์พุต
เมื่ออินพุตถูกส่งจากเลเยอร์อินพุตไปยังเลเยอร์ที่ซ่อนอยู่น้ำหนักเริ่มต้นแบบสุ่มจะถูกกำหนดให้กับแต่ละอินพุต จากนั้นอินพุตจะถูกคูณด้วยน้ำหนักที่สอดคล้องกันและผลรวมจะถูกส่งเป็นอินพุตไปยังเลเยอร์ที่ซ่อนอยู่ถัดไป
ในที่นี้ค่าตัวเลขที่เรียกว่า bias จะถูกกำหนดให้กับ perceptron แต่ละตัวซึ่งเกี่ยวข้องกับน้ำหนักของแต่ละอินพุต นอกจากนี้ Perceptron แต่ละตัวจะถูกส่งผ่านการกระตุ้นหรือฟังก์ชั่นการเปลี่ยนแปลงที่กำหนดว่า Perceptron เฉพาะได้รับการเปิดใช้งานหรือไม่
อาร์เรย์เรียงลำดับ c ++
Perceptron ที่เปิดใช้งานถูกใช้เพื่อส่งข้อมูลไปยังเลเยอร์ถัดไป ในลักษณะนี้ข้อมูลจะถูกแพร่กระจาย (Forward Propionation) ผ่านเครือข่ายประสาทจนกว่า perceptrons จะไปถึงชั้นเอาต์พุต
ที่ชั้นผลลัพธ์ความน่าจะเป็นจะได้มาซึ่งตัดสินว่าข้อมูลนั้นเป็นของคลาส A หรือคลาส B
ฟังดูเรียบง่ายใช่ไหม แนวคิดเบื้องหลัง Neural Networks นั้นขึ้นอยู่กับการทำงานของสมองมนุษย์ล้วนๆ คุณต้องการความรู้เชิงลึกเกี่ยวกับแนวคิดทางคณิตศาสตร์และอัลกอริทึมต่างๆ รายการบล็อกที่จะช่วยคุณเริ่มต้นมีดังนี้
- Deep Learning คืออะไร? เริ่มต้นด้วยการเรียนรู้เชิงลึก
- การเรียนรู้เชิงลึกด้วย Python: คู่มือเริ่มต้นสำหรับการเรียนรู้เชิงลึก
หากคุณพบว่าบล็อกนี้เกี่ยวข้องโปรดดูที่ไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรการฝึกอบรม Edureka Deep Learning พร้อมการรับรอง TensorFlow ช่วยให้ผู้เรียนมีความเชี่ยวชาญในการฝึกอบรมและเพิ่มประสิทธิภาพเครือข่ายประสาทพื้นฐานและ Convolutional โดยใช้โครงการและงานแบบเรียลไทม์พร้อมกับแนวคิดต่างๆเช่นฟังก์ชัน SoftMax, เครือข่ายประสาทที่เข้ารหัสอัตโนมัติ, เครื่อง Boltzmann ที่ จำกัด (RBM)