φυβλαςのβλογ
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
蒙古语
语言学
maya
概率论
与日本相关的日记
与中国相关的日记
-- 与北京相关的日记
-- 与香港相关的日记
-- 与澳门相关的日记
与台湾相关的日记
与北欧相关的日记
与其他国家相关的日记
qiita
其他日志

按类别分日志



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

  查看日志

  推荐日志

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