Newsletter subscribe

Artificial Intelligence, Innovation

จริงหรือไม่ที่ Google กำลังสร้าง AI ให้กลายเป็น Skynet#12 AI Dreams

Posted: 09/09/2020 at 15:24   /   by   /   comments (0)

futurism.com

“DeepDream” เป็นโปรแกรม computer vision ที่สร้างขึ้นโดย Alexander Mordvintsev  วิศวกรของ Google DeepMind โดยการใช้โครงข่ายประสาทเทียมแบบ “Convolutional Neural Network (CNN)”

Google DeepMind เปิดตัว “DeepDream” เมื่อปี 2015 โดยการโพสบทความ “Inceptionism: Going Deeper into Neural Networks” ใน blog ของตัวเอง

หมายเหตุ:

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

Convolutional Neural Network (CNN) โครงข่ายประสาทเทียมแบบนี้จะจำลองการมองเห็นของมนุษย์ที่มองพื้นที่เป็นส่วนย่อยๆ และนำกลุ่มของพื้นที่ย่อยๆมาผสมผสานกัน เพื่อดูว่าสิ่งที่เห็นอยู่เป็นอะไร

ผู้เขียนได้เคยอธิบายถึงความแตกต่างระหว่าง Artificial Intelligence (AI), Machine Learning (ML), Deep Learning (DL) ใน “จริงหรือไม่ที่ Google กำลังสร้าง AI ให้กลายเป็น Skynet#5”

 

 

argility.com

ในที่นี้ขออธิบายเพียง Deep Learning 

Deep Learning เป็นส่วนหนึ่งหรือศาสตร์แขนงหนึ่งของ Machine Learning เป็นส่วนที่ได้รับแรงบันดาลใจจากการทำงานของสมองของมนุษย์ สมองของมนุษย์เป็น ‘เครื่องจักร’ ที่ดีที่สุดในการเรียนรู้และแก้ปัญหา เชื่อว่าองค์ประกอบการคำนวณหลักของสมองของเราคือเซลล์ประสาท (neuron) เซลล์ประสาทที่เชื่อมโยงกันอย่างซับซ้อนแบบโครงข่าย (network) เป็นพื้นฐานของการตัดสินใจทั้งหมดที่เกิดขึ้นจากข้อมูลที่รวบรวมได้ นี่เป็นวิธีการที่มนุษย์สร้างโครงข่ายประสาทเทียม (Artificial Neural Network (ANN) หรือเรียกสั้นๆว่า Neural Network) ซึ่งเลียนแบบการทำงานของสมองมนุษย์

 

ภาพแสดงโครงข่ายประสาทเทียมแบบง่ายที่สุด ที่เรียกว่า Single Neural Network ซึ่ง AI สมัยเริ่มแรกของการวิวัฒนาการจะมีโครงข่ายประสาทเทียมแบบนี้ ซึ่งประกอบด้วย neurons (เซลล์ประสาท) ที่เชื่อมติดต่อกันไปเป็น layer (ชั้น) ซึ่งแต่ละ layer จะมีจำนวน neurons เท่าไรก็ได้

ชั้นแรกเป็น “input layer” ซึ่งทำหน้าที่รับเอาข้อมูลที่ถูกส่งเข้ามา  และส่งต่อไปยัง “hidden layer” ที่อยู่ถัดไป โดยข้อมูลที่เข้ามาจะถูกส่งผ่านจาก layer หนึ่งไปสู่อีก layer หนึ่งไปในทิศทางเดียว ไม่มีการย้อนกลับของข้อมูล (Feed-forward) จนกระทั่งไปถึง “output layer” ซึ่งเป็นชั้นที่ให้ผลลัพธ์ออกมา

 

 

โครงข่ายประสาทเทียม (neural network) ของ “DeepDream” ประกอบด้วย neurons (เซลล์ประสาท) ที่เชื่อมติดต่อกันไปเป็น layer ประมาณ 10-30 layers ได้แก่

