φυβλαςのβλογ
บล็อกของ phyblas



ค้นพบระบบดาวเคราะห์ ๘ ดวง เบื้องหลังความสำเร็จคือปัญญาประดิษฐ์ (AI)
เขียนเมื่อ 2017/12/16 17:20
แก้ไขล่าสุด 2021/09/28 16:42
เมื่อวันศุกร์ที่ 15 ธันวาคม 2017 ตี 1 ตามเวลาไทย NASA ได้มีการแถลงข่าวเปิดเผยถึงการค้นพบดาวเคราะห์ใหม่จำนวนหนึ่ง

ที่น่าตื่นเต้นก็คือในจำนวนดาวเคราะห์ใหม่ที่เปิดเผยการค้นพบใหม่นั้นมีดวงนึงคือ Kepler-90 ซึ่งมีการค้นพบดาวเคราะห์เพิ่มเป็น 8 ดวง จึงกลายเป็นระบบดาวแรกที่พบว่ามีจำนวนดาวเคราะห์เท่ากับระบบสุริยะของเรา

แต่สิ่งที่น่าสนใจไม่ได้มีอยู่เพียงเท่านั้น ที่น่าจับตามองยิ่งไปกว่านั้นก็คือวิธีการที่ใช้ในการค้นพบ เพราะครั้งนี้มีการใช้ปัญญาประดิษฐ์ (artificial intelligence, AI) ในการค้นด้วย ซึ่งเทคนิคที่ใช้ก็คือ การเรียนรู้เชิงลึก (deep learning)

นี่แสดงให้เห็นว่าเรากำลังเข้าสู่ยุคใหม่ของการศึกษาดาราศาสตร์ นั่นคือการนำปัญญาประดิษฐ์เข้ามาประยุกต์ใช้ในงานวิจัย

การค้นพบครั้งนี้นำโดยวิศวกรซอฟต์แวร์จาก Google ชื่อ Christopher Shallue โดยได้รับความร่วมมือจาก Andrew Vanderburg นักดาราศาสตร์จากมหาวิทยาลัยเทกซัส ออสติน

Shallue นั้นโดยพื้นฐานแล้วไม่ใช่นักดาราศาสตร์แต่เป็นนักเขียนโปรแกรมซึ่งเชี่ยวชาญด้านปัญญาประดิษฐ์ แต่เริ่มสนใจศึกษาดาราศาสตร์ขึ้นมาหลังจากที่รู้ว่ามีข้อมูลจำนวนมากจากการสังเกตการณ์ที่สามารถนำเทคนิคปัญญาประดิษฐ์ของเขามาใช้ประโยชน์ได้

พวกเขาได้ตีพิมพ์เปเปอร์ขึ้นมา สามารถอ่านได้ที่ https://www.cfa.harvard.edu/~avanderb/kepler90i.pdf

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



การตรวจจับดาวเคราะห์โดยสังเกตการณ์กราฟแสงการเคลื่อนผ่าน

นอกจากระบบสุริยะของเราแล้ว ในดาราจักรทางช้างเผือกอันกว้างใหญ่นี้ยังมีระบบดาวเคราะห์อยู่อีกมากมาย ดาวเคราะห์ที่โคจรรอบดาวฤกษ์ดวงอื่นนอกจากดวงอาทิตย์จะถูกเรียกว่า ดาวเคราะห์นอกระบบ (exoplanet)

เริ่มมีการค้นพบดาวเคราะห์นอกระบบเป็นครั้งแรกตั้งแต่ปี 1995 จากนั้นเวลาผ่านไปนานกว่า 20 ปีถึงปัจจุบันตอนนี้มีการค้นพบแล้วเป็นพันดวง

วิธีการค้นหาดาวเคราะห์นอกระบบนั้นมีอยู่หลากหลายวิธีด้วยกัน เช่น การถ่ายภาพโดยตรง (direct imaging), การสังเกตความเร็วแนวเล็ง (radial velocity), การใช้ไมโครเลนส์โน้มถ่วง (gravitational microlensing), ฯลฯ

รายละเอียดสามารถอ่านได้จากแหล่งความรู้หลายแห่ง เช่นในวิกิพีเดีย
https://th.wikipedia.org/wiki/วิธีตรวจจับดาวเคราะห์นอกระบบ

สำหรับวิธีการที่ใช้ในการค้นพบครั้งนี้คือวิธีที่เรียกว่าการสังเกตการเคลื่อนผ่าน (transit method)

นั่นคือสังเกตความสว่างของดาวฤกษ์ดวงนึง แล้ววาดกราฟความสัมพันธ์ระหว่างเวลา (แกนนอน) และความสว่างของดาว (แกนตั้ง) เรียกว่ากราฟแสง (light curve)

