Category Archive for '學問'

Posted by Mr. Friday 延續之前的話題. Winny自2002年由金子勇發表之後, 立刻快速榮登日本第一大P2P分享軟體. 然而人紅是非多, 沒多久(2003年8月)就出現一種專針對Winny而來的病毒Antinny, 會偷偷把使用者的資料洩漏到winny上, 連續造成多起日本軍警機密資料外洩; 加上Winny上所分享的多以版權物為主, 嚴重侵犯著作權, 因此引起日本政府的高度重視. 2003年11月28日, 日本警方宣稱破解了Winny的匿名機制, 並逮捕了兩名使用者, 分別是41歲的Yoshihiro Inoue與19歲的少年. 咦, 看到這裡大家一定覺得很奇怪, Winny不是承襲了Freenet的匿名機制, 為什麼還會被警方給破解了呢?

Read Full Post »

Posted by Mr. Friday 上一篇提了Winny的運作原理, 現在讓我們來了解一下Winny這套軟體的緣起吧. Winny作者金子勇(Isamu Kaneko), 原是日本東京帝大(經網友雞屁更正: 東京大學)的資工所研究助理, 也曾在日本自動化能源研究機構(Japan Atomic Enerygy Reserch Institue)待過一陣子. 他最初在2ch是以匿名身分發表文章的. 由於2ch鄉民對匿名者都直接以文章編號稱呼之(有點類似Ptt上常講的五樓), 因此他的網路化名就變成47號. 在2002年Winny出現之前, 日本本地最流行的P2P軟體是WinMX. WinMX使用與Napster相當類似的網路架構(Opennap). 使用者先連到一個伺服器(日文術語叫”鯖”), 然後才能與在同一個鯖的使用者交換檔案. WinMX有一個特點, 就是每個人能控制要把檔案分享給誰, 因此如果你高興的話, 可以讓某個人插隊 : 讓他優先從你電腦上下載他要的檔案. 這個特性進而衍生出一種交換機制: 要下載時, 得先請問對方願不願意讓你下載, 而對方往往是先看幾眼你電腦裡有哪些東西, 如果有他感興趣的, 則兩方才會進行下載. 換言之, WinMX的運作方式就像是回到貨幣還沒出現的時代, 古早人所採取的”以物易物”. 為了搏取對方的好感, WinMX使用者常被教導要”懂禮貌”: 手上的檔案要多, 要先把自己手上的檔案整理得一清二楚, 讓對方看你檔案清單時能快速找到他要的東西, 說話要客氣, 網路連線速度要開高一點…等等. 雖然WinMX在2002當時在日本就已經相當流行, 但金子勇顯然對它相當反感. 他曾經說過, WinMX只能算是”交換”軟體, 而不能算是”分享”軟體. 因此在2002年中他獨立以c++程式語言, 撰寫了Winny這套軟體. 從名字就可以看出Winny跟WinMX的關係 : winny的”ny”正好就是”mx”的下一個字母, […]

Read Full Post »

Posted By Mr. Thursday 上回和各位分享了KNN演算法。不過在演算法的歸類上,我錯把KNN歸類成非監督式學習,英文稱為unsupervised learning。在這邊我重新定義監督式/非監督式學習:監督式學習是說,我們把資料給機器學習的時候,資料會有label,也就是說,每一個資料對應的正確答案,都會給機器看。機器學完以後,會產生一個模型 (model),也就是他學習完的成果,之後遇到新的資料,他就用學習出來的模型來判斷新的東西,輸出新東西該有的正確答案。用之前判斷大頭照是男生或女生的例子,每一張照片給機器學習的時候,除了照片本身,還會讓機器知道每張照片的正確答案 (男生還是女生)。之後機器用他學出來的模型 (model) 來判斷新的照片,接著輸出答案 (男生或女生)。

Read Full Post »

