NLP

AI基础

预测性建模

在给定数据的基础上提升预测模型的准确率,只关注模型的预测准确性

而统计学模型主要关注模型的可解释性

优化问题

指如何根据已有的数学模型求出最优解的过程

增强学习

如何在动态环境下做出正确的决定,游戏AI、推荐、排名

其他分类

AI集中在对非结构化数据的处理上,因为非结构化数据很难处理

项目流程

一般流程:调研方案 -> 数据标注与开发 -> 调优 -> 部署

判断是否要做一个 AI 项目:

  1. 技术成熟度
    1. 人工无法解决的问题,机器更不可能解决
    2. 论文中的技术能否复现,这项技术在第一梯队厂商的成熟度如何
    3. 初期通过小 Demo 验证
    4. 团队的资源与能力
    5. 项目部署问题:硬件、环境
    6. 交付时间够不够
  2. 需求的可控程度
    1. 技术导向还是销售导向意味着需求是否可控
    2. 客户的管理能力意味着需求的质量
    3. 团队的管理能力
  3. 项目的周期与成本
    1. 被低估
    2. 需求变更
    3. 其他问题
      1. 标注不可控
      2. 调优所需的成本
      3. 部署所需的成本
      4. 模型的算力成本
  4. 项目交付流程
    1. 是否有明确的目标
    2. 不要忽略额外投入
    3. 项目交付能力:交付流程、人员职责安排、时间规范、烂尾风险

调研

数据标注

算法开发

效果优化

部署

NLP基础

基础性研究:网络架构、优化理论、对抗训练、数据增强、半监督学习、域迁移、Meta Learning、Auto ML、多任务模型、集成学习、图网络、知识图谱、多模态学习、机器推理

NLP研究:

深度学习框架

包括什么:

硬件

CPU

CPU

英伟达的:

特点:

注意事项:

TPU

部署

难点:

原则:

推断框架:

TF Serving

随机性

能否解决问题在很大程度上取决于数据是否有足够信息:需要引入更多的信息来预测 -> 增加更多的维度

神经网络

数学本质:复合函数,可以很方便地组合出很多复杂的函数

由于复合函数求导法则,所以大部分神经网络的训练过程可以自动化(反向梯度传递)

优化算法:

由于求解过程的复杂性,这使得神经网络的求解并不一定会收敛到最优解,设计与优化算法需要考虑解决梯度消失跟梯度爆炸

基础构成

损失函数:来评价模型的预测值和真实值不一样的程度

$$ L_2(\hat{y},y) = (\hat{y} - y)^2\ L_1(\hat{y},y) = |\hat{y} - y| $$

激活函数:

Dropout:

Batch Normalization:

Embedding

RNN