Input layer : เป็นชั้นแรกของ neural network  ภาพแต่ละภาพจะถูกป้อนเข้าสู่ input layer ซึ่งทำหน้าที่รับเอาสัญญาณภาพที่ถูกส่งเข้ามา  และส่งต่อไปยัง hidden layer ที่อยู่ถัดไป

Hidden layers : โดยปกติแล้วใน Deep Learning นั้น neural network จะมีหลาย hidden layers ที่เรียก multi-layers ยิ่งมีจำนวน layers มากขึ้นเท่าไร ยิ่งทำให้พลังในการประมวลผล และความซับซ้อนมีมากขึ้นเท่านั้น

Output layer : เป็น layer สุดท้ายของ neural network มันทำหน้าที่ในการตัดสินใจว่าจะให้ภาพออกมาอย่างไร

 

 

Chris Brown – Don’t Wake Me Up

 

 

นักวิจัยของ Google DeepMind ต้องการศึกษาการทำงานของ neural network ในการวิจัยพวกเขาได้ทำการฝึกฝน neural network ให้จำแนก แยกแยะ วัตถุในภาพ โดยการป้อนภาพที่ต้องการให้มันเรียนรู้จำนวนหลายล้านภาพ แล้วค่อยๆปรับค่าพารามิเตอร์ของ neural network ไปทีละเล็กละน้อย จนกระทั่งมันให้การจำแนก แยกแยะ ตามที่นักวิจัยต้องการ

จากการฝึกฝน ทำให้แต่ละ layer ของ neural network มีความสามารถในการสกัดเอาคุณลักษณะ (feature) ของสิ่งที่อยู่ในภาพออกมาที่ระดับต่างๆกัน โดย layers แรกๆ ที่อยู่ใกล้ input layer จะจัดการกับคุณลักษณะระดับต่ำ (lower-level feature) และ layers ที่ยิ่งอยู่ลึกเข้าไป จนเข้าใกล้ output layer มากเท่าไร จะยิ่งจัดการกับคุณลักษณะระดับสูง (high-level feature) จนกระทั่งถึง output layer ซึ่งทำหน้าที่ในการตัดสินใจว่าจะให้ภาพที่ออกมาเป็นอย่างไร

ยกตัวอย่างเช่น layer แรกอาจจะมองที่ ขอบ มุม และเส้น ของภาพ ส่วน layers ที่อยู่ถัดไป อาจเอาขอบ มุม และเส้น ที่ได้จาก layer แรก มาประกอบเข้าด้วยกันเป็นรูปสี่เหลี่ยมผืนผ้า หรือรูปร่างอื่นๆ กล่าวคือ layers ช่วงกลางๆจะวิเคราะห์คุณลักษณะพื้นฐาน (basic features) โดยการมองไปที่รูปร่างและองค์ประกอบโดยรวมของภาพ แล้วทำการแปลความหมายออกมา เช่น เป็นประตู (ของตึก) หรือ ใบไม้ (ของต้นไม้) ส่วน layers ที่อยู่ท้ายๆจะทำหน้าที่ในการรวบรวมการแปลความหมายที่แต่ละ layer ได้มา แล้วทำการแปลความหมายที่สมบูรณ์ออกมา สร้างเป็น ตึก หรือเป็น ต้นไม้ ออกมา

 

A Reverse Hallucination Technique

อีกวิธีหนึ่ง นักวิจัยของ Google ต้องการศึกษาว่าจะเกิดอะไรขึ้น ถ้าเขาทำในสิ่งที่ตรงกันข้าม แทนที่จะให้มันตัดสินใจเองว่าได้เป็นอะไร นักวิจัยตัดสินใจให้มันเอง ว่าต้องการได้ภาพของสิ่งใด 