หากดาวฤกษ์ดวงนี้มีดาวเคราะห์โคจรเคลื่อนผ่าน ในจังหวะนั้นจะพบว่าแสงของดาวจะหรี่ลง กราฟแสงจะมีลักษณะเป็นหลุม ดังในภาพนี้



เพียงแต่ว่าการเปลี่ยนแปลงที่เกิดขึ้นนี้น้อยมาก โดยมีค่าเป็นสัดส่วนขนาดดาวเคราะห์ต่อดาวฤกษ์ยกกำลังสองโดยประมาณ

เช่นถ้าดาวเคราะห์มีขนาด 1/10 ของดาวฤกษ์ เช่นกรณีดาวพฤหัส แสงจะหรี่ลง 1/100

แต่ถ้าดาวเคราะห์มีขนาดเป็น 1/100 ของดาวฤกษ์ เช่นกรณีของโลกเรา แสงจะหรี่ลงเพียง 1/10000 เท่านั้น

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

นี่คือกราฟแสงของดาว Kepler-818 โดยแต่ละจุดคือข้อมูลการสังเกตการณ์หนึ่งครั้ง ทิ้งระยะห่าง 30 นาที ช่วงที่ไม่มีจุดคือไม่มีข้อมูล ซึ่งอาจเกิดจากสาเหตุต่างๆทำให้ข้อมูลช่วงนั้นหายไป จุดที่จู่ๆลดลงต่ำคือช่วงที่มีการเคลื่อนผ่านของดาวเคราะห์ ซึ่งจะเห็นเป็นคาบชัดเจน



จะเห็นว่าเนื่องจากคลื่นรบกวนและปัจจัยการแปรแสงอื่นๆทำให้กราฟแสงมีการขึ้นลงอย่างไม่แน่นอน ทำให้การสังเกตหาการลดลงของแสงจากดาวเคราะห์ทำได้ยาก โดยเฉพาะหากคลื่นรบกวนมีขนาดโตกว่า สัญญาณของดาวเคราะห์อาจถูกกลบหายไปหมด

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

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

วิธีการนี้สามารถสังเกตการณ์ได้โดยทั้งจากกล้องโทรทรรศน์จากโลกหรือกล้องโทรทรรศน์อวกาศ มีกล้องโทรทรรศน์จำนวนมากทำการสังเกตการณ์การเคลื่อนผ่านของดาวเคราะห์

ภาพแสดงกล้องโทรทรรศน์ต่างๆที่ใช้สังเกตการณ์ดาวเคราะห์ ทั้งที่เริ่มใช้งานแล้วและที่ยังเป็นแค่แผนการ (ที่มา)



แต่ในจำนวนนั้น ปัจจุบันที่มีผลงานโดดเด่นที่สุดก็คือ กล้องโทรทรรศน์อวกาศเคพเลอร์ (Kepler Space Telescope)



กล้องโทรทรรศน์อวกาศเคพเลอร์



กล้องเคพเลอร์เป็นกล้องโทรทรรศน์อวกาศที่ถูกออกแบบมาเพื่อค้นหาดาวเคราะห์ด้วยวิธีการสังเกตการณ์เคลื่อนผ่านโดยเฉพาะ โดยถูกส่งขึ้นไปในปี 2009 และทำการส่องวัดความสว่างของดาวต่างๆอย่างต่อเนื่องเป็นเวลา 4 ปี จนสิ้นสุดการทำงานในปี 2013

ตลอดการทำงาน กล้องเคพเลอร์ได้สังเกตการณ์ดาวกว่า 200,000 ดวง และสร้างกราฟแสงขึ้นมา

เนื่องจากข้อมูลมีปริมาณมหาศาล จึงเป็นงานหนักเกินไปที่จะตรวจสอบโดยเอาเอากราฟมาจ้องดูแล้วพิจารณาทีละตัวๆไป ดังนั้นโดยหลักๆแล้วจึงทำโดยโปรแกรมคอมพิวเตอร์ โดยเขียนโปรแกรมแล้วป้อนข้อมูลกราฟแสงเข้าไปให้โปรแกรมพิจารณาให้โดยอัตโนมัติ

ทีมงานกล้องเคพเลอร์ได้ทำการวิเคราะห์ดาวจากกว่า 200,000 ดวง และได้คัดเลือกดาวกว่า 8,000 ดวงซึ่งกราฟแสงพบสัญญาณที่ดูแล้วมีความเป็นไปได้ที่จะเป็นการเคลื่อนผ่านของดาวเคราะห์ วัตถุเหล่านี้จะถูกเรียกว่า วัตถุเคพเลอร์ที่สนใจ (Kepler object of interest) หรือย่อว่า KOI และถูกตั้งชื่อใหม่เป็นรหัสที่นำหน้าด้วย KOI

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

