The Act of Brain Decodeing : Converting fMRI Signals to Images

Piriphan Dacha
3 min readNov 5, 2023

--

ใน Series The act of Brain Decodeing วันนี้เราจะมาคุยกันถึงเรื่อง Converting fMRI Signals to Images หรือ การแปลงสัญญาณ fMRI ที่จะได้จากการเครื่อง MRI มาแปลงให้เป็นรูปภาพที่ผู้ทดสอบมองเห็น ** ท้ายบทความมีการระบุถึงประโยชน์ของการแก้ปัญหาของ Project นี้

Database ที่ใช้ Visual image reconstruction — OpenNeuro โดย Data จะประกอบไปด้วย ข้อมูลที่สามารถใช้ train 220 ข้อมูล โดยแบ่งเป็น ผู้ทดสอบคนที่ 1 จำนวน 120 ข้อมูล ผู้ทดสอบคนที่ 1 จำนวน 100 ข้อมูล label ทั้งหมด 20 แบบ เป็น alphabet_thin ,alphabet_long และ Geometric shape pattern

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

แนวคิดหลักเลย เราจะทำยังไงเพื่อที่จะสามารถสร้างภาพจากสัญญาณ fMRI ได้ model แรกที่ผมนึกออกเลยก็คือ VAE (Variational autoencoder) เพราะว่า VAE นั้นคือ model ที่สามารถลดมิติของรูปภาพได้ ให้อยู่ในรูปของ latent space และสามารถนำ latent space มาสร้างเป็นภาพเดิมได้ แต่ส่วนที่เป็น input กับ output มันต้องเป็นรูปเดียวกัน ซึ่งสิ่งที่เราต้องการคือการนำ สัญญาณ fMRI เป็น input ละได้ label ของสัญญาณ fMRI เป็นoutput

ผมเลยคิดเพิ่มเติมว่า ถ้าผมให้สมองของคนเราเป็นเหมือน code ที่ใช้ในการ Encoder ข้อมูลที่ตาเรามองเห็นละ แล้วเราก็เอาเครื่อง MRI ไปสแกนเอาข้อมูลที่ถูกใส่รหัสมาจากสมอง ดังนั้น ผมตั้งสมมุติฐานว่า สัญญาณ fMRI เปรียบเสมือน ข้อมูลที่ถูกใส่รหัสอยู่ และผมจะเรียก สมองว่า เป็น Biological Encoding ทำให้ผมสามารถเขียนแผนภาพได้ดังนี้

ภาพแบบจำลองแนวคิดการ ถอดรหัสสัญญาณสมอง

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

รูปแบบ model ที่ใช้

โดยเราจะใช้ hyperparameter ดังนี้ 1. epochs = 1000 2. learning rate = 0.001 3. Latten dim = 288 และใช้ 10 fold cross validation จะเป็นได้ว่าข้อมูลเรามีจำนวนที่น้อย ดังนั้นเราจะเป็นต้องทำให้ model ของเรานั้นเกิด Overfitting เพื่อใช้ในการการศึกษาปัญหา และวิธีการปรับแก้ model ต่อไป (และก็ผมมีเวลาทำ project นี้ เพียง 2 เดือน และเนื่องจากข้อจำกัดในเรื่องการจัดเก็บ และเครื่องมือในการ ฝึกmodel จึงต้องทำให้ model เกิด Overfitting )

ขั้นตอนแรก จาก Database เป็นข้อมูลที่ยังไม่ได้ผ่านการ Preprocessing ทำให้ต้องนำข้อมูลไปทำ Preprocessing (ซึ่งวิธีการและขั้นตอนเราจะไม่พูดถึงในบทความนี้) จากนั้นเลือกบริเวณสมองที่สนใจ ด้วย Region of Interest (ROI) Harvard-Oxford atlas ซึ่งบริเวณที่ผมเลือกมีดังนี้

บริเวณสมองที่สนใจ ใน Region of Interest (ROI) Harvard-Oxford atlas

เมื่อเราเลือกบริเวณของสมองแล้วเราจะได้ ข้อมูลที่เราสนใจผมจะแสดงตัวอย่างบางส่วน ** โดยข้อมูลของ สัญญาณ fMRI ของผมมีขนาด (30,64,64) ตาม Z Y X **

