Neural Network Layers

ทำความเข้าใจธรรมชาติของ Neural network

การทดลองนี้จะปูพื้นฐานความเข้าใจการทำงานของ AI พื้นฐานและการเริ่มต้นทำความเข้าใจการฝึกสอน AI เพื่อเป็นพื้นฐานในคาบต่อๆไป

Introduction

เริ่มทำการปูพื้นฐานเพิ่มความเข้าใจจาคาบที่แล้วกันก่อนในเรื่องของ AI และกระบวนการคิดและการตัดสินใจของ AI ก่อนที่จะทำการทำการแปลงความเข้าใจให้เป็นโค้ดภาษา C จากคาบที่แล้วเราได้รู้จัก AI และประเภทของ AI กันไปแล้ว วันนี้เราจะมาทำความเข้าใจกันในส่วนที่หลายคนอาจสงสัยว่าไอเจ้าก้อนกลมๆที่ยึดโยงกันเป็นโครงข่ายประสาทมันทำงานยังไงเพื่อให้สามารถนำไปต่อยอดงานอื่นๆในอนาคตได้ การทำงานของตัว AI ที่เป็น machine learning หรือ deep learning นั้นจะแตกต่างกันเพียงจำนวนของ hidden layer เท่านั้น ซึ่ง deep learning จะมี hidden layer มากกว่า 2 layer ขึ้นไปโดยจะมีองค์ประกอบดังนี้

  1. Input layer เป็นชั้นของการรับข้อมูลที่ทำการป้อนเพื่อให้ AI ทำการตัดสินใจหรือเป็นการฝึกสอนให้ AI เข้าใจในสิ่งที่เราสอน

  2. Hidden layer เป็นชั้นของการวิเคราห์ข้อมูลซึ่งอาจจะมีการจัดการหรือเตรียมข้อมูลเช่น resize หรือ sorting data เพื่อนำไปทำการ Convolution ในการช่วยให้สามารถตัดสินใจได้ดีขึ้น

  3. Output layer เป็นชั้นของการนำข้อมูลที่ผ่านการประมวลผลแล้วไปทำงานในส่วนอื่นต่อ

ซึ่งการทำงานเป็นแต่ละ layer แบบนี้เป็นการทำงานในส่วนของ AI ในปัจจุบันโดยจะมีการเติมฟังก์ชั้นที่ช่วยในการจัดการข้อมูล หรือช่วยในการประมวลผลได้ดีขึ้นทั้งในส่วนของชั้นประมวลผล เช่น Conv, Gaussian และชั้นของการนำไปใช้งานต่อ เช่น Softmax,ReLu เป็นต้น

แต่ก่อนอื่นจะมาทำความเข้าใจพื้นฐานของแต่และเจ้าเม็ดกลมๆ ว่ามันเรียนรู้ยังไงทำไม ซึ่งมันคิดได้เพียงแบบเป็นเหตุเป็นผล ไม่สามารถคิดสร้างสรรค์ได้เหมือนมนุษย์ เพราะว่าพื้นฐานของตัวเจ้าเม็ดกลมๆที่ต่อกันหรือ multi-layer Neural network นั้นมีสิ่งที่เรียกว่า “Backpropagation” โดยเราจะใช้เว็บนี้ประกอบในการสอน -> Link

ตัวอย่างนี้จะเป็นการอธิบายการทำงาน neural network 3 layer ด้วยอินพุท 2 ตัว โดยในแต่ละ neuron จะประกอบด้วยข้อมูลที่เข้ามา 2 ตัวดังภาพ โดยภายใน f(e) จะถูกเรียกว่า “neuron activation function”

โดยการจะสอนให้ neural network เข้าใจในบางสิ่งเราต้องทำการ training ชุดข้อมูลที่เราจะป้อนจากภาพตัวอย่าง

  • ชุดข้อมูลที่เราป้อนไปคือ x1,x2

  • ผลลัพธ์ที่เราคาดหวัง คือ y

  • ค่า y=f(e) ซึ่งเป็นค่า non-linear ที่ได้จากผลลัพธ์ของการวิเคราะห์

ในแต่ละรอบจะมีการ weight หรือการปรับข้อมูลให้สามารถรองรับข้อมูลที่เราป้อนหรือข้อมูลใหม่ๆได้

Last updated

Assoc. Prof. Wiroon Sriborrirux, Founder of Advance Innovation Center (AIC) and Bangsaen Design House (BDH), Electrical Engineering Department, Faculty of Engineering, Burapha University