ในที่สุดจนถึงตอนนี้ได้มีการยืนยันการค้นพบดาวเคราะห์จากข้อมูลของกล้องเคพเลอร์แล้วในดาวฤกษ์กว่า 1,000 ดวง โดยในจำนวนนั้นมีบางดวงที่เป็นระบบดาวเคราะห์หลายดวง รวมแล้วพบดาวเคราะห์กว่า 2,000 ดวง มากกว่าดาวเคราะห์ที่หาได้จากกล้องอื่นตอนนี้รวมกันทั้งหมด

ดาวที่ได้พบดาวเคราะห์แล้วจะถูกตั้งชื่อใหม่อีก เป็นชื่อที่ขึ้นต้นด้วย Kepler ส่วนดาวเคราะห์ดวงแรกที่ถูกค้นพบในดาวฤกษ์นั้นจะถูกต่อท้ายด้วย b พบดวงที่ 2 ก็จะเป็น c ไล่ไปเรื่อยๆ เช่นดาวฤกษ์ Kepler-80 มีดาวเคราะห์ชื่อ Kepler-80b, 80c, 80d, 80e และ 80f



การวิเคราะห์ข้อมูลกล้องเคพเลอร์โดยนักวิจัยจากทั่วโลก

ข้อมูลการสังเกตการณ์โดยกล้องเคพเลอร์นั้นเปิดให้โหลดฟรีได้ที่เว็บไซต์ https://archive.stsci.edu/kepler/data_search/search.php

ซึ่งทำให้นักวิจัยจากทั่วโลกสามารถมีส่วนร่วมในการค้นพบดาวเคราะห์ได้โดยอาศัยข้อมูลจากกล้องเคพเลอร์

เพราะข้อมูลมีปริมาณมหาศาล เทคนิคที่ใช้ได้ก็มีหลากหลาย ทีมงานกล้องเคพเลอร์เองก็ไม่อาจทำการวิเคราะห์ได้อย่างครอบคลุม การเปิดให้ใ่ครก็ได้สามารถนำข้อมูลมาช่วยวิเคราะห์ได้จึงเป็นวิธีที่มีประโยชน์มาก

มีดาวเคราะห์จำนวนหนึ่งที่ไม่ได้ถูกค้นพบโดยทีมงานกล้องเคพเลอร์เอง แต่พบโดยนักดาราศาสตร์คนอื่นๆที่เอาข้อมูลไปลองวิเคราะห์

และเทคนิคหนึ่งที่ในการหาดาวเคราะห์ระยะหลังๆมานี้เริ่มเป็นที่นิยมขึ้นมาและพบว่าได้ผลดีก็คือเทคนิคที่เรียกว่า การเรียนรู้ของเครื่อง (machine learning)



การเรียนรู้ของเครื่อง

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

ตัวอย่างเช่นหากเราต้องการเขียนโปรแกรมที่แยกภาพที่เขียนด้วยลายมือ หากเป็นวิธีดั้งเดิมที่ไม่ได้ใช้การเรียนรู้ของเครื่องเราก็จะต้องเขียนโปรแกรมให้ตรวจเงื่อนไขต่างๆเช่นว่าเลข 1 ต้องเป็นขีดบนล่าง เลข 0 ต้องกลมๆ



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

เราอาจลองนึกภาพเหมือนกับว่าโปรแกรมของเราเป็นเด็กคนหนึ่ง เราสอนให้เขาเรียนรู้สิ่งต่างๆ



แล้วสุดท้ายเขาก็จะเชื่อมโยงข้อมูลต่างๆแล้วรู้ว่าอะไรเป็นอะไร



ที่มาของภาพ https://phyblas.hinaboshi.com/20170920

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

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

การจะกำหนดเงื่อนไขต่างๆได้นั้น ส่วนใหญ่สรุปเอาจากประสบการณ์ของนักวิจัยเองซึ่งได้เรียนรู้และเข้าใจมา

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

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

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

ปัจจุบันเทคนิคการเรียนรู้ของเครื่องถูกนำไปใช้ในวงการต่างๆมากมาย รวมทั้งในงานวิจัยทางวิทยาศาสตร์สาขาต่างๆ

