วันศุกร์ที่ 30 ตุลาคม พ.ศ. 2563

NAT - Network Address Translation

 

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

NAT คืออะไร

NAT เป็นคำที่ย่อมาจาก Network Address Translation เป็นมาตรฐานหนึ่งของ RFC ถูกเขียนขึ้นในปี 1994 โดยสามารถแปลง (translation) IP หลายๆ ตัวที่ใช้ภายในเครือข่ายให้ติดต่อกับเครือข่ายอื่นโดยใช้ IP เดียวกันตัวอย่างเช่นเครื่องคอมพิวเตอร์ของเรา IP Address เป็น 192.168.1.28 ซึ่งเป็น Private IP ใช้สำหรับรับส่งข้อมูลภายในองค์กรแต่เมื่อใดที่เราต้องการใช้งานอินเทอร์เน็ต เราเตอร์หรืออุปกรณ์ที่ทำเป็น NAT Device จะแปลงหมายเลข IP นั้นเป็นหมายเลขอื่นเพื่อเข้าถึงการใช้งานอินเทอร์เน็ต

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

รูปแบบการทำ NAT

การทำ NAT หลักๆ จะมีอยู่ด้วยกัน 2 ชนิด ดังต่อไปนี้

Static NAT

เป็นการแปลงหมายเลข IP Address แบบ one to one คือ IP Address ของเครื่องภายในหนึ่งหมายเลขจะทำการแปลงไปเป็น IP Address ของเครือข่ายภายนอกหนึ่งหมายเลข ส่วนมากจะใช้งานกับเครื่อง Server ที่อยู่ในเครือข่ายภายใน ที่ต้องการเข้าใช้งานจากเครือข่ายภายนอก
จากในรูปจะเห็นว่าการทำ Static NAT เป็น การจับคู่ IP Address แบบ Private เข้ากับ IP Address แบบ Public แบบ one to one เช่น IP Address 192.168.1.21 จะถูกแปลงไปเป็น 201.108.10.31 และ 192.168.1.21 จะถูกแปลงไปเป็น 212.122.34.51 เสมอ เมื่อต้องการเข้าสู่ Public Network หรือ Internet

Dynamic NAT

เป็นการแปลงหมายเลข IP Address แบบ many to many คือ IP Address ของเครื่องภายในเครือข่ายหลาย ๆ เครื่องจะทำการแปลงไปเป็น IP Address ของเครือข่ายภายนอกหลาย ๆ หมายเลข โดยการแปลงหมายเลข IP Address นั้นจะทำตามลำดับ คือ IP Address ของเครื่องในเครือข่ายภายในที่มาก่อนก็จะทำการแปลงเป็น IP Address ของเครือข่ายภายนอกในอันดับต้น ๆ ก่อน โดยถ้ามี IP Address ของเครือข่ายภายนอก 3 IP Address เครื่องในเครือข่ายภายในก็จะสามารถติดต่อสื่อสารได้เพียง 3 เครื่องในเวลาหนึ่ง ๆ เท่ากัน
จากในรูปเราจะเห็นได้ว่า IP Address แบบ Private ที่ใช้งานก่อนจะถูกแปลงไปเป็น IP Address แบบ Public ที่ว่างอยู่เป็นอันดับแรกในช่วงที่กำหนดไว้ เช่น IP Address 192.168.1.15 ได้เข้าใช้งานเป็นอันดับแรก จึงได้ถูกแปลงไปเป็น IP Address แบบ Public ที่ว่างเป็นอันดับแรกของช่วงที่กำหนดไว้ นั่นก็คือ 201.108.10.31 และเมื่อใช้งานเสร็จแล้ว IP Address 201.108.10.31 นี้ก็อาจจะจับคู่กับ Private IP Address อื่น ๆ แทนก็ได้

วันพฤหัสบดีที่ 29 ตุลาคม พ.ศ. 2563

Protocol ในระบบเครือข่าย

  



