Coder Social home page Coder Social logo

wqw547243068 / school-of-ai-beijing Goto Github PK

View Code? Open in Web Editor NEW
21.0 5.0 16.0 62.03 MB

School of AI 北京

Home Page: https://wqw547243068.github.io/school-of-ai-beijing/

License: MIT License

Jupyter Notebook 99.97% HTML 0.01% Python 0.02%
deep-learning siraj-raval school-of-ai bigdata-digest tsinghua-university fastai

school-of-ai-beijing's Introduction

GitHub stars GitHub forks GitHub issues GitHub release GitHub license


<script type="text/javascript" src="//rf.revolvermaps.com/0/0/1.js?i=5ccx59t5xwh&s=350&m=7&v=true&r=false&b=000000&n=false&c=ff0000" async="async"></script>

如果在你浏览的是github里的readme文件,无法查看视频,请点击The School of AI Beijing

目录


关于SoAI-About The School of AI

logo

  • An international educational non-profit platform dedicated to studying, teaching and creating AI to help solve the world’s most difficult problems. Our mission is to offer a world-class AI education to anyone on Earth for free.
  • Siraj对SoAI的介绍
<iframe src="//player.bilibili.com/player.html?aid=37767979&cid=66394634&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" height="600" width="100%"> </iframe>
  • 北京分部有中文、英文两个版本,详情:
    • 英语分支,每周一晚在朝阳,Max主讲,github en
    • 中文分支,每周末下午17:00,清华大学,海淀区双清路双清大厦4号楼4层清华数据科学研究院,王奇文等主讲,采用翻转课堂方式 first,flipped

SoAI-北京

Fast.AI

开发环境-Dev environment

  • 多种方式:本地、云环境,由于不少项目需要GPU支持,建议采用云环境

本地环境-Local env

  • 为什么大家都用jupyter notebook?深度学习代码只能在notebook上跑吗?
  • 非也,notebook主要用于教学展示,代码分享,工程落地时,必须转成单个的python文件,按照机器学习的基本流程划分文件及目录,常见的结构如下:
    • data:数据目录,包含:
      • train.txt
      • test.txt
      • validation.txt(可选)
    • bin:核心代码,主要包含:
      • model.py:模型定义
      • feature.py:特征工程部分,离线训练和在线评估都有
      • train.py:模型训练代码
      • predict.py:在线预测(inference,推断)
    • model:模型存放
    • log:日志目录
      • 训练日志,如tensorboard日志
    • conf:配置文件
    • common:公共库、组件
      • eva.py:效果评估

云环境-Cloud env

学习资料-Learning material

入门必读-Must read for beginners

课程列表-Syllabus

Fast.AI系列速成实战课程,时间安排如下:

  • 注意:这是github page搭建的主页,如想进入github,请点击“View on Github”,示例如下:
  • 历次ppt课件资源
时间-Date 章节-Chapter 题目-Topic 预习资源-Resources 正式解读-Interpretation 作业-Homework
2019-04-21 介绍 深度学习入门指南 请完成ppt里提到的作业,长期 这节课长达2h,内容非常多,覆盖深度学习入门几乎全部知识点 完整看完80+页的ppt,并预习第二课
2018-04-27 第一课 宠物图片分类,英文视频,中文版笔记 Github代码 安装fastai环境并动手实现,代码解析:Github本地,Colab,Kaggle 亲手执行本次代码,熟悉fastai环境
2018-05-12 第二课 特征工程及SGD,英文视频,中文版笔记 Github代码 github,colab,kaggle示例 ①熟悉fastai+kaggle环境②执行scikit-learn代码,github库里,code/lecture_2目录下 ③学完google机器学习速成课速成课(地址见本页面的入门必读) ④预习神经网络fastai第五课-反向传播与神经网络
2018-05-* 第三课 多标签分类,英文视频,中文版笔记 Github代码 - 作业
2018-05-* 第四课 NLP&推荐系统,英文视频,中文版笔记 Github代码 - 作业
2018-05-* 第五课 从反向传播到神经网络,英文视频,中文版笔记 Github代码 github代码,ppt 作业
2018-05-* 第六课 正则化卷积,英文视频,中文版笔记 Github代码 - 作业
2018-05-* 第七课 Resnets、GAN等,英文视频,中文版笔记 Github代码 - 作业
- - - - - -

