视频分享 | 斯坦福 CS231n 实战技巧:TensorFlow 实现 DQN、图像分类和网络优化、AI 视觉芯片

2018 年 4 月 23 日 AI研习社 sanman

AI 研习社按:斯坦福大学的 CS231n 主要介绍卷积神经网络相关的深度学习知识,课程从算法的公式到实践进行了全面的介绍。基于该课程的三场实战分享直播课近期在 AI 研习社上线。

在 AI 研习社直播课上,张智伟,李振,陈闽川三位老师分别为大家带来了使用 TensorFlow 实现 DQN 实战、深入讲解图像分类和网络优化以及 AI 视觉芯片共三场干货满满的直播。该课程结合 CS231n 课程同时将课程内容与应用领域连接起来,让大家可以真正的学会如何应用深度学习。

以下是嘉宾分享内容:

  张智伟:手把手教你用 TensorFlow 实现 DQN

本次分享的内容主要集中在 CS231n 第十四课 —— Deep Reinforcement Learning。

手把手教你用 TensorFlow 实现 DQN


(完整视频前往mooc.ai/course/477)

首先回顾深度学习的几大分支。

什么是强化学习?强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。强化学习有两个主体,agent 和 environment,每个时间节点,agent 会输出一个 action 并传送个环境,环境会产生下一个状态以及产生一个奖励并输入 agent,从而构成闭合的循环。

用数学来描述这个过程就是马尔可夫决策过程(MDP),马尔可夫决策过程(Markov Decision Process, MDP)也具有马尔可夫性,与上面不同的是 MDP 考虑了动作,即系统下个状态不仅和当前的状态有关,也和当前采取的动作有关。MDP 实际上是一个五元组,由五个元素组成。

什么是 Q-Learning?Q 为动作效用函数(action-utility function),用于评价在特定状态下采取某个动作的优劣,可以将之理解为智能体(Agent)的大脑。Q-Learning 的核心是贝尔曼方程,它给我们的启示是我们可以用下一时刻的最佳 Q 值函数表示当前的最佳 Q 值函数。这样就可以迭代的求贝尔曼方程。

在深度学习的背景下,我们可以用神经网络拟合出最佳 Q 函数。有了神经网络该如何优化它的函数呢?还是要用到贝尔曼方程。

接下来给大家解读一下 DQN 算法,主要分为六个部分,对我们比较有用的包含在第二部分和第四部分。

这篇论文我总结了有三个亮点。一是 replay memory,二是训练网络与计算标签的网络分离,三是网络结构。

介绍完三个亮点,我们再来看一下算法流程。

讲了论文,我们开始自己使用 TensorFlow 来实现一个神经网络。主要用的库包括 TensorFlow、numpy(数组)、pil(基础图像操作)、gym(openai 开源的库)、random。

最后把代码链接发给大家,如有疑问可以看源码:https://github.com/BigJerry/TooNaive/blob/master/DQN/DQN.py 

  李振:图像分类与网络优化

首先还是普及一下深度学习的基本概念,然后再给大家介绍一下我今天分享的思路,并介绍一些我个人的关于应用的意见。

图像分类与网络优化


(完整视频前往mooc.ai/course/477)

接下来给大家分享一下我个人对图像分类的一些理解与思路。

首先是任务分析,任务分析主要包括任务的基本情况和数据的基本情况。

确定好任务之后是选择合适的网络,这里我建议大家可以选择已经被验证的比较好的网络,不要急着写自己的网络。网络选完接着就是平台选择,个人建议还是选一些比较容易入手,用的人比较多,资源又丰富的平台。

选定平台后就可以进行预训练,准备数据库。然后就是比较关键的内容即网络的训练、测试与优化,这些内容我跟大家分享一下我个人的技巧。

上面介绍的网络优化中我还想分享一些其他的技巧。我们应优先解决影响最大的问题,即从错误样本里抽取一定数量的样本并进行分类,先解决最容易纠正的。我们还可以用表格记录尝试的的情况。

