星期五。見面

程式 | 學習 | 日記 | 玩樂

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

前言

論文速速讀系列是從今年四月開始,我開始寫一些論文的中文讀書筆記,還記得第一篇是[論文速速讀]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

繼續閱讀

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

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

繼續閱讀

[Linux Kernel慢慢學]了解Linux CCF (Common Clock Framework)中的那些基本元件

前言

Linux CCF (Common Clock Framework)是一個用來管理clock的子系統,CCF向使用clk的driver提供操作clock的interface,同時也向clk driver的開發者提供一個管理clock的通用框架。

這篇文章作為了解Linux Clock框架的事前學習,介紹了一個系統的時間相關元件通常由哪幾項元件組成,而他們各自又是什麼東西。

(下面是自己的粗淺學習筆記,如有錯誤還請留言更正)

Introduction of Clock Tree

要了解CCF,就必須先了解一個時間系統由那些元建構成,這裡引用wowotech大大的文章做介紹(wowotech的文章對我在學習Linux之路扮演了很大的啟蒙導師的角色,大推!)

如今,可运行Linux的主流处理器平台,都有非常复杂的clock tree,我们随便拿一个处理器的spec,查看clock相关的章节,一定会有一个非常庞大和复杂的树状图,这个图由clock相关的器件,以及这些器件输出的clock组成。下图是一个示例:

一個系統中clock相關的元件大致有:

  1. 晶振、震盪器 (Oscillator, Crystal): 用於產生固定頻率的電子訊號
  2. 鎖相迴路 (Phase Locked Loop, PLL): 用於產生穩定的倍頻
  3. 除頻器 (Divider): 用於頻率的除頻
  4. 多工器 (Multiplexer): 用於選擇頻率來源
  5. 門控 (Clock Gate, CG): 用於Clock Enable / Disable
  6. 設備 (Consumer): 使用該時鐘的設備

下面依序介紹各個元件扮演的角色,以及簡介他們背後的原理是怎麼運作的。

繼續閱讀

[Linux Kernel慢慢學]學習Linux Kernel的Coding Style

繼續閱讀

使用Hexo在Github Page上架設部落格 - 2020年度回顧

約在2020四月開始,我停筆了在WordPress上長達四年的部落格經營,將平台轉向架在Github Page上搭配Hexo來客製化自己的部落格。

至今已經過了將近8個月,是時候來寫一下架設這個部落格背後的過程,以及當初設計時考慮的各種面向,順便來回顧一下這幾個月部落格的成長。

從WordPress到Github Page + Hexo

當初會痛定思痛轉移平台的原因主要是因為WordPress的編輯器對於我實在很不夠用,我需要一個能夠讓我很方便的來撰寫程式碼以及數學公式的解決方案,想了許久還是Markdown最方便了,最後決定選擇對Markdown支援度很高的Hexo。

其實從國中開始寫部落格開始,到處流浪搬家換平台已經許多次了QQ,關於這段辛酸血淚可以至About這篇觀看。

使用Hexo架設部落格的過程

總之第一次使用Hexo然後又是自己架網站,網站功能、RWD、介面設計、SEO優化、流量分析…等都要自己來,我一直對前後端很不熟,所以這邊其實花了蠻多時間反反覆覆的修改。

下面簡單敘述了一下當初設計時考量到的幾個面向:

  1. 網站主題
  2. 深色主題的設計
  3. 便捷的的文章編輯
  4. 一鍵式的文章發布
  5. SEO優化、流量分析
繼續閱讀

關於研究所的那些事 - 推甄、找教授、生活日常

每年的秋冬都會有一些大學的學弟妹來詢問一些研究所的相關事情(阿不過今年應該是最後一屆了,畢竟接下來的學弟妹我也都不認識了),在與他們聊天的過程中也使自己重新又回顧了一遍研究所的時光。

關於研究所的文章其實當初零零散散的有撰寫了一些文章記錄,不過腦殘如我部落格搬家之後SEO沒做好,所以現在可能也沒有那麼方便搜尋到那些文章,想說不如就趁這篇把文章都搜集起來順便補充一些內容吧。

所以這篇文章算是個系列文統整然後加上一些補充,主題涵蓋了研究所推甄、面試、找教授,以及研究生生活的一些日記,如果好奇研究生生活都是怎麼過的讀者可以去看看(雖然當初日記系列都是用幹話的形式來敘述的xD)

研究所推甄準備、面試、找教授

首先,這邊的研究所主要是以資工所來撰寫的,申請其它所得請斟酌觀看。

由於我當初是透過推甄申請上研究所的,不得不說推甄真的是一條需要持之以恆的路,你必須大學三年都將課業維持得很好,此外最好還要有一些課外的活動、競賽、作品等經歷來證明自己不單只會唸書。

如果在看這篇的人是正在準備推甄的人,那麼首先先說聲恭喜你,這是你大學努力的成果,希望大家都能推到自己理想中的學校。

繼續閱讀

[C]在不同檔案間共用變數?你可以用extern阿

這篇不是教學文喔,嚴格來說是工作上發生的蠢事,因為太蠢了所以紀錄一下,順便做個筆記(寫這篇廢文的時候真的是羞愧到想挖洞把自己埋起來,我對不起大學教授我程式沒學好…咦好像也不用對不起,他也沒教什麼QQ)

好了,故事Start抖

事發總有原因,蠢事總要有人聽

總之呢,這個糗事發生在今天的上班過程中,當時的狀況是如下的,我有三份檔案:

- main.c
- api.c
- api.h

透過main.c來撰寫主要的程式碼,然後會用到的api則是放在api.c和api.h。

然後我需要透過main.c裡面的一些變數來控制api.c裡面的function,原本是想說透過call api的時候傳參數進去,大概長這樣子:

繼續閱讀

[課堂筆記]深度學習優化器新霸主

這篇文章是巨匠LIVE講堂(1124)上課的課堂筆記,主要在介紹近年的深度學習優化器技術。

  • 由於是上課時的筆記內容,所以不會是介紹文的形式

講者: 尹相志

課程網址: 11月Live講堂_深度學習優化器新霸主

(下方圖片皆引用自尹相志老師的slide)

隨機梯度下降(Stochastic Gradient Descent, SGD)

不同的優化器走到低點所需的時間都不同

Local Minima: 過去常遇到的問題,一但走到很難跳出來,如何避免?

鞍點: 除了該點外,其他的梯度都比該點還低(鞍點梯度=0),導致很優化方向很容易走偏

深度學習很重要的問題: learning rate對於loss的影響

  • 家用電腦: 10^-3往下調整

優化器的兩大類型

  • 基於學習速率調整
  • 基於動量(Mommentum)調整: 加入過去移動的方向 & 速度(慣性的概念)
繼續閱讀

>