最新课程安排见project区Fastai中文笔记kaggle中文代码

课程内容-Contents

  • 本教程以fastai的速成课为蓝本(注意:需要vpn,如果没有,请往下看,找bilibili上的视频) fastai
  • 如有问题,可以去SoAI论坛提问

第一课 深度学习入门指南-Intro to Deep Learning

  • 深度学习入门全貌,请仔细看

第二课 图像分类-Image Classification

  • 主题:fastai课程的第一课进行讨论:图像分类。
  • 时间:于4月27日星期日下午5点举行
  • 地点:双清路77号院双清大厦4号楼4层清华数据科学研究院

议程:

  • 介绍fastai第1课的必要资源,如何获取fastai的资源
  • 学生现场演示第一课作业
  • 自由问答, 遇到困难

视频资料:(来自哔哩哔哩

  • <iframe src="//player.bilibili.com/player.html?aid=46252318&cid=81036516&page=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true" height="600" width="100%"> </iframe>

作业汇总-Homework Summary

参考资料-References

CNN和CV

  1. iris数据集+机器学习实战

  2. CNN简介

  3. 应用

  4. 反思

结业答辩-Graduation presentations

介绍 Introduction

  • 时间:2019-06-16
  • 中文分支的往期内容及课件,见地址
  • 答辩现场,由于学员较多,时间长,从16:00-19:40,衷心感谢各位坚持到最后 image image

中文分支 Chinese branch

  • 第一位 邢畅, xingchang, 16:07,学习总结,在地理信息系统里的应用
    • 介绍了GIS领域的应用,整理了详细的学习笔记、脑图
  • 第二位 张天奇,Tianqi.Zhang,16:27,kaggle比赛,基于新闻语料的股价涨跌预测,Eric Zhang
    • 成绩:356/2800, ≈13%,4个人的团队,负责特征工程+多线程实现,xgboost主要负责分类
    • 提问:
      • xGBoost的原理,既可以用于分类,还可以用于回归
      • 代码里将的metric用的是MSE,而xgb导入的是分类器,看似矛盾?
  • 第三位 五个人,推荐资料:数学基础张宇36讲,课程内容回顾;
    • 蒋宝尚,mnist的python实现,文本分析(大爆炸+华为+五月天)
    • 周启红,学术文章关键词提取,学习过程中遇到的坑儿
    • 王瑞华,视频汇报
  • 第四位 黄安付,17:15,专题报告:fit_one_cycle()详解
  • 第五位 李靖华,17:36,学习总结
    • git,学习方法总结
    • 实习经历,4w张图片分类,用代码1天完成,做事情时先别急着动手
    • 成功拿到创新工场的实习机会,新人到职场的华丽蜕变
  • 总结
    • 答辩里的几个技术点可以继续深挖:
      • ①sgd各种算法演化,动量和梯度分别对应哪一块?这道题是新手的进阶题,打怪升级的典型门槛
      • ②kaggle项目里的矛盾点要必要澄清下,基于新闻预测股价,为什么用xgb分类?特征工程部分可以继续系统化,不满足于简单的数据处理
      • ③实习经历里的4w张图像标注任务可以补充描述下,说不定有更好的办法

英文分支 English branch

资料汇总-Resources

  • 部分学员的答辩整理已收集到目录, 欢迎大家积极分享自己的资料,共同学习,添加方式,回复本帖
  • Part of the resources have been collected to this address, it's recommended to share your own ppt/code/post here by reply bellow, learn from each other
  • 大部分基础知识以及扩展资料都在之前的课程ppt中,多看SoAI主页The School of AI Beijing毕业了并不代表学完了,或者真的学好了,请大家有空多温习,少走弯路

交流分享-Share

欢迎大家入群分享、交流!

合作方-Partners

  • 大数据文摘+清华数据科学院研究院

bdd

  • 举办地点:清华大学
  • 时间:每周末一次,如想参加,请先文摘助手微信,往期海报如下:

bdd


<iframe src="https://ghbtns.com/github-btn.html?user=wqw547243068&repo=school-of-ai-beijing&type=watch&count=true&size=large" allowtransparency="true" frameborder="0" scrolling="0" width="156px" height="30px"></iframe> <iframe src="https://ghbtns.com/github-btn.html?user=wqw547243068&repo=school-of-ai-beijing&type=fork&count=true&size=large" allowtransparency="true" frameborder="0" scrolling="0" width="156px" height="30px"></iframe> --- <script type="text/javascript" src="//rf.revolvermaps.com/0/0/1.js?i=5ccx59t5xwh&s=350&m=7&v=true&r=false&b=000000&n=false&c=ff0000" async="async"></script> ---
<script> window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"鹤啸九天的技术博客","bdMini":"2","bdMiniList":false,"bdPic":"http://news.zx123.cn/uploadfile/news68/1800961ad02811e7b1c400163e010ef1.jpg","bdStyle":"0","bdSize":"32"},"share":{},"image":{"viewList":["qzone","tsina","tqq","renren","weixin"],"viewText":"分享到:","viewSize":"32"},"selectShare":{"bdContainerClass":null,"bdSelectMiniList":["qzone","tsina","tqq","renren","weixin"]}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)]; </script>