Posted by Mr. Friday 從BT, IP-TV系列之後, 好一陣子沒有回到P2P主題上了. 一方面是因為懶(這類的題目要做功課啊…), 另一方面則是對這次的主題感到相當惶恐. 惶恐? 因為這次我要講的P2P軟體主題, 是在台灣不甚流行(其實也只有日本流行)的Winny. 由於我自己親身接觸Winny的經驗少之又少, 對日文又不了解, 只能從一些相關的中文新聞與討論看到旁枝末節, 因此接下來的文章如果有明顯謬誤的話, 還請各位不吝指正. 日本所流行的P2P軟體與世界其他各地非常不一樣. 根據去年12月的報導, 排名第一的Winny大約每日有40萬人次, 再來據說是WinMX, 第三是Share, 約有10~15萬人次. 聽慣BT和eMule的朋友一定覺得很奇怪, 日本人幹什麼偏偏要特立獨行, 別人在用eMulel你們偏偏愛用自己寫的Winny呢? 其實說起來也沒這麼奇怪, 早期的P2P軟體(像是Napster啦, Audiogalaxy等等)是只支援英文的, 想找其他語言的可麻煩了. 還記得以前我在Napster上打”faye”(王菲英文名), 跑出來一堆”chi_ai_mo_sen_ran”(只愛陌生人)…. 在這種情況下, 想用自己語言的日本人只好自己寫囉, 這套軟體後來大家用慣了, 也就不想改用eMule了. 這就是本系列的主角: Winny. (台灣人也自己寫過中文的P2P啊! 別忘了ezPeer與Kuro這兩套軟體)

Read Full Post »

大腦一日遊

Posted By Mr. Thursday 在提到「探索人類的大腦」以及「神經元與動作電位」之後,本篇要和各位簡單介紹一下人類大腦的構造。之所以要認識我們的大腦,出發點是在於人工智慧想要在機器上實現人類的智力。最早的方法,就是人類利用「反省思考」的能力,來發現自己。然而這個方法有時候會有些問題,舉例來說:小時後我們也許想要觀察,我們是怎樣子睡著的?我們怎樣子從清醒、變成睡眠狀態?結果隔天醒來,發現自己又沒有看到睡著的那一剎那了。因此,現在有各種觀察儀器出爐,像是磁核共振、電極錄下神經的電位變化、以及基因工程等方法。今天就重點介紹大腦一些重要的區域,並提供相關的圖片和影片,讓各位可以對我們的大腦,有個基本的印象了!下面是人類的大腦的示意圖:

Read Full Post »

KNN演算法

Posted By Mr. Thursday  各位看到標題,如果沒有聽過KNN演算法,會不會覺得疑惑:KNN是甚麼呢?是不是CNN看久了,就變成DNN、ENN、最後變成KNN了呢?當然不是啦 XD!KNN全名是k-th nearest neighbor,中文意思是「第k位最接近的鄰居」。甚麼是「第k位最接近的鄰居」呢?假設在一個廣場上,有100個朋友,每位朋友都是你的鄰居,最接近你的鄰居,就是「第一位距離最近的鄰居」了,比第一位稍微遠一點的鄰居,就是「第二位距離最近的鄰居」了,以此類推,第10位距離最近的鄰居,就是k=10的時候了。 至於KNN演算法是甚麼,又有甚麼特別呢?之前提過了「人工智慧與機器學習」。KNN演算法就是一種機器學習的演算法。在進一步探討甚麼是KNN演算法之前,我們先介紹一下甚麼是演算法。演算法可以看成是一種「步驟」的集合。舉例來說:我們煮一道菜,第一步是先洗菜,第二步切菜,第三步放油,第四步快炒,第五步加點水悶幾分鐘,第六步再炒幾分鐘,最後第七步加鹽和味精,然後炒到菜煮熟為止。演算法就是這樣子,把工作分成詳細的步驟,有些步驟可能會重複執行,像是菜不夠鹹,就再加點鹽,一直到口味對了為止。有時候會依照情況的不同而有不同的步驟,像是過馬路的時候,如果是紅燈,我們重複「等待」的步驟,如果是綠燈,我們會進行「走路過斑馬線」的步驟。

Read Full Post »

Posted By Mr. Thursday  上次「神經元與動作電位」文章裡面可能專有名詞多了一些,讓各位不是很容易就能吸收,因此我在這邊嚐試著用比較淺顯易懂的比喻方式,解說一下甚麼是動作電位了! 首先我們可以想像我們每個人是一個神經元,我們從別的人身上面讀取訊號,然後也會把自己的訊號傳給別人。我們長長的手臂,就像是神經元的「軸突」一樣,負責把訊號從自己身上傳出去。我們的頭髮有點像是「樹突」,像一根根的樹枝一樣,負責接收別人傳來的訊息。神經元之間聯繫的方式,是軸突搭在另一個神經元的細胞表面,或是搭在樹突上面,就有如我們的手放在別人的頭髮裡面,準備把訊息傳給別人,別人再用頭髮接收訊息。

Read Full Post »