Deep learning ในโลกของการลงทุน

สวัสดีครับ วันนี้ผมจะมารีวิวคร่าวๆ เกี่ยวกับการใช้งาน Deep Learning ในวงการลงทุนกันครับ

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

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

Deep Learning คืออะไร??
Deep Learning มีต้นกำเนิดมาจากการพยายามสร้างแบบจำลองสมองที่ชื่อว่า “Neural Network” ที่ทางเราเคยเขียนบทความไปแล้วในโพสด้านล่างนี้ ใครสนใจก็สามารถตามกันได้นะครับ

👉 👉👉 https://qtmlresearch.com/…/18/the-beginning-of-neural-netw…/

🔎🔎🔎 รูปที่ 1) คือ นิวรอนอันเดิมจากในโพสด้านบนแต่นำมาต่อกันจนเป็นโครงข่าย Neural Network เวอร์ชั่นเต็ม อันนี้เรายังไม่เรียกว่า Deep Learning นะครับเค้าเรียกว่า “Neural Network” เฉยๆ หรือ “Shallow Nets” (โครงข่ายแบบตื้น) ซึ่งนิวรอนเน็ตแบบนี้ จะมี Hidden Layer เพียงแค่ชั้นเดียวเท่านั้นครับ
21078782_1934320393472960_6764574333721325439_n
📑 ส่วนนิวรอนเน็ตอีกประเภทที่เรียกว่า “Deep Learning” คือ วิธีการสร้างโมเดลโครงข่าย Neural Network นั่นแหละครับแต่ให้มันเปลี่ยนจาก Shallow หรือ โครงข่ายนิวรอนเน็ตแบบตื้น ให้เป็น Deep หรือโครงข่ายนิวรอนแบบลึก โดยในส่วนของการการสร้าง Deep Neural Network นั้นก็สามารถแยกเป็นหลายรูปแบบอีกครับ ทั้ง Convolutional Neural Network (CNN), Recurrent Neural Network (RNN) หรือ Deep Reinforcement Learning ซึ่งทั้ง RNN และ CNN ก็ยังมีอีกหลายอัลกอริทึ่มย่อยออกมาอีกครับ

📑 เอาล่ะครับ เรามาดูตัวอย่างการนำ Deep Learning มาใช้งานกันบ้างดีกว่า ผมจะขอยกตัวอย่างทั้งในด้านการลงทุน และ ในด้านอื่นๆ ที่กำลังได้รับความนิยมกันอยู่นะครับ


👉 Convolutional neural network(CNN)
21015801_1934325086805824_2661747813334525336_o
Convolutional Neural Network (🔎🔎🔎 รูปที่ 2) เป็นโครงข่ายประสาทที่เค้ามีไอเดียในการแก้ปัญหาทางด้านรูปภาพ ซึ่งในเวลานั้นถือเป็นการปฎิวัติวงการ Image Recognition กันเลยทีเดียว การทำงานแบบคร่าวๆ ก็มีรูปมาใช่ไหมครับ ก็นำรูปมาเข้ากระบวนการ Convolution เพื่อเพิ่มรายละเอียด เพิ่ม Noise ให้กับรูป Input จากนั้นก็ใส่ Polling เข้าไป (มีหลายแบบ Average, Max) คร่าวๆ ก็คือ ทำไปเพื่อให้มันช่วยในการหา Pattern ในขั้นตอนต่อไปนั่นแหละครับ จากนั้นก็นำ output ที่ได้ ส่งต่อไปให้กับโมเดล Neural Network เพื่อเรียนรู้ปรับ Weight และ ทำให้เกิดกระบวนการสอนให้เรารู้ว่าแต่ละ Combination ของ Feature ที่ถ่วงน้ำหนักมาแล้วนั้นหมายถึงอะไร โดยกระบวนเรียนรู้จะถูกทำซ้ำเพื่อปรับค่าพารามิเตอร์หลายๆรอบ (Epoch) เพื่อให้ค่า Error จากการทำนายลดลงในแต่ละรอบดัง(🔎🔎🔎 รูปที่3)

20994255_1934347130136953_4618634995889598244_n

ตัวอย่าง (🔎🔎🔎 รูปที่ 4) ถ้า มีหู มี ปาก เล็กหน่อย มีหัวที่ทรงแบบนี้ เป็นรูปแบบกลมๆหน่อย(สมมุตินะครับ)มันก็จะตีความว่าเป็นแมว แต่ถ้าถ้าหูใหญ่กว่า หน้ายาวกว่าก็เป็นหมา เป็นต้น

21034611_1934345543470445_1903216469918659856_n
👉 👉 👉 ตัวอย่างการใชงาน Deep Learning ในการเทรดล่ะ เราจะใช้งานมันยังไง???


