本文将从以下几个角度阐述AI的知识体系:基础算法&模型,NLP,机器学习(深度学习),大数据(人工智能)平台核心架构,开发语言选择,主流第三方库(框架)。

简单来说,我们要开始人工智能的工作,基础设施有三个重要部分,1. 开发语言(python及其主流的类库和工具包);2. 数据计算引擎(spark及其基本算法类库,es,以及大数据存储);3. 机器学习(深度学习)框架的熟练运用Scikit-learn,TensorFlow。

更新记录

*2021年12月1日 对大数据(人工智能)整体架构图做了更新,请查阅“大数据(人工智能)平台核心架构”章节

更新原因:大型的互联网平台,大数据平台目前的趋势都是需要一个成熟和稳定基础设施层,目前的趋势是以容器化技术进行构建,以达到云原生的能力,并在上层依次搭建算法模型、技术和业务的基础设施,以及大数据主流分析计算框架,再辅以针对业务服务的规则引擎,报表引擎。以此形成数据中台,技术中台和业务中台,为大型企业构建自己的大数据产品平台打下坚实的基础。


基础算法

首先说说涉及到的基础知识,包括高等数学,线性代数,概率论以及统计学。基础算法有线性回归,逻辑回归,决策树,贝叶斯,神经网络等等。常用算法如下图:

注意算法与模型的关系:算法是指一系列解决问题的清晰指令,它代表着用系统的方法解决问题的策略机制。模型是一种相对抽象的概念,在机器学习领域特指通过各种算法对数据训练后得到的中间件,当有新的数据后会有相应的结果输出,这个中间件就是模型。模型会因算法和训练数据的不同而产生变化。

两个最常用的模型:逻辑回归和决策树。逻辑回归解决分类问题,对看似没有规律,聚合在一起的数据,进行二分化,找到最准确的分类线条是他的主要工作。逻辑回归可以理解为拟合,用一条直线对一些数据点进行拟合(该线称为最佳拟合直线),而拟合过程称作回归。通常都会每个特征上都乘以一个回归系数,而逻辑回归的主要工作就是求这个最佳的回归系数

逻辑回归参考:逻辑回归算法  逻辑回归原理及其python和sklearn实现

决策树参考:决策树算法原理

NLP(自然语言处理)

该领域分为以下三个部分:

1.语音识别:将口语翻译成文本。

2.自然语言理解:计算机理解人类的能力。

3.自然语言生成:计算机生成自然语言。

其中,声学模型,语言模型,语意分析,句法分析非常重要。

具体的搭建方式,参考基于深度学习的中文语音识别系统框架

机器学习与深度学习

1. 首先看看他们的关系与区别:机器学习就是机器通过一系列「任务」从「经验」(数据)中学习,并且评估「效果」如何,是人工智能传统且重要的应用方式,可替换大量人工重复的劳动。但是如果无法从数据中「学习到」更好的特征表达,也是徒劳。同样的数据,使用不同的表达方法,可能会极大影响问题的难度。一旦解决了数据表达和特征提取问题,很多人工智能任务也就迎刃而解。但是对机器学习来说,特征提取并不简单。特征工程往往需要人工投入大量时间去研究和调整,就好像原本应该机器解决的问题,却需要人一直在旁边搀扶。深度学习便是解决特征提取问题的一个机器学习分支。它可以自动学习特征和任务之间的关联,还能从简单特征中提取复杂的特征。简言之,深度学习是发现内在规律,总结重大特征的机器学习方式。让机器能够像人脑进行演变和进化。

参考机器学习与深度学习的区别

2. 机器学习(深度学习)算法与框架推荐:Scikit-Learn和Tensorflow, Keras(Keras 更适合作为接口来使用。它提供了更高级别,更直观的抽象集合,使得无论后端科学计算库如何,都可以轻松配置神经网络)

3. 深度学习框架选择要素

深度学习框架是一种界面、库或工具,它使我们在无需深入了解底层算法的细节的情况下,能够更容易、更快速地构建深度学习模型。深度学习框架利用预先构建和优化好的组件集合定义模型,为模型的实现提供了一种清晰而简洁的方法。
利用恰当的框架来快速构建模型,而无需编写数百行代码,一个良好的深度学习框架具备以下关键特征:

  • 优化的性能
  • 易于理解和编码
  • 良好的社区支持
  • 并行化的进程,以减少计算
  • 自动计算梯度

