Keynote Speaker: 魏澤人/副教授、高虹安/立法委員、Mosky Liu/劉依語

PyData Taipei 2020 Program


魏澤人老師 blog

科學家思維

  • 成長性思維
  • 具像化 - First Principle Thinking
  • 決心
  • 擁抱不確定性

找到你的熱情所在是個爛建議

  • 熱情並不是用找到的,而是培養的
  • 強顏歡笑,然後甚至假戲真做的人,才是真正有決心,有努力的人。真正有決心想學的人,為了學會,是連自我都可以捨棄的

木刻思在2018年推出一套資料預標註平臺LabelHub

由NumFocus組織贊助: SymPy(符號數學), ITK(醫學), PyTable, Shogun, SimPy


Airflow

see Tutorial

open source
資料管線管理: 任務排程、狀態管理、狀態接續、回溯、任務日誌

Job : task_1, task_2, …

Job design pattern - trigger

  • scheduler (time based)
  • 狀態管理
  • alert: log, mail

測試環境: 小資料測試管線運作
正式環境: 上線後監控 - task狀態、資料觀察、Log紀錄

DAG (Directed Acyclic Graph) 有方向性的任務(task)圖
定義了有什麼工作、工作之間的執行順序以及依賴關係

Sensors: 定時去看有沒有新的資料進來

connection管理共用參數: 資料庫名稱密碼等

環境分離, 套件分離, 運算分離

AWS 結合airflow

不同data pipeline框架都可能遇到問題
common problem for data pipeline: Failure, Scalability, ….


Dask

github source

對pandas, numpy, 等裡面DataFrame, Series, ndarray物件,使用多核平行運算技術 https://www.itread01.com/content/1545613864.html

Dask API

  • 集合變量(例如Dask Array,Dask DataFrame和Dask Bag)
  • 細粒度的API(例如Delay和Future)

官網的tutorial有API介紹:
The Dask delayed function decorates your functions so that they operate lazily. Rather than executing your function immediately, it will defer execution, placing the function and its arguments into a task graph.

Scheduling & also

  • Single machine scheduler
  • Distributed scheduler

Distributed

Tutorial影片: Parallel and Distributed Computing in Python with Dask


uTensor

Tutorial:uTensor: Deep Learning Inference Engine Born for Embedded System

是近期許多晶片大廠 (例如 Intel 與 ARM) 所推行的一種概念與設計方式,希望能將運算相關的工作往應用前緣推進。Edge Computing 可以有各式各樣的設計與實現方式,而在這次的聚會裡,我將展示如何利用 OpenCV 在手機上 (iphone) 重現一個簡單的 Neural Network,具體而微地解說如何善加利用客戶端的運算資源提供更好的服務與應用,也展示 Edge Computing 的具體模樣。

Edge Computing: OpenCV with iOS

投影片 uTensor


深度學習在醫療影像之應用 – 以 X-Ray image 為例

投影片下載: https://drive.google.com/file/d/15rKKmlLiPSQ9RQZB1FHmuWqhcTxESfZ2/view

2014年後Neural Network的performance低於 5% (人類表現的誤差率)

CNN explainer

2015 ResNet 19層網路模型
會抓取前2層的結果一起作為input
2016 DenseNet

Neural Network發展火熱幾個原因:

  • open source
  • CNN Model x Transfer Learning x Open dataset

Computer Vision Task主要分:

  • image classification
  • object detection 物件偵測(框出來)
  • object recognition 物件識別(辨別帽子等)
  • segmantic segmantation 一對其他
  • instance segmantation 每個不同物件
  • keypoint detection 人體節點

醫療影像AI系統導入期望效益

  • 減輕醫療人員負擔
  • 加速診斷、提早預警
  • 臨床、開發新藥

X-Ray拍攝方向差異,兩個照片肩頰骨位置是不一樣的:

  • 躺著
  • 站著