เกี่ยวกับเรื่องที่ว่าเขียนโปรแกรมยังไงให้มันสามารถเรียนรู้เองได้นั้นจะไม่กล่าวถึงในนี้ ผู้ที่สนใจเขียนโปรแกรมการเรียนรู้ของเครื่องอาจสามารถอ่านได้จากแหล่งความรู้ต่างๆ เช่น https://phyblas.hinaboshi.com/saraban/kanrianrukhongkhrueang



การนำเทคนิคการเรียนรู้ของเครื่องมาใช้วิเคราะห์ข้อมูลของกล้องเคพเลอร์

Shallue ไม่ใช่คนแรกที่คิดนำเทคนิคการเรียนรู้ของเครื่องมาใช้ในการวิเคราะห์ข้อมูลกราฟแสงจากข้อมูลกล้องเคพเลอร์ ก่อนหน้านี้ได้มีคนนำเทคนิคการเรียนรู้ของเครื่องวิธีการต่างๆมาใช้อยู่ก่อนแล้ว ตัวอย่างเช่น
- ปี 2015 ทีมของ Thompson ใช้วิธีการเพื่อนบ้านใกล้สุด (k nearest neighborhood, kNN)[1]
- ปี 2015 ทีมของ McCauliff ใช้ป่าสุ่ม (random forest)[2]
- ปี 2016 ทีมของ Coughlin ใช้ต้นไม้ตัดสินใจ (decision tree)[3]
- ปี 2017 ทีมของ Armstrong ใช้การทำแผนที่โยงก่อร่างตัวเอง (self-organizing map, SOM)[4]
- ปี 2017 ทีมของ Pearson ใช้การเรียนรู้เชิงลึก (deep learning)[5]

ทั้งหมดนี้เป็นเทคนิคการเรียนรู้ของเครื่องที่มีวิธีการทำงานและข้อดีข้อด้อยต่างกันออกไป จะเห็นได้ว่ามีอยู่หลากหลายวิธีมาก

ส่วนเทคนิคที่ Shallue ได้นำมาใช้ในงานนี้ก็คือ การเรียนรู้เชิงลึก เช่นเดียวกับ Pearson แต่มีรายละเอียดต่างกัน



การเรียนรู้เชิงลึก

การเรียนรู้เชิงลึก คือการสร้างโปรแกรมที่ประกอบไปด้วยสิ่งที่เรียกว่าโครงข่ายประสาทเทียม (artificial neural network, ANN) ซึ่งเป็นโครงข่ายที่มีการส่งผ่านข้อมูลในลักษณะที่เลียนแบบการส่งกระแสประสาทในสมองมนุษย์

ภาพนี้แสดงโครงสร้างของโครงข่ายประสาทเทียมอย่างง่าย



ข้อมูลจะถูกส่งผ่านเป็นชั้นๆ โดยเริ่มจากส่วนซ้ายสุดซึ่งเรียกว่า ชั้นป้อนเข้า (input layer) แล้วก็วิ่งผ่านชั้นซ่อน (hidden layer) แล้วสุดท้ายก็จะส่งไปถึงชั้นส่งออก (output layer)

ในชั้นป้อนเข้าเราจะใส่ข้อมูลตัวแปรต่างๆที่จะให้โปรแกรมทำการพิจารณา เช่นในกรณีการค้นหาดาวเคราะห์ ข้อมูลป้อนเข้าก็คือจุดทุกจุดบนกราฟแสง (ค่าเวลาและความสว่าง)

ส่วนชั้นส่งออกคือส่วนที่จะให้ผลลัพธ์ที่เราต้องการ ในที่นี้ก็คือ ค่าความน่าจะเป็นที่กราฟแสงนี้จะมีดาวเคราะห์อยู่

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

ชั้นซ่อนจะมีทั้งหมดกี่ชั้นก็ได้ ขึ้นอยู่กับการออกแบบโปรแกรม

แต่ละชั้นจะประกอบไปด้วยหน่วยย่อยที่เรียกว่าโหนด (node) หรือบางทีก็เรียกว่านิวรอน (neuron)

โดยในชั้นป้อนเข้าจะมีจำนวนนิวรอนเท่ากับจำนวนตัวแปร ในที่นี้คือจำนวนจุดบนกราฟแสง ส่วนชั้นส่งออกในที่นี้จะมีเพียง 1 คือค่าความน่าจะเป็นที่จะมีดาวเคราะห์ ส่วนชั้นซ่อนแต่ละชั้นจะมีนิวรอนกี่ตัวนั้นก็ขึ้นกับการออกแบบ

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



โครงข่ายประสาทแบบคอนโวลูชัน

ในงานนี้ใช้โครงข่ายประสาทเทียมในรูปแบบที่ซับซ้อนขึ้นมาอีก คือในแบบที่เรียกว่า โครงข่ายประสาทแบบคอนโวลูชัน (convolutional neural network, CNN) ซึ่งเป็นไปตามภาพนี้



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

