owned this note
owned this note
Published
Linked with GitHub
---
title: SITCON 2019 R0 共筆
tags: SITCON 2019 共筆, SITCON 2019, R0, 2019, 共筆
GA: UA-34467841-15
---
# SITCON 2019 R0 共筆
:::info
- SITCON 2019 議程表:https://sitcon.org/2019/agenda
- 其他演講廳共筆:
- R0: https://hackmd.io/FOG2p2x1RIiZTr_Bpb_RYQ
- R1: https://hackmd.io/P-oMfddFSuWbEeFX1WfIVg
- R3: https://hackmd.io/3enaH38DRbqo9GHz_YJuzQ
:::
## 人工智慧的過去現在與未來
主講者:林守德
Sli.do 連結:https://sitcon.org/2019/slido/
### 早期 AI: 一個 AI 各自表述 (邏輯推理)
- AI = 形式推理 formal reasoning
- AI = 與人類的對話 (Turing test)
- 圖靈測試-測試某機器是否能表現出與人等價或無法區分的智能
- 質疑:對話是否是智慧唯一表現?
- 對話需要深度的理解(相較於辨識)
* AI = 目標搜尋演算法
- 質疑:太多問題搜尋空間太大,且訊息不一定完全揭露
- https://qiao.github.io/PathFinding.js/visual
- AI = 擅長遊戲的電腦
- 遊戲(如棋類)是測試AI最好的平台!
- 遊戲規則容易系統化
- 遊戲環境與變數有限
- 遊戲可以重複玩
- 質疑:遊戲太簡化,而人生不能重來
- 完全訊息的遊戲(西洋棋、圍棋)
- 部分資訊的遊戲(德州撲克、星海)
### AI 第二個起落 (專家系統)
- AI = 連結 & 網路
- WWW, Semantic Network, ANN(類神經網路)
- 沃倫麥卡洛克、唐納德赫
- AI = 專家系統
- 適用於知識密集型的任務(e.g.醫師,司法官)
- 專家系統 = 知識庫 + 推理機
- 知識表達最常用 if .. then .. 的規則
- 80年代紅於一時,90年代後沒落
- programming language
- [prolog](https://en.wikipedia.org/wiki/Prolog)
- 邏輯編程語言,大量用於人工智慧的研究
- 孫子(X,Y):-爸爸(X,Y), AND 爸爸(Y,X).
- 缺點:邏輯與資料與時遽增,若無法普遍化問題,則功能極受侷限
- 人工智慧的層次
- 弱人工智慧(Weak AI):在某特定項目上可以表現得像是有智慧
- 泛人工智慧 (Artificial General Intelligence, AGI):外在所有行為就像是一個能夠回答問題的人類
- 強人工智慧 (Strong AI):幾乎就跟真正的人類一樣
- 90年代後AI學者開始擁抱弱人工智慧
- Chinese Room Argument
- 只要能解決問題即可
- 人工智慧是否要類比人工智慧?
- 人工智慧是指像人類一樣聰明的電腦?
- 跟人類一樣笨的電腦算不算人工智慧
- 人工智慧 == 電腦做出有「智慧的行為」 != 電腦做出跟人一樣的行為?
### A variety of ML Scenarios
- Supervised learning(監督式學習)
- 最廣泛使用
- 給很多input跟output,讓機器學到其之間的關係
- classification & regression
- multi-label learning
- A classification task in that an instance is..(求補QQ)
- Ex. Multimedia tagging
- Cost-sensitive Learning
- A classification task with non-uniform cost for different types of classification error
- Goal: To predict the class C* that minimizes the expected cost rather than the misclassification rate
- Example:
- Fraud detection
- Medical diagnosis
- Ex. 信用卡盜刷,沒抓到可能丟失很多錢,反之則可能沒那麼嚴重。
- Ex. 診斷癌症病情,若患症病人沒有被成功診斷出來會造成較嚴重的後果,反之若正常人被誤判為患病造成的後果嚴重性較小。
- input : data output : result(whether)
- Two kinds of outputs an ML system generates
- Categorical: calssification (E1 & E2)
- Ordinal outputs: small, medium, large
- Non-ordinal outputs: blue, green, orange
- Real values: regression problem (E3)
- Classification
- A classifier can be linear or non-linear
- Famous models:
- k-Nearest Neighbors (kNN)
- Decision Tree (DT)
- Suport Vector Machine (SVM)
- Neural Network (NN)
- Semi-supervised learning
- 解決資料不夠的問題
- Active learning
- Unsupervised Learning
- Clustering
- k-Means, EM, Hierarchical classification
- Machine Learning Scenarios
-
- Reinforcement Learning(強化式學習)
- RL is a "decision making sequence"
- decision making process
- It's goal is to find an optimal policy
- AlphaGo: SL(Supervised Learning) + RL(Reinforcement Learning)
- 1st Stage:SL
- Data: 棋譜(學習其他棋手的下法)
- 2nd Stage: RL
- Data: palying w/ 1st stage(自己與自己對弈,進而強化自身的能力)
- Variation
- Traditional ML vs Deep Learning
- traditional ML requires human to choose relevant **features** to represent object
- Good features bring you to heaven
- Deep learning prvides a smarter way to present data, that model features from different aspect
- 顏色、形狀、大小...
- 機器學習最擅長解選擇及是非題
- 是非題:兩個選項選一個
- 選擇題:多個選項選一個
- Sequence-to-Sequence Model
- A model that take a seq as input and output seq
- We will focus on deep learning \<something>
- 解決比較不是是非題或是選擇題的情況
- Ex. [小冰寫詩](https://poem.msxiaobing.com/):以圖生詩
- 關鍵字抽取→關鍵字過濾&關鍵字擴張→重新生成(遞迴生成+通順評分)
- Ex. [藏頭詩生成器](https://poem.cschen.io/poems)
- 小冰寫詩怎麼做的?
- RNN 語言模型 (Language Model)
- 自動評價
- 給寫出來的每句詩給予評價 : 流暢度、原創性
- 缺點:(IF input Wind10 desktop)
- 慣用用詞:沙灘,靈魂
- 不能控制多變化:關鍵字生成
- 特定關鍵字生成困難:電腦
(只能透過關鍵字擴張來修正)
- 圖片辨識錯誤(水→藍色)
- 圖片較難辨識出「動作」
- Win10桌布 -> 「你看這水有何意義」(?)
- 新進字詞無法被正確辨識。Ex. 太空梭(當時還沒有太空梭,字詞的含意有可能被辨識錯誤:太空梭子)
| | 人類寫詩 | 小冰寫詩 |
|:-:|:-:|:-:|
|動機| 抒發情感,參加比賽,交作業,沒理由就是想寫|人類按下執行|
|意識到在寫詩| Y | N |
|了解什麼是詩| Y | N |
|機率計算| N | Y |
|深度|可深可淺 |較淺 |
- 結論與預測
- 純粹機器學習的方法也許無法到達AGI
- 結合其他的AI技術(例如知識導向)也許是可行的方式
- 意識與心靈很難短時間達成
- 人類決策模式的轉變結合→更信任AI
- AI 將有機會與人一起獲得諾貝爾獎
- 距離安全、透明、有倫理觀念、能與人類協作的「強人工智慧」仍有一段很長的距離要走
## 商管、演算法、商管
演講者:孔令傑
> 欸我這樣看起來比本人帥wヽ(●´ε`●)ノ
> 資管 : 資工的覺得你不是資工,管理的人覺得你不是管理
> 挖這什麼靈異現象www Σ(*゚д゚ノ)ノ
> 就跟這房間的wifi一樣,大家都上不去
> 不連手機怎麼上網啦!!!
- 幾個演算法的商管應用
>>第一個例子:自動化的(競爭標價)系統
>要價兩百美金的書
>每一次的價格都是對手的的 99.8%(Profnath)或 127%(Bordeebook)(雙方顯然都是在利用對手的價格來設定自己的價格。)
>Profnath想要把書賣出去,所以他們固定把書訂價在最低競爭對手的99.83%
>Bordeebook 將價錢訂在最低標價競爭對手的1.27倍?
>原因是因為Bordeebook 根本沒有這本書,他們只是想要把自己加到這個列表,打廣告順便增加知名度,所以故意把書賣得很貴,以確保你不會買(希望消費者注意,大家都看得到,但是不會有人真的去買的價格)
>>第二個例子:
-套利(arbitrage)
A、B、C 三種商品,假設手上有1000元
無套利條件:「當大家都一窩蜂的買C,然後賣A、B,原本被低估的C就會越來越難買到,供需法則會讓C最後和A、B相同。
-高頻交易:人們無法利用,極為短暫的市場變化尋求獲利的自動化交易
-新聞交易:許多公司動態都可以從各種線上資訊來源被獲取,如Bloomberg、新聞網站、Twitter等,自動交易系統試圖便是公司名稱、各種關鍵字,甚至進行語意分析,以求在關鍵時刻可以獲得最高的利益(wikipedia)
如果你總是能抓住那稍縱即逝的機會
- Ex:工作分配
- 工廠老闆想知道如何分配工作:工廠互相比較產量,品質等等,產能有限,如何公平分配
- 中國電信:行動支付商業模式
- 案例:工作分配演算法
- 管理問題v.s工程問題
- Ex. 要價兩百萬美金的書
- The Making of a Fly: The Genetics of Animal Design by Peter Lawrence
| profnath | bordeebook | profnath over previous bordeebook | bordeebook over profnath
|-|-|-|-|
| bla | bla | 0.9938 | 1.27 |
- 自動化的競爭標價系統
- Profnath: 定價為最低價競爭對手的 99.83%
- Bordeebook 為何要把書定在最低標價競爭對手的 1.27 倍?
- Bordeebook 根本沒這本書,只是想要把自己的名字加進列表,順便增加知名度,所以故意賣得很貴,以確保你不會買
- 標在要高不高要低不低有人看到但沒人會買的價格
> 如果你也想買我也想買他也想買結果會怎樣? ...就像這個房間的 WIFI 一樣,大家都上不去 QQ
- 套利 (arbitrage)
- 白經濟 http://talkecon.com/asset_pricing_arbitrage/
- 無條件套利與高頻交易
- 無條件套利條件:「當大家一窩封地買 C 然後賣 A 和 B,原本被低估的 C 就會越難買的到,供需法則讓 C 的價格上漲,最後回到一個合理的均衡價格:在我們的例子裡就是 A 和 B 價格的平均。因此,套裡雖然美好,但套利的機會總是稍縱即逝。 」
- 如果你總是能抓住那稍縱即逝的機會呢?
- 高頻交易
- 是指從那些人們無法利用的、極為短暫的市場變化中尋求獲利的自動化程序交易,比如某種證券買入價和賣出價差價的微小變化,或者某隻股票在不同交易所之間的微小价差。
- 新聞交易
- 許多公司動態都可以從各種數字渠道被獲取,如彭博社、新聞網站、推特等。自動交易系統通過識別公司名、各種關鍵字,甚至是進行語義分析,以求在人類交易員之前對這些消息做出反應。
- 決策支援: 航空公司人員排班
- 本國籍航空約 1000 名地勤人員在桃機服務
- 櫃台、登機
- 督導、Agent
- 華航、外航
- 兩個航廈
- 如何決定 1000 名人員的次班表
- 如何決定當班的 700 名人員的次日般表
- 決策支援: 高雄港
- 資源: 水道、拖船、領港
- 議題:
- 現況的壅塞是缺少哪個資源(瓶頸分析)
- 如何良好地調配資源以減少壅塞
- 貨出不去人進不來…就沒辦法發大財啦www
- 有限的資源做有效的安排 -> 作業研究
- 只能依靠**演算法**
- 用演算法解決商管(決策)問題的四個步驟
```flow
st=>start: 定義問題
op1=>operation: 建構模型
op2=>operation: 寫演算法
e=>end: 執行方案
st(right)->op1(right)->op2(right)->e
```
>每個月到月底的時候,都會有爭執,因為每個工作都會有工作量、工作、產能都有限,所以會想要如何處理公平性的問題,剛剛也有提到高雄港引水人(船舶進出工作分配)、按摩店(按摩工作分配)、大誌文化(社會企業)
- 工作分配
- 工廠老闆想知道如何分配工作
- 每個人都想賺更多錢
- 每一訂單都須花若干時間
- 訂單時間 CP 值不同
- 工廠產能有限
- 如何公平地分配
- 抽象化、件模型
- 公平性議題非常普遍
- 引水人
- 船舶進出工作分配
- 按摩店
- 按摩工作分配
- 大誌文化
- 社會企業
- 讓每個員工賺到足夠生活的錢
- 重點在於讓大家覺得公平
- 工作分配(問題建模)
- 工作是珍貴的資源
- 我們試著將工作分配給人
- 考慮整體營利和公平性
- 人的能量有限(只要有足夠能量,就願意做更多的工作)
- 一件工作通常不能被拆給多個人做
- 讓我們來最大化「賺最少的人的錢」
- 最不爽的人不要太不爽,最不幸的人不要太不幸
Model-Setting and Assumptions
- $I$: the set of $m$ agents
- $J$: the set of $n$ jobs
- $K$: the capacity of agent $i$
- $c_j$: the workload of job $j$
- $b_j$ the revenue of job $j$
$$
x_{ij} =
\begin{cases}
\text{1, if job j is assigned to agent i} \\
\text{0, otherwise }
\end{cases}
i \in I, j \in J
$$
$$
\max \min\{\sum b_j x_{ij}\} \\
s.t. \text{constrains ...}
$$
- 工作一個人做
- 低於最大工時
> 應當要有模型,才開始設計演算法
- 來個簡單的演算法吧!
* 實用的演算法是需要夠簡單的
* 演算法要能被解釋(如果互相講不清楚了話會很麻煩)
* 提出 LPT (最長時間優先) 的 CHBF 演算法 (Capacitated Highest Benefit First)
1. 根據收益對所有工作由大到小排序
2. 將一個工作分配給**當前具有最低累積收益**且工時上限未滿的人(如果上限已滿嘗試次滴累積收益者,以此類推)
3. 重複工作 2 直到所有工作都被嘗試分配過
> 演算法要夠簡單,能夠被解釋的。必要的。
> 演算法要實用,夠簡單是必要條件
- EX.解釋自動車出事時為什麼會直接撞上去,而沒有停下來
- EX.解釋開藥無效時,為什麼機器會這樣開藥單
效能檢驗
* 這演算法行嗎?
* 假設 $收益=f(工時)$
- 管理意涵:演算法到底誰可以用誰不能用?(公司很care但是工程師比較不care的東西)工時是橫軸工作是縱軸
- 累進費率:CHBF很適合(EX.UBike第一小時10元、第二小時20元...)
- 數量折扣:CHBF不適合(EX.按摩一個小時1200元,兩個小時2000元)
>工作量不一定成正比但是要成正變
>也就是投入越多,理應回饋越多
| $f$ 的形狀 | $\frac{ \text{CHBF 的公平性}}{\text{最公平的公平性}}$ | $\frac{\text{CHBF 的總效率}}{ \text{最有效率的效率}}$|
| -------- | -------- | -------- |
| Random (EX : 正比) | 0.947 | 0.992 |
| Linear | 0.979 | 9.990 |
| Convex | 0.976 | 0.988 |
| Concave | 0.918 | 0.9336 |
> 我演講幾百次沒看過會自己跳的,可能他很想趕快結束吧XD
> 需要告訴想要用演算法的人,解釋其適用性,怎麼樣的情況可以用,怎麼樣的情況不能使用。
* 我們希望可以使用演算法來處理問題:
* 到底是因為有些問題太複雜?
* 還是因為我們==只會演算法==?
* 不要每次問題來都需要寫 一個新的演算法*
- 我們把管理問題模式化成工程問題(nodeling, formulation)
- 線性規劃,非線性規劃,整數規劃,分類,預測,搜尋...
- 我們是否忽略了**管理層面**的需求
- 我們在處理重要的問題,還是在處理我們會處理的問題
- 我們的解法是否帶有**管理意涵**
- 用演算法處理工程問題與管理問題的差別
- 不要忽視管理方面的需求,而硬要用演算法
> - 問題可能不在於管理方面的情況,例如提升登機旅客online check-in 的比率,來降低人工處理的成本
> 東西拿來就想用演算法弄他,搞不好老闆只是要一個最簡單的方法來處理
- 建議
- 確認最關鍵的是哪個步驟
- 我們在處理的是工程問題,還是管理問題
- 帶著對演算法的理解,與管理者一起定義問題,執行方案
- 不要瞧不起管理人,更不要覺得他們笨
- 他們可能只是比工程師更務實
> 欸,寫個演算法把我們明年的營業額提升 25% (?
> 最重要的是第三行
> 不要因為自己比較會寫程式就覺得老闆是廢物,老闆常常是廢物、也常常不是除了工程師,其他人都是廢物(?
> 工程師不要只關心工程問題,要關心公司的經營管理問題
> 演算法只是公司經營的某一個面向,不是全部
定義問題
建構模型
寫演算法
執行方案
```flow
st=>start: 定義問題
op1=>operation: 建構模型
op2=>operation: 寫演算法
e=>end: 執行方案
st(right)->op1(right)->op2(right)->e
```
- Q&A
- 公平性:各項指標
- Ex.餐廳:加班時數、週末上班、休假調動
- 有人比較care周末加班的次數,有人比較care平常日加班的次數
- 求不出最佳解,求可行解
- 資工 & 資管
- 資工 - 資訊解決工程問題
- 資管 - 資訊解決管理問題
## 欸,那個 QuerySelector 實際上在幹嘛啊
- [台科大~~廢文~~資安社](https://www.facebook.com/ntust.hacking/)
- 有這個東西存在
- DOM tree
- 工程師的樹都是倒著長的
- linked list(若childnode只能有一個 A-B-C)
- 尋找想要的元素`DFS搜尋`
```javascript=
// 從下面那行 console... 才開始 DFS
const cats = document.getElementsByClassName("cat");
console.log(cats[0]); // 有存 cache 所以不會hen慢
// 第6行就已完成DFS search
const cats = document.querySelectorAll(".cat");
console.log(cats[0]);
```
- 聽說用`getElementbyId()`比較快,為什麼?
- 在最開始讀 html 時會把 id hash,然後存進相對的盒子(?
#### Hash table
- 把一串資料壓成固定大小的資料
- Hash 之後的結果代表原本資料的digest
- 不同的 hash 代表不同的輸入資料 `ex. md5`
- 有可能有兩個 data 的 hash 值相同(碰撞),可以利用linked list或者特殊演算法來處理data collision
#### 總結
- Tree
- DFS (深度優先搜尋)
- Hash Table
#### Q&A
- getElementsByClassName: 不會搜尋整個tree, 先紀錄要可能要做的事情,真的要存取時才特別DFS下去找Node
## 你決定的演算法與決定你的演算法
#### intro:
- 主持人:ipa(瞿筱葳)
- g0v 零時政府共同發起人
- 與談人:Tim(徐千洋)
- 駭客年會(HITCON)的創辦人
- 與談人:顏厥安教授
- 法理學/法哲學
【演算法社會之人文社會反思】
- 引言
> *法律也是一種 code*
> *道德可以 code 出來嗎*
> *你媽知道你的演算法會改變人的一生嗎?*
- 顏老師:
- 2001年太空漫遊的啟發
> 在電影中會一直出現黑色巨大的石碑,但是一直沒有一直講石碑的意思,我認為其解讀是心靈的方式。
- Tim:
- 因為對區塊鏈的安全很有興趣,無論是 IoT 還是 Blockchain 都跟資訊安全都很有關係。
軟體以發展到跟生活息息相關,資安跟生活也息相關
- 道德面的問題
#### 你決定的演算法。
- 因為目前的演算法是會我們可以理解的嗎?如果要開箱的話,人應該要怎麼面對。中間的文化素養應該要放在哪邊?
- Google ML 黑猩猩事件
- 將非裔民眾辨識為黑猩猩
- 解決方案:Ban 敏感字 ~~習包子~~
- 顏老師:
很難按照既定規劃順利進行
像是今天的演講,自我介紹的方式可能會不同,我們希望可以透過某些方式來控制我們的生活。control
- 銀翼殺手的哲學含意
- 原版小說:Does Andriods Dream of Elecric Sheep?
- 記憶、情感與身份認同 與 AI
- AI 和人造人是否可以有自己的身分認同。
#### 幾個初步的思考與命題
- 黑箱
- AI 的研究是不是行為科學的研究
- 人文主義的弔詭:倫理學
#### 大數據與個人資料保護
- 歐盟的 GDPR(General Data Protection Regulation):具體同意、被遺忘權 -- 今天無法談
- 基本出發點:所有的個資,都「永遠」屬於「個人」所有
- 資料庫:保管、保護之「責任」,非使用之「權利」
- 「我告訴你一個秘密,你千萬不要跟別人講喔」
#### 個人資料保護之風險
- 可能的原因
- 當事人不清楚;不知道(被蒐集、被洩漏
- 當事人不在乎
- Setec Astronomy
- 當事人無可奈何:被強制,或者...
- Too many secrects
- 如果你要使用...,就要告訴我...
- 但是,再複習一次...
- 我告訴你一個秘密,你千萬不要跟別人講喔!
- 可使用範圍:「**目的拘束**」原則
- 所有的資訊都不是意義中立(Neutral)/孤立
- 例子:有些美國在管台灣的簽證,所以有很多人在宗教的部分,填無宗教,卻被對方認為是共產黨(無神論者)
.g.
- 例子:單身 == Gay ?
:::danger
:warning: **取得個資者,有保管、保護之義務,沒有任意使用的權利**
:::
- Tim:
* 蒐集資料這一塊,身為一個hacker,其實蒐集資料就很像吸食毒品依樣,做了一次就回不去了。蒐集資料這樣的事情,其實是跟法律牴觸的行為。歐盟 GDPR 標準及要求,較台灣嚴格
- 台灣:有授權,就可以使用。
- 實務上,各界仍不斷收集個資
- 為什麼不需要座標、電話號碼,公司仍繼續收集?
- 跟業務可能無關 -> 留待未來使用
> 資料收集這一塊,回到工程師的身上,有時候是被長官要求,需要蒐集而非自己喜歡蒐集(有些人可能會有想要窺看個人資料的好奇心)。所以宣導如何不去窺看個人資料,會跟人的本性有矛盾。
法律的部分會有恫嚇的效果。
### Q&A
- Q:如果他想要用演算法解決演算法的缺漏,那它需要什麼樣的思維?
- A(Tim):
- 技術層面:更安全的演算法或程式,從技術上並非沒有辦法
- 從技術上達成更高的安全性,Ex:Functional Programming
<!-- - 演算法做出更安全的演算法是有機會的 -->
- Alpha Go 缺陷
- 演算法可能產出好的功能,但也可能做出愚蠢的行為
- 認為用演算法創造出更安全的演算法是**可行**的
- A(顏):
- AI 作為一種 行為科學
- 很希望寫演算法的時候跟人文社會科學有交流,不要完全的跟其他學科切割
- EX: 法律的AI可能要判斷一個行為是侵入或強盜,如同看見人們搶劫(一般意義上),應該是搶劫(法律意義)或恐嚇取財
- 重申**資訊技術的意義不單純是孤立/中立的**
- 期望在做開發期間,仍保有社會人文的思維
- 社會政策在將來透過某種演算法也許可以尋得更好的解法
- 發覺地點、時間等其他沒有被發現的線索,使我們有機會更深入地看見社會事件的各個面向
<!-- - 所有思維都有邏輯在裏面
- 去檢查本來要去 Fix 的東西 -->
- Q:開發演算法的道德底線?
- A:顏老師
- ~~*道德沒有什麼底線ww*~~
- 可以自身和旁人對該事件的感受去揣測個資的敏感性
- 有些人可能對香港腳、飲酒的習慣被透漏感到不適,但有些人卻覺得沒關係
- 是不是去連結化就可以?
- 總之多問會安全一點,避免踩雷
- 例子:若是開放健保資料,資料上顯示原住民有每天喝酒的習慣,在不知道喝酒的實際情況(可能是為了健康每天喝點紅酒),將原住民飲酒習慣連結至「原住民就是愛喝酒」是否不太恰當?
#### 工程師的道德良知
##### Tim:
- 道德是個難處理的問題
- 舉例
> 1990年 愛國者飛彈的時間延遲,每100個小時會有一個雷達搜索的誤差,建議要100個小時要重開機
有飛毛腿飛彈打過來的時候,愛國者飛彈沒有辦法升空攔截,這是軟體和硬體的差異造成的。
(千禧年 2038問題類似?)ㄛ
- 你很難怪罪軟體or硬體工程師,因為當初就是沒想到會發生這種問題
- 舉例2
- 某電信公司內部的 Single Sign-On 登入系統 忘記密碼 漏洞
- payload
- 輸入 target Email
- 傳統:連到特定頁面,輸入 mail 重設密碼
- 直覺猜測 URL 參數為 Unix time Base64 encode
- 猜測 Unixtime 就可重設任何人的密碼 儘管對方會收到 email(填入 email)
- 造成資安問題原因
- 開發的工程師認為 base64 是 encrypt
- 認知工程師的素養價值重要性
:::success
- 不正確操作使用程式/演算法,可能造成危害自己可能完全不自知。
很多開發者並不知道自己的程式會造成什麼(資安)問題,這是我們工程師可以再向上提升的地方。
:::
- WannaCrypt
- 支付比特幣以解鎖檔案
- 不少勒索軟體作者不熟悉加密原理,導致加密後有機會還原
- 網路上的資源
- 不瞭解應用上所需加密方式、原理,導致軟體發生問題
- 以為安全,卻不安全
- 當工程師的 quality 不足的時候,他以為是安全、可行的方案卻是有缺陷、對他人造成危害的。
##### 個資的開發者責任:
- 顏老師:
- Facebook 透過合作應用程式開發者間接獲得個資
- 類比:
- 如果你是大樓警衛,竊賊偽裝成內部人員,刑法上警衛無刑事責任(被視為犯罪工具)
- 一無所知
- 你明知他要偷東西,仍放他進去。儘管警衛並未從中獲利,仍被法律視為幫助犯(竊賊是正犯),有無刑事責任?
- 無所謂?
- 無共謀,仍可成立
- 在此類比之下,程式開發者之於其程式漏洞造成的責任問題,究竟該如何定義、理解與面對
#### AI
:::info
下棋的不是 Alpha GO ,只是執行演算法 <????> (待補><)
:::
- 下棋軟體並沒有下棋,對方也沒有跟他下棋
- 程式不知道自己在下棋,只是在反應
- 不曉得在「玩」人類的遊戲
- 他們鑲嵌在人與人之間的活動當中,卻偽裝成「像是」人一樣
- 知道 AI /程式執行的活動的意義的真人,和不知道自身活動意義的AI/程式之間的關係是什麼?
- 人授權演算法執行、跑出結果,人決定以它的結果作為決定
- 電腦只是執行,而人來做決定。那人的責任如何定位?
- 電腦執行動作,而人類將其詮釋和意義投射在這些動作之上
#### Q&A
- Q: 各校公開的編班資料,做出一套資料查詢系統,並連結到個人臉書之類,這樣違法嗎?(例如:出入學號,查詢姓名及FB)
- Q: 若我蒐集了這些未特別標記使用權利的資料 如文章、留言甚至是Profile 可以用做哪個程度的利用,單純資料分析、學術研究甚至是商業行為?
- A(Tim):
- 程式設計開發的東西一般是中性的
蒐集資料做了之後就會順便蒐集其他
- A(顏):
- 法律人的道德標準是比較低的,因為要面對真實的人性其實千瘡百孔,多數人並不高尚
- :warning: 警戒**過於高尚的目標**
- 避免濫用
- 講了之後壓迫所有的一切
- 例如:為了學術研究,尤其在個資領域是否套上為了學術研究就不用管其他東西了?
- :warning: 警戒因**他人能力較弱就不在意他的意見,而擅自為他做決定**
- 發言與對自己的影響
:::danger
:warning:如果你在用一個免費的服務,那免費的可能是你自己。
:::
#### Q&A
- Q:政府蒐集並使用個資可能侵害人權,但也可能對國家有利,娜以國家為名的運用個資的道德底線在哪裡?政府與人民在此之中的關係為何?
- A(顏老師):
- 理論上國家是人民組成
- 實際上政府是少數人控制
- 以「國家之名」做事,可能是少數人服務自身利益的藉口
- 通常對國家沒有那麼重要
- ~~Gmail > NTU mail~~
- 小心語句 :warning:"為了國家,有甚麼關係"
- 在國家之名面前,仍要警戒其界限
- 以國家之名蒐集資料,不一定是對國家有利,反而可能是對**少數人**有利。
- 政府監聽以國家安全為理由
- 給予隱私或加密予民眾時,造成情資蒐集困難 // 這句超奇怪 原本是說啥
- A(Tim):
- 強權國家情資蒐集
- Gmail:美國政府曾得知通訊內容,因為跨國內部備份光纖遭政府監控
- 你想你是政府,知道所有網路會通過這條光纖,你會不想監控嗎?
- SSL亦可被一定程度探知
- 一般民眾很難抵抗國家力量,但上網google可以找到一些機制跟工具來保護自己,降低風險
#### Q&A
- Q:如果發現資訊系統漏洞,並向該單位提供相關證明提醒他們補該漏洞,卻被他們怪罪自己利用該漏洞做壞事!?這種情況該如何自保?
- A(ipa): HITCON有架設平台,可以聯繫他們
- 此處應是指 [HITCON ZeroDay](https://zeroday.hitcon.org/)(補充)
- Q:那如果我設計了美少女AI,並且教會她怎麼去進行「愛人」的行為 就結論而言是沒有人愛我,還是我很愛我? author - 甚麼時候才能跟絆愛結婚
- A(顏老師):
- 其實法律裡沒有愛,愛在法律裡不重要,這點也在同性婚姻的討論中出現過
- ~~法律人不太需要愛~~
- ~~所以我說美少女跟愛有啥關係? 沒有嘛~~
- A(Tim):
- 當你談戀愛的時候才不會寫這種程式
- 但你根本沒愛過,自然也不會開發愛人的程式~~SO SAD~~
- ㄏ 笑你單身 這是死循環呢w
- 詳細請讀 停機問題(?
- 謝謝。
- A ( ipa ):
- 虛擬情人(雲端情人)(Movie)
## 零基礎打造 P 站搜尋引擎
講者:松鼠🐿
### Elasticsearch
- 一套完整且開源的搜尋引擎軟體
- 開發團段成立的Elastic公司繼續維護和提供其他付費服務
* 分散式系統
* 基於[Lucene](http://lucene.apache.org/)
### 其他搜尋引擎
* Solar
* 使用主從系統
* 也是基於Lucene
* Sphinx
* codebase裡還存在
- 資料量很小的話,用什麼都可以
- ES最近發展速度很快
### Elasticsearch 資料結構
- Index - 相當於
### phrase_match
- 總監
- **總**召要OOOO**監**督組(X)
- OOO**總監**(O)
### 一切都關乎效能
- early termination
- 這個設定無法動態變更
- shard number
- 尋找剛剛好的數量,太大太小都不好
- routing
- 很厲害,副作用是不好管理
- range query over datetime
- 在用時間對資料進行分類的時候很好用
### 開飛機換引擎--善用Index alias
- Index 的別名
- 達成讀寫分離
### 所以我怎麼作
1. 在 index 名稱中加入年份
2. 將某個 index alias 指向所有 indices
### 結果
- 方便性
- 回應時間短
### 參考資料
- Elasticsearch Performance Tuning Practice at eBay
### Q&A
## 你所不知道的維基 - Wikidata
### 關於講者
* LIT 李梅樹紀念館技術組
* 館聯專案
* [Wikidata Taiwan](https://www.facebook.com/WikidataTW/)
### Wikimedia
* 很多很多的姊妹計畫,Wikidata是其中一項
* [Wikimedia Commons](https://commons.wikimedia.org/wiki/Main_Page)
- 點進維基百科的其中一個條目,點其他語言會跳到Wikidata上(這只是Wikidata的其中一個小功能)
### 特色
* 人人可編輯的知識庫
* 適合給**機器**看的維基百科
* 維基百科的資料要處理自然語言,很不方便
* 做成類JSON就好了
* 結構化
* 連結(Linked)
- 點進去一個條目後會有這個條目相關的性質連結,將這些條目串連在一起
- 連成Graph,可進行算法、搜尋等
### 如何取用
* 完整 Dump
* [Wikibase API]()
* [SPARQL Query](https://query.wikidata.org/)
- EX. 點進一個Query就能查詢Wikidata上的"貓"的圖片
### Wikidata 跟其他專案相比有什麼特別的地方
- 多語言(跨語言資料庫)
- 開放且CC0授權(到處都可以使用)
- 人人可編輯
### 一份擴充中的Wikidata筆記
- [連結](https://demo.codimd.org/NkC5XZkqSSKYdt58IdpOZg)
## AI for the Art in a Box
講者: [張嘉哲](https://chang810249.github.io/)
- How about AI in Art?
- Generative Adversarial Network(GAN,不是唸幹)
- 想像有壞人跟警察
- 警察:想辦法認出壞人
- 壞人:想辦法騙過警察
>經過層層的訓練,其實壞人可以生出以假亂真的照片,警察可以做出非常厲害的判斷,目前都是拿壞人的軟體來用,生成照片
生出2D萌妹
Q.AI是否可以越來越像人?
AI also can Generate Patch Images or Panaorama Images (用拼的可以拼出360度的全景照)
人類會用越來越AI的方法,去教導AI。
[COCO-GAN: Conditional Coordinate Generative Adversarial Network](https://openreview.net/forum?id=r14Aas09Y7)
自動生出風景照
AI也可以自動生成素描的照片。
[lay as You Like: Timbre-enhance Multi-modal Music Style Transfer](https://arxiv.org/abs/1811.12214)
AI藝術並不是為了取代藝術,而是為了幫助人類創作出更好的藝術。
## TMML真相靠自己─You are Fake News!
[github repo](https://github.com/tychen5/NLP_FakeNewsDetection)
[Slides](https://mega.nz/#!Z9kBmSLQ!-cqpWxFMkOUdmMRkBDX6jwHQ_G5xDzzqhloomUXGOas)
#### 8 categories 八類別
- Bias 扭曲
- Conspiracy 陰謀論
- Hate 仇恨
- junksci 偽科學
- satire 諷刺
- state 受監督
- true 真(新聞)
- fake 假(新聞)
#### Wordcloud & Scatterwords
找文字雲和重要的單詞
- true
- "Breibart"
- False
- "podesta"?
#### Sentiment Analysis
- 內容
- 以0標準,做正向、負面的分析
- 以satire諷刺類別(內容詞彙)最為正向
- 標題
- 以Junksci偽科學的標題最為正向
#### Feature Selection(Statistics-based approach)
* Chi-Square statistic
* Log Likelihood Ratio
* more clear intuitive than
* Mutual Information
* Pointwise Mutual Information(PMI)
* 可能有負值
* 罕見的term可能會有相對高的分數
* Expected Mutual Information (EMI)
* 解決PMI的問題,實用性較高
* Average TF-IDF scores
* Term Frequency (TF)
* #TODO
##### process
- convert to POS
- part of speach tags
- POS tagging
- data cleaning
-
- POS processing
- Feature Slection:
- Chi- square/
```flow
st=>start: Term Dictionary
op1=>operation: Multinomial Naive Bayes classification
e=>end: Test Result
st()->op1()->e
```
* Classification Result
* 有無Feature selection 對於結果有顯著的差異
- label the level for ML
- true:1
- mostly true:0.8
- 0.5
- 0.3
- fake:0.1
- pants on fire:0
* dilated causal CNN
* 採用CNN原因: 相信fake news多出於同個寫手(相同pattern)
* 會保留時間上的相關性
* biderectional RNN
* LSTM + GRU(標準做法)
* 生病心得分享(#)
* 感謝照顧
* 請大家保持身體健康
- 結論
- Define **++FAKE++** news?
- Domain specific task
- Unite with other metadata
- cnn: author/publisher, title, data;
- rnn: content
## 從學校到業界,工程師作為職業的現實
講者:蒼時弦也
### 學習
#### 非本科的程式學習
- 規模問題
- 興趣的重要性
:::danger
工作是痛苦的,工作沒有想像中容易,這很現實。
:::
:::success
:o:單純的興趣可能更適合
:::
* 學會$\neq$掌握
* 會寫,但不知道為什麼這麼寫
* 花時間思考程式該怎麼寫
### 合作
#### 如何與其他人合作
- 大多時候不是一個人
- 當是一個juniors的時候發現很難跟別人合作
- 溝通失敗的原因
- 缺少時間溝通
- 缺少一個規則
- 表達想法的重要性
- 例如 : 解析csv,要不要留header
#### 共享情報
- **回報進度、遇到的困難 很重要**
### 下決策
#### 正確的判斷
- 我現在的架構好嗎?
- 例如:Docker到底要不要用?
:::info
程式架構沒有正解
:::
- 用經驗去評估、選擇適當的選項
- 例如:畫出來的圖是對的,對系統的理解是錯的
- 對客戶需求認知有誤,導致設計出來的系統更為複雜。
### 角色轉變
#### 從初級到資深
- 更多工作和責任
- 如果身為team leader,要為下面的人擔做決定的責任
#### 指導新人
- 做code review,協助新人改善寫code方式
- 學會指導不同個性的新人
#### 視野的改變
- 從**工作做好**變成為**專案負責**
- 練習用其它角色的角度看事情
### 應用
#### 理想跟現實的差距
- 我們對業界的想像,跟業界真實的狀況可能不一樣
> 你確定你選擇的真的是你想要的嗎?
:::danger
:warning:在工作中不是什麼都可以做的
:::
- 對客戶或是環境最好的,是大家都可以維護
- 新技術可以嘗試 但不一定適合工作
#### 選對工作
- 選對工作,才能找到適合自己的公司
> ~~如果你對英文很沒自信的話,可以去日本工作~~
- 接受工作時的痛苦,然後享受工作
### Q&A
- Q1: 怎麼知道自己已經是Senior工程師了?(判斷的標準)
- A:
```flow
st=>start: code 會動
op=>operation: 知道為甚麼要這樣寫
ed=>end: 知道其底層細節(知其所以然)
st(right)->op(right)->ed
```
- 如何說服其他同事,培養好的人際關係
- Q2: 工程師一定會爆肝嗎?
- A: 看公司
- Q3: 如何充實自己?
- A: 找到自己的專長,並結合優勢
- Q4: 做一個專案應該要所有人充分了解嗎?
- 當然要,你敢讓不了解的人做嗎(?
## Lightning Talk
- **第一位:TDOH發大財 Hrj**
- TDOH不解散大食團
> 下周吃燒肉
- TWCHacker
- TDOH功德院
* 培育資訊安全人才
* 改變大眾對駭客的印象
- **第二位:待補充**
- 開源文字遊戲
- **第三位:EAuth**
- 自己的Oauth自己架
- [網址](https://demo.pelith.com)
- **第四位:Rust介紹 球魚**
- Rust讀書會宣傳
- 3/30(六) 晚上19:30 Rust Meetup
- 不用報名,直接來
- **第五位:C++與大數據不是只有Py喔:3 清風**
- CERN ROOT
- **第六位:暨大學生會資訊化 Jack郭**
- WordPress 形象網站
- Wiki 平台
- 會員系統
- HackMD 公告
## 工研院資安技術分享與技術研發
- 工業技術研究院(ITRI)
- 協助技術研發與轉移
- 工研院資通所
- Smartphone Virtualization
- Automated Cyber Offense/Deffense
- Multi-level Application Whitelisting
- 2019/4/25 ICT菁英早鳥專案