4. 深度学习高级开发框架Keras 与 TensorFlow的比较
Keras用Python编写,可以在TensorFlow(以及CNTK和Theano)之上运行。TensorFlow的接口具备挑战性,因为它是一个低级库,新用户可能会很难理解某些实现。而Keras是一个高层的API,它为快速实验而开发。因此,如果希望获得快速结果,Keras会自动处理核心任务并生成输出。Keras支持卷积神经网络和递归神经网络,可以在CPU和GPU上无缝运行。
 
可以将Keras中的模型大致分为两类:
 
4.1. 序列化
模型的层是按顺序定义的。这意味着当我们训练深度学习模型时,这些层次是按顺序实现的
4.2. Keras 函数API
用于定义复杂模型,例如多输出模型或具有共享层的模型。

大数据(人工智能)平台核心架构-数据挖掘(大数据处理)

人工智能离不开背后的数据平台,需要实时运算,实时处理的引擎。这里会涉及到大数据平台架构,如何做出更好的人工智能产品,搭建一个高效的数据平台至关重要。

如上图所示,我们可以看到Spark Storm,ES等大数据技术栈在其中所处的关键位置。除了能提供分布式高性能的流式处理以外,如Spark,已有强大的SparkMLlib机器学习库,旨在简化机器学习的工程实践工作,并方便扩展到更大规模。MLlib由一些通用的学习算法和工具组成,包括分类、回归、聚类、协同过滤、降维等,同时还包括底层的优化原语和高层的管道API。那么在数据处理平台(框架)中直接部署&应用需要的机器学习算法,变得非常高效和方便。

*上图中的模型盒子是数据平台锻造算法模型的关键流程,容器部署算法盒子,用数据锻造真实模型,通过模型挑战者等方式选出最优模型。

参考机器学习-数据处理技术栈

开发语言选择

了解了算法,基本概念,机器学习,数据处理之后。让我们回到日常工作中最使用频率最高的话题:开发语言的选择。开发语言的选择要从一下几个角度考虑:团队技术栈的掌握范围和集中度,主流第三方类库的丰富程度和稳定性。

目前的选择是Python和Java,主要的考虑是目前数据团队以Python为主要开发语言,而核心系统,大数据平台团队使用Java

Python作为开发语言的优势:

Python 中可用库的数量是其他语言所无法企及的。NumPy 已经变得如此普遍,以至于几乎成为了张量运算的标准 API,Pandas 将 R 的强大而灵活的数据帧带入 Python。对于自然语言处理(NLP),您可以使用久负盛名的 NLTK 和快如闪电的 SpaCy。对于机器学习,有经过实战检验的 Scikit-learn。当谈到深度学习时,当前所有的库(TensorFlow,PyTorch,Chainer,Apache MXNet,Theano 等)都是在 Python 上首先实现的项目。

推荐一个非常棒的在线开发手册

Java的优势:

Java的优势在于团队对他天然的亲近^_^,Anyway, JVM 系列语言(Java,Scala,Kotlin,Clojure 等)对 AI 应用开发的来说,也是非常棒的选择。自然语言处理(CoreNLP)、张量运算(ND4J)还是完整的 GPU 加速深度学习堆栈(DL4J),都可以使用大量的库来管理流水线的各个部分。最重要的是,Java体系里面的大数据技术栈,可以让人工智能平台轻松与Spark和Hadoop等大数据平台进行构建和整合。

参考:最适合的人工智能开发语言

总结:目前人工智能的框架已经非常成熟了,不要重复造轮子,我们是要重新定义一些计算模型和算法实现,来创新网络结构和训练方法,能够在众多普通的移动设备端进行分布式机器学习,甚至不需要多余的硬件支持或抑制内存开销,这样的深度学习算法会更加有效。

