星期五。見面

程式 | 學習 | 日記 | 玩樂

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

前言

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

繼續閱讀

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

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

繼續閱讀

研發替代役替第九十梯-15天生存紀實-1

前言 - 研役制度的回歸

2020/7月從碩士畢業後,由於今年政府再度重起了研發替代役制度,一年半的研替(83年次以後的役期為一年半)總共分成三個階段:

  • 第一階段: 於成功嶺受訓15天
  • 第二階段: 於用人單位開始工作,為期四個月
  • 第三階段: 一樣於用人單位工作,為期一年兩個月

第二階段和第三階段都是餘用人單位工作,不同的地方是第二階段的雇人單位仍然是政府,直至第三階段和用人單位才是雇傭關係。也因此有些公司第二階段和第三階段的薪資福利會不同……剩下的細節就不講了,我又沒收錢幹嘛幫他們工商。

總之在今年初我決定申請當研發替代役,成為了第90梯的研發替代役並於9/7號進入台中成功嶺受訓兩週(9/7-9/21)。在成功嶺受訓儘管只有15天,但是在裡面真的令人覺得度日如年,每天都在倒數還有幾天出來。如果網路上的文章在那邊跟你說什麼”其實還好”、”一點都不後悔”…那都是騙人的你各位啊

“畢竟當他們正在撰寫文章的當下,早已經離開成功嶺並和現在的我一樣,開心地敲著鍵盤了”

當我在成功嶺內聽著講師那有如白噪音般的語調講述的無聊課程時,我實在是受不了了,作為打發時間的消遣,我決定開始寫日記來記錄這十五天的生活,等到出來後將這些日記統整成Blog發布。

不過為了避免篇幅過長,所以我將這十五天的日記分成兩篇文章來撰寫:

  1. 研發替代役替第九十梯-15天生存紀實-1(也就是本篇文章)
  2. 研發替代役替第九十梯-15天生存紀實-2
繼續閱讀

[Tensorflow]從Pytorch到TF2的學習之路 - Different Padding Algorithms

【[Tensorflow]從Pytorch到TF2的學習之路】所有文章:

前言

在Conv layer和Pooling layer的時候,由於kernel size和stride的設置,Input有可能會在操作過程中越變越小。為了使得圖片在這個過程中保持相同的輸出,此時我們就會對input加上padding(通常是補0操作)。

不過在Tensorflow和Pytorch中對於padding這件事有一點小差異,像是Tensorflow的padding參數就提供了SAMEVALID,但在Pytorch的文件中我們並沒看到類似的參數,究竟這不同框架之間padding的差異到底在哪裡呢?

這篇文章透過簡單的例子搭配程式碼進行講解,最後搭配一些網路上的討論跟介紹幫助大家釐清TF/Pytorch的Padding觀念。

繼續閱讀

[論文速速讀]Very Deep Convolutional Networks For Large-Scale Image Recognition

〖想觀看更多中文論文導讀,至[論文速速讀]系列文章介紹可以看到目前已發布的所有文章!〗

VGG,ILSVRC 2014的亞軍(同年冠軍為GoogLeNet),儘管是亞軍但他提出來的設計構想對於CNN系列也有著很重要的影響,至今仍然是非常知名的一個Model。

paper網址: https://arxiv.org/pdf/1409.1556.pdf

ABSTRACT

In this work we investigate the effect of the convolutional network depth on its accuracy in the large-scale image recognition setting. Our main contribution is a thorough evaluation of networks of increasing depth using an architecture with very small (3×3) convolution filters, which shows that a significant improvement on the prior-art configurations can be achieved by pushing the depth to 16–19 weight layers

本篇文章主要的貢獻在於: 透過小的Conv filter(3x3)不斷疊加,使得CNN模型可以達到一個更深的層數且得到更好的精準度

儘管這個概念很簡單,但是非常重要,當時對於filter參數到底要設大還有著許多的疑問和研究,例如AlexNet採用了極大的size(11x11)、ZFNet將size調小了但仍然使用到了7x7,GoogLeNet同時使用了不同的filter size…

但VGG這篇卻告訴你: 3x3就夠了!

繼續閱讀

[Tensorflow]從Pytorch到TF2的學習之路 - Custom Model & Custom training

【[Tensorflow]從Pytorch到TF2的學習之路】所有文章:

前言

TF2.0中採用了和Pytorch相同的Eager Mode,並且使用了大量的Keras API,使得我們可以像Pytorch一樣透過建立動態圖來操作我們的運算的同時,能夠更有效率地來設計&訓練我們的深度學習模型。但在寫法上,Pytorch和TF2的到底有著什麼樣的差異呢?

這篇文章針對客製化模型自定義訓練循環這兩個部分來撰寫,分別介紹使用Pytorch和TF2的不同,期望讓大家能夠快速地切換到不同的深度學習框架上。

繼續閱讀

[Tensorflow]從Pytorch到TF2的學習之路 - Training mode v.s. Inference mode

「這個故事是描寫一位從原本在寫Pytorch的熱血少年,因為工作需求所以開始跳槽Tensorflow2,立志寫出厲害的TF2程式碼,在台灣締造的偉大抒情史詩」 (改寫自烘焙王開頭旁白)

【[Tensorflow]從Pytorch到TF2的學習之路】所有文章:

前言

在pytorch中會使用train(), eval()來控制一些在訓練(training mode)/測試階段(inference mode)下執行不同的操作,比方說Dropout, BatchNormalization

  • Dropout在inference mode下就不會在屏蔽neuron
  • BatchNormalization在inference mode下會使用training時得到的平均值作為alpha, beta的參數

但TF沒有這兩個function,那應該要怎麼去操控training mode / inference mode呢? 本文透過Dropout, BatchNormalization的TF官方文件搭配Source code來深入研究。

繼續閱讀

[論文速速讀]Network In Network

〖想觀看更多中文論文導讀,至[論文速速讀]系列文章介紹可以看到目前已發布的所有文章!〗

paper: https://arxiv.org/pdf/1312.4400.pdf

人在Computer Vision的江湖上,不能不知道的一篇論文: Network in Network (NIN),在2014 ICLR上發表出來,至今已經有4000多次的cite。

Paper中首次提出兩個重要的概念,這兩個概念至今仍然被廣泛地使用,分別是:

  1. 1x1 Convolution
  2. Global Average Pooling (GAP)

這些名詞很眼熟吧,不論是GoogLeNet, VGG, ResNet都可見到他們的身影,接下來就來看看原始論文是怎麼說的~

繼續閱讀

>