2019年2月22日 星期五

[課程] 2019基於遊戲的機器學習入門



Instructor
蘇文鈺 (Alvin W.Y. Su, alvinsu@mail.ncku.edu.tw)

Teaching Assistant
邱晴瑜,高靖珊,   RM 65707

Course Materials
  1. Introduction to machine learning textbook
  2. Gamed Based coding platform
  3. Online ppt
  4. Reference: Stanford CS229, https://stanford.edu/~shervine/teaching/cs-229.html
Power Point

    week 3 課程投影片   Lab

Target
1.  Learn basic machine learning algorithms
2.  Use machine learning tools
3.  Understand data and its preprocessing
4.  Learning by doing and gaming.

Course Arrangement
Breakfast
Purpose: Application of unsupervised learning tools to game playing from the collected data.
Week 1: Introduction of the course and applications using ML
Week 2: Build Machine Learning Environment and brief intro to basic classifiers
·        Python sklearn
·        Unsupervised classifier
o   k-Means
o   Mean-shift
o   Gaussian Mixture Model (GMM)
·        Supervised classifier
o   kNN
o   SVM
·        Lab 1-1
Week 3: Build and Practice of the Game Platform
·        Installation of Game Platform
·        Game 1: Breakout clone
·        Try to write a novice code to play the game
·        Play the game 10000 times, record the processes.
·        Analysis be the HW. To report on Week 6.
Week 4: Support Vector Machine
·        SVM (Support Vector Machine)
·        SVC (Support Vector Classification)
·        SVR (Support Vector Regression)
·        Lab 1-2
Week 5: Multi-class clustering/classification
·        SVM
·        Hierarchical clustering
·        Lab 1-3
    Week 6: Student reports
·        Strategy report to get a high score from the breakout clone game.
·        To use ML tools is encouraged.
Lunch
Purpose: Application of machine learning tools to a computer game, called Breakout Clone, also called Arkanoid. Object positions provided.
Week 7: Decision Tree
·        Decision Tree
·        Random Forest
·        Lab 1-4
Week 8: Breakout Clone, pre-contest
Week 9: Bagging, Boosting, Adaboost
·        Lab 1-5
Week 10: Neural Network
·        MLP
o   Common aspects between SVM and MLP
o   Image pre-processing
o   Feature vector examples and comparison
§  2D image whole into 1D vector
§  Encoding and compression
o   Hidden layers and Activation functions
o   Back propagation algorithm
o   Before coding an MLP
§  Mathematical representation (Matrix forms)
·        Lab 1-6
Week 11: Installation of Game 2, Ping-Pong
·        Get Familiar with the online platform.
·        Try to write a novice code to play the game.
·        Play the game 10000 times, record the processes.
·        Analysis be the HW. To report on Week 14.
Week 12: DNN
·        DNN (Deep Neural Network)
o   Pitch detection: RWC dataset
o   Ping-Pong
·        Lab 1-7
Week 13: Breakout Clone contest
Afternoon Tea
Purpose: Application of machine learning tools to a computer Ping-Pong game. Object positions provided.
Week 14: Student reports
·        Strategy report to get a high score from the Ping-Pong game.
·        To use ML tools is encouraged.
Week 15: CNN
·        CNN (Convolutional Neural Network)
·        Common and different aspects between MLP and CNN
o   One big 2D convolution, Many smaller 2D convolutions, and Inner-products
o   Block-based activation (kernel Pooling) v.s. Activations
·        YOLO-like CNNs
o   Annotations
·        Lab 1-8
Week 16: RNN
·        Recurrent Neural Network
o    Stock price
·        Lab 1-9
Showtime
Purpose: Applications of ML knowledge in Game playing 
Week 17: Discussion
·        Private communication
    Week 18: Final contest and report
Grading by Ranking
  1. G-1: Lab report (HackMD) and attendance: 20%
  2. G-2: Breakout Clone pre-contest: 5%
  3. G-3: Breakout Clone contest 2: 25%
  4. G-4: Github: 10%
  5. G-5: Final Contest: 45%
·        Winner of each contest with Rank=0. The second position with Rank=1. Same for others.
·        Grade = Contest highest grade (1 - Rank * factor), factor TBD
·        Finale =  sum (G-i), for all i.

2019年2月18日 星期一

[課程]2019訊號與系統

Instructor

蘇文鈺 (Alvin W.Y. Su), X62537, Rm 65C08, alvinsu@mail.ncku.edu.tw

Teaching Assistants
林煒婷,楊鴻志,蕭佑丞, RM 65707

Course Materials
  1. Schaum’s Outline of Signals and Systems, 3rd Edition (Schaum's Outlines) 3rd Edition, Hwei Hsu 
  2. VST plugin tutorial 
  3. Online ppt 

Targets
  1. Learn signals and Systems Basics 
  2. Know the algorithms and how to implement 
  3. Both Python and C++ are required 
  4. VST Plugin 
  5. Term team project

PREREQUISITES
  1. Calculus 
  2. Linear Algebra 
  3. Engineering Math. 
  4. Computer Programming I 
Course Arrangement
  • 課堂成績 
  • In-class programming: 簡單混音器,將四個單聲道不同樂器之一分鐘音檔,照指定大小與時間位置混成左右聲道一個立體聲音檔。  
  • In-class programming: 可參數化的吉他失真效果器。準備電吉他獨奏一分鐘音檔一個。  
  • In-class programming: 可參數化的Wah-Wah效果器。準備電吉他獨奏一分鐘音檔一個。  
  • lab2: 播放音擋與耳機輸入之改變音量之VST Plug-in  
  • lab3: 移植可參數化的吉他失真效果器之VST Plug-in  
  • lab4: 移植可參數化的Wah-Wah效果器之VST Plug-in  
  • lab5: Karplus Strong撥弦音色合成之VST Plug-in  
  • lab6: Source Filter Model合成器之VST Plug-in  
  • lab7 Echo/Delay 之 VST Plug-in  
  • lab8: 電腦Keyboard 為輸入介面之VST Plug-in  
Team Project Topics of the Term
  1. 實作HRTF(Head Related Transfer Function),指定單音音源至空間中的某一位置,包含距離遠近 
  2. 具備四個回授路徑的殘響產生器。 
  3. 可參數化,六頻段之等化器。
  4.  Chorus effect processor 
  5. 合成單簧管 
  6. 合成Saxophone 
  7. 合成法國號 
  8. 合成吉他 
  9. Automatic Chord Progression Generator (KW: Automatic Chord Progression Generator Machine Learning AI LSTM RNN) 
Grading by Ranking
  • In-class programming: 40% 
    • Turn in before 6:30pm: 100 
    • Turn in before midnight: 90 
    • Turn in before midnight of the next day: 80 
    • Turn in before midnight 2 days later: 60 
  • Written exams: 15% 
  • Computer program exam (VST plugin): 10% 
  • Final Project and report (VST plugin): 35% 
  • Attendance and others: 10%  

2018年3月7日 星期三

[課程]2018訊號與系統


本週公告:

  • 期末報告調整完後 ppt(報告) 、程式碼 與 相關資料 需寄到助教信箱。Email:signalsystem106@gmail.com

    課程老師:蘇文鈺 
    • Email:alvinsu@mail.ncku.edu.tw

    課程助教:林彥甫 陳敬曄
    • Email:signalsystem106@gmail.com(有問題詢問請先email告知)
    • Lab位置:65707(資訊新系館7樓走到底右轉)
    • 教室位置:資訊新館 65203
    Office Hour :
    • 時間:當周四晚上 7:00 ~ 9:00
    • 教室: 資訊新館 65304
    MatLab下載連結 :

    評分標準:
    • 課堂lab 60%
    • 小專案 30%
    • 期中上機 10%
    • 期末筆試 10%

    • 2017課程投影片

    Projects :


    • Project 1多軸加速器
      1. 斜坡摩擦力不同對物體的離開斜坡時速度的影響。
      2. 斜坡高度與斜度對物體的離開斜坡時速度的影響。
    • Project 2Color Sensor
      1. 彩色LED的色彩辨識
      2. 彩色色紙的色彩辨識
    • Project 3多軸加速器
      1. 測量揮棒(拍)的速度。
      2. 測量揮棒(拍)的角度。
    • Project 4超音波感測器
      • 利用單一超音波感測器估測周邊環境形狀
    • Project 5氣壓計
      • 設計一個會隨氣壓高低而上下移動的氣壓顯示器
    • Project 6光敏電阻或光感應器
      • 設計一個轉速計並以之控制馬達轉速
    • Project 7壓電感測器
      • 藉由震動判斷球棒(拍)與球的接觸關係或是擊球狀態


      課堂lab :

      1. 簡單混音器,將四個單聲道不同樂器之一分鐘音檔,照指定大小與時間位置混成左右聲道一個立體聲音檔。
      2. 7697與PC進行資料交換。
      3. 7697+超音波感測器+測距。
      4. 7697+ADC+可變電壓檢測。
      5. 可參數化的吉他失真效果器。準備電吉他獨奏一分鐘音檔一個。
      6. 可參數化的Wah-Wah效果器。準備電吉他獨奏一分鐘音檔一個。
      7. 用Discrete Time方式,實作一個積分器與一個微分器。
      8. 利用積分器或是微分器來模擬一個RLC電路,請先將RLC電路轉為微分方程式。
      9. Karplus Strong撥弦音色合成。
      10. 具備四個回授路徑的殘響產生器。準備不同獨奏音樂一分鐘音檔兩個。
      11. 可參數化,六頻段之等化器。準備不同類別流行音樂一分鐘音檔兩個。
      12. 使用PWM方式配合7697輸出聲音訊號。

      作業上傳 :
      • 繳交規則
        • 所有程式限定使用Python,Matlab或是C語言。
        • 五點以前驗收繳交為 。Office Hour結束之前繳交為 B。當周日午夜前繳交為 C。之後以缺交論 F。
        • 所有程式限定使用PythonMatlab或是C語言
        • 命名規格(壓縮檔標題) :labx_學號_姓名_vX (X為版本號)
      • 上傳FTP
        • 140.116.82.230
        • username:signalsystem107
        • password:screamlab

        Examinations :

        1. 上機考試一7697應用 ( 6 / 13 )
        2. 上機考試二PC            ( 6 / 13 )
        3. 筆試期末考試,Open book。 ( 6 /20 )


         課程進度: