在當兵期間,用 Arduino 和觸控螢幕做一個夜射控制盒

有一天副連長很匆忙的跑到連上問有沒有電機系和資工系會寫程式和接電線的人,原本以為是簡單的公差,但後來衍生成滿麻煩的任務…營長想要做一個酷酷的裝置,可以在夜射的時候控制整個靶場的燈光,就算剩下 3 週就退伍了,為了完成營長(兩顆梅花)好大喜功的交辦事項,還是硬著頭皮被抓去營長室了。 夜間射擊的運作方式和白天打靶很像,差別在於要在幾乎全黑的情況下打靶,靶的下方會安裝微弱的照明(弱弱的燈泡),在開始射擊之後每次會亮 3 秒、暗兩秒,重複五次,射擊的人要按照節奏打完 5 發子彈。 為了達到「計時開關」的需求,以前是把電源接到由斷路器和計時器所接成的控制盒(普累嘎)上,按按鈕控制計時器運作,比較像是用電路和機械元件來做到計時的效果,但這種裝置通常整體的體積很大,而且看起來不夠「酷」,所以營長一開始想要我們設計一個「由晶片計時(寫程式)、遠端控制、手機控制(可以用滑的)」之類的功能,他的想像是要做到智慧家電那樣可以透過程式去控制靶場的燈。不管這聽起來有多麼沒必要,反正只要能讓自己有面子就可以了。 需求 在經過一連串的討論之後,我們把需求簡化成 7 個輸入控制繼電器開關…

About blog

About writing 「在我短暫的求學生涯中學到一件事…越是認真的鑽研,就越會發現人類的能力是有極限的......— 除非超越人類!!」 人的大腦是有所極限的,在有限的時間和精力下難以學會所有想知道的知識,所以需要「工具」與「技巧」讓自己超越肉體限制。對我來說寫作便是一個滿有效果的作法,將自己消化完的知識點整理成筆記,在複習時就能快速進入當時的思路裡面,累積足夠數量的筆記之後開始能對一個主題漸漸整理出自己的一套脈絡。 大部分的時候,我都是用私人的筆記工具來整理自己的筆記,而部落格作為一種公開的平台寫起來又是另一種感覺,我自己覺得既然大多數時間我都是看著網路上大神的文章慢慢學習的,自己的文章雖然只是野人獻曝,但如果自己有一些小成果的話能回饋社群、幫助他人也是不錯的。回顧過去寫的一些文章,大致上可以分類為: 生活上的心得與經驗,紀錄了一些可供他人參考的事 * 德國 TU Darmstadt 交換心得 * [交換]申請德國簽證 * 準備多益、托福的簡單記錄 有興趣的主題 + 我自己的一些 insight * [Note] wav2vec 2.0: A Framew…

[Note] Understand the role of self attention for efficient speech recognition

* Self-attention plays two role in the success of Transformer-based ASR * The "attention map" in self-attention module can be categorize to 2 group * "phonetic"(vertical) and "linguistic"(diagonal) * Phonetic: lower layer, extract phonologically meaningful global context * Linguistic: higher layer, attent to local context * -> the phonetic variance is standardized in lower…

[Note] PERT: Pre-training BERT with permuted language model

Can we use pre-training task other than MLM? * https://arxiv.org/abs/2203.06906 * Proposed: Permuted Language Model(PerLM) * Input: permute a proportion of text * Target: position of the original token Pretraining LM tasks * Masked LM * Whole word masking(wwm,): * alleviate "input information leaking" issue * Mask consecutive N-gram * e.g.…

[Note] wav2vec 2.0: A Framework for Self-Supervised Learning of Speech Representations

* https://arxiv.org/abs/2006.11477 * Self-supervised speech representation * contrastive loss: masked continous speech input -> quantized target * quantized module: gumbel softmax(latent representation codebooks) * wav2vec2.0 Large with 10min data:  5.2/8.6 LS-clean test * Fairseq * Well explained: https://neurosys.com/wav2vec-2-0-framework Feature Encoder(CNN) 將 raw audio…

[Note] Improving CTC-based speech recognition via knowledge transferring from pre-trained language models

https://arxiv.org/abs/2203.03582 Motivation * CTC-based models are always weaker than AED models and requrire the assistance of external LM. * Conditional independence assumption * Hard to utilize contextualize information Proposed * Transfer the knowledge of pretrained language model(BERT, GPT-2) to CTC-based ASR model. No inference speed reduction, only use…

Facebook Hate Speech Detection

只要有人類的地方就會有惡意言論,而 Facebook 身為全球最大的社交平台,從以往僱用審查團隊去人工檢視,近年來也開始引入 AI 系統來輔助偵測,在 NLP 領域令人振奮的 BERT 系列模型更扮演了關鍵的角色。 本文由黃偉愷, Ke-Han Lu 共同完成,是「人工智慧與大數據之商業價值」這門課的期末報告,我們分成兩大方向調查了 Facebook 在惡意言論偵測的近期發展: * Facebook Hate Speech Detection:背景介紹及以政策面探討 FB 如何審查、定義惡意言論,AI系統對於目前 FB 的影響 * Facebook BERT-based System:以技術角度介紹 BERT-based 模型的迷人之處及其原理 Facebook Hate Speech Detection 背景介紹 Facebook的創辦人馬克·祖克柏曾說:「Facebook的創建理念是,打造一個全球性的社區,加深人與人之間的聯繫,…

Docker for Deep learning

kehanlu/server-docker:一個基於 nvidia/cuda 的 Docker 環境,包含 Ubuntu, CUDA, Python(Jupyter Lab)…,可以快速、方便的建立不同且獨立的實驗環境。 開啟一個 Jupyter Container,同時也能用 shell & Vscode remote container 的方法開發。 * Jupyter Lab:從外部透過瀏覽器開啟 public_IP:port * ssh: 連進去主機後,再 docker exec 在 container 中執行 shell * Vscode remote container 主要的問題 Docker 和 VM 本質上的不同, Docker 每次都是基於…

AIS3 Pre-exam Write up

第一次參加 AIS3 pre-exam,應該也算第一次自己打 CTF。上學期修了資安實務,才終於開始打 CTF,之前在資安社的時候都只是在下面聽聽,沒有真的認真打過比賽。最終解了 10 題,排第45名(。◕∀◕。) 我主要都是解 Web 題(Web*3, Misc*3, Crypto*2, Reverse*1),再陸續把各個項目低分的題目解一解。大部分 1xx 分的都滿簡單的,可以一眼就差不多看出題目的思路,找相關的資料或是需要耐心慢慢看就能看出答案。經過資安實務的摧殘產生的心裡陰影,有時候會把題目想的太複雜,突然解出 Flag 還會覺得:「蛤?就這樣喔,我想太多惹」。 花很多時間的 震撼彈-ais3-官網疑遭駭,是一個很惡劣的題目,靠眼力(+細心?)就能找到一個怪怪的封包,找到之後竟然還只是一個簡單的 shell,我大概花了三四個小時在摸那包封包吧。 最後的時間都在解 XSS…

德國 TU Darmstadt 交換心得

結束了在德國半年的交換,很不巧的遇到了瘟疫,所以一切的計畫都變得很不一樣,不過也是一次很有趣的體驗。本文是交到教育部和國際事務處的報告,裡面包含了一些如何在德國生存、生活花費、疫情的處理。還有很多可以寫的之後再發文補充,因為要趕快畢業所以先把心得寫一寫 XD…

Notion和其他筆記工具的比較

在嘗試過很多不同的工具之後,Notion 雖然還有一些小缺點,在整體上還是很優秀的工具,也是用了 Notion 之後才萌生應該好好整理筆記的想法。…

我如何在Notion建立個人知識庫

上一篇文章討論了為什麼要建立個人的知識庫?這篇文章來記錄一下我怎麼實際使用 Notion 來建立我的個人知識庫,圍繞著:「蒐集 → 歸納 → 產出」的概念,一步一步累積。…

為什麼要建立個人的知識庫

在做了一些研究之後,我自己設計了一個在 Notion 上建立個人知識庫的流程,或許可以解決自己遇到的問題。 在人類進入資訊時代之後,取得資訊成本變的很低,每天從各種管道接觸到大量的碎片化資訊(懶人包、10 分鐘了解 XXX、一則文章、一部影片、考古題 ⋯⋯),這樣的知識即使知道了,也沒辦法拿來應用,這導致在學東西和思考上的盲點,漸漸沒辦法深入的思考和連結不同的資訊。 最近在反省大學四年在做些什麼,其實對自己學過的東西沒有什麼特別的印象,大多時間其實只需要靠著 Google 就能解決大部分的問題,對自己「真正」學到了什麼東西沒有什麼特別的印象。高中考學測的時候做過很多手寫的筆記,但後來也被丟在家裡很少拿出來翻。為什麼&如何建立一個可長可久的知識系統呢? 系列文 * 為什麼要建立個人的知識庫? * 我如何在 Notion 建立個人知識庫 * Notion 和其他筆記工具的比較 什麼是知識庫 對我來說,知識庫就是把腦中學過、看過的知識具象化成實際的、有結構的整理記錄(文字、心智圖、聲音、影像等等)。這之中包含著「搜集知識 → 消化…