这些就是我今天全部的分享。

  陈闽川:我如何跨界进入AI行业开发视觉芯片

首先我介绍一下自己的学习经历,我硕士毕业之后主要从事芯片的电子设计自动化的工作,主要负责芯片的物理设计,包括芯片的布局布线,还有芯片的自动化流程的开发。这些经历对我进入AI行业有一定帮助。

之后我学习过一些斯坦福公开课比如CS231n,吴恩达的机器学习,以及Coursera的并行计算编程等。我自己也看了一些书,比如周志华的机器学习等。我这次主要想分享一些我转行的经历,以及我的一些观点和视角。

我如何跨界进入AI行业开发视觉芯片


(完整视频前往mooc.ai/course/477)

首先我想从毕加索的画说起。

毕加索作为二十世纪最杰出的画家之一,他曾经说过一句话「我画的不是事物的表象,而是不能用肉眼看出的本质」。介绍毕加索和 CS231n 有什么关系呢?我觉得毕加索的画风类似于深度学习的特征提取。

他从事物的线条逐渐抽象不断提取特征十分类似卷积神经网络中图像识别、图像理解的过程。

接下来我想介绍一下分割迁移,我觉得学习应该以兴趣为导向,我刚开始接触深度学习的时候对风格迁移非常感兴趣。图片的风格迁移的例子如下。

风格迁移的思路是用深度学习学到的特征中的统计信息(分布)描述图像风格。在卷积网络中使用不同的层来提取不同的特征。

自己动手试一下实现风格迁移可以更加感觉到学习的趣味。接下来,我介绍一下经典的神经网络的框架结构。主要包括 LeNet、ResNet 等。

下面我们主要介绍一下深度学习对芯片行业的影响,目前比较火热的商业场景包括消费电子、安防监控、自动驾驶汽车和云计算。现在比较大的的芯片公司如下。

最后我也希望国内在这波 AI 浪潮中可以出现世界级的芯片公司。在此引用一段谷歌研究员吴军的话:「一百多年来,总有一些公司很幸运的、有意识或无意识的站在技术革命的浪尖之上。对于一个弄潮的年轻人来说,最幸运的,莫过于赶上一波大潮。」

雷锋网认为目前 AI 发展正处于鼎盛时期,三位老师都从实践的角度向大家展示了 CS231n 涉及的内容。希望我们的课程可以给大家一些启发。

NLP 工程师入门实践班

三大模块,五大应用,知识点全覆盖;

海外博士讲师,丰富项目分享经验;

理论+实践,带你实战典型行业应用;

专业答疑社群,讨论得出新知。


新人福利


关注 AI 研习社(okweiwu),回复  1  领取

【超过 1000G 神经网络 / AI / 大数据资料】


看CS231n实战分享课完整回顾

登录查看更多
6

相关内容

斯坦福大学CS231n课程
《强化学习—使用 Open AI、TensorFlow和Keras实现》174页pdf
专知会员服务
136+阅读 · 2020年3月1日
深度强化学习策略梯度教程,53页ppt
专知会员服务
178+阅读 · 2020年2月1日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
从入门到精通-Tensorflow深度强化学习课程
深度学习与NLP
23+阅读 · 2019年3月7日
第4弹!CS231n 2017中文字幕视频:介绍神经网络
AI研习社
7+阅读 · 2017年11月30日
Generalization and Regularization in DQN
Arxiv
6+阅读 · 2019年1月30日
dynnode2vec: Scalable Dynamic Network Embedding
Arxiv
14+阅读 · 2018年12月6日
Neural Architecture Optimization
Arxiv
8+阅读 · 2018年9月5日
Arxiv
3+阅读 · 2018年1月31日
Arxiv
4+阅读 · 2017年7月25日
VIP会员
Top
微信扫码咨询专知VIP会员