影像模型可解釋性,grad-CAM用梯度數值呈現模型對影像哪個區域比較敏感

A Cascaded Learning Strategy for Robust COVID-19 Pneumonia Chest X-Ray Screening
分成三階段: 先標註肺部區域、判斷是否有肺炎、針對有肺炎的去看使否有COVID-19

Federated learning
分享各自模型的weight, 達到更好、快的表現


高虹安 Hung-An Kao 立委

Servtech 工業數據相關 AI人工智慧教材 - 郭台銘參選時提的政見

美中貿易、技術戰

  • 掐脖子技術

線上結合線下的推薦系統

  • 實體店面行銷方式改變

奇怪的現象: AI must to have, so we buy

  • Power BI…
  • Azure…

五個C 概念: Cybermanufacturing

(鴻海) 工業生產線的部門腳色分化,一個小集團分五個團隊:

  • DT: data collection processing
  • AT: machine learning
  • PT, HT: Cloud platform management Human UI/UX application
  • OT: Domain knowledge

machine vision使用者視覺體驗 : automation defect detection產品缺陷異常檢測
machine prognostics and health management預測機台異常維護 : machine learning利用模型預測

因應新的產業發展,新需求隨之出現: data labeling

GE 航空業的data life cycle


不同地區國家社群軟體上評論熱度 twitter api

  • twitter developer account 會詢問如何使用資料? 用來做什麼?

Hydration process : 利用twitter id 登入抓取內容 如geo-location 以中國來說,twitter id大部分來自香港, 同時preprocessing 也過濾掉一些政治性強烈之id 國安法通過後有些id就被中國刪掉

Mobile Social Service User Identification Framework Based on Action-Characteristic Data Retention

word cloud

  • frequency
  • categorization
  • mixed

ngram

  • tri-gram

sentiment analysis

  • polarity 到3/25前都還是樂觀有希望的數值
  • subjective 1代表愈主觀 eg: textblob

用幾個關鍵日期: 2/1, 3/16, 3/25, 4/25
結合word cloud, tri-gram去看熱度評論字詞為何

how to get data from Facebook ?
crowd tangle: chrome extension, 合作計畫api
追查可疑新聞的流向、看是否按讚分享等

Reddit
google trend
twitter api
crowd tangle


深度學習有何不能?來自 Gary Marcus 的啟發 - 蘇嘉冠 (Su Jia Kuan)

https://hackmd.io/@coscup/SJW3MOpgv/%2F%40coscup%2FB1ucMupeP

(待補 Amber)


Panel

互動式的視覺化工具 holoviews, plotly


誰識KOL? 2020台灣總統大選在 Facebook 上的社群網絡分析

透過情感分析嘗試從成員彼此間的留言內容抽取出正/負向的情感,藉以了解網絡成員之間的互動關係

KOL意見領袖 只看留言數、分享數 → 但假帳號、機器人

真人按讚 vs 程式按讚 利用SNA分辨出來

留言者, 來源id, 對象, 留言內容 用bfs4+request去爬蟲 注意post_id, command_id

SNA: 社會網絡 = 節點(node) + 連結(edge) node

  • 或稱 Actor/ Vertex,可以是個人、產品、事件或國家 edge
  • 或稱 Link / Arc,可以是喜歡、訊問、著作、父母
  • 有無方向性分為directed / unidirected
  • 連結的強度設定 Weigtht

重要性評估: - degree - closeness - betweenness - pagerank 如果是假帳號,它只會和目標有連結

以pagerank作為重要性的評估指標

情感分析應用在網路聲量

  • 新聞能更即時偵測企業淺在犯罪風險
  • 社群網路正負情緒 vs 股票漲跌變化

監測網路輿情

  • 滿意度分數: google play app 評論留言與分數
  • 正/負向辭典: 比對文章內容 (台大有以定義之情感辭典2006)

推測情感分數: snowNLP, NLTK 建NLP模型