How to Read a Paper

這學期開始進入正式課程之前,教授提供了一些關於「如何讀 Paper」的文章。對於一位剛要進入研究領域的學生來說,讀文獻是很重要的,用對方法可以節省很多心力,避免變成被論文海淹沒的菸酒生。…

Instagram 小帳分離

Instagram 可以在手機的介面上,新增一個帳號,這個帳號只能透過登入本帳之後,從個人頁面切換。這在手機裝置上都沒有問題,但是瀏覽器版本的 instagram 卻沒有提供切換帳號的功能,只能使用瀏覽器操作本帳——這對用電腦滑 IG 的工程師很不友善啊!…

實作前後端分離下的第三方登入

最近碰到一個情境是: * 前端:React.js SPA * 後端:Django Rest Framework(DRF) * 使用 Google 登入,讀取特定使用者的資料 在前後端分離的狀況下,沒辦法透過 Django 內建的 session,管理使用者的登入功能。雖然有很多 DRF 相關的登入套件,但經過幾天的踩雷之後,發現有些存在著一些問題,所以就自己簡單實作了一下 Google Login。 大致的流程 1. 前端提供按鈕,使用者按了之後,會跳出 Google 自己的登入視窗,登入之後會回傳一組 tokenID 2. 將這組 token 傳給後端 3. 後端做驗證此 token 正確性,建立或存取 User,產生一組 API token…

準備多益、托福的簡單記錄

記錄一下最近用很短的時間準備多益、托福的心得。 因為大四下沒什麼特別的計畫,學分也已經修夠了,所以打算就出國交換一下吧,預計希望能申請到歐洲的學校。以臺科的流程來說春季交換在前一年的八月就要送出申請了,七月初差不多是取得英文成績的最後機會,因為要算一下成績公布加上實體的成績單的寄送時間。 雖然在臺科出國交換只需要多益成績,不過會有少數的學校會要求托福或雅思成績(通常也是比較好的學校),本來只想要報名多益就好了,但我一些同學們揪團要一起考,所以就跟著大家報名了托福考試(本來是想準備雅思的,連考古題都準備了)。一次考試花費不菲,希望沒有浪費錢:) * 多益 1600 NTD * 托福 190 USD ~= 6000 NTD 我沒有補習,加上六月底期末考之後才開始讀,只有針對題型摸熟,沒有特別背單字或是文法,只用數年來東看西看的基礎就來考試,如果時間加長的話說不定可以準備得更充足。 基本資料 * 大三結束,資工系 * 學測英文: 13 / 15 * 基測英文: 78 / 80 * 高二考過全民英檢中高級初試(分數剛好壓線) * 高中之前有在補習班補英文 * 只有…

社群聊天機器人串接 Webhook+API

介紹一下 FB、Line、Telegram 等社群服務的聊天機器人是怎麼串接的。現今許多團體會在 FB 粉絲團、Line@ 等地方建立自己的聊天機器人,提供簡單問答、客服支援等等服務,或是像「留言 +1 小編私訊你超值懶人包」之類的行銷策略。…

短網址系統開發

自己在空閒的時間,用 Django 開發的一個短網址系統,可以支援自訂 FB 網址縮圖的功能。獨立的 app 可以很方便地整合進已存在的 Django 專案裡面。 以下是程式碼:source code 需要討論的問題 開發這個系統,實作上沒有很困難,但網路上似乎沒有比較完整的方法,所以就記錄一下開發的細節。有幾個需要思考的點: 1. 整體架構 2. 社群網站如何產生預覽? 3. 「短」網址如何產生? 4. 使用哪一種方法 redirect? (javascript or python / 301 or 302) 5. 如何記錄流量 第一版的功能 目前釋出的第一個版本,有幾個功能: 快速縮網址 用起來有點像 goo.gl 自訂短網址 可以自訂短網址的名稱,如:xxx.…

大學備審資料撰寫方向建議

有鑒於學測成績公布,莘莘學子也要進入推甄面試的階段。當年承蒙許多老師幫助,在學測申請時順利的錄取不錯的校系,自己也歸納了一些想法,有時也會突然有可愛的學弟妹跑來問問題,不如就直接寫成一篇文章吧!…