เมื่อเราอ่านบทความหรือติดตามข่าวเกี่ยวกับเทคโนโลยี เราอาจจะเคยผ่านตาหรือคุ้นหูกับความว่า “โปรโตคอล (Protocol)” กันมาบ้าง แต่ว่าแม้เราจะเคยได้ยินหรือคุ้นกับคำนี้มากแค่ไหน บางท่านอาจจะยังไม่เข้าใจความหมายของคำว่า โปรโตคอล เลยด้วยซ้ำ ดังนั้นในบทความนี้เราจะผ่านทุกท่านไปรู้จักกับคำว่า โปรโตคอล (Protocol) กัน

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

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

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


Protocol ของคอมพิวเตอร์มีอะไรบ้าง
อย่างที่กล่าวไปข้างต้นว่า Protocol ก็คือภาษาของคอมพิวเตอร์แต่ก็ใช่ว่า การสื่อสารจะมีแค่ภาษาเดียว เหมือนกับมนุษย์เราที่มีภาษาที่ใช้ในการสื่อสารมากมายไม่ว่าภาษาไทย ภาษาจีน ภาษาอังกฤษ คอมพิวเตอร์เองก็มีภาษาใช้ในการสื่อสารเพื่อร้องขอข้อมูลที่แตกต่างกัน ดังนั้นจึงทำให้มี Protocol มากมายหลายตัว เพราะฉะนั้นในหัวข้อนี้เราจึงจะขอยกตัวอย่าง Protocol ที่มักจะพบเห็นและได้ยินกันบ่อยๆ

1. Protocol HTTP ย่อมาจาก Hypertext Transfer Protocol เป็น Protocol ที่ใช้แลกเปลี่ยนข้อมูลระหว่าง Server  และ Client โดยนำไปสู่การเชื่อมต่อกับ World Wide Web ( www ) ซึ่งถูกออกแบบมาให้มีการทำงานได้รวดเร็ว ไม่ซับซ้อน โดยจะใช้ได้เมื่อเรียกโปรแกรม web browser ต่างๆ เช่น  IE, Google Chrome, Safari เป็นต้น  ขึ้นมาเรียกดูข้อมูลหรือเว็บเพจ โดยที่จะมี HTTP Protocol ที่ทำให้ Server สามารถส่งข้อมูลมาให้ Browser ตามที่ต้องการ และ Browser ก็จะนำข้อมูลมาแสดงผลบนหน้าจอ

2. Protocol HTTPS เป็น Protocol ที่ถูกพัฒนาขึ้นมาจาก HTTP แต่มีการเพิ่มตัว S ขึ้นมา ซึ่งมีความหมายว่า Secure กล่าวง่ายๆ ก็คือเป็น Protocol ที่มีการเพิ่มเติมในส่วนความปลอดภัย โดยเฉพราะการป้องกันการดักจับข้อมูล

3. Protocol TCP/IP เรียกได้ว่า เป็น Protocol ที่สำคัญมากที่สุดเนื่องจากเป็น Protocol ที่ถูกใช้ในการสื่อสารผ่านเครือข่าย Internet เพื่อให้สามารถสื่อสารจากต้นทาง ข้ามเครือข่าย ไปยังปลายทางได้ และสามารถหาเส้นทางที่จะส่งข้อมูลไปได้เองโดยอัตโนมัติ ซึ่งแยกออกมาได้เป็น 2 อย่างคือ

-          Protocol TCP ย่อมาจาก  “Transmission Control Protocol”  : ซึ่ง TCP จะทำหน้าที่ในการแยก package ส่งออกไป ส่วนปลายทางก็จะทำการรวมเอาข้อมูลนำไปประมวลผลต่อ ดังนั้น ระหว่างการรับและส่งข้อมูลนั้น จะมีการตรวจสอบข้อมูลความถูกต้องด้วย  และถ้าหากมีการผิดพลาดเกิดขึ้น ทาง TCP ที่ปลายทาง ก็จะทำการขอไปยังต้นทาง เพื่อส่งข้อมูลใหม่มาให้

-          Protocol IP  ย่อมาจาก  “Internet  Protocol” : IP ก็จะเป็นส่วนที่ทำการส่งข้อมูลจากต้นทางไปยังปลายทาง โดยผ่าน IP Address นั่นเอง