评论区

<script type="text/javascript"> (function(d, s) { var j, e = d.getElementsByTagName(s)[0];
   if (typeof LivereTower === 'function') { return; }

   j = d.createElement(s);
   j.src = 'https://cdn-city.livere.com/js/embed.dist.js';
   j.async = true;

   e.parentNode.insertBefore(j, e);

})(document, 'script'); </script> 为正常使用来必力评论功能请激活JavaScript


<script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?1da5e6aa58efde9ff55242aece940f6a"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script>
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-139247575-2"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-139247575-2'); </script>

school-of-ai-beijing's People

Contributors

jiangbaosahng avatar wqw547243068 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

school-of-ai-beijing's Issues

【第四课】作业汇总-RNN与NLP专题

第三课作业

温故

  • 3brown1blue的神经网络系列视频,至少看一遍,建议做笔记,记录到自己的github上,把链接贴上来
  • 参考课堂上的示例代码,亲自用python实现神经网络,求解异或问题
    • 最好把nilson的神经网络与深度学习这本书买下来,好好研究
  • 学一门深度学习工具包:tensorflow、pytorch、keras三选一,实现mnist分类

知新

  • 主题:RNN与NLP,对应fastai第四课
  • 案例:
    • 文本挖掘
    • 聊天机器人

其它

  • 第一课的宠物分类已经有6人提交作业,好几个人不只是执行代码,还做了进一步的优化:正则表达式、学习率精调、分组实验等,最终王瑞华的准确率最高95.66%
  • 优化思路还有不少,比如上次课提到的inception v4网络
  • 欢迎大家继续比拼下去,看谁最终取胜

【问题】Kaggle环境问题——提问示例

Kaggle账号无法激活

  • 没有vpn,无法用colab,只能用kaggle

问题描述

  • 注册时,收不到验证码,导致激活屡屡失败

image


注意事项

  • 提问前,请先确认已尝试谷歌、百度
  • 问题精简、扼要,覆盖基本信息
    • 什么问题
    • 运行环境
    • 详细症状
  • 尊重他人,谦虚谨慎,谨言慎行

附录

提问的艺术

示例

  • 针对kaggle注册问题,百度搜索就能找到答案

image

【公告】如何提交作业?

作业提交

步骤如下:

准备自己的github

  • 创建项目(repo)

如果不会用github,自行搜索资料,这是第一次课里提到的必备基本功

  • 作业(python或jupyter)上传至repo、或提供colab地址
  • 记录作业地址

作业示例

  • 去issue区,找对应的帖子(比如【第一课】作业汇总),按以下格式提交
  • 第一课-wqw-github
    • 注明第几课、姓名、代码地址(github/colab/kaggle等),添加到对应的版块(online+offline)
    • 运行环境:本地、云端等
    • 效果:准确率多少
    • 问题:有什么困惑

访问SoAI作业区

  • 区分渠道:线上(直播)、线下区(课堂)
  • 备注:由于project卡片区存在权限问题,操作麻烦,建议直接提交至issue区,某次课程的帖子下,同时附加自己的github账号,管理员会加入contributor名单中,然后就可以编辑project卡片

新建卡片

  • 格式参考示例
  • image

复制作业地址

  • image
  • 建议分享到群里

  • SoAI会不定期审阅作业

【结业答辩】内容安排

结业安排