Region of Interest (ROI) Harvard-Oxford atlas
สัญญาณ fMRI ที่ถูก mask จุดแล้ว

เราจะเห็นได้ว่า สัญญาณ fMRI ที่ถูก mask จุดแล้วนั้นมีส่วนด่านบนที่ เป็น สีดำ คือไม่มีสัญญาณสมองเนื่องจากไม่ใช่บริเวณที่เราเลือก ดังนั้นเพื่อความลดพละของ model เราจะจัดส่วนบนที่ไม่ใช่ ทำให้ข้อมูลของผมมีขนาด (17,32,64) ตาม Z Y X

สัญญาณ fMRI ที่จะเป็น input ของ model

โดย VAE model มี 2 ส่วน คือ Encoder เราจะใช้เป็น 3D convolutional layer ส่วน ของ Decoder เราใช้เป็น 2D Transposed convolutional layer เนื่องจาก label ของเรามีเป็น รูป 2 มิติ และ Laten space เป็น 1 มิติ

เมื่อนำข้อมูลเข้าไปฝึกในmodel แล้วเราจะได้ผลดังนี้

ผลที่ได้จากการ Run

ผลที่ได้ จากการ run 10 model ได้ model loss ที่น้อยที่สุด คือ model ที่ 4

จะเห็นได้ว่า

model ข้างต้นจะเห็นว่า รูปที่ทำนายได้ จะมีการซ้อนทับกันของ label ทุก label ผมได้ตั้งสมมติฐานของเหตุการณ์นี้ได้ 3 ข้อต่อไปนี้

  1. ความแตกต่างกันของ สัญญาณ fMRI ในแต่ละคน : สัญญาณ fMRI ที่ได้จากผู้คนแต่ละคนไม่จำเป็นต้องมีขนาดเท่ากันเนื่องจากมีปัจจัยหลายอย่างที่สามารถส่งผลต่อสัญญาณที่ได้รับ ได้แก่ ความแตกต่างทางชีววิทยา ระดับออกซิเจนในเลือด สถานะทางจิตใจหรือความคิด ความไวต่อเครื่อง MRI ดังนั้นไม่ควร นำสัญญาณ fMRI ของผู้ทดลอง มาฝึกmodel รวมกัน
  2. การเลือกใช้ ประเภทของ ชั้น ใน model : model ของเรานั้นจะใช้ 3D convolutional layer ส่วน ของ Encoder แต่ Convolutional layers มีประสิทธิภาพในการจับคู่คุณลักษณะทางพื้นที่ แต่อาจไม่เหมาะสมกับงานที่ต้องการความเข้าใจที่ลึกซึ้งเกี่ยวกับความสัมพันธ์ทางเวลาหรือลำดับ
  3. จำนวนของข้อมูลและความแตกต่างกันข้อมูลที่น้อยมาก : จำนวนข้อมูลที่ใช้ในการฝึกได้ คือ 120 ข้อมูล (ได้ทำการแก้ไขปัญหาตามข้อที่ 1 แล้ว พบว่า ผู้ทดลองคนที่ 1 มีข้อมูลอยู่ 120 ข้อมูล) ความแตกต่างของสัญญาณ fMRIในแต่ละ label นั้นมีความใกล้เคียงกันมากใน บางVoxel ทำให้ model แยกประเภทของข้อมูลได้ยากมากขึ้น

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

ประโยชน์ของ project นี้สามารถนำไปพัฒนาเพิ่มเติม ในการประยุกต์ใช้ได้ในวงกว้าง เช่น เราสามารถสร้างภาพจาก สัญญาณ fMRI ของผู้ป่วย ทำให้เราสามารถทราบได้ว่าผู้ป่วยเห็นภาพอะไร เช่น ใช้ศึกษาการมองเห็นภาพหลอนเสมือนจริงในผู้ป่วยจิตเภท เป็นต้น

ทั้งนี้ผมหวังว่าจะสามารถสร้างแรงบันดาลใจ หรือแนวคิดให้ผู้อ่านไม่มากก็น้อย

--

--