人工智能知识体系梳理相关推荐

  1. 一图看懂新一代人工智能知识体系大全

    来源:财经头条 摘要:人工智能的发展离不开基础支持层和技术层,基础支持层包括大数据.计算力和算法:技术层包括计算机视觉.语音识别和自然语言处理.人工智能的技术本质是什么,本文会详细分析. 人工智能的发 ...

  2. 一图看懂| 人工智能知识体系大全

    今天的文章比较特别,是的,如题,就是只有图,N张图带你看懂新一代人工智能知识体系大全!准备好了吗?Let's go! 不知道你看完之后是否对人工智能有一定的了解了呢?人工智能细分的范畴比我们想象的多太 ...

  3. 前端Q知识体系梳理与面试准备直播回顾

    PS:关注前端Q公众号,回复 直播 ,可获得直播所有资料及录播视频- PS:体系图中对应的知识点可以直接链接过去的地址为:https://github.com/LuckyWinty/blog,点击阅读 ...

  4. 新一代人工智能知识体系大全

    新一代人工智能知识体系大全,如下图:

  5. python的知识体系_最新Python知识体系梳理

    课程目录 Day01 Python教程:01.前提概要.wmv Python教程:02.Python基础复习.wmv Python教程:03.Python基础复习.wmv Python教程:04.Py ...

  6. Java SE 基础知识体系梳理

    ## Java SE 基础知识体系梳理 ----------day01------------- (1)计算机的体系结构 (2)Java语言的概述 (3)开发环境的搭建和使用 1.计算机的体系结构(常 ...

  7. python知识体系_python学习知识体系梳理

    工作后,先后几份工作都是跟数据处理相关的,但是没有什么技术含量,有感于手上没有一门精通的技术实在很限制个人的发展,所以想选择一门编程语言来增强自己的本领,提升自己的价值.之所以选择Python,是因为 ...

  8. Web前端知识体系梳理,值得收藏!

    前言 现在是信息时代,经过 web1.0 时期.web2.0 时期到现在的移动互联网时期,信息获取越来越高效,坐着不动就会有大量的新闻.博客.资讯向你推荐而来. 作为一名靠谱的程序员,你免不了要查阅大 ...

  9. 小升初数学知识体系梳理

    小升初数学知识体系包含一下七个模块: 1.应用题 2.行程问题 3.几何 4.数论 5.计算 6.计数 7.组合 点击链接查看详细内容 非常详细的梳理和归纳,培训班老师的参考手册,家长辅导的宝典,整理 ...

最新文章

  1. J-link v8固件修复
  2. DHCP 服务大团圆
  3. java反射模式_Java反射机制详解
  4. html5 usb调试,USB调试怎么打开 USB调试模式打不开怎么刷机
  5. 升级ADT22.6后,Android模拟器无法创建
  6. 飞秋教程:文件断点续传
  7. redis五种常见的数据结构
  8. 安装caffe-yolov3时报错:ImportError: No module named torch(环境变量设置)
  9. 英语12个月份名称的由来
  10. harview .har文件解析
  11. 把网络图片URL转化为流
  12. 用户体验测试(UX测试)
  13. 如何重置网络?如何激活产品?
  14. 原函数的导数与反函数的导数互为倒数
  15. 高压开关柜无线测温系统(高压开关柜在线监测系统应用案例)
  16. 谷歌地图 图片保存_Google如何在地图上跟踪并保存您的一举一动
  17. Unity知识点总结(1)
  18. 如何整合线上和线下营销进行深度交融
  19. 机器学习:单词拼写纠正器python实现
  20. early fusion VS later fusion

热门文章

  1. Win10,Ubuntu双系统,格式化Ubuntu系统分区后启动问题
  2. 解决k8s中的长连接负载均衡问题
  3. 图像处理(三)——中国传统工艺画风格的图像转换应用
  4. 64位驱动 hp630打印机_m351a驱动-HP 惠普 LaserJet Pro 300 Colour M351a 彩色激光打印机驱动下载5.0.12200.630官方版-东坡下载...
  5. ROS操作系统快速入门
  6. 【手把手带你Godot游戏开发】FlappyBird:4.1无限地面之Godot青年(AnimationPlayer)版
  7. 新年金市上行动力堪忧 美债收益率大幅上涨
  8. 详解AES对称加密(python实现文件加密)
  9. 搜索引擎收录查询,是什么影响了网站被搜索引擎收录
  10. 不用找,你想要的酒店餐饮su模型素材都在这里