4. Protocol SMTP ย่อมาจาก Simple Mail Transfer Protocol เป็น Protocol ที่ใช้ในการรับส่ง Email ใน Internet ที่เราใช้กันในปัจจุบัน

5. Protocol FTP ย่อมาจาก File Transfer Protocol เป็น Protocol ที่เอาไว้ใช้ในการการโอนย้ายแฟ้มระหว่างกัน ส่วนใหญ่จะใช้ในการ upload file  ขึ้น server

6. Protocol NNP ย่อมาจาก Network News Transfer Protocol เป็น Protocol ที่ใช้ในการโอนย้ายข่าวสารระหว่างกัน

7. Protocol ICMP ย่อมาจาก Internet Control Message Protocol เป็น Protocol ที่เอาไว้ใช้ในการสอบถามข้อมูลระหว่างกัน

8. Protocol POP3 (Post Office Protocol 3) เป็น Protocol ที่เอาไว้รับ email จาก server โดยจะเป็นการให้ผู้ใช้ โหลดอีเมล์เอามาเก็บเอาไว้อ่านแบบ Offline โดยที่ไม่จำเป็นต้องเชื่อมต่อกับ Internet

9. Protocol DHCP ย่อมาจาก Dynamic Host Configuration Protocol เป็น Protocol ที่ใช้ในเครือข่ายการทำงานแบบ แม่ข่าย และ ลูกข่าย ของคอมพิวเตอร์

10. Protocol IMAP (Internet Message Access Protocol) เป็น Protocol ที่เอาไว้รับอีเมล์จาก server เพื่ออ่านแบบ Online

วันจันทร์ที่ 19 ตุลาคม พ.ศ. 2563

ทำความรู้จักกับ Router

 



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

เราเตอร์ (Router)
เปรียบเสมือนกับถนนที่เป็นเส้นทางในการเดินทางของรถยนต์ เพราะเราเตอร์ทำหน้าที่เหมือนกับถนนเมื่อข้อมูลวิ่งเข้ามาในเราเตอร์ ข้อมูลเหล่านี้จะถูกวิเคราะห์และถูกส่งไปยังปลายทาง โดยเราเตอร์นั้นจะมีซอฟแวร์ในการควบคุมการทำงานอยู่ซึ่งเราเรียกซอฟแวร์นี้ว่า Internetwork Operating System (IOS) โดยเราสามารถเชื่อมต่อคอมพิวเตอร์กับเราเตอร์ได้มากกว่า 1 เครื่องในเวลาเดียวกันซึ่งการทำงานแบบนี้จะเหมือนกับอุปกรณ์สวิตช์ (Switch) ที่มีความสามารถแจก IP ได้ซึ่งเราเตอร์ก็สามารถแจก IP ได้เหมือนกัน


หลักการทำงานของเราเตอร์ (Router)
จากที่ได้อธิบายไว้แล้วในตอนต้นว่าเราเตอร์เป็นอุปกรณ์ที่ทำการเชื่อมต่อคอมพิวเตอร์ได้หลายเครื่องในเวลาเดียวกันและสามารถเชื่อมต่อเครือข่ายที่แตกต่างกันให้สามารถใช้งานร่วมกันได้ โดยหน้าที่หลักของเราเตอร์นั้นก็คือการส่งข้อมูลในช่องทางที่ดีที่สุดให้กับปลายทางที่มีการระบุไว้ใน packet ข้อมูล โดยการทำงานของ Router จะใช้โปรโตคอลที่ทำงานในระดับบนหรือ Layer 3 ขึ้นไปเช่น IP, IPX เป็นต้น

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


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

1. เราเตอร์สามารถช่วยเพิ่มการใช้งานของระบบเครือข่ายได้ เพราะเราเตอร์หนึ่งตัวสามารถเชื่อมต่อกับเครื่องคอมพิวเตอร์ได้มากกว่า 1 เครื่องทำให้เราสามารถเชื่อมโยงเครือข่ายได้มากตามลักษณะการใช้งาน

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

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