นักวิจัยทำการย้อนกลับ (reverse) กระบวนการ จากเดิมที่ให้มันมองภาพ วิเคราะห์ แปลความหมาย และสร้างภาพจากการแปลความหมายของมันออกมาว่าได้เป็นภาพของสิ่งอะไร  ในการศึกษานี้ไปในทางตรงกันข้าม neural network ถูกสั่งให้ใช้ความรู้และกฎเพื่อค้นหา “กล้วย” ในภาพๆหนึ่งที่เต็มไปด้วย noise ที่อยู่กระจัดกระจาย (ภาพทางซ้ายมือ) และปรับแต่งสิ่งนั้นจนกระทั่ง neural network รู้สึกว่าเป็นกล้วยจริงๆ (ได้เป็นภาพกล้วยทางขวามือ) 

 

 

สิ่งที่นักวิจัยค้นพบจากทดลองนี้คือ neural network ไม่เพียงแต่มีความสามารถในการรู้จัก (recognize) วัตถุ แต่เมื่อพวกมันได้รับการฝึกฝนอย่างเพียงพอและถูกต้องแล้ว พวกมันก็มีข้อมูลเพียงพอที่จะสร้างภาพที่มีความแม่นยำในระดับสูงจากจินตนาการของมัน

 

ภาพข้างบนเป็นตัวอย่างของภาพที่ neural network สร้างออกมา ตามคำสั่งของนักวิจัยว่าจะให้สร้างออกมาเป็นสิ่งอะไร 

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

แต่ละ layer ของ network จะจัดการกับคุณสมบัติที่ระดับต่าง ๆ ของสิ่งที่เป็นนามธรรม ดังนั้นความซับซ้อนของคุณลักษณะที่สร้าง ขึ้นอยู่กับ hidden layer ที่เราเลือกให้ neural network ทำการปรับแต่ง

ตัวอย่างเช่น ถ้านักวิจัยเลือก hidden layer ที่อยู่แรกๆ ใกล้ input layer และสั่งให้ layer นี้ทำการปรับแต่งภาพที่ป้อนให้ มีแนวโน้มที่มันจะสร้างลวดลายคล้ายเครื่องประดับแบบง่ายๆ เพราะ layer นี้ sensitive ต่อคุณลักษณะระดับต่ำ (lower-level feature) เช่น ขอบและทิศทางการวางตัวของสิ่งในภาพ

ภาพทางขวามือข้างล่าง เป็นตัวอย่างหนึ่งที่ neural network สร้างออกมา

 

แต่ถ้านักวิจัยเลือก high-level layers ซึ่งจะแยกแยะคุณลักษณะที่ซับซ้อนมากขึ้นในภาพ นักวิจัยทำการทดลองอีกครั้งหนึ่ง โดยการป้อนภาพ เช่น ภาพของเมฆ ให้ neural network และบอกมันว่า “Whatever you see there, I want more of it!  อะไรก็ตามที่ยูเห็นในภาพ ฉันต้องการมันมากขึ้น”

 

ผลที่ได้จากคำสั่งนี้ เช่น หากเมฆดูเหมือนนกเล็กน้อย neural network จะทำให้มันดูเหมือนนก”มากขึ้น” จนกระทั่งได้เป็นนกที่มีรายละเอียดสูงปรากฎออกมา

ผลลัพธ์ที่ออกมาน่าสนใจ – neural network แปลความหมายภาพแบบ over-interpret และ over-emphasize  ในทุกๆรายละเอียดของภาพ เหมือนเด็ก ๆ ที่สนุกกับการดูเมฆและคิดว่ามันคล้ายกับรูปร่างของสิ่งต่างๆ neural network นี้ได้รับการฝึกฝน เรียนรู้ จากภาพสัตว์เป็นส่วนใหญ่ ดังนั้นมันจึงมีแนวโน้มที่จะแปลความหมายสิ่งในภาพออกมามีรูปร่างเหมือนสัตว์ ภาพผลลัพธ์ที่ออกมาจึงเป็นการผสมผสานของคุณลักษณะที่มันได้ถูกฝึกให้เรียนรู้มา ได้เป็นสัตว์กลายพันธุ์ออกมา เช่น บางภาพเป็นสัตว์ที่เป็นลูกผสมของหมูกับหอยทาก อูฐกับนก สุนัขกับปลา เป็นต้น

 

 

