Course Information
Course title
Machine Learning and Having It Deep and Structured 
Semester
104-1 
Designated for
COLLEGE OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE  GRADUATE INSTITUTE OF ELECTRICAL ENGINEERING  
Instructor
HUNG-YI LEE 
Curriculum Number
CommE5045 
Curriculum Identity Number
942 U0590 
Class
 
Credits
Full/Half
Yr.
Half 
Required/
Elective
Elective 
Time
Friday 7,8,9(14:20~17:20) 
Remarks
The upper limit of the number of students: 100. 
Ceiba Web Server
http://ceiba.ntu.edu.tw/1041CommE5045_ 
Course introduction video
 
Table of Core Capabilities and Curriculum Planning
Table of Core Capabilities and Curriculum Planning
Course Syllabus
Please respect the intellectual property rights of others and do not copy any of the course information without permission
Course Description

你可能已經修過和計算機程式相關的課程,能夠設計程式讓電腦處理一些簡單的問題,但是你有沒有想過,那些處理非常複雜問題的程式,例如:將語音辨識成為文字的程式,是如何設計出來的呢?事實上,這些程式中的演算法並非由人類直接設計,而是由人類寫出讓機器能夠根據資料學習的演算法後,讓機器自動由大量的資料和過去的經驗找出可以處理這些問題的方法,而如何設計出讓機器自動學習的演算法就是「機器學習」這個領域在探討的問題。

本課程旨在介紹機器學習方法及其在語音處理、影像處理、自然語言處理等領域的應用,並深入介紹最近廣受重視的深層機器學習方法和結構化機器學習方法。本課程主要涵蓋內容如下:
1.基本的機器學習概念和方法。
2.介紹以深層學習 (Deep learning) 方法為基礎的機器學習技術。
3.介紹以結構化學習 (Structured Learning) 方法為基礎的機器學習技術。

本學期課程網頁:http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLSD15_2.html

(本課程 104-2 目前並沒有開課計畫,因為有很多同學詢問,故特別在此說明)
 

Course Objective
本課程旨在介紹機器學習方法,也就是機器如何根據過去的資料或經驗學習去解決人類感興趣的問題,例如:如果我們想讓機器能夠偵測一張相片是否包含人臉,我們可以讓機器「瀏覽」大量的相片,並「告知」機器哪些相片有人臉、哪些相片沒有,機器便可以利用這些資訊自動去建構出鑑別一張相片是否包含人臉的模型,當使用者輸入新的相片時,機器便根據所學的模型去偵測一張相片是否包含人臉。

本課程會從基本的機器學習概念開始講起,介紹機器學習使用者都應該知道的基本機器學習理論、方法和工具,並講授機器學習如何應用在語音處理、影像處理、自然語言處理等領域。除了基本的機器學習概念和方法之外,本課程還會涵蓋下面兩個機器學習中較為進階的主題:
一、深層機器學習:在分類問題中,例如:判斷一帳相片有人臉或是沒有人臉,輸入的物件(如:相片)和其類別(如:有、無人臉)之間的對應關係有時可能非常複雜,簡單的模型可能難以描述這類複雜的關係,所以需要以深層類神經網路(Deep Neural Network, DNN)等較複雜的模型來處理這類問題。
二、結構化機器學習:在真實世界的應用中,機器常常需要學習去處理遠比分類更複雜的問題,例如:
1.當我們對語音辨識系統說一段話,機器必須根據從訓練資料學習的結果找出聲音訊號對應的字串。
2.當我們在Google上輸入關鍵字時,Google透過機器學習的技術知道如何產生搜尋結果。
結構性機器學習和預測便是一系列處理上面這類複雜問題的機器學習方法。

希望透過這門課學生對機器學習的技術可以有系統性的認識,並具備實作這些技術的基本能力,以期在未來能將這些技術活用到各自的專業領域中。
 
Course Requirement
需要具備基本的程式設計能力。理論上,電機系大三以上的學生即具備修習本課程所需的基本能力,但建議可以同時修資料結構或演算法相關課程加強程式能力。

本課程內容和機器學習相關課程是互補的,本課程著重機器學習在實際問題的應用,並且會花相當的時間深入探討機器學習的深層化和結構化,如果有預修過機器學習相關課程,則上課能較快進入狀況,但也可以修習本課程之後再去修機器學習相關課程以了解更多機器學習的學理基礎。沒有修過機器學習相關課程的同學可以利用暑假時間,瀏覽資工系林軒田老師線上的機器學習課程(https://class.coursera.org/ntumlone-002/),這樣開學後更能進入狀況。

本課程內容和語音處理、影像處理等課程是相關的,如果有預修過相關課程,則對上課所舉的機器學習應用可以有更深刻的體會,但也可以修習本課程之後再去修上述相關課程以了解更多語音處理、影像處理等專業領域的知識。
 
Student Workload (expected study time outside of class per week)
 
Office Hours
 
Designated reading
 
References
待補 
Grading
   
Progress
Week
Date
Topic
第1週
9/18  What is Machine Learning, Deep Learning, Structured Learning? 
第2週
9/25  Deep Neural Network - How to Train it  
第3週
10/02  Theano 教學 (公告第一次作業) 
第4週
10/09  放假  
第5週
10/16  Deep Neural Network - How to train it effectively  
第6週
10/23  Recurrent Neural Network - Neural Network with Memory (第一次作業到期,公告第二次作業) 
第7週
10/30  Recurrent Neural Network - Neural Network with Memory  
第8週
11/06  Structured Learning 
第9週
11/13  Sequence Labeling Problem (公告第三次作業) 
第10週
11/20  Structured Learning with Hidden Variables (第二次作業到期)  
第11週
11/27  Machines understand what humans say - Application of Machine Learning in Natural Language Processing 
第12週
12/04  Graphical Model (第三次作業到期,公告期末專題) 
第13週
12/11  Machines recognize images - Convolutional Neural Network (by Prof. Winston Hsu) 
第14週
12/18  Caffe, Attention-based model 
第15週
12/25  Unsupervised Learning  
第16週
1/01  放假 
第17週
1/08  期末考周 
第18週
1/15  期末成果發表