การเลือกซื้อเราเตอร์เราควรเลือกซื้อตามลักษณะการใช้งานซึ่งส่วนมากแล้วจะนิยม ไวร์เลสโมเด็มเราเตอร์ (Wireless ADSL Modem Router) ซึ่งมีความสามารถครบครั้น โดยส่วนมากเราเตอร์ประเภทนี้จะถูกเรียกว่า All in one เพราะความสามารถที่สามารถเป็นได้ทั้งโมเด็ม เราเตอร์และตัวกระจายสัญญาณ Wireless ภายในตัวเดียวกันที่สำคัญราคาของเราเตอร์ประเภทนี้ก็ไม่ได้สูงมากด้วย

วันเสาร์ที่ 10 ตุลาคม พ.ศ. 2563

IoT กับ AI สุดยอดเทคโนโลยีโลกยุคใหม่



ไม่ว่าจะเป็น IoT หรือ AI ต่างก็เป็นเทคโนโลยีที่คอยขับเคลื่อนและเปลี่ยนแปลงโลกไปสู่อนาคต แต่หลายๆ คนอาจจะยังมีข้อสงสัยกันอยู่ว่า IoT กับ AI เป็นเทคโนโลยีแบบเดียวกันหรือไม่ ซึ่งในบทความนี้เราจะกล่าวถึงความแตกต่างของสองเทคโนโลยีนี้กันว่า IoT กับ AI นั้นมีข้อแตกต่างกันอย่างไร


ทำความรู้จักกับ IoT กับ AI กันก่อน


IoT เป็นคำย่อมาจาก Internet of Things แปลงตรงตัวก็คือ “อินเทอร์เน็ตของทุกสิ่ง” หมายถึง การที่อุปกรณ์ต่างๆ สามารถทำงานเชื่อมต่อกันอย่างอัจฉริยะผ่านเครือข่ายอินเตอร์เน็ต สามารถทำงานร่วมกับสมาร์ทโฟนและเซ็นเซอร์ที่คอยตรวจจับสิ่งต่างๆ ที่อยู่รอบตัว ตัวอย่างเช่น กล้องวงจรปิดที่สามารถดูออนไลน์ผ่านมือถือได้ เป็นต้น IoT ไม่ได้หมายถึงการที่อุปกรณ์เข้าถึงโครงข่ายอินเทอร์เน็ตได้เท่านั้น แต่ยังรวมไปถึงอุปกรณ์ใดๆ ก็ต่างที่สามารถสั่งการและควบคุมแบบไร้สายได้ด้วย



เราสามารถดูกล้องวงจรปิดผ่านมือถือได้โดยผ่านแอปพลิเคชั่นต่างๆ จากผู้ผลิตแต่ละแบรนด์



AI หรือ Artificial Intelligence หรือชื่อภาษาไทยที่เรามักเรียกกันติดปากว่า “ปัญญาประดิษฐ์” คือโปรแกรมที่ถูกเขียนและพัฒนาให้มีความฉลาด มีความสามารถในการคิด วิเคราะห์ วางแผน และตัดสินใจได้ และยังสามารถดัดแปลงการประมวลผล ประยุกต์ ให้เป็นไปตามสถานการณ์ต่างๆ โดยที่ไม่จำเป็นต้องรอการอนุมัติจากมนุษย์ ตัวอย่างเช่น Tengai หุ่นยนต์ HR (Human Resource) สามารถสัมภาษณ์งานและวิเคราะห์สีหน้า ท่าทาง และ น้ำเสียงของมนุษย์ได้ เป็นต้น โดยส่วนใหญ่เรามักจะเข้าใจว่า AI ทั้งหมดหมายถึงหุ่นยนต์ที่มีความคิดความอ่านเหมือนมนุษย์เท่านั้น แต่อย่างที่กล่าวไปข้างว่า AI คือโปรแกรม ดังนั้นไม่จำเป็นว่าต้องเป็นหุ่นยนต์เสมอไปอย่างเช่น แอปถ่ายรูปส่วนใหญ่เราใช้งานก็มี AI ที่ตรวจจับใบหน้าและประมวลผลแต่งรูปให้เราเองได้อัตโนมัติ เป็นต้น



Tengai หุ่นยนต์สัมภาษณ์งานจากสวีเดน


สรุปความแตกต่างของ IoT และ AI