ในโครงข่ายแบบดั้งเดิมนั้นข้อมูลป้อนเข้าแต่ละตัวถูกป้อนเข้าไปในลักษณะเป็นข้อมูลโดดๆ ไม่ได้มีการแสดงความสัมพันธ์ของลำดับข้อมูล

แต่ว่าสำหรับกราฟแสงที่เราป้อนเข้าไปนี้เห็นได้ชัดว่ามีข้อมูลแต่ละจุดมีความสัมพันธ์เป็นลำดับเวลา กล่าวคือค่าที่เวลานาทีที่ 1, 2, 3, ไล่ไปเรื่อยๆ

กรณีแบบนี้ใช้โครงข่ายประสาทแบบคอนโวลูชันจะได้ผลดีกว่า เพราะทำให้โปรแกรมเห็นความสำคัญของลำดับเวลา

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

เพียงแต่ในการแยกแยะภาพมักจะใช้คอนโวลูชันแบบสองมิติ แต่สำหรับการวิเคราะห์กราฟแสงหรือข้อมูลจำพวกอนุกรมเวลาชนิดต่างๆจะใช้คอนโวลูชันหนึ่งมิติ

ข้อดีที่เห็นชัดก็คือ กรณีที่ข้อมูลมีการขาดแหว่งบางช่วงไป โครงข่ายแบบคอนโวลูชันจะยังคงรักษาประสิทธิภาพการทำนายไว้ได้ดีกว่าโครงข่ายแบบดั้งเดิม



ข้อมูลที่ใช้ในการเรียนรู้

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

ในงานนี้ข้อมูลที่ใช้ป้อนเข้าก็คือข้อมูลกราฟแสงของดาวที่เคพเลอร์สังเกตการณ์มาแล้วพบว่ามีสัญญาณที่เข้าข่ายว่าน่าจะเป็นการเคลื่อนผ่านของดาวเคราะห์

ข้อมูลนี้ถูกแบ่งออกเป็น 3 ส่วนคือ
- ที่ยืนยันว่าเป็นดาวเคราะห์แน่นอนแล้ว มีทั้งหมด 3,600
- ที่ยืนยันว่าเป็นสัญญาณอื่นที่ไม่ใช่ดาวเคราะห์ ซึ่งจะถูกเรียกว่าผลบวกปลอม (false positive) มีทั้งหมด 12,000
- ที่ยังไม่อาจยืนยันแน่ว่าเป็นดาวเคราะห์จริง หรือเป็นผลบวกปลอม ส่วนนี้จะไม่สามารถนำมาใช้เป็นข้อมูลเรียนรู้ได้ เพราะไม่รู้คำตอบแน่ชัด จึงตัดทิ้งไป

กราฟแสงของดาวฤกษ์แต่ละดวงประกอบไปด้วยข้อมูลสังเกตการณ์ยาวนาน 4 ปี ซึ่งในระยะเวลาระหว่างนั้นเกิดการเคลื่อนผ่านของดาวเคราะห์หลายครั้ง

จุดข้อมูลในส่วนที่เป็นช่วงเฟส (phase, คือจุดของเวลาภายในคาบ) เดียวกันในการโคจรของดาวจะถูกนำมาทบเข้าด้วยกัน สร้างเป็นกราฟแสงที่มีความยาวแค่ช่วงคาบเดียว การทำแบบนี้เรียกว่าการทบเฟส (phase folding)

การจะทำการทบเฟสได้นั้นจะต้องต้องกำหนดค่าคาบที่ต้องการทบให้แน่ชัด ดาวฤกษ์ดวงหนึ่งอาจมีดาวเคราะห์โคจรหลายดวง แต่คาบย่อมจะต่างกัน ดังนั้นในการทบเฟสครั้งหนึ่งจะเจอดาวเคราะห์ได้แค่ทีละดวง เพราะถ้าเรากำหนดคาบต่างกัน นั่นเท่ากับเรากำลังพิจารณาสัญญาณคนละตัวกัน

ตัวอย่างการทบเฟสของดาว Kepler-818b ภาพล่างได้จากการเอาภาพบนแบ่งเป็น 4 ช่วงแล้วทบเข้าด้วยกัน




ยิ่งมีการสังเกตการณ์ยาวนานจนเห็นความเปลี่ยนแปลงในหลายคาบมากยิ่งนำมาทบกันได้มาก แล้วก็จะทำให้อัตราส่วนสัญญาณต่อคลื่นรบกวนลดลง ทำให้ค้บพบเจอสัญญาณได้ง่ายขึ้น วิเคราะห์ได้ง่ายขึ้น

