Javen Chen's Blog

Tech and Life~

动机

最近在极客时间上买了一个课程名字叫《Python核心技术与实战》。链接戳这里:https://time.geekbang.org/column/intro/176

我挺喜欢这种课程形式:一个业内比较资深的老师整理内容,然后找一个专业的声优再朗读一遍;文章中还有一些代码。我比较习惯上下班的时候听,这种碎片时间巩固下编程语言还是可以的。

不过后面感觉这个课程讲的不错,有些内容值得复习和深度阅读,因此开这篇笔记。

基础篇

Read more »

简述

Rasa是一个开源的基于机器学习的chatbot开发框架。其主要分成两大模块:Rasa NLU和Rasa Core。使用Rasa NLU + Rasa Core,开发者可以迅速构建自己的chatbot。本文先是分析了Rasa的结构组成,然后介绍开发者如何方便地利用Rasa构建自己的chatbot。

本文面向需要使用Rasa快速构建自己的chatbot的同学,还有想进一步了解Rasa框架结构的同学,以及想学习Rasa构建一个自己的chatbot框架的同学。

快速安装

1
pip3 install rasa-x --extra-index-url https://pypi.rasa.com/simple
Read more »

小爱开放平台技能开发平台:https://xiaoai.mi.com/skill/create/index

音箱 Hello World 自定义技能: https://xiaoai.mi.com/documents/Home?type=/api/doc/render_markdown/SkillAccess/SkillDocument/SkillExample/SoundboxHelloWorld

多轮对话

平台内置的模型工具中提供了两种实现上下文对话的功能。一是连续对话语料,能够实现在当前意图的多轮对话中进行槽位信息的传递,实现多轮对话。另外一个是前置意图,能够实现跨意图中的槽位信息传递。 https://xiaoai.mi.com/documents/Home?type=/api/doc/render_markdown/SkillAccess/BackendDocument/ImportantConcepts

续对话语料

Read more »

官网:https://ai.baidu.com/unit/home

UNIT(Understanding and Interaction Technology),是一个可定制的对话系统开发平台。

使用流程

  • 1.梳理业务逻辑。
  • 2.在网站上配置技能。
  • 3.标注对话数据。分成数据上传和交互式生成两种方式。
  • 4.对话训练和验证。
  • 5.在百度云上创建应用。

案例

Read more »

简介

稍微偏底层的网络框架:

  • 可以跨语言跨平台调用。
  • 可以用inprocIPCTCPTIPCmulticast多途径传递数据。
  • 提供常用的模式,如pub-sub(发布-订阅)push-pull(推送-拉取)router-dealer(路由器-经销商)等模式。
  • 快速的异步IO引擎。
  • 开源、免费。

文档

Read more »

7. n-step Bootstrapping

n-step Bootstrapping简介

  • MC方法和一步TD方法的结合
  • 资格痕迹eligibility traces,具体见第12章)的基础先验知识。

n-step TD Prediction

  • MC对应的回报:$G_t = R_{t+1}+\gamma R_{t+2}+…+\gamma^{T-t-1}R_T$
  • 一步TD对应的回报:$G_{t:t+1} = R_{t+1} + \gamma V_t(S_{t+1})$
  • n-step的回报:$G_{t:t+n} = R_{t+1} + \gamma R_{t+2}+…+\gamma^{n-1}R_{t+n}+\gamma^nV_{t+n+1}(S_{t+n})$
Read more »

6. Temporal-Difference Learning

时序差分(Temporal-Difference)简介

  • 时序差分是强化学习的核心观点。
  • 时序差分是DP和MC方法的结合。
  • MC要等一个完整的序列结束,比如玩21点扑克,直到玩完才能知道是胜是负;相反,时序差分每经历一步,都会更新价值函数,因为每一步都会观察到一个新的Reward,比如Grid World,每走一步都知道reward是什么。
  • TD往往比MC高效;TD和MC都使用经验(experience)来解决预测问题。
  • 所谓差分就是下一个时刻的估计和当前时刻的估计的差。

什么是stationary?

  • stationary:环境不随时间变化而变化;
  • non-stationary:环境会随时间变化而变化。
Read more »

5. Monte Carlo Methods

蒙特卡洛方法简介

使用蒙特卡洛方法不需要像DP一样,对环境要有完整的知识,而是通过经验去学习。所谓经验就是对状态、动作、奖励的采样(sample sequence)。

用sample的均值去近似期望

使用蒙特卡洛通常需要完整的episode,因此蒙特卡洛的更新方式更像是episode-by-episode,而不是像DP的step-by-step

Read more »

4. Dynamic Programming

DP方法简介

  • 由于其大量的计算损耗,已经不实用,但理论上非常重要
  • 本书后续的所有方法可以看做想要取得和DP类似的效果;只不过是减少了计算或者假设没有完美的环境模型。
  • 假设解决的问题是有限的MDP,即给定动作a,状态s,和奖励r,可以通过$p(s’,r|s,a)$描述动态变化。

Policy Evaluation

评估一个策略的好坏。

Read more »
0%