ถ้าจะให้สรุปความแตกต่างของสองเทคโนโลยีเข้าใจง่ายเลยก็คือ


- IoT หมายถึงอะไรก็ตามที่สามารถเชื่อมต่อและเข้าถึงเครือข่ายอินเทอร์เน็ตได้


- AI คือโปรแกรมที่ถูกเขียนขึ้นมาให้มีความฉลาดและประมวลผลได้เหมือนมนุษย์


การทำงานร่วมกันของ IoT และ AI


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


- โทรศัพท์มือถือ iPhone ที่มีผู้ช่วยฉลาดสุดล้ำอย่าง Siri ที่สามารถพูดคุยโต้ตอบกับเราและสามารถสืบค้นหาข้อมูลที่เราต้องการได้จากอินเทอร์เน็ต


- Facebook โซเซียลมีเดียที่เรานิยมใช้กันมี AI ที่สามารถวิเคราะห์ความชอบหรือความสนใจของเราจากกิจกรรมที่เราทำต่างๆ ในโซเซียล และจากนั้นก็แสดงโพสต์หรือโฆษณาที่ตรงกับความสนใจของเราขึ้นมา


- กล้องวงจรปิดแบบ Robot บางรุ่นที่สามารถตรวจจับการเคลื่อนไวของมนุษย์ได้ และสามารถส่งข้อความแจ้งเตือนมามือถือของเราได้ทันที


- ตู้เย้นอัจฉริยะที่มีกล้องภายในตัวสามารถมองเห็นของที่อยู่ข้างในตู้ได้ และวิเคราะห์หาสูตรอาหารต่างๆ จากของที่เห็นภายในตู้



ตู้เย็นอัจฉริยะที่นอกจากเชื่อมต่ออินเทอร์เน็ตได้แล้ว ยังสามารถเชื่อมต่อกับมือถือได้ด้วย


เจาะลึกเรื่อง AI ทำความรู้จักกับ Machine Learning กับ Deep Learning

 


ปัญญาประดิษฐ์ หรือ Artificial Intelligence (AI) เป็นนวัตกรรมที่สร้างการเปลี่ยนแปลงและนำไปสู่การพัฒนาเทคโนโลยีแห่งอนาคต แต่ขั้นตอนกระบวนการคิดวิเคราะห์ของ AI นั้น ประกอบตัวด้วยองค์ประกอบย่อยอย่าง Machine Learning กับ Deep Learning ซึ่งองค์ประกอบทั้ง 2 อย่าง ทำหน้าที่เปรียบเสมือนสมองของ AI เป็นส่วนสำคัญที่ทำให้เกิดการเรียนรู้คิดวิเคราะห์และประมวลผลข้อมูล

Machine Learning คืออะไร

Machine Learning คือ ส่วนการเรียนรู้ของเครื่อง ถูกใช้งานเสมือนเป็นสมองของ AI (Artificial Intelligence) เราอาจพูดได้ว่า AI ใช้ Machine Learning ในการสร้างความฉลาด มักจะใช้เรียกโมเดลที่เกิดจากการเรียนรู้ของปัญญาประดิษฐ์ ไม่ได้เกิดจากการเขียนโดยใช้มนุษย์ มนุษย์มีหน้าที่เขียนโปรแกรมให้ AI (เครื่อง) เรียนรู้จากข้อมูลเท่านั้น ที่เหลือเครื่องจัดการเอง

Machine Learning เรียนรู้จากสิ่งที่เราส่งเข้าไปกระตุ้น แล้วจดจำเอาไว้เป็นมันสมอง ส่งผลลัพธ์ออกมาเป็นตัวเลข หรือ code ที่ส่งต่อไปแสดงผล หรือให้เจ้าตัว AI นำไปแสดงการกระทำ Machine Learning เองสามารถเอาไปใช้งานได้หลายรูปแบบ ต้องอาศัยกลไกที่เป็นโปรแกรม หรือเรียกว่า Algorithm ที่มีหลากหลายแบบ โดยมี Data Scientist เป็นผู้ออกแบบ หนึ่งใน Algorithm ที่ได้รับความนิยมสูง คือ Deep Learning ซึ่งถูกออกแบบมาให้ใช้งานได้ง่าย และประยุกต์ใช้ได้หลายลักษณะงาน อย่างไรก็ตาม ในการทำงานจริง Data Scientist จำเป็นต้องออกแบบตัวแปรต่างๆ ทั้งในตัวของ Deep Learning เอง และต้องหา Algorithm อื่นๆ มาเป็นคู่เปรียบเทียบ เพื่อมองหา Algorithm ที่เหมาะสมที่สุดในการใช้งานจริง