百度、google有已經建好的情感分數模型 (講者覺得百度比較準) 分中性, 正向, 負向

定義正向與負向會因應背景不同

  • 業務 vs 風險 : 沒有法律定罪就沒事 vs 風吹草動即可疑

opencc可以把繁體轉為簡體,再丟百度的推測模型

igraph圖資料庫相關

線上資料集 openml https://www.openml.org/search?type=data

游騰林’s github Blog DataScience: 各種筆記,基本上都有 FindAndMeetKOLs: PyData2020, PyCon2020的講者投影片


Mosky Liu

Slides

資料驅動產生額外的impact, 減去人力薪資、資料維護收集開銷, 才是return

graph-tool perform experiments in the field of graph theory and network science. see also: networkx

IT發展走勢分析圖 by行銷領域

這個世界現象真的都用非線性關係來解釋嗎? why not 直來直往的線性關係?

data leakage 資料洩漏

  • column-wise: 某一個變數x帶有目標變數y的資訊,可能是domainknowledge不足導致錯誤判斷
  • row-wise: 測試與訓練集錯誤混用或overlap

Spurious Relationship:
分辨狼 vs 哈士奇,但其實模型分辨的依據是哈士奇都出現在雪地,而狼則沒有
→ 以interpretable去檢驗模型,找出可能漏掉誤區

Stationarity:
資料本身就是non stationary,假設用5, 6月的資料建模
它真的可以上線使用嗎? 5, 6月的目標變數資料就包含母體目標變數變化的資訊嗎?
→ 是否需要一個monitoring的方式,去看model drift的問題 例如過一段時間重新train model觀察residual的分布等等

Delight People with Fast Release
如何衡量這個模型的開發是否對公司/使用者有幫助呢?


假帳號的社會網絡分析 applied SNA and NLP algorithms to detect abnormal users in social media (PTT)

大量、技術純熟的假帳號

Social Network Analysis

  • ego network 以單一節點為中心去看周遭的節點 譬如小明的所有社群朋友互動熱度關係 考慮特徵: id, age, gender, job, level of friend

可能遇到問題: 資料量大,社群網路關係圖太多點,根本看不出什麼 → 抽樣調查、篩選條件

相較於一般人的朋友們可能會彼此也認識, 假帳號的朋友們比較不會彼此一群一群的 可能因素 - 假帳號不太容易加好友 - 就算加到了,好友彼此間有關係機率也不高

python module: igraph, networkx

社群檢測 community detection: Kmeans with connectivity distance, 也可以替換其他如 按讚、分享、留言數 如何決定K? 會先觀察篩選針對比較可疑帳號,大概一兩百個

注意帳號的宣傳方式、帳號成立時間、IP位址

https://tw.linkedin.com/in/kevin-tseng-318a4713b


Skinny Pandas Riding on a Rocket

High Performance Python Track Q&A | SciPy 2020 https://github.com/mynameisfiber/high_performance_python

pandas, dask, SQLite, Vaex

Vaex: a new DataFrame system https://vaex.io/docs/tutorials.html

Dask (+ pandas)


Performance Evaluation for Natural Language Understanding and Generation

Performance evaluation provides quantitative information about the quality and the behavior of natural language processing (NLP) models, helping the developers to realize their systems. However, doing performance evaluation is not an entirely trivial task; an improper practice may lead to unreliable or even harmful effects of the final application. This talk will introduce the basic concepts of evaluation that are widely applied in NLP, including the metrics, cross-validation, and significant tests, and discuss the common pitfalls. Special issues in natural language generation will also be covered.

Performance evaluation: WHY to know how good the system performs on upcoming input Quantitative analysis System improving Comparison with competitors

Performance evaluation for mutiway classification

  • Compute the precision recall f-score in binary
  • Confusion matrix
  • Macro-averaging
  • Micro-averaging
  • Four f-scores of a system

McNemar’s Test