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 Issues

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

说明

  • 汇总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
    • 清华数据科学研究院
    • 教师团队(志愿者)

其他

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

【结业答辩】内容安排

结业安排

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

【第四课】作业汇总-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会不定期审阅作业

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.