星期五。見面

程式 | 學習 | 日記 | 玩樂

    [論文速速讀]系列文章介紹

前言

論文速速讀系列是從今年四月開始,我開始寫一些論文的中文讀書筆記,還記得第一篇是[論文速速讀]ReZero is All You Need: Fast Convergence at Large Depth,之後發現儘管自己已經陸續產出了幾篇文章,可是好像都沒正式的跟大家介紹這系列文章的由來xD

所以這篇文章就是來講講這系列文章到底是什麼,以及我會和會想寫這些文章。

論文速速讀系列是什麼?

由於在AI領域每年總是有一些非常重大的突破和應用,如果跟不上潮流很有可能就會錯失許多機會。例如,對NLP領域熟悉的話你一定聽過2013年的word2vec、2014年開始流行的attention、2018年的Bert…這些很有名的技術。

還記得Bert剛出的時候我好像剛進碩士實驗室,當時只知道這個技術屌打了當時一堆NLP的研究,但我想也想不到兩年後Bert已經造成如此大的影響力,一堆基於Bert的變形應用在各大領域上都取得了非常優異的結果。

因此,我想要藉由這系列的文章讓自己能夠更加快速的了解AI的新技術和研究,同時逼迫自己看論文xD

繼續閱讀

    [課程筆記]課程筆記系列總覽

本文記錄了自己在上課時所記錄的一些課程筆記,可以透過這邊文章連結到所有以往發過的課程筆記文章。

繼續閱讀

[ML]Explainable ML介紹(CAM、Grad-CAM)

簡介

前陣子花了一點時間在看李宏毅老師的Explainable ML的部分,裡面有講到explainable ML的部分主要可以分成:

  • global explanation(Ex: 機器覺得一隻貓”長什麼樣子”)
  • local explanation(Ex: 機器是”看到了什麼”而覺得這是一隻貓)

而在local explanation的技術中有CAM、Grad-CAM、Grad-CAM++,這篇文章會簡單介紹這三個技術(因為這是一系列的)(好啦只有兩個,最後一個我沒看)

下一篇會逐步介紹grad-cam的pytorch程式碼是怎麼寫出來的(參考一篇github的source code)。

繼續閱讀

碩一生活總結

這是一篇日常文。

不要懷疑,這才是正常的,這個部落格從來就不是技術部落格啊xD

其實最初在寫網誌的時候並不是只想分享純技術相關的事情,也想當個吃吃喝喝到處玩樂的部落客,不過不知道為啥總是只發一些奇奇怪怪的文章。

碩士生活偶爾會覺得很漫長,但突然停下腳步回顧時卻會覺得時間其實過得很快,就用一篇文章來回顧一下自己這一年都在如何耍廢吧xD

64661456_2806766249339608_3157311664236265472_n

(2019新竹藝術燈節的『蓋亞』)

(碩二的悲慘續集出爐摟,想了解的可以看: 碩二生活總結)

繼續閱讀

SITCON 2019

main-logo.805726b.png

想當初上一次參加SITCON是…兩年前吧…在高雄的時候實在是太遠了也不是想來就來,不過現在在新竹所以沒關係:|

地點一樣舉辦在中研院,從南港展覽館捷運站(不是南港)出來後走到對面搭公車就可以到中研院站,然後再走進去就是了。有很多班公車都會到中研院站所以不用太擔心。

如果真的不知道怎麼走的話,其實當天捷運站出來看到一堆學生們就跟著他們走就對了,應該都可以順利到達目的地(我當天中研院裡面就是這樣走的,連導航都沒開xD)。

繼續閱讀

交大就職博覽會心得&參加攻略

好久沒有寫非技術類的文章了喔…上次寫心得文不知道是幾年前的事情了…感動QQ

這次要分享的是交大的就職博覽會,大學校的就博真的很值得去,每年都會有超多企業會來學校徵人,甚至會有現場媒合面試的活動,可以快速地和主管談話了解公司,也因此會有很多外校的人也來一同參與。

¦C¦L

既然碩士都來唸交大了一定得參加的,所以雖然還是碩一我還是去了~

這篇文章會分享我的參加心得,然後講一下我覺得事前應該要準備什麼比較好(因為我是第一次參加,當初不知道大概長怎樣或是要準備什麼東西還上網查了一下…不過好像沒看到什麼人在分享)。

想看需要哪些事前準備&攻略的就直接滑到最下面~

繼續閱讀

[Pytorch]逐步解釋ResNet34程式碼

簡介

今天想來介紹如何用Pytorch寫出一個ResNet34,網路上有很多類似的文章,不過我一開始看的時候還沒辦法很理解為什麼Module的參數要這樣設?這裡的shortcut又是什麼意思?……於是後來終於理解後,想要寫一篇來介紹ResNet code,順便確認自己是有理解的。

繼續閱讀

[DL]關於莫煩【RNN 循环神经网络 (回归)】裡面沒有講到的事情

今天在看莫煩的Pytorch教學,在練習RNN 循环神经网络 (回归)這篇時發現了一些問題想要記錄下來,下面我就直接拿他在github上的code來說比較快:

關於增加資料維度的方法

第一個要講的在code第83行的地方

1
2
3
...
x = torch.from_numpy(x_np[np.newaxis, :, np.newaxis])
y = torch.from_numpy(y_np[np.newaxis, :, np.newaxis])

這兩行是為了將ndarray增加維度後轉成tensor,一開始看到x_np[np.newaxis, :, np.newaxis]的時候其實有點不知道這在幹啥,不過其實印出來就知道了,它是一種增加資料維度的形式, 如果原本x_np的shape是(1),x_np[np.newaxis, :, np.newaxis]後的shape會變成(1, 1, 1)。

也可以透過np.expand(x_np, dim=0)達到相同的效果,不過似乎一次只能增加一個維度。

或是,也可以先轉成tensor在透過view()來任意改變你想要的維度:

1
2
x = torch.from_numpy(x_np).view(1, -1, 1)               
y = torch.from_numpy(y_np).view(1, -1, 1)

關於backward()的小細節

第二個要講的在code第86行

繼續閱讀

>