ข้อมูลที่ได้จากการทบเฟสมีจำนวนจุดมากมายแต่จะนำจุดที่มีเฟสในช่วงเดียวกันมาเฉลี่ยกัน ได้จำนวนจุดที่เท่ากันในข้อมูลแต่ละเส้นเพื่อมาเป็นข้อมูลป้อนเข้าสำหรับโปรแกรม

เส้นกราฟแสงที่ได้จะถูกแบ่งออกเป็นข้อมูลฝึก 80% แบ่งเป็นข้อมูลตรวจสอบสำหรับปรับปรุงและคัดเลือกแบบจำลอง 10% และเป็นข้อมูลทดสอบประสิทธิภาพในขั้นสุดท้าย 10%



การสร้างแบบจำลองโครงข่ายประสาท

เมื่อมีข้อมูลพร้อม ต่อไปก็ป้อนข้อมูลให้กับแบบจำลองโครงข่ายประสาทเทียม

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

ค่าที่ต้องปรับได้แก่
- จำนวนชั้นชนิดต่างๆ
- จำนวนนิวรอนในแต่ละชั้น
- รูปแบบการป้อนเข้าข้อมูล
- ฯลฯ

มีค่าให้ต้องปรับมากมายต้องใช้เวลานานในงานนี้จึงใช้ CPU 100 ตัวช่วยกันรันค้นหาเพื่อเปรียบเทียบดูว่าควรใช้แบบจำลองอย่างไร

แล้วในที่สุดก็พบว่าแบบจำลองที่ดีที่สุดเป็นแบบนี้ ชั้นล่างสุดคือชั้นป้อนเข้า บนสุดคือชั้นส่งออก



ในที่นี้จะเห็นว่าข้อมูลถูกป้อนเข้าใน 2 รูปแบบ คือ
- มุมมองภาพรวม (global view) คือข้อมูลตลอดทั้งคาบ รวม 2001 จุด
- มุมมองเฉพาะส่วน (local view) คือข้อมูลเฉพาะส่วนใกล้กับที่มีสัญญาณการเคลื่อนผ่าน รวม 201 จุด

ข้อมูล 2 ส่วนนี้จะถูกนำมารวมกันกลางทาง

จากการทดลองเปรียบเทียบพบว่าการแยกพิจารณาแบบนี้ให้ผลดีกว่าพิจารณาแค่แบบใดแบบหนึ่ง

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



การนำโปรแกรมมาใช้ค้นหาดาวเคราะห์เพิ่มเติม

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

วิธีการตรวจสอบค้นหาสัญญาณในครั้งนี้ใช้ขั้นตอนกระบวนการที่ได้เคยถูกใช้โดยทีมของ Vanderburg[6]

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

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

กระบวนการค้นหานี้ได้ดำเนินการกับดาวที่ได้เคยพบดาวเคราะห์มาแล้ว 2 ดวงขึ้นไป รวมทั้งหมด 670 ดวง ผลก็คือพบสัญญาณเพิ่มเติมที่ไม่เคยพบมาก่อนในตอนแรกอีกทั้งหมด 513 สัญญาณ นั่นคือโดยเฉลี่ยแล้วเกือบ 1 สัญญาณต่อดาว 1 ดวง

เมื่อได้จำนวนสัญญาณที่เข้าข่ายมากขึ้นแล้วก็เอากราฟแสงของสัญญาณเหล่านั้นมาป้อนให้โปรแกรมทำการทำนาย ผลที่ได้พบว่าในจำนวนนั้นมีเพียง 30 สัญญาณที่มีความน่าจะเป็นที่จะมีดาวเคราะห์ 50% ขึ้นไป และมี 9 สัญญาณที่มีความน่าจะเป็น 80% ขึ้นไป

สัญญาณต่างๆเหล่านี้ได้ถูกนำไปตรวจสอบยืนยันด้วยวิธีการอื่นต่อไปเพื่อยืนยันว่าเป็นดาวเคราะห์จริงๆ ซึ่งตรงส่วนนี้มีรายละเอียดมากแต่จะขอละไว้

สุดท้ายแล้วเมื่อยืนยันได้แน่ชัดแล้วว่าเป็นดาวเคราะห์จริงก็ทำการตั้งชื่อและเปิดเผยการค้นพบ

ในจำนวนดาวเคราะห์ที่ถูกพบในงานนี้ ดวงที่โดดเด่นที่สุดก็คือ Kepler-90i ซึ่งเป็นดาวเคราะห์ดวงที่ 8 ของระบบดาว Kepler-90 หลังจากที่เดิมทีได้มีการค้นพบดาวเคราะห์ 7 ดวง คือ Kepler-90b~h มาก่อนแล้ว