มันก็มีหลายวิธีครับ พูดให้ง่ายสุดก็คือ แปลงข้อมูลการเทรด เป็น รูปภาพครับ แต่เปลี่ยนข้อมูลเป็นข้อมูลหลักทรัพย์ที่เราต้องการทำนายแทนครับ (🔎🔎🔎รูปที่ 5) ส่วนหลักการทำงานก็เหมือนข้างบนเลยครับ มีรูปแบบข้อมูลมาในลักษณะนี้ เช่น ราคา xx วันที่แล้ว ก่อเกิดในรูปแบบ (pattern) หนึ่งๆ ขณะที่ราคาที่ yy วันทำอีกรูปแบบหนึงมันมีโอกาสที่อนาคตในจะมีรูปแบบที่เราต้องการจะ Classification มัน เช่น เทรนข้อมูลราคาเพื่อ จำแนกว่าในอนาคตจะ ขึ้น หรือ ลง หรือ ไม่เปลี่ยนแปลง โดยที่แต่ละอย่างนั้นมีโอกาสเป็นกี่ % นั่นเอง อันนี้แล้วแต่เราต้องการจะ Classification นะครับบางคนอาจจะทำในรูปแบบอื่นก็ได้ไม่จำเป็นต้องจำแนกแค่ขึ้นหรือลง
20993987_1934348096803523_1287579627987567405_n
👉 👉 👉มีใครใช้มันในการเทรดบ้าง?


Deep Learning Start-up สัญญาชาติญี่ปุ่น(🔎🔎🔎 รูปที่ 6) ชื่อ Alpaca.ai เค้าทำเรื่องพวกนี้อยู่ครับ โดยโมเดลที่เค้าใช้มีทั้ง CNN และ RNN (LSTM) แต่ในส่วนของ CNN เค้าก็ได้แปลงข้อมูลเป็นรูปภาพเหมือนกันครับ โดยมีทั้งการสร้างอัลกอริทึ่มสำหรับการเทรด การหาแพทเทริน (รูปที่ 5 ก็เป็นตัวอย่างานของ Alpaca.ai เค้านะครับ)

21014014_1934362640135402_3282786249203437979_o

ต่อจากนี้ผมจะขอพูดถึง ข้อสำคัญของการทำ Deep Learning กันซักหน่อยครับ มาดูกันทีละข้อ


1) ข้อมูลมันต้องเยอะ!!! ข้อนี้แน่นอนครับเพราะ การที่ Deep Learning สามารถทำผลงานได้ดีกว่าอัลกอริทึ่มทั่วไปของ Machine Learning อื่นๆ ก็เพราะการที่ยุคสมัยใหม่นี้มันมีข้อมูลถูกเก็บไว้มากกว่ายุคก่อนๆ ครับ ถ้าเรามีข้อมูลน้อยๆ เช่น ไม่กี่สิบแถวไม่กี่ร้อยแถวเนี่ย บางที Deep Learning ก็ไม่สามารถให้ผลที่ดีไปกว่าอัลกอริทึ่มแบบอื่นมากนักครับ


2) การเตรียมข้อมูลต้องถูกต้อง เหมาสม!!! แม้ว่า Deep Learning จะถูกสร้างมาให้หา Combination ของ Feature เพื่อทำการสร้างโมเดลก็เถอะ แต่ถ้าข้อมูลของเรามันไม่เกี่ยวข้องกันเลย เช่น ไปนำข้อมูล การแข่งขันนกพิราบเช่น ความเร็วของนก สีของนก (มีจริงนะเออ) มาทำนายข้อมูลลงทุน มันก็ไม่สามารถหา Combination มาทำนายเป้าหมายได้หรอกครับ (ฮา)
*** ข้อมูลบางทีที่ดูเหมือนไม่เกี่ยวข้องว่าจะมีผลกับการทำนายแต่จริงๆ แล้วดันมีผลก็มีนะครับ ฉะนั้นต้องดูให้ดี ***


👉 ถ้าสนใจงานของ Alpaca ลองไปเล่นดูได้ครับ มีบริการอยู่หลายอย่างเหมือนกันที่
https://www.alpaca.ai/


👉 อ้างอิง CNN ที่

https://cs.nju.edu.cn/wujx/paper/CNN.pdf
https://en.wikipedia.org/wiki/Convolutional_neural_network


👉 Presentation ของ intern ที่ Alpaca.ai ที่
https://docs.google.com/…/1I-zaDYTDPp18DD3EX2YstkYprlc…/pub…


👉 Dataset แปลกๆเช่น ข้อมูลการแข่งขันนกพิราบ เพื่ออยากเล่นกัน(ฮา) ที่
http://blog.yhat.com/posts/7-funny-datasets.html

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s