Machine Learning เรียนรู้ด้วยตัวเองได้อย่างไร

Machine Learning มีหลักการเรียนรู้ข้อมูลอยู่ 3 หลัก ด้วยกันดังต่อไปนี้


การเรียนรู้แบบได้รับคำแนะนำ (Supervised learning)
ยกตัวอย่างเวลาเราป้อนข้อมูลให้กับคอมพิวเตอร์ (Input) เช่น รูปเสือ แต่คอมพิวเตอร์มันยังไม่รู้หรอกว่าเนี่ยคือรูปเสือ เราก็ต้องบอกมันก่อน แล้วคอมพิวเตอร์มันก็จะไปวิเคราะห์ (Feature Extraction) ว่า เสือเป็นสัตว์ 4 ขา มี 2 หู 1 หาง เป็นต้น จากนั้นคอมพิวเตอร์ก็นำข้อมูลดังกล่าวไปประมวล/จัดหมวดหมู่ (Classification) เพื่อให้หลังจากนี้มันสามารถแยกออกได้ว่าอะไรคือเสือ อะไรไม่ใช่เสือ

การเรียนรู้แบบไม่ได้รับคำแนะนำ (Unsupervised learning)
รูปแบบนี้เรียกได้ว่าตรงกันข้ามกับรูปแบบแรกเลย มันคือการที่เราป้อนข้อมูล (Input) รูปเสือเข้าไป แต่ไม่ได้บอกมันว่ารูปที่ป้อนเข้าไปเป็นรูปเสือ ทีนี้พอคอมพิวเตอร์มันเอาไปวิเคราะห์ (Feature Extraction) มันก็วิเคราะห์ได้นะว่ารูปที่ใส่เข้าไปมีลักษณะยังไง แต่คราวนี้มันไม่สามารถเอาไปประมวล/จัดหมวดหมู่ (Classification) ได้แล้ว มันจะใช้วิธีการแบ่งกลุ่มแทน (Clustering) ซึ่งคอมพิวเตอร์มันก็จะเอารูปเสือไปอยู่กับแมว สุนัข หรือสัตว์อื่น ๆ ที่มี 4 ขา มี 2 หู 1 หาง เหมือนกัน

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

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

เช่น มีข้อมูลสัตว์ 1 ตัวที่ไม่ทราบว่าจะเป็นอะไร Deep Learning จะทำการตรวจสอบและคาดการณ์ ว่า ‘อาจจะเป็น’ สัตว์ชนิดนี้ โดยไม่จำเป็นต้องระบุว่ามีปีกหรือมีหาง Deep Learning แค่ ‘คาดการณ์’ เอาไว้ก่อน

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


หากบอกว่า Machine Learning เปรียบเสมือน subset ของ AI เเล้ว Deep Learning เองก็เป็นเสมือนวิธีการหนึ่งของ Machine Learning เช่นกัน เพียงเเต่เป็นวิธีคิดของคอมพิวเตอร์ที่มีประสิทธิภาพสูงยิ่งกว่า โดยการทำงานจะทำร่วมกันเพื่อเพิ่มประสิทธิภาพในการ Predicted รวมไปถึงความถูกต้อง ข้อดีของ Deep Learning คือยิ่งมีข้อมูลเข้ามา Train มากเท่าไหร่ประสิทธิภาพในการคิดของคอมพิวเตอร์ก็ยิ่งสูงขึ้นเท่านั้น ต่างกับ Machine Learning ที่เมื่อมีข้อมูลจำนวนมากประสิทธิภาพการทำงานจะไม่สามารถสูงขึ้นอีกจนกว่าจะได้รับการ Train เพิ่มเติม