当前学期:[2019 GitHub] | 学期归档:[2017&2018]
课程公告 [查看历史公告]
  • 2019 年 8 月 19 日:主课内容已经结束,学无止境,还望大家保持前进的步伐。
  • 课程大纲与相关信息
    课程时间:2019 年 7 月 1 日 — 2019 年 9 月 7 日,共计 10 周,高强度,严要求,请勿懈怠,注意安全第一。
    上课地点:杭州电子科技大学下沙东校区(地铁一号线云水站)“复杂系统建模与仿真”教育部重点实验室会议室,查看地图
    线上讨论:我们使用 GitHub 的 Issues 版面作为讨论用的论坛,请学生们提前阅读《提问的智慧》。
    每周安排(可能会有临时性的变化):
  • 周一,学生根据提供的相关材料开始预习本周内容;
  • 周二,老师讲解(讲解学习内容之前,简要介绍自己的研究课题);
  • 周三,提交作业初稿,便于了解进度,帮助还在挠头的同学;
  • 周五,基于作业初稿,进行相关讨论,有可能增加相关的讲座或教程;
  • 周日,提交作业终稿,决定最后的成绩。
  • 幻灯片将在每个讲座结束后发布,其它内容随着课程进度更新,学生上台分享所用幻灯片经本人同意后将一并公开。
    类型 日期 主要内容 相关材料 备注
    课外 - 能力初探,编程环境准备
    接触到新的名词概念时应该怎么办? 如何有效使用谷歌搜索并解决问题?
    如何安装 Python 科学计算环境?
    不同的 Python 环境如何进行管理?
    如何搭建交互式 Python 编程环境?
    如何对自己的代码进行版本控制?
    哪里可以找到开源项目代码?
    如何参与 GitHub 组织协作?
    [学习的十大好习惯和坏习惯]
    官方网站:
    Wikipedia Google Zhihu Bilibili Anaconda VS Code Python Numpy Pandas Matplotlib Scikit-learn Jupyter Notebook Git GitHub Bitbucket
    参考资料:
    搜索引擎有哪些常用技巧?
    A Byte of Python [] *进阶 [1] [2] [3]
    Morvan - Python 数据处理 Git
    CS 231n Python Numpy Tutorial []
    利用 Python 进行数据分析
    Pro Git [] Github 简明教程
    Python 2.7 于 2020 年不再提供维护, 建议使用 3.5+ 版本。
    请预览“预备知识”中数学内容快速回顾,并完整阅读底部 FAQ.
    讲座 1 7月2日 周二 基础介绍、信息表示
    课程材料:
    机器学习基本概念 [pdf]
    模型评估与选择 [pdf]
    多媒体信息表示 [pdf]
    图像特征表达 [pdf]
    参考资料:
    周志华《机器学习》 ch1-2
    想要了解更多关于数字图像处理的知识,可以访问 Stanford EE368 课程。
    实验 1 基础编程练习:Python、图像特征提取、视觉项目实战
    *第一周为缓冲阶段,学写代码,无需提交实验结果。
    讨论 7月5日 周五 理解滤波与卷积 [pdf]
    讲座 2 7月9日 周二 决策树、线性模型、支持向量机
    课程材料:
    西瓜书课件决策树
    西瓜书课件支持向量机
    线性模型 [pdf]
    参考资料:
    线性模型系列博客 [1] [2] [3] [4] [5] [6]
    Pluskid 支持向量机系列博客 [html]
    周志华《机器学习》 ch3-6
    本次讲座使用了西瓜书的官方课件,仅供线下教学使用,故不在网页中公开。 西瓜书第 4 章可自行预览学习,后面会安排讲座进行学习。
    课外 - 跳坑,爬坑,填坑,避坑
    如何利用前人经验快速解决 Bug?
    如何整理笔记,撰写技术报告?
    如何将个人笔记进一步整理为博客?
    如何制作学术汇报型幻灯片?
    如何在幻灯片中使用 $\LaTeX$ 公式?
    创作的时候如何尊重知识产权?
    [PPT 带母版模板] [LaTeX 成品举例]
    [PPT 成品举例 - AI for Everyone]
    官方网站:
    StackOverflow CSDN 博客园 Markdown(Wiki) Typora LaTeX(Wiki) Power Point Google Slides Overleaf
    参考资料:
    中文技术文档的写作规范
    再谈博客设计与写作 [MD 教程]
    什么是幻灯片母版?
    使用键盘快捷方式创建 PPT
    IguanaTex - LaTeX Add-In for PPT.
    怎样做好学术 PPT?
    讨论效果以内容完整,思路清晰为主,不必过于注重形式。 文章写作时,建议初期使用 Markdown 语法快速梳理内容, 必须的时候再进阶使用 LaTeX 语法排版,英文论文发表需要熟练使用后者。
    实验 2 Scikit-learn 监督学习实战与文档写作入门
    7月11日前提交初稿
    讨论 7月12日 周五 线性模型精讲 [pdf]
    实验 2 于14日截止
    讲座 3 7月16日 周二 朴素贝叶斯、无监督学习
    课程材料:
    高斯判别分析、朴素贝叶斯 [pdf]
    Kmeans、PCA、LLE [pdf]
    参考资料:
    如何阅读一篇论文[试读下面这篇]
    An Analysis of Single­Layer Networks in Unsupervised Feature Learning [pdf]
    实验 3 Scikit-learn 无监督学习实战与代码复现入门
    7月18日前提交初稿
    讨论 7月19日 周五 第一次研究生 Presentation:
    方楠 阮杰 李相 赵果
    实验 3 于21日截止
    讲座 4 7月23日 周二 强化学习
    课程材料:
    强化学习讲义 [pdf]
    参考资料:
    DeepMind 深度强化学习视频 [Video]
    DeepMind 与 UCL 进阶课程 [Video]
    台大李宏毅教授强化学习 [Video]
    其它参考资料仅作为内部文件
    实验 4 强化学习入门
    7月25日前提交初稿
    讨论 7月26日 周五 第二次研究生 Presentation:
    高鹏昺 陆烨炜 张昊文 叶丹惠
    实验 4 于28日截止
    讲座 5 7月30日 周二 深度神经网络与卷积神经网络
    课程材料:
    深度神经网络基础与应用 [pdf]
    参考资料:
    神经网络系列博客 [1] [2] [3]
    吴恩达. 深度学习 专项课程 [Video]
    李宏毅. 深度学习 2017 [Youtube]
    经典论文:
    [LeNet] [AlexNet] [VGGNet] [NiNet] [GoogLeNet] [ResNet] [DenseNet] [MobileNets] [ShuffleNet]
    推荐阅读:
    [Deep Inside]
    [Adaptive Learning Rate and Momentum]
    [Momentum, Conjugate Gradient Learning]
    实验 5 Pytorch 入门:实战卷积神经网络
    8月1日前提交初稿
    讨论 8月2日 周五 第三次研究生 Presentation:
    朱俊杰 腾龙斌 黄洁
    崔雨豪:Pytorch 实现 CNN [Gist]
    实验 5 于4日截止
    讲座 6 8月6日 周二 循环神经网络RNN
    课程材料:
    Recurrent Neural Networks [CS 231n]
    参考资料:
    卷积神经网络助教博客 [HTML]
    DL book RNN chapter [HTML]
    Understanding LSTM Networks [HTML]
    实验 6 实战循环神经网络与 LSTM
    8月8日前提交初稿
    讨论 8月9日 周五 由于台风过境,讨论课推迟到下一周
    实验 6 于11日截止
    讲座 7 8月13日 周二 生成对抗网络GAN
    生成对抗网络 [pdf]
    参考资料:
    李宏毅生成对抗网络 [Bilibili]
    相关论文链接请在课件内查看
    实验 7 生成对抗网络实战与拓展
    讨论 8月16日 周五 第四次研究生 Presentation:
    袁富 张昊文 甘银兰
    王涛 刘回归 杨津 陈志
    实验 7 于18日截止
    项目实践 8月19日 始
    至 9月6日
    选定导师,由导师指定课题及任务,阅读论文及编程实践,并提交技术报告。
    最终答辩 9月7日 周五 学生个人总结报告

    讲师

    俞俊
    (Lab Chief)
    高飞
    (Head Teacher)
    谭敏

    余宙

    朱素果

    顾晓玲

    詹忆冰

    助教

    曹骁威
    (Head TA)
    尧旻昊

    姚宗贵
    (PhD Student)
    注意:所有线上答疑都将在 Issues 进行,推荐线下团队之间事先互相交流探讨。 当你知道问题的答案时,或者具有解决问题的思路时,强烈鼓励你回答其他学生的问题。 另外由于老师们平时比较忙碌,请尽可能提出具有建设性的问题, 提出问题的最终目的是为了思考并解决它,而不是意图强调发现问题这一行为。 如果需要进行长期交谈,或有着私人事务, 请提前以邮件或其它被允许的形式告知老师,询问是否近期有 Office Hour 并进行预约。 助教将不会提供 IM 等私人联系方式,与助教进行交流的内容局限于课程相关,课外内容请自学。 助教将于每天上午 9:00 查看 Issues 发帖,回复时间通常在 24 小时以内, 可在 Project 版面查看 助教相关事宜
    预备知识
  • 掌握基础计算机原理知识与技能,了解 Linux 系统的使用,精通 Python 编程,或已有其它编程语言背景。
  • 熟悉多元微积分,线性代数与概率论等工科基础数学知识,参考知识回顾 [线性代数] [概率论] [*凸优化].
  • 如果你想提前自学课程相关内容,可以参考旧学期归档,或是助教整理的 深度学习 系列文章, 其中给出了更多的参考资料。
  • 常见问题解答
    - 我没有以线下的形式参加这次暑期课程,可以线上自学吗?
    - 没有问题,但效果可能不如线下课程。所有公开的材料都可以直接获取,只是我们不提供答疑服务。 本课程面向研究生,因此默认学生具有一定的自学能力,留出问题讨论空间,而不会将所有学习内容体现在讲座中。
    - 有没有必须使用的教科书或者其它类型的资料?
    - 没有。所需基础资料会在课前给出,并在后续完善,参考资料不全是必须阅读内容,依个人情况而定。
    - 如何在其它地方合理使用课程中给出的相关材料?
    - 实验室原创材料作品采用 CC BY-NC-SA 3.0 协议,以链接形式给出的材料请参考对应的许可权,网页源码采用 MIT 协议。
    - 我的编程能力比较薄弱,接受能力较差,害怕跟不上进度,怎么办?
    - 在课程正式开始前,应当提前熟悉编程环境,如果没能够及时完成当前周的作业, 可能需要花更多的时间参与周五的讨论,并在讨论结束后合理安排时间进行练习。我们强烈鼓励学生组建学习小组,但是, 每个学生必须独立写下解决方案。使用互联网解决问题是信息时代工科学生必须具备的能力, 你可以自行寻找更多类型的资料来增强自己的理解,但对网络上的内容需持有怀疑态度,不可盲目相信。
    - 我的英语能力比较薄弱,看不懂拓展材料,怎么办?
    - 同上点提到的方法,短期内使用互联网可以搜索到一些中文翻译材料,或是使用谷歌翻译。(关键是赶紧学好英语!)
    - 为什么在整体课程安排中,没有留出单独的期中休息日?
    - 每周给出的自主学习时间是相当充裕的,需根据自身学习情况做出合理安排,其中包含了休息时间。
    - 如何在线上讨论中使用 LaTeX 排版数学符号与公式?
    - GitHub 的 Issues 板块支持 Markdown 语法,可以在谷歌浏览器中安装 MathJax Plugin for Github 插件。