Ariana Grande – no tears left to cry

 

 

ทีมนักวิจัยของ Google DeepMind ได้ตั้งชื่อเทคนิคการสร้างภาพหลอนแบบย้อนกลับนี้ว่า “Inceptionism” ตามชื่อภาพยนตร์  “Inception” ซึ่งเป็นภาพยนตร์อเมริกันปี 2010

 

   

นักวิจัยได้ apply เทคนิค “Inceptionism” กับภาพต่างๆ แต่ผลลัพธ์ที่ออกมาเกินความสามารถที่จะควบคุมได้ “out of control” ยกตัวอย่าง เช่น ภาพเส้นขอบฟ้ากลายเป็นภาพที่มีหอคอยและเจดีย์อยู่ ต้นไม้กลายเป็นตึก ใบไม้กลายเป็นนกและแมลง

We must go deeper: Iterations   เราต้องไปให้ลึกกว่านี้: การวนซ้ำ

หากนักวิจัยใช้อัลกอริทึมซ้ำๆกับ output และใช้การซูมบางครั้ง หลังจาก “การวนซ้ำ (iteration)” หลายๆครั้ง จากภาพถ่ายธรรมดาจะกลายเป็นภาพที่สวยงามและแปลกประหลาด หรือในทางตรงข้าม ได้เป็นภาพหลอน พิลึกพิหลั่นออกมา

 

นักวิจัยของ Google DeepMind กล่าวถึงสิ่งที่ได้จากการวิจัยนี้ว่า

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

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

2 สัปดาห์ต่อมาหลังจากที่ได้ประกาศผลงานวิจัย “DeepDream” Google DeepMind ได้ปล่อย code ของกระบวนการนี้แก่สาธารณะทางเว็บไซต์ “GitHub” ให้ทุกคนสามารถ download ฟรี  ประชาชนมากมายต่างพากันสร้างภาพน่าตรึงใจ ภาพหลอน และพากันแชร์ภาพที่ตัวเองสร้างใน #deepdream

https://github.com/google/deepdream

 

ในปี 2016 Google ได้นำภาพที่ AI สร้างขึ้นจำนวน 29 ภาพมาจัดประมูลที่มูลนิธิ ” the Gray Area Foundation for the Arts ” ที่เมือง San Francisco ภาพทั้ง 29 ภาพถูกประมูลไปทั้งหมด ได้เงินมาประมาณ 100,000 ดอลล่าร์

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

บทความเรื่อง “Algorithms of Dreaming: Google and the “Deep Dream” Project” ที่ ดร. Kelly Bulkeley นักจิตวิทยาเขียนไว้ น่าจะตอบคำถามนี้ได้

บางส่วนของบทความเขียนไว้ว่า

มีสิ่งหนึ่งที่ควรระมัดระวังเกี่ยวกับงานวิจัยประเภทนี้ คือ โปรเจ็ทของ Google ศึกษาเฉพาะด้านที่เรียก “Identification of visual images การระบุภาพที่มองเห็น” เพียงด้านเดียว ซึ่งคาบเกี่ยวระหว่าง neural network และ dreaming experience

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

ซึ่งสิ่งเหล่านี้ไม่ได้อยู่ในระบบของโปรแกรมคอมพิวเตอร์ของ Google ตัวนี้

บางทีในอนาคต neural network จะมี elements มากขึ้นในการประมวลผล เมื่อถึงตอนนั้นเราค่อยมาคุยเรื่อง “Dream Theory”  แต่ ณ เวลานี้ การวิจัยประเภทนี้เป็นวิธีที่ดีที่สุด และเป็นวิธีใหม่ที่น่าตื่นเต้นในการศึกษา “พลังการสร้างสรรค์ ที่ได้จากการจินตนาการภาพในความฝัน”

 

 

Of Monsters And Men – Little Talks