นอกจากนี้ระบบดาว Kepler-80 ซึ่งค้นพบดาวเคราะห์ดวงที่ 6 คือ Kepler-90g ก็มีความโดดเด่นรองลงมา



ระบบดาว Kepler-90

สุดท้ายนี้จะขอสรุปเกี่ยวกับระบบดาวเคราะห์ 8 ดวงที่ได้ถูกค้นพบใหม่นี้

ดาวฤกษ์ Kepler-90 มีขนาดเป็น 1.2 เท่าของดวงอาทิตย์ เดิมทีเป็นระบบดาวแรกที่พบว่ามีดาวเคราะห์ถึง 7 ดวง โดย 7 ดวงแรกได้ถูกค้นพบภายในปี 2014 ก่อนที่หลังจากนั้นในปี 2017 จึงได้มีการค้นพบระบบดาวเคราะห์ 7 ดวงอีก คือ TRAPPIST-1

ดาวเคราะห์ดวงที่ 8 คือ Kepler-90i นี้มีคาบวงโคจร 14.4 วัน และพบว่ามีขนาดเป็น 1.3 เท่าของโลก ซึ่งเล็กกว่าดวงอื่นที่เคยพบก่อนหน้าในระบบ และมีความเป็นไปได้สูงที่จะเป็นดาวเคราะห์หินแบบโลก เช่นเดียวกับดาว Kepler-90b และ Kepler-90c ซึ่งมีขนาด 1.4 และ 1.6 เท่าของโลก

ภาพรวมที่น่าสังเกตอย่างหนึ่งของระบบดาวนี้คือดาวที่อยู่ใกล้กว่า มีแนวโน้มที่จะมีขนาดเล็กกว่า ซึ่งลักษณะแบบนี้คล้ายกับระบบสุริยะของเรา ดาว Kepler-90b,c และ i เป็น 3 ดวงที่มีขนาดเล็กที่สุด และก็อยู่ใกล้ดาวฤกษ์ที่สุดด้วยเช่นกัน

ภาพสรุปขนาดและลำดับในวงโคจรของ Kepler-90 ขนาดดาวเป็นไปตามสัดส่วนแต่ระยะห่างไม่ได้สัดส่วน (ที่มา)



เพียงแต่ที่ต่างจากระบบสุริยะตรงที่ดาวทั้งหมด 8 ดวงนี้ถูกอัดอยู่ในรัศมีวงโคจรที่ใกล้จากดาวฤกษ์มาก คือราวๆระยะห่างจากโลกถึงดวงอาทิตย์เท่านั้น

ภาพแสดงระยะห่างวงโคจร เทียบกับดาวเคราะห์ชั้นในของระบบสุริยะ



อีกทั้งเป็นไปได้ที่ระบบดาวนี้จะมีดาวเคราะห์ที่โคจรอยู่ไกลออกไปกว่านั้น เพราะจากการที่ภารกิจเคพเลอร์นั้นกินเวลาแค่ 4 ปี ทำให้ยากที่จะตรวจจับดาวเคราะห์ที่มีคาบการโคจรยาวนานได้ ดาวเคราะห์ที่โคจรไกลที่สุดในระบบคือ Kepler-90h มีคาบการโคจร 332 วัน จึงมีการตรวจจับสัญญาณการเคลื่อนผ่านได้เพียง 3 ครั้งเท่านั้น และยิ่งหากไกลกว่านั้นจำนวนการเคลื่อนผ่านก็จะลดลง ยิ่งยากที่จะยืนยันว่าเป็นดาวเคราะห์จริง การจะหาดาวที่อยู่ไกลอย่างดาวพฤหัสที่มีคาบโคจรยาว 12 ปียิ่งเป็นไปได้ยาก

นอกจากนี้ Kepler-90i ยังถูกทำนายว่ามีวงโคจรที่เอียงไปจากดาวเคราะห์ดวงอื่น ทำให้ระยะเวลาในการเคลื่อนผ่านสั้นลง ตรงนี้บ่งบอกว่าอาจเป็นไปได้ที่จะมีดาวเคราะห์ดวงอื่นที่วงโคจรมีมุมเอียงไปมากกว่านั้นจนทำให้ไม่สามารถตรวจพบการเคลื่อนผ่านได้



สรุปทิ้งท้าย

การพบในครั้งนี้แสดงให้เห็นว่าปัญญาประดิษฐ์ โดยเฉพาะเทคนิคการเรียนรู้ของเครื่องนั้น สามารถนำมาใช้ในทางดาราศาสตร์ได้อย่างดี

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

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



