AWS-ML認證筆記 — Domain 3 Part 4
開箱即用的AI/ML服務
Amazon Comprehend
- 自然語言處理和文本分析
- 可以輸入"社交媒體、電子郵件、網頁、文件、醫療記錄(Comprehend Medical)"等資料
- 提取關鍵字詞、實體(entities)、情緒、語言、語法、主題和文件分類
- 事件偵測
- PII Identification & Redaction
- 有針對性的情緒(針對特定實體)
- 可以依照自己的資料進行訓練
Amazon Translate
- 使用深度學習進行翻譯
- 支援自訂術語
— 使用 CSV 或 TMX 格式
— 適用於專有名詞、品牌名稱等
Amazon Transcribe
- 語音轉文字
— 以指定語言,資料格式是 FLAC、MP3、MP4 或 WAV
— 支援串流音訊(HTTP/2 或 WebSocket) - 說話者識別
— 指定發言者人數 - Channel Identification
— 即兩個caller可以分別轉錄
— 根據「話語(utterances)」的時間進行合併 - 自動語言識別
不必指定語言;它可以偵測出主場語言 - 自訂詞彙表
詞彙表(只是特殊單字的清單 — 名稱、縮寫)
使用場景
Call Analytics:
- 專門針對客戶服務和銷售電話進行訓練
- 即時轉錄和見解
- 情緒、語速、中斷、尋找特定短語(例如我要"取消"訂單)
醫療:
- 接受過醫學術語訓練
- 符合 HIPAA 資格
字幕:
- 及時字幕翻譯
Amazon Polly
- 文本轉語音(使用神經網路),支援多種聲音和語言
- 字典(Lexicons)
自訂特定單字和短語的發音。例:“物聯網”而不是“IoT” - SSML(Speech Synthesis Markup Language)
— 純文字的替代方案
— 可控制聲音的抑揚頓挫 - 語言符號
— 可以在音訊串流中的句子/單字開始和結束時進行編碼
— 對於口型同步動畫很有用
Rekognition
- 電腦視覺
- 物件和場景檢測
- Image moderation
- 臉部分析
- 名人辨識
- 臉部對比
- 影像中的文字
- 影片分析。如時間線上標記的物件/人員/名人或找一群人中的特定人員
- 圖片和影片庫
本質
- 圖像來自 S3,或提供image bytes作為Request的一部分
- 臉部辨識取決於良好的照明、角度、眼睛的可見度、分辨率
- 影片必須來自 Kinesis Video Streams。H.264 encoded/ 5–30 FPS/優先考慮解析度而不是framerate
- 可與 Lambda 結合使用,上傳時觸發影像分析
我們可以使用一組已經標記好的圖像進行訓練,使用自己的標籤來標記獨特的物品。
Amazon Forecast
- 全託管的服務,透過機器學習提供高度準確的預測
- 「AutoML」為時間序列資料選擇最佳模型,例如ARIMA、DeepAR、ETS、NPTS、CNN-QR Prophet
- 適用於任何時間序列,用在預測"價格、促銷、經濟效益"等,並且可以結合相關資料來找出資料之間的關係
- 預測"Inventory planning、financial planning、resource planning"
- 基於「dataset groups」、「predictors」和「forecasts」
使用的演算法
CNN-QR(Convolutional Neural Network — Quantile Regression):
- 最適合具有數百個時間序列的大型資料集
- 接受相關的歷史時間序列資料和metadata
DeepAR+:
- RNN(Recurrent Neural Network)
- 最適合大型資料集
- 接受相關的forward-looking time series和metadata
Prophet:
- Additive model with non-linear trends and seasonality
NPTS(Non-Parametric Time Series):
- 適合sparse data。具有週期/氣候預報的variants
ARIMA(Autoregressive Integrated Moving Average)
- 通常用於簡單資料集(<100 個時間序列)
ETS(Exponential Smoothing)
- 通常用於簡單資料集(<100 個時間序列)
Amazon Lex
- Alexa 的底層
- 自然語言聊天機器人引擎
- 機器人是圍繞意圖(Intents)構建的
— 話語貸出意圖(例如“我想點披薩”)
— 可以呼叫 Lambda 函數來實現意圖
— Slot指定意圖所需的額外資訊。例如要的披薩尺寸、配料、餅皮類型、何時送到等。 - 可部署到 AWS Mobile SDK、Facebook Messenger、Slack 和 Twilio
Amazon Lex Automated Chatbot Design
- 提供現有的對話記錄
- Lex 會應用 NLP 和深度學習,消除重疊和歧義
- 提取意圖、使用者請求、phrases、Slots的value
- 確保意圖得到明確定義和分離
- 與 Amazon Connect transcripts整合
Amazon Personalize
全託管的推薦引擎,亞馬遜電商也是用這個。透過API存取:
- 透過 S3 或 API 整合輸入資料(購買、評分、印象、購物車新增、目錄、使用者人口統計等)
- 要提供 Avro 格式的明確schema
- 使用JavaScript 或 SDK來存取
- GetRecommendations
推薦產品、內容或類似商品等 - GetPersonalizedRanking
對提供的項目清單進行排名。可以編輯"control/curation" - 也可以透過Console與CLI
功能
- 即時或整批推薦
- 新用戶新商品推薦(cold start問題)
- 根據背景脈絡的推薦。例如使用者的設備類型、上線時間等
- 推薦類似商品
- 非結構化文字輸入
- 智能式的客戶細分。用於行銷活動
- 業務規則和過濾器
— 過濾掉最近購買的商品
— 突顯優質內容
— 確保一定比例的結果屬於某個類別 - 促銷活動
— 將推廣內容注入推薦中
— 可以找到最相關的推薦內容 - 現行趨勢
- 個人化排名
— 搜尋結果
— 促銷活動
— 精選清單
術語
- Datasets
Users, Items, Interactions - Recipes(要用哪一種模型)
— USER_PERSONALIZATION
— PERSONALIZED_RANKING
— RELATED_ITEMS
— USER_SEGMENTATION - Solutions(根據我們給予的資料來訓練模型)
— 針對相關性以及其他目標進行最佳化,例如影片長度、價格等。但必須是數字。
— HPO(Hyperparameter Optimization) - Campaigns
— 佈署solution version
— 部署能產生即時推薦的能力
Hyperparameters
User-Personalization, Personalized-Ranking:
- hidden_dimension (HPO)
- bptt (back-propagation through time — RNN)
- recency_mask (weights recent events)
- min/max_user_history_length_percentile(資料不乾淨,機器人會幫忙清)
- exploration_weight 0–1(controls relevance)
- exploration_item_age_cut_off(回溯到多遠的時間)
Similar-items:
- item_id_hidden_dim (HPO)
- item_metadata_hidden_dim (HPO 指定了最小和最大範圍)
維持相關性
要保持資料集最新,需要新資料不斷的輸入。另外使用 PutEvents 操作回饋即時的使用者行為。
重新訓練模型需要:
- 稱為new solution version
- 預設每2小時更新一次
- 應該每週進行一次完整的重新訓練(trainingMode=FULL)
安全性
- 資料不跨帳號共享
- 資料可以使用 KMS 加密
- 所在Region的資料可能會靜態加密 (SSE-S3)
- 我們的AWS account與AWS內部系統之間傳輸的資料使用 TLS 1.2 加密
- 透過 IAM 進行存取控制
- S3 中的資料必須具有適當的bucket policy,以便 Amazon Personalize能存取
- 透過 CloudWatch 和 CloudTrail 進行監控和日誌記錄
AWS Panorama
- 邊緣設備的電腦視覺
- 將電腦視覺引入現有的 IP 攝影機
Amazon Fraud Detector
上傳我們自己的歷史詐欺數據,從我們選擇的template建立自訂模型。我們自己的Application可以用API的方式來串。評估風險,例如有:
- 新帳戶
- 客人結帳
- 「先試後買」的濫用
- 線上支付
Amazon CodeGuru
- 自動代碼審查
- 尋找影響效能的代碼行
- Resource leaks、race conditions
- 修復安全漏洞
- 提供具體建議
- 由機器學習提供支援
- 支援Java和Python
適用客服中心的 Amazon Connect
- 從錄音通話中擷取音訊資料
- 允許搜尋通話/聊天
- 情緒分析
- 尋找與成功通話相關的“話語(utterances)”
- 自動對進線進行分類
- 測量講話的速度和中斷
- 主題檢測(Theme detection):發現新出現的問題
Amazon Kendra
- 使用自然語言進行企業用的搜尋。例如,“IT 服務台在哪裡?” “我如何連接到我的 VPN?”
- 將來自file server、SharePoint、Intranet、共享服務(JDBC、S3)的資料合併到一個可搜尋儲存庫中
- 機器學習驅動-使用”好/不好”的回饋
- 相關性調整-提高文件新鮮度、檢視次數等的強度
Amazon Augmented AI (A2I)
- 機器學習預測的人工審核
- 建立用於審查low-confidence predictions的工作流程
- 可以使用Mechanical Turk 的員工或供應商
- 整合到 Amazon Textract 和 Rekognition 中
- 與 SageMaker 整合
- 與Ground Truth非常相似
其他的ML服務
- Amazon Textract
支援表單、欄位、表格的 OCR - AWS DeepRacer
強化學習驅動的 1/18 比例賽車 - DeepLens
支援深度學習的攝影機。與 Rekognition、SageMaker、Polly、Tensorflow、MXNet、Caffe 整合
產業應用
Amazon Lookout:
- 設備、指標、視覺化等監控
- 自動偵測感測器資料異常以偵測裝置問題
- 監控來自 S3、RDS、Redshift、第 3 方 SaaS 應用程式的指標
- 利用電腦視覺來偵測矽晶圓、電路板等的缺陷
Amazon Monitron
用於監控工業設備和預測性維護的端到端系統。
組合技
如果要組合自己的Alexa
Transcribe -> Lex -> Polly
如果要組合通用翻譯功能
Transcribe -> Translate -> Polly
如果要組合辨識某個名人
DeepLens -> Rekognition
要辨識某個人在電話中的心情
Transcribe -> Comprehend