Neural Network Layers
ทำความเข้าใจธรรมชาติของ Neural network
Last updated
ทำความเข้าใจธรรมชาติของ Neural network
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
การทดลองนี้จะปูพื้นฐานความเข้าใจการทำงานของ AI พื้นฐานและการเริ่มต้นทำความเข้าใจการฝึกสอน AI เพื่อเป็นพื้นฐานในคาบต่อๆไป
เริ่มทำการปูพื้นฐานเพิ่มความเข้าใจจาคาบที่แล้วกันก่อนในเรื่องของ AI และกระบวนการคิดและการตัดสินใจของ AI ก่อนที่จะทำการทำการแปลงความเข้าใจให้เป็นโค้ดภาษา C จากคาบที่แล้วเราได้รู้จัก AI และประเภทของ AI กันไปแล้ว วันนี้เราจะมาทำความเข้าใจกันในส่วนที่หลายคนอาจสงสัยว่าไอเจ้าก้อนกลมๆที่ยึดโยงกันเป็นโครงข่ายประสาทมันทำงานยังไงเพื่อให้สามารถนำไปต่อยอดงานอื่นๆในอนาคตได้ การทำงานของตัว AI ที่เป็น machine learning หรือ deep learning นั้นจะแตกต่างกันเพียงจำนวนของ hidden layer เท่านั้น ซึ่ง deep learning จะมี hidden layer มากกว่า 2 layer ขึ้นไปโดยจะมีองค์ประกอบดังนี้
Input layer เป็นชั้นของการรับข้อมูลที่ทำการป้อนเพื่อให้ AI ทำการตัดสินใจหรือเป็นการฝึกสอนให้ AI เข้าใจในสิ่งที่เราสอน
Hidden layer เป็นชั้นของการวิเคราห์ข้อมูลซึ่งอาจจะมีการจัดการหรือเตรียมข้อมูลเช่น resize หรือ sorting data เพื่อนำไปทำการ Convolution ในการช่วยให้สามารถตัดสินใจได้ดีขึ้น
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 หรือการปรับข้อมูลให้สามารถรองรับข้อมูลที่เราป้อนหรือข้อมูลใหม่ๆได้