<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>งานวิจัยทฤษฎี &#8211; PARINYA.NET</title>
	<atom:link href="https://www.parinya.net/node/tag/%e0%b8%87%e0%b8%b2%e0%b8%99%e0%b8%a7%e0%b8%b4%e0%b8%88%e0%b8%b1%e0%b8%a2%e0%b8%97%e0%b8%a4%e0%b8%a9%e0%b8%8e%e0%b8%b5/feed" rel="self" type="application/rss+xml" />
	<link>https://www.parinya.net</link>
	<description>ทฤษฎีการคำนวณสำหรับคอมพิวเตอร์และทฤษฎีการประมวลผลสารสนเทศ</description>
	<lastBuildDate>Fri, 01 Mar 2019 07:55:05 +0000</lastBuildDate>
	<language>th</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7.2</generator>
	<item>
		<title>อัลกอริทึมสำหรับควอนตัมคอมพิวเตอร์</title>
		<link>https://www.parinya.net/node/2568</link>
					<comments>https://www.parinya.net/node/2568#respond</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Fri, 17 Nov 2017 08:06:07 +0000</pubDate>
				<category><![CDATA[Quantum Computer]]></category>
		<category><![CDATA[ควอนตัมคอมพิวเตอร์]]></category>
		<category><![CDATA[งานวิจัยคนอื่น]]></category>
		<category><![CDATA[งานวิจัยทฤษฎี]]></category>
		<category><![CDATA[อัลกอริทึม]]></category>
		<guid isPermaLink="false">http://www.parinya.net/?p=2568</guid>

					<description><![CDATA[คิดว่าทุกคนคงทราบกันแล้วว]]></description>
										<content:encoded><![CDATA[<p>คิดว่าทุกคนคงทราบกันแล้วว่า การสั่งให้ควอนตัมคอมพิวเตอร์ทำงานได้ มันต้องใช้อัลกอริทึมที่เหมาะสม และในปัจจุบัน อัลกอริทึมเหล่านั้นก็ยังมีจำนวนไม่มากนัก และส่วนใหญ่ล้วนอ้างอิงพื้นฐานจากอัลกอริทึมซึ่งคนระดับปรมาจารย์คิดค้นเอาไว้</p>
<p>บทความส่วนใหญ่ในอินเทอร์เน็ตที่กล่าวถึงอัลกอริทึมสำหรับควอนตัมคอมพิวเตอร์ มักจะอ้างถึงชื่อบทความวิจัย และมักจะยกเอาเนื้อหาบางส่วนในบทความวิจัยมาอ้างอิง แต่เอาเข้าจริง เราก็มักจะไม่ค่อยได้มีโอกาสอ่านบทความวิจัย <strong>&#8220;ฉบับเต็ม&#8221;</strong> กันซักเท่าไหร่ (อืม จริง ๆ มันก็อ่านยากด้วยแหล่ะ)</p>
<p>ดังนั้น มาลองอ่านบทความวิจัยของอัลกอริทึมสำหรับควอนตัมคอมพิวเตอร์ <strong>&#8220;ระดับตำนาน&#8221;</strong> แบบ <strong>&#8220;ฉบับเต็ม&#8221;</strong> กันดีกว่า โดยการกดลิงก์ที่ชื่ออัลกอริทึมในรายการข้างล่างนี้</p>
<ul>
<li style="list-style-type: none;">
<ul>
<li><a href="https://drive.google.com/open?id=1a4A_yv3_x8R64v6ISP7geFw27HtHmvKE">Deutsch Jozsa Algorithm</a> และ <a href="https://drive.google.com/open?id=1pl6VNptsM-4g7sf0hKfislaMLzNVUmDN">ส่วนปรับปรุง</a></li>
<li><a href="https://drive.google.com/open?id=1pyJ4hy4pxkLN1Y0mKmDTHmlptFWsAMg_">Simon Algorithm</a></li>
<li><a href="https://drive.google.com/open?id=1RLKbk2tPcq60IPXfYPn7JznBmzTzs6HD">Grover Algorithm</a></li>
<li><a href="https://drive.google.com/open?id=1GeGOoz4eaB7MyG7VFEdbuN76RMjnYCND">Shor Algorithm</a> (ขี้เกียจอ่านบทความวิจัยตัวเต็ม? โชคดีมีคนย่อยให้อ่าน<a href="https://khunpanya.wordpress.com/2016/07/31/shors-algorithm/">ที่นี่</a>แล้ว กด<a href="https://khunpanya.wordpress.com/2016/07/31/shors-algorithm/">ตรงนี้</a>เลย แต่ถ้าให้ดี ผมว่าอ่านตัวเต็มด้วยก็ดีนะ!!!)</li>
</ul>
</li>
</ul>
<p><a href="https://www.parinya.net/wp-content/uploads/2017/11/math-1547018_640.jpg"><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-2570" src="https://www.parinya.net/wp-content/uploads/2017/11/math-1547018_640.jpg" alt="" width="640" height="326" srcset="https://www.parinya.net/wp-content/uploads/2017/11/math-1547018_640.jpg 640w, https://www.parinya.net/wp-content/uploads/2017/11/math-1547018_640-300x153.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></a></p>
<p>แถมอีกนิดนึง อันนี้ส่วนตัวผมชอบเอง ผมชอบการผนวกเอไอกับควอนตัมคอมพิวเตอร์เข้าไว้ด้วยกัน และมันก็มีบทความวิจัยสำคัญ ๆ ด้านนี้อยู่ 2 ฉบับที่ผมเจอ คือ <a href="https://drive.google.com/open?id=1E1xfUU_IT5Dm0xw92hfFiy_26jqfOlUv">ฉบับนี้</a> และ <a href="https://drive.google.com/open?id=11dKvMylOcCV3mtyZpaBuAsiHN9fdRuuF">ฉบับนี้</a> ถ้าสนใจก็ลองกดเข้าไปอ่านตัวเต็มดูครับ</p>
<p>สุดท้ายล่ะ แถมอีกนิดนึง ถ้าอ่านบทความวิจัยแบบแยกเป็นเรื่อง ๆ แล้วเข้าใจยาก เพราะมันไม่ได้บอกลำดับก่อนหลังหรือบอกลำดับความสำคัญ งั้นไปอ่านหนังสือตัวเต็มกันดีกว่า หนังสือมันดีตรงที่มันร้อยเรียงบทความวิจัยให้เรียบร้อยแล้ว มันเป็นหนังสือชื่อ <a href="https://drive.google.com/open?id=1RUO2zqGLWJGpqCALkhjphFZp0BFcupvC">Quantum Computation and Quantum Information</a> (กดตรง<a href="https://drive.google.com/open?id=1RUO2zqGLWJGpqCALkhjphFZp0BFcupvC">ชื่อหนังสือ</a>เลย) พิมพ์มา 10 ครั้งแล้ว และที่สำคัญ หนังสือเล่มนี้ถูกอ้างอิงโดยบทความวิจัยและหนังสือเล่มอื่นถึงกว่า 30,000 ฉบับ ถือว่าเป็นหนึ่งในหนังสือหลาย ๆ เล่มทางฟิสิกส์ที่ถูกอ้างอิงมากที่สุดตลอดกาล!!!!</p>
<p>สุดท้ายอีกทีนึง เอางี้ ผมว่าอ่านหนังสือก่อน แล้วพอจะเจาะรายละเอียดของอัลกอริทึม ค่อยไปอ่านบทความวิจัยเพิ่มเติม เพราะในหนังสือมันไม่ค่อยมีบทพิสูจน์ แต่ในบทความวิจัยมันมีบทพิสูจน์!!!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/2568/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>เวลาในการทำงานของ Deep Learning</title>
		<link>https://www.parinya.net/node/2556</link>
					<comments>https://www.parinya.net/node/2556#respond</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Sat, 30 Sep 2017 06:35:53 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Computation]]></category>
		<category><![CDATA[Quantum Computer]]></category>
		<category><![CDATA[งานวิจัยคนอื่น]]></category>
		<category><![CDATA[งานวิจัยทฤษฎี]]></category>
		<category><![CDATA[Big O]]></category>
		<guid isPermaLink="false">http://www.parinya.net/?p=2556</guid>

					<description><![CDATA[บล็อกนี้เอาสั้น ๆ นะ สืบเ]]></description>
										<content:encoded><![CDATA[<p>บล็อกนี้เอาสั้น ๆ นะ สืบเนื่องจากคราวก่อนเขียนเรื่อง&nbsp;<a href="https://www.parinya.net/node/2546">ทำไม DEEP LEARNING บน QUANTUM COMPUTER จึงทำงานเร็วมาก ๆ</a> เอาไว้ แล้วเห็นว่ามันมีประเด็นเรื่อง Big O ที่ต้องขยายความอยู่นิดนึง เลยมาต่องานในบล็อกนี้</p>
<figure id="attachment_2557" aria-describedby="caption-attachment-2557" style="width: 640px" class="wp-caption aligncenter"><a href="https://www.parinya.net/wp-content/uploads/2017/09/nerve-cell-2213009_640.jpg"><img decoding="async" class="size-full wp-image-2557" src="https://www.parinya.net/wp-content/uploads/2017/09/nerve-cell-2213009_640.jpg" alt="Neural Network" width="640" height="360" srcset="https://www.parinya.net/wp-content/uploads/2017/09/nerve-cell-2213009_640.jpg 640w, https://www.parinya.net/wp-content/uploads/2017/09/nerve-cell-2213009_640-300x169.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></a><figcaption id="caption-attachment-2557" class="wp-caption-text">Neural Network</figcaption></figure>
<p>คือเวลาในการทำงานของ Deep Learning มันก็เหมือนโมเดลปัญญาประดิษฐ์ทั่วไป แบบว่าเวลาในการสอนกับเวลาในการใช้งาน มันไม่เท่ากัน ซึ่ง Big O มันก็จะไม่เท่ากัน เลยจะมาขยายความว่าถ้าเป็นเวลาในการสอน Big O จะเท่าไหร่ และเวลาในการใช้งาน Big O จะเท่าไหร่</p>
<p>มาเริ่มกันเลย!!!</p>
<p><span style="color: #0000ff;"><strong>1) เวลาในการสอน Deep Learning</strong></span></p>
<p>สั้น ๆ ผมวิเคราะห์ว่ามันจะเป็นสมาชิกของ Big O(ED(LXN + LXN))</p>
<p>โดย E = จำนวน Epoch ในตอนที่สอน, D = จำนวน Dataset ที่ใช้สอน, L = จำนวน Hidden Layer + Output Layer ของโมเดล, X = จำนวน Node ใน Layer ถัดไปของโมเดล และ N = จำนวน Node ใน Layer ปัจจุบันของโมเดล</p>
<p>และที่ต้องเอา LXN มาบวกกับ LXN ก็เพราะว่า LXN แรกคือเวลาในการคำนวณผล ส่วน LXN หลังคือเวลาในการป้อนค่่าน้ำหนักย้อนกลับ!!!</p>
<p><span style="color: #0000ff;"><strong>2) เวลาในการใช้งาน Deep Learning</strong></span></p>
<p>อันนี้สั้นยิ่งกว่า ผมวิเคราะห์ว่ามันจะเป็นสมาชิกของ Big O(LXN)</p>
<p>โดยตัวแปร L, X และ N อธิบายไว้แล้วในข้อที่ 1 ตรงนี้ไม่อธิบายเพิ่มนะ</p>
<figure id="attachment_2558" aria-describedby="caption-attachment-2558" style="width: 640px" class="wp-caption aligncenter"><a href="https://www.parinya.net/wp-content/uploads/2017/09/hourglass-1875812_640.jpg"><img decoding="async" class="size-full wp-image-2558" src="https://www.parinya.net/wp-content/uploads/2017/09/hourglass-1875812_640.jpg" alt="นาฬิกาทราย" width="640" height="482" srcset="https://www.parinya.net/wp-content/uploads/2017/09/hourglass-1875812_640.jpg 640w, https://www.parinya.net/wp-content/uploads/2017/09/hourglass-1875812_640-300x226.jpg 300w" sizes="(max-width: 640px) 100vw, 640px" /></a><figcaption id="caption-attachment-2558" class="wp-caption-text">นาฬิกาทราย</figcaption></figure>
<p>ทีนี้พอลงในรายละเอียดอีกนิดนึง&nbsp;Big O(ED(LXN + LXN)) ก็ถือว่าเป็นสมาชิกของ Big O(N ^ 5) ส่วน Big O(LXN) ก็ถือว่าเป็นสมาชิกของ Big O(N ^ 3)</p>
<blockquote><p>O(ED(LXN + LXN)&nbsp;∈ O(N ^ 5)</p>
<p>O(LXN)&nbsp;∈ O(N ^ 3)</p></blockquote>
<p>หรือสรุปง่าย ๆ ก็คือ ตอนที่สอน Deep Learning ต้องวนลูป 5 ชั้น และในทางตรงกันข้าม ตอนที่ใช้งาน Deep Learning วนลูปเพียง 3 ชั้นก็พอ!!!</p>
<p>ดังนั้นผมถึงได้คิดว่า ถ้าสร้างอัลกอริทึมสำหรับสอนและใช้งาน Deep Learning บน Quantum Computer ได้เมื่อไหร่ จากที่ต้องสอนด้วยเวลา Big O(N ^ 5) และใช้งานด้วยเวลา Big O(N ^ 3) ก็อาจจะลดเวลาลงเหลือเท่ากับ Big O(Log N) ซึ่งมันเป็นอะไรที่เร็วมาก ๆ เลยล่ะ</p>
<p>สำหรับงานทาง Computer Science ใครก็ตามที่สามารถคิดค้นอัลกอริทึม ที่สามารถลดเวลาคำนวณให้เหลือแค่ Big O(Log N) ได้ ถือว่าโคตรสุดยอดครับ!!!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/2556/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ทำไม Deep Learning บน Quantum Computer จึงทำงานเร็วมาก ๆ</title>
		<link>https://www.parinya.net/node/2546</link>
					<comments>https://www.parinya.net/node/2546#respond</comments>
		
		<dc:creator><![CDATA[ไท้ ปริญญา]]></dc:creator>
		<pubDate>Thu, 28 Sep 2017 14:52:29 +0000</pubDate>
				<category><![CDATA[Artificial Intelligence]]></category>
		<category><![CDATA[Inspiration]]></category>
		<category><![CDATA[Quantum Computer]]></category>
		<category><![CDATA[ควอนตัมคอมพิวเตอร์]]></category>
		<category><![CDATA[งานวิจัยของคนอื่น]]></category>
		<category><![CDATA[งานวิจัยทฤษฎี]]></category>
		<category><![CDATA[ปัญญาประดิษฐ์]]></category>
		<category><![CDATA[Deep Learning]]></category>
		<category><![CDATA[quantum computer]]></category>
		<guid isPermaLink="false">http://www.parinya.net/?p=2546</guid>

					<description><![CDATA[ตอนนี้ Deep Learning เป็น]]></description>
										<content:encoded><![CDATA[<p>ตอนนี้ Deep Learning เป็นพระเอกของปัญญาประดิษฐ์ ผมเลยคิดว่าจะชวนพวกเราคุยเรื่องที่ไม่ค่อยมีคนคุย นั่นก็คือ Big O ในการคำนวณ Deep Learning น่าจะอยู่ในคลาสไหน?</p>
<p>จริง ๆ แล้ว ไม่ว่าจะเป็น Perceptron หรือ Multi-layer Perceptron หรือ Deep Learning ผมก็วิเคราะห์ว่า Big O น่าจะเท่ากับ Big O(LXN + LXN) ซึ่งก็หมายความว่ามันเป็นสมาชิกของคลาส Big O(N ^ 3)</p>
<p>โดย L = จำนวน Hidden Layer + Output Layer, X = จำนวน Node ใน Layer ถัดไป และ N = จำนวน Node ใน Layer ปัจจุบัน</p>
<p>และที่ต้องเอา LXN มาบวกกับ LXN ก็เพราะว่า LXN แรกคือเวลาในการคำนวณผล ส่วน LXN หลังคือเวลาในการป้อนค่่าน้ำหนักย้อนกลับ!!!</p>
<p>ดังนั้น ถ้าเรามองดี ๆ เราจะเห็นว่ากรณี Perceptron ซึ่ง L = 0+1 (ไม่มี Hidden Layer) และ X = 1 (Output Layer มีเพียง Node เดียว) ดังนั้น Big O ของ Perceptron คือ Big O(1*1*N + 1*1*N) หรือ Big O(2N)</p>
<p>สำหรับการวนตามจำนวน epoch เพื่อเรียนรู้ตาม dataset ที่มี ผมไม่นับใน Big O นะ ผมนับเฉพาะในส่วนของ Model เท่านั้น เดี๋ยวจะเข้าใจผิดกันว่ามันต้องมีลูปใหญ่อีกชั้นนึงตอนสอน Deep Learning แล้วทำไมถึงไม่นับใน Big O ด้วย!!!</p>
<p>ทั้งหมดที่ผมเกริ่น ๆ ขึ้นมา ผมแค่อยากจะบอกว่าการคำนวณ Deep Learning มันใช้เวลาเป็น Polynomial และมันต้องวนลูป 3 ชั้นสองครั้งขึ้นไป ซึ่งมันเป็นสิ่งที่กระทำได้ตามสภาพที่ Digital Computer จะเอื้ออำนวย</p>
<p>ผมเคยเล่าเรื่อง<a href="https://www.parinya.net/node/2413">ความเร็วของ Quantum Computer</a> เอาไว้ ผมบอกว่า Quantum Computer โดยกำเนิดแล้ว สามารถคำนวณทุกปัญหาได้ในเวลา Polynomial โดยต้องมีอัลกอริทึมที่เหมาะสม</p>
<p>ดังนั้น ต่อให้เป็นปัญหาที่คำนวณบน Digital Computer ซึ่งต้องคำนวณด้วยเวลา Exponential หรือ Factorial แต่ถ้ามีอัลกอริทึมที่เหมาะสม ก็สามารถคำนวณด้วยเวลา Polynomial ได้บน Quantum Computer!!!</p>
<p>และไม่ใช่ Polynomial แบบ Big O(N) หรือ Big O(N^C) ด้วยนะ แต่ Quantum Computer สามารถลดความเร็วลงได้ถึงระดับ Big O((Log N) ^ 2 (Log Log N) (Log Log Log N)) เลยทีเดียว (อันนี้ผมอ้างอิงจาก Paper<a href="https://arxiv.org/abs/quant-ph/9508027"> การแยกตัวประกอบเฉพาะบน Quantum Computer</a> ของ Peter Shor นะ )!!!</p>
<p>ทีนี้เราย้อนกลับมาเปรียบเทียบ จะเห็นว่า Deep Learning ใช้เวลาคำนวณในคลาส Big O(N ^ 3) ดังนั้น หากคิดค้นอัลกอริทึมที่เหมาะสมได้ ก็อาจสามารถลดความเร็วในการคำนวณบน Quantum Computer ให้อยู่ในคลาส Big O(Log N) หรือ Big O(N Log N) ได้เลยทีเดียว!!!</p>
<p>สรุปแล้ว อัลกอริทึมเป็นสิ่งสำคัญที่สุด มันต้องมีคนคิดค้นอัลกอริทึมสำหรับ Deep Learning บน Quantum Computer ให้ได้ก่อน ศักยภาพแห่งความเร็วโคตร ๆ จึงจะเกิดขึ้นได้ และเมื่อนั้น การสอน Deep Learning รวมทั้งการทำนายด้วย Deep Learning บน Quantum Computer จึงจะเป็นอะไรที่น่าตื่นตะลึงในความเร็วอย่างถึงที่สุดครับ</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.parinya.net/node/2546/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