อ้างอิง
[1] Thompson, S. E., Mullally, F., Coughlin, J., et al. 2015, ApJ, 812, 46
[2] McCauliff, S. D., Jenkins, J. M., Catanzarite, J., et al. 2015, ApJ, 806, 6
[3] Coughlin, J. L., Mullally, F., Thompson, S. E., et al. 2016, ApJS, 224, 12
[4] Armstrong, D. J., Pollacco, D., & Santerne, A. 2017, MNRAS, 465, 2634
[5] Pearson, K. A., Palafox, L., & Griffith, C. A. 2017, ArXiv e-prints, arXiv:1706.04319
[6] Vanderburg, A., Latham, D. W., Buchhave, L. A., et al. 2016, ApJS, 222, 14



แหล่งข่าวอื่นๆเกี่ยวกับเรื่องนี้ที่เป็นภาษาไทย
http://spaceth.co/nasa-use-ai-to-discover-solar-system
https://www.thairath.co.th/content/1153780
http://narit.or.th/index.php/astronomy-news/3450-nasa-ai-discover-eighth-planet
http://www.bbc.com/thai/international-42363151
https://hilight.kapook.com/view/165192


-----------------------------------------

囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧

ดูสถิติของหน้านี้

หมวดหมู่

-- ดาราศาสตร์
-- คอมพิวเตอร์ >> ปัญญาประดิษฐ์

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

สารบัญ

รวมคำแปลวลีเด็ดจากญี่ปุ่น
มอดูลต่างๆ
-- numpy
-- matplotlib

-- pandas
-- manim
-- opencv
-- pyqt
-- pytorch
การเรียนรู้ของเครื่อง
-- โครงข่าย
     ประสาทเทียม
ภาษา javascript
ภาษา mongol
ภาษาศาสตร์
maya
ความน่าจะเป็น
บันทึกในญี่ปุ่น
บันทึกในจีน
-- บันทึกในปักกิ่ง
-- บันทึกในฮ่องกง
-- บันทึกในมาเก๊า
บันทึกในไต้หวัน
บันทึกในยุโรปเหนือ
บันทึกในประเทศอื่นๆ
qiita
บทความอื่นๆ

บทความแบ่งตามหมวด



ติดตามอัปเดตของบล็อกได้ที่แฟนเพจ

  ค้นหาบทความ

  บทความแนะนำ

ตัวอักษรกรีกและเปรียบเทียบการใช้งานในภาษากรีกโบราณและกรีกสมัยใหม่
ที่มาของอักษรไทยและความเกี่ยวพันกับอักษรอื่นๆในตระกูลอักษรพราหมี
การสร้างแบบจำลองสามมิติเป็นไฟล์ .obj วิธีการอย่างง่ายที่ไม่ว่าใครก็ลองทำได้ทันที
รวมรายชื่อนักร้องเพลงกวางตุ้ง
ภาษาจีนแบ่งเป็นสำเนียงอะไรบ้าง มีความแตกต่างกันมากแค่ไหน
ทำความเข้าใจระบอบประชาธิปไตยจากประวัติศาสตร์ความเป็นมา
เรียนรู้วิธีการใช้ regular expression (regex)
การใช้ unix shell เบื้องต้น ใน linux และ mac
g ในภาษาญี่ปุ่นออกเสียง "ก" หรือ "ง" กันแน่
ทำความรู้จักกับปัญญาประดิษฐ์และการเรียนรู้ของเครื่อง
ค้นพบระบบดาวเคราะห์ ๘ ดวง เบื้องหลังความสำเร็จคือปัญญาประดิษฐ์ (AI)
หอดูดาวโบราณปักกิ่ง ตอนที่ ๑: แท่นสังเกตการณ์และสวนดอกไม้
พิพิธภัณฑ์สถาปัตยกรรมโบราณปักกิ่ง
เที่ยวเมืองตานตง ล่องเรือในน่านน้ำเกาหลีเหนือ
ตระเวนเที่ยวตามรอยฉากของอนิเมะในญี่ปุ่น
เที่ยวชมหอดูดาวที่ฐานสังเกตการณ์ซิงหลง
ทำไมจึงไม่ควรเขียนวรรณยุกต์เวลาทับศัพท์ภาษาต่างประเทศ

บทความแต่ละเดือน

2024年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

2023年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

2022年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

2021年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

2020年

1月 2月 3月 4月
5月 6月 7月 8月
9月 10月 11月 12月

ค้นบทความเก่ากว่านั้น

ไทย

日本語

中文