Neural Network คืออะไร? ข้อมูลเบื้องต้นเกี่ยวกับโครงข่ายประสาทเทียม



บล็อกนี้เกี่ยวกับ Neural Networks คืออะไรจะแนะนำให้คุณรู้จักกับแนวคิดพื้นฐานของ Neural Networks และวิธีที่พวกเขาสามารถแก้ปัญหาที่ซับซ้อนที่ขับเคลื่อนด้วยข้อมูล

ด้วยความก้าวหน้าใน Machine Learning ได้ใช้ถนนสูง Deep Learning ถือเป็นเทคโนโลยีขั้นสูงสุดที่สร้างขึ้นเพื่อแก้ปัญหาที่ซับซ้อนซึ่งใช้ชุดข้อมูลจำนวนมาก บล็อกนี้เกี่ยวกับ Neural Networks คืออะไรจะแนะนำให้คุณรู้จักกับแนวคิดพื้นฐานของ Neural Networks และวิธีที่พวกเขาสามารถแก้ปัญหาที่ซับซ้อนที่ขับเคลื่อนด้วยข้อมูล

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





นี่คือรายการหัวข้อที่จะกล่าวถึงในนี้ บล็อก:

  1. Neural Network คืออะไร?
  2. Deep Learning คืออะไร?
  3. ความแตกต่างระหว่าง AI, ML และ DL
  4. ต้องการการเรียนรู้เชิงลึก
  5. กรณีการใช้งาน Deep Learning
  6. Neural Networks ทำงานอย่างไร?
  7. Neural Network อธิบายด้วยตัวอย่าง

นิยามง่ายๆของโครงข่ายประสาทเทียม

แบบจำลองตามสมองของมนุษย์ก Neural Network สร้างขึ้นเพื่อเลียนแบบการทำงานของสมองมนุษย์ . สมองของมนุษย์เป็นโครงข่ายประสาทที่ประกอบด้วยเซลล์ประสาทหลายเซลล์ในทำนองเดียวกันเครือข่ายประสาทเทียม (ANN) ประกอบด้วยหลายตัวรับรู้ (อธิบายในภายหลัง)



Neural Network - Neural Network คืออะไร - Edureka

โครงข่ายประสาทประกอบด้วยชั้นที่สำคัญสามชั้น:

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

ก่อนที่เราจะเจาะลึกเกี่ยวกับการทำงานของ 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 มีดังนี้

  1. ไม่สามารถประมวลผลข้อมูลมิติสูง: แมชชีนเลิร์นนิงสามารถประมวลผลเฉพาะข้อมูลขนาดเล็กที่มีตัวแปรชุดเล็ก ๆ หากคุณต้องการวิเคราะห์ข้อมูลที่มีตัวแปรกว่า 100 ตัวจะไม่สามารถใช้ Machine Learning ได้
  2. วิศวกรรมคุณลักษณะเป็นแบบแมนนวล: พิจารณากรณีการใช้งานที่คุณมีตัวแปรทำนาย 100 ตัวแปรและคุณต้อง จำกัด เฉพาะตัวแปรที่สำคัญให้แคบลง ในการทำเช่นนี้คุณต้องศึกษาความสัมพันธ์ระหว่างตัวแปรแต่ละตัวด้วยตนเองและดูว่าตัวแปรใดมีความสำคัญในการทำนายผลลัพธ์ งานนี้เป็นงานที่น่าเบื่อและใช้เวลานานสำหรับนักพัฒนา
  3. ไม่เหมาะสำหรับการตรวจจับวัตถุและการประมวลผลภาพ: เนื่องจากการตรวจจับวัตถุต้องใช้ข้อมูลที่มีมิติสูงจึงไม่สามารถใช้ 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 ส่วน ได้แก่

  1. อินพุต
  2. น้ำหนักและอคติ
  3. ฟังก์ชัน Summation
  4. ฟังก์ชั่นการเปิดใช้งานหรือการเปลี่ยนแปลง

ตรรกะพื้นฐานที่อยู่เบื้องหลัง 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 นั้นขึ้นอยู่กับการทำงานของสมองมนุษย์ล้วนๆ คุณต้องการความรู้เชิงลึกเกี่ยวกับแนวคิดทางคณิตศาสตร์และอัลกอริทึมต่างๆ รายการบล็อกที่จะช่วยคุณเริ่มต้นมีดังนี้

  1. Deep Learning คืออะไร? เริ่มต้นด้วยการเรียนรู้เชิงลึก
  2. การเรียนรู้เชิงลึกด้วย Python: คู่มือเริ่มต้นสำหรับการเรียนรู้เชิงลึก

หากคุณพบว่าบล็อกนี้เกี่ยวข้องโปรดดูที่ไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรการฝึกอบรม Edureka Deep Learning พร้อมการรับรอง TensorFlow ช่วยให้ผู้เรียนมีความเชี่ยวชาญในการฝึกอบรมและเพิ่มประสิทธิภาพเครือข่ายประสาทพื้นฐานและ Convolutional โดยใช้โครงการและงานแบบเรียลไทม์พร้อมกับแนวคิดต่างๆเช่นฟังก์ชัน SoftMax, เครือข่ายประสาทที่เข้ารหัสอัตโนมัติ, เครื่อง Boltzmann ที่ จำกัด (RBM)