人工智慧導論
Introduction to Artificial Intelligence (Robotics)
| 節 | 週一 |
|---|---|
5 13:20–14:10 | 人工智慧導論 EE632 3 節連堂 |
6 14:20–15:10 | |
7 15:30–16:20 |
* 根據陽明交大上課時間表所列
本課程是一門為AI機器人領域設計之基礎課程,強調機器人領域重要之人工智慧演算法,並以Python與演算法實作為主,將使用Jupyter Notebook進行互動式做中學,本學期將加入AI於硬體加速之內容。
C++或Python基礎物件導向程式語言能力,包含迴圈、陣列、類別的宣告與使用 Basic Probability, Linear Algebra, Data Structure
M567時段 本學期課程進行將以線上為主,部分實作課程將使用EE632教室,請同學登入 Google Meet連結 https://meet.google.com/xgc-vqzc-afr : 1-1 課程講授(Lecture) 1-2 Jupyter Notebook 與 Python程式演練 學生將分組進行課程討論,每位同學上課須攜帶筆電,筆電有Ubuntu系統,或可連線至個人Ubuntu工作站為佳。 本課程將使用Google Colab。 期末專題主題原則(參考MIT6.811課程 ),要點如下: https://manipulation.csail.mit.edu/Fall2020/project.html * 本課程專題應與人工智慧或機器人主題相關。 * 課程專題建議以2-3人小組進行,專題的評分會根據人數進行調整(人數越多應有更多產出) * 專題應有適當的規模,可在一學期內完成,工作環境設置(Ubuntu, Simulation, GPU Workstation等)應儘早預備。 * 專題內容應反映出小組對課程內容的理解,如進行演算法實作,建議能將已有的Github Repo程式碼跑起來,重現已發表重要論文之方法,包含實驗結果作為baseline/benchmark。. * 本課程鼓勵期末專題與個人研究、參與研究室之研究主題相關,然需於計畫書說明本課程專題與其他專題的關聯,本課程專題內容應為學期初尚未完成之項目,不可為(個人、上學期修課同學、或研究室學長姐)已完成內容。Some of you will be able to do a project that is closely related to your current research. This is completely acceptable, as long as the subproblem you are solving is clearly defined. If you are using part or all of your work for research or as a part of another class, you must state this explicitly in your final report. We expect you to do something new that you would not have done if you hadn't taken this class. * 期末專題鼓勵使用開源程式碼,但須明確說明什麼部分是開源程式碼提供,什麼部分是專題成果,若使用GitHub repo應用fork,切勿重新上傳或移除原作者資訊(可能違反學術倫理)。 期中報告Proposal要點 The project proposal is intended as a forcing function for you to crystalize a project idea. Moreover, it gives us a chance to offer you a feedback and make sure that your plan is worthwhile and feasible. It should be approximately one page (at most, say, 500 words) detailing your idea for the project. It should: * Define exactly what the project deliverable is. * Briefly describe why the project is worthwhile and interesting. * List the topics that we have studied (or that we will study) in class that are covered by your project. * Discuss any related prior work you have found that is relevant. * Define specific goals that you expect to have accomplisehd before each of the progress updates. * It does not have to be extremely polished, but it does need to provide us with enough information to understand what you are hoping to do. Otherwise, we won't be able to help you! 期末報告與書面報告 The project presentation is due by the last day of classes. Extensions may be granted on request. The presentation must have duration of 3 minutes for individual projects and 5 minutes for group projects. Please try to share the 5 minutes evenly between the various members of the group. This year we will require you to upload presentations on E3. We expect you to provide a final report of your project by 1/11. Using the IEEE Template for conference proceedings (probably the LaTeX one; we suggest the team lead to create an Overleaf project to share with team members), write a summary of what you accomplished during your project. Write it, as much as possible, like a conference paper. You should include: * An abstract. * An introduction of your project and why you think it is interesting. * A related work / literature review section * Your results (partial or work-in-progress is expected, and completely fine!) * A discussion of your results and potential next steps We don't have any requirements on length, but realize that this is worth a very large portion of your overall grade, so be as thorough as possible in demonstrating mastery of the course material. For reference, reasonable lengths could be anywhere between 3-8 pages, with figures and a few citations where relevant. Videos are encouraged as well, as a way to showcase simulation/hardware results and provide visual explanation. IEEE Latex Template: https://www.ieee.org/conferences/publishing/templates.html
1. 學期作業: There are in-class tutorials (in Python and Jupyter Notebook), and each includes 3 checkpoints/exercises. 2. 期中報告: 繳交書面計畫書(Proposal)一份與一分鐘影片 3. 期末報告(含口頭報告、書面報告): 可選擇以實體或虛擬環境進行,若因疫情可能全部調整為virtual形式。 3.評量方法: - Class Participation 10 (%) - In-class tutorials (Python and Jupyter Notebook checkpoints/exercises) 40 (%) - Midterm Report 10 (%) - Final Project 40 (%)
- AI Agent
- Machine Learning
- AI與硬體加速
- Robot Control and Reinforcement Learning
| 週次 | 主題 |
|---|---|
| 第 1 週 | [Lec] Introduction to Artificial Intelligence |
| 第 2 週 | [Lec] AI Agents [Lab] Python, Jupyter Notebook (Colab) |
| 第 3 週 | [Lec] AI Computing on FPGA & High Level Synthesis (賴瑾老師) [Lab at EE632] 分組、PYNQ with Jupyter Notebook (PYNQ Z2) |
| 第 4 週 | [Lec, Lab] OpenAI Gym, Taxi Problem, Q-Learning |
| 第 5 週 | [Holiday] 國慶日放假 |
| 第 6 週 | [Lec] Machine Learning Overview, Convolutional Neural Network, PyTroch [Lab] MLP, CNN |
| 第 7 週 | [Lab] Xilinx Vitis AI, Model Zoo, PYNQ on KV260 with Jupyter Notebook (EE632) |
| 第 8 週 | [Lec, Lab] Transfer Learning Midterm Week |
| 第 9 週 | [Lec] CNN on FPGA & High-level Synthesis (賴瑾老師) [Lab] HLS & FINN Framework |
| 第 10 週 | [Lec] Graph Neural Network (賴伯承老師) Proposal Due |
| 第 11 週 | [Lec] Detection and Segmentation |
| 第 12 週 | [Lec] Instance Segmentation [Lab] Mask RCNN |
| 第 13 週 | [Lec] Guest Speaker Project Progress Updates |
| 第 14 週 | [Lec, Lab] DeepRL & Deep Q-Network |
| 第 15 週 | [Lec, Lab] Deep Deterministic Policy Gradients (DDPG) & Actor–Critic Methods |
| 第 16 週 | Final Week |
| 第 17 週 | [Holiday] 元旦調整放假 |
| 第 18 週 | Final Project Presentation |
教科書 • Artificial Intelligence: A Modern Approach 4th Edition (Stuart Russell, Peter Norvig) 參考書目 • Probabilistic Robotics (Sebastian Thrun) • I. Goodfellow, Y. Bengio, and A. Courville, Deep Learning, 1st Ed., MIT Press, Dec. 2016 • R. S. Sutton and A. G. Barto, Reinforcement Learning: An Introduction, Nov. 2017 • Adnan Aziz, Amit Prakash, and Tsung-Hsien Lee, Elements of Programming Interviews in Python: The Insiders' Guide. 2016