5月25日,中文分支的5次课程结束,接下来是验收环节

  • 时间:两周后的6月16日下午17:00-19:00
  • 地点:老地方,清华数据科学研究院
  • 内容:大家任选主题,(单选、多选不限),中英文分支一起汇报
  • 分组:根据时间、主题,我们会做适当调整
  • 评估:平时作业+现场表现(权重60%:40%),根据最终得分,决定是否符合毕业资质,颁发证书

选题

  • 请大家于本周五(5月31日)前,完成报名及选题
    • 报名方式:本issue下回复即可
  • 格式
  • 汇报人:小明,github账号,线下班/线上班,参加3次课程
  • 平时作业:必选三道(持续更新链接)+ 可选(非必须,持续更新链接)
  • 汇报主题:学习总结/专题报告-学习率优化方案/Kaggle比赛

平时作业

  • 平时作业:中文系列的5次课中,布置了很多作业,不要求都完成:
    • 【必选】宠物分类实践:动手实践,最好有自己的优化
    • 【必选】机器学习专题:熟记机器学习基本概念、流程,完成iris分类、回归预测案例,同时拆解第一课的宠物分类代码,看看有哪些环节缺失,提出自己的见解
    • 【必选】神经网络专题:神经网络基本构成,用tf、pytorch、keras实现mnist分类(如果是别的项目更好)
    • 【可选】CNN与CV:CNN基本流程,CV应用点,想办法去优化宠物分类准确率
    • 【可选】RNN与NLP:RNN基本流程,NLP应用点,文本挖掘实战,聊天机器人实战
  • 注:以上作业资料甚至代码都在ppt、主页里

汇报主题

  • 主要有三类,大家任选一个,鼓励多选
  • 按照难易程度递增如下:
    • (1)学习总结:汇总历次课程的心得,总结到自己的github/ppt,一定要是自己写的,别copy,目的是让大家构建自己的深度学习知识体系,横向打基础
    • (2)专题报告:根据课程中遇到的问题,选一个技术点,深入研究,整理出来(github/ppt),给大家讲解,这部分属于深度上的扩展
    • (3)Kaggle比赛:去kaggle选一个题目,尝试解决,名次最好能达到top 30%,同时整理自己的参赛经过

备注

  • 希望大家好好准备
  • 学习是自己的事情,越是认真对待,学到的越多,对自己负责,加油!

image

【问题】学员疑惑集中解答

说明

  • 汇总alpha收集的问题,并集中解答(alpha+aidar+wang)

为什么来听课?

  • 只是感兴趣
    • 第一课的ppt足矣
  • 想亲手实践深度学习
    • 欢迎!按照课程体系学习就好
  • 感觉好难,还是放弃吧
    • 心诚则灵,既然花了时间,为什么要半途而废呢?再坚持坚持,一定能熬到美好的明天
  • aidar说大家学习的投入程度至少这样:

If students don't spend on average 8-10 hours a week, they can't learn effectively.That's the recommendation from fastai course. It includes watching a video (2hrs), going through all Jupyter notebooks (2- 4 hours), doing your own project (2-4 hours). So when we have a workshop, students simply present their results, ask questions, involve in discussions... That's the model.

  • 当然,个人精力有限,都有自己的事情,难以保证。
  • 但是,你的基础是什么样,想达到什么程度,就需要付出相应的努力,底子越差越需要加倍努力,没有随随便便的成功,别想着不劳而获。

为什么想学深度学习?

  • 目的:问问自己,是简单了解,还是走科研道路,投身工业界,或者只是玩玩?
    • 简单了解:看一次课ppt,足矣
    • 科研的追求是什么呢?是拿到项目和产出论文,实验室环境是不考虑成本的,而作为一个工程师最先考虑的就是成本,把一个实验室算法迁移到工程算法,运行起来,产生利润,差距很大,有很多事情要做,代价很多,包括数据获取,人力,计算资源等,每一项都是公司的钱。
    • 大家追求不同,对课堂内容的学习侧重也会不同。请大家想清楚要走那条路
    • 玩玩儿?are you kidding me?还不如打一场游戏、健身呢

我就想学深度学习,越快越好,别跟我扯机器学习

  • 好多同学上来就说要学人工智能,却连AI与DL、ML的关系都傻傻分不清
    • 关于人工智能,有很多说烂了的梗,比如说:

当我们说artificial intelligence的时,实际上是artificial artificial-intelligence,就是“人工人工智能”。

  • 人工智能不像传闻中的那么fancy,需要扎扎实实的努力,为什么强调底层原理,因为调包党很脆弱,连工程师都算不上,工程师需要在效率上追求极致,如果不懂原理,不太可能提升效率,调包党很容易被AI本身替代(AutoML)。
  • 老师在课堂上的原话:如果有人告诉你不用学机器学习,直接学深度学习,别信。两者的关系像是是父子,没有父母,哪有你们,机器学习已经有40-50岁了,而深度学习还是个13岁的小孩,靠机器学习供养,6岁时凭借Alex net在视觉领域崭露头角,就自以为可以独立闯江湖了?too simple,sometimes naive,^_^
  • 技术的发展不是孤立的,是连续的。卷积、lstm等深度学习概念在90年代就已经出现了,只是受制于当时的算力与数据没办法进一步发展。大家在进行学习的时候,还是要保证连贯性,不要跳级学习。(推荐一本经典的机器学习书籍:《prml,模式识别与机器学习》),ps:模式识别是机器学习的大哥哥

既然以fastai为蓝本,为什么不讲fastai工具包源码?

  • fastai是一个小众、非主流工具,抽象度很高(以pytorch为基础,比keras还高),代码布局上也有强烈的个人喜好,并不符合企业标准。
  • 适用条件:需要具备至少1年的编程基础,机器学习基础,并不适合零基础入门学习
  • 应用场景:主要是kaggle比赛,集成很多先进的算法,调用方便,事实上作者本人就是竞赛达人,非名校名企背景——如果底子不够,强行学习,很容易迷失方向,成为传说中的“调包党”
  • 综上,老师对课程做了调整,很少讲fastai框架、源码,而是讲背后的原理。为什么呢?
    • ①老师精力不够,作为志愿者,跟大家一样,并不能抽出大量时间准备,即便是这几次课,已经牺牲不少个人时间
    • ②学fastai收益不高,fastai函数封装太多,把用户当“傻瓜”,去打kaggle是可以的,快速拿到名次,只是工业界不用这个工具包,老师面试过很多人,对于kaggle获奖者,都会从深度+宽度上追问,不幸的是,不少人虽然拿了好名次,但连基本的机器学习流程都不懂,典型的学院派,只好刷掉
    • ③学东西尽可能贴近底层,层级越高学得越不扎实,还记得第一课里的两张图吗?

image

  - 第一张图:被时代淘汰的程序员沿街乞讨(虽是调侃,但值得警醒)
  - 

image

  - 第二张图:demo和项目是大树上的花果,理论和工程功底是树根和树干,显然,如果基础不牢,再多的项目都无济于事 
  • 另外补充了机器学习和深度学习基础知识,老师也反复强调:不要花太多精力在工具使用上,应该多了解底层原理,否则会很容易被替代,即便是学工具,也要学主流工具,如tensorflow,pytorch。

底层原理是什么?

  • 要看应用场景,对于深度学习,需要知道调用的函数在干嘛,对应于机器学习里哪些环节,为什么会这么做,有没有别的方法?这时的底层原理是机器学习组件
  • 如果是大型web应用,原理就是背后的http协议,浏览器渲染,语言逻辑,数据库等
  • 工程能力,是如何写代码、管理代码、系统集成、回归测试、版本控制等,工程能力直接影响算法的底层架构和系统,还有数学知识,因为建模离不开背后的数学原理。
  • 借用一个广告:“广告是路桥工程,是一砖一石的去往前铺盖,有点尘土,而不是飞天遁地和鲜衣怒马,所谓的才华是基本功的溢出。”
  • AI的高大上建立在自身扎实的基础之上。

提示

  • 这次课虽是免费的,但背后的付出不比收费课程少,希望大家珍惜组织方的努力和付出,不要以为免费没好货
  • 实际上,不少免费视频质量非常高,比如3brown1blue的视频、andrew ng、李宏毅,还有fastai
  • 相关人员
    • 大数据文摘:alpha(稀牛学院)、子敏、宝尚等
    • Shcool of ai Beijing:aidar、max、chris
    • 清华数据科学研究院
    • 教师团队(志愿者)

其他

  • 如果有什么问题,欢迎大家留言

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.