什么是人工智能

  • 人脸识别/微软小冰 这是人工智能应用的两个例子,人工智能领域的研究包括:机器人、语言识别、图像识别、自然语言处理和专家系统等

  • 机器是如何实现人类智力的呢?
    机器主要是通过大量的训练数据进行训练,程序不断地进行自我学习和修正来训练处一个模型。模型的本质就是一堆参数,用上千万、上亿个参数来描述业务的特点

  • AlphaGo的原理
    20年前,IBM的“深蓝”计算机打败人类象棋高手的情景仿佛还历历在目。20年后,人工智能挑战最难
    的棋类——围棋棋局也成功了。那么AlphaGo是如何下棋的呢?我们知道,传统计算机的下棋方法,一般采取贪婪算法,用Alpha-Beta修剪法配合Min-Max算法。而AlphaGo采用了蒙特卡洛树搜索法(Monte Carlo tree search,MCTS)和深度卷积神经网络(deep convolutional neural network,DCNN)相结合。模型中涉及的主要网络及作用如下。

    • 估值网络(value network,也称盘面评估函数):计算出盘面的分数。
    • 策略网络(policy network):计算对于下每一个棋子的概率和胜率。它评估对手和自己可能下的位置,对可能的位置进行评估和搜寻。

    训练模型的主要过程分为以下4步。

    1. 采用分类的方法得到直接策略。
    2. 直接策略对历史棋局资料库进行神经网络学习,得到习得策略。
    3. 采用强化学习的方法进行自我对局来得到改良策略。
    4. 用回归的方法整体统计后得到估值网络。

    这里的神经网络部分都采用的是深度卷积神经网络,在自我对局的部分采用的是蒙特卡洛树状搜寻法(MCTS)。更详细的论文见谷歌公司发表在《自然》(Nature )上的论文《Mastering the game of Go with deep neuralnetworks and tree search》。

什么是深度学习

深度学习,顾名思义,要从深度学习两方面来谈

深度

深度学习的前身是人工神经网络(artificial neural network,ANN),其基本特点就是试图模仿人脑的神经元之间传递和处理信息的模式。神经网络这个词可以表示生物神经网络和人工神经网络。在机器学习中,神经网络一般特指人工神经网络。
第1章 人工智能概述
上图是一个最基本的人工神经网络,主要有三种层组成:

  1. 输入层 input layer 输入训练数据
  2. 输出层 output layer 输出计算结果
  3. 隐藏层 hidden layer 使输入数据向前传播到输出层
  4. 深度一词没有具体的特指,一般就是要求隐藏层很多(5,10,几百甚至几千层)

人工神经网络的构想源自对人类大脑的理解——神经元的彼此联系。二者的不同之处在于:

  • 人类大脑的神经元是按照特定的物理距离连接的
  • 人工神经网络有独立的层和连接,还有数据传播方向

人工神经网络的每层由大量节点(神经元构成),层与层之间有大量连接,但是层内的神经元一半相互独立。要想使得深度学习得到的系统在遇见未知数据时也可以进行预测,需要神经元具备以下两个特性:

  1. **函数(activation function):一般是非线性函数,每个神经元通过这个函数将原有的来自其他神经元的输入做一个非线性变换,继续传递给下一层。**函数实现的非线性能力是前向传播forward propagation很重要的一部分。
  2. 成本函数(cost function):用来定量评估在特定输入值下,计算出的输出结果和输入的真实值相差多远,然后不断调整每一层的权重参数,使得最后的损失值最小,这就是完成了一次反向传播backward propagation。损失值越小,结果就越可靠

神经网络算法的核心就是计算、连接、评估、纠错和训练,深度就在于不断增加隐藏层的层数和每层的神经元个数(深度),让网络变得又深又宽,使用大量数据去训练它。

学习

计算机的学习和人类的相似,平时大量做题(训练数据),不断经过阶段性考试(验证数据)的检验,用这些知识和解题方法(模型)最终走向考场(测试数据)。

  1. 分类问题(classification) 就是找出 输入数据的特征 feature输入的标记 label之间的映射关系mapping。通过标记不断纠正学习中的偏差,使得学习的预测率不断提升,这称之为有监督学习supervised learning
  2. 无监督学习unsupervised learning一般有两种思路:
    1. 训练时不为其指定明确的分类,但数据会呈现出聚群的结构,彼此相似的类型会聚集在一起。把这些没有标记的数据分成许多组合,就是聚类 (clustering);
    2. 在成功时采用某种形式的激励制度,即强化学习(reinforcement learning,RL)。对强化学习来说,它虽然没有标记,但有一个延迟奖赏与训练相关,通过学习过程中的激励函数获得某种从状态到行动的映射。一般用在游戏、下棋(如AlphaGo)等需要连续决策的领域
  3. 半监督学习 semi-supervised learning,其训练数据一部分有标记,另一部分没有标记,而没标记数据的数量常常极大于有标记数据的数量(这也符合现实,大部分数据没有标记,标记数据的成本很大)。基本规律是:数据的分布必然不是完全随机的,通过结合有标记数据的局部特征,以及大量没标记数据的整体分布,可以得到比较好的分类结果
    第1章 人工智能概述

深度学习的入门方法

深度学习入门过程图示:
第1章 人工智能概述

  1. 数学知识
    计算机其实还是只能算,所以人工智能更多的来说还是数学问题。 训练过程其实就是在寻找合适的数学函数,定义的网络结构其实就是 一种线性/非线性函数,优化目标——损失函数loss function
  2. 经典机器学习的理论和算法
    李航老师《统计学习入门》
  3. 编程语言
    Python等
  4. 充电(外部知识获取)
    博客,笔记,微信公众号,微博新媒体资讯等,往往一些流行的新训练方法和模型会很快在这些媒体发酵,其训练神经网络采用的一些方法可能有很大的启发性。
  5. 动手
    选一个框架(Tensorflow或者Pytorch),选一个深度神经网络上手(目前的研究方向主要集中在视觉和语音两个领域。初学者最好从计算机视觉入手,因为它不像语音等领域需要那么多的领域知识,结果也比较直观。例如,用各种网络模型来训练手写数字(MNIST)及图像分类(CIFAR)的数据集。)
  6. 确定想要深入了解的领域
    可以深入某一个行业领域。例如,深入医学行业领域,做医学影像的识别;深入淘宝的
    穿衣领域,做衣服搭配或衣服款型的识别;深入保险业、通信业的客服领域,做对话机器人的
    智能问答系统;深入智能家居领域,做人机的自然语言交互;等等
  7. 遇到问题,重复前6步
    在训练中,准确率、坏案例(bad case)、识别速度等都是可能遇到的瓶颈。训练好的模型也不是一成不变的,需要不断优化,也需要结合具体行业领域和业务进行创新,这时候就要结合最新的科研成果,调整模型,更改模型参数,一步步更好地贴近业务需求。

Tensorflow简述

  • 机器学习之前,我们面对语音和图像任务大多使用基于规则的系统,依靠专家制定规则,需要许多专业领域知识;
  • 当以统计方法为核心的机器学习成为主流后,需要的领域知识就相对少了,重要的是特征工程(feature engineering),大多数工作集中在调参和根据领域经验来不断提取特征,特征的好坏直接决定了模型的性能。这种方式的缺点在于:对于文字等抽象领域,特征还相对容易提取,而对于语音这种一维时域信号和图像这种二维空域信号等领域,提取特征就相对困难。
  • 参考 The Unreasonable Effectiveness of Recurrent Neural Networks,一个有效的深度学习框架应该具有如下特性:
    • Tensor库是对CPU/GPU透明的,并且实现了很多操作(如切片、数组或矩阵操作等)。这里的透明是指,在不同设备上如何运行,都是框架帮用户去实现的,用户只需要指定在哪个设备上进行哪种运算即可。
    • 有一个完全独立的代码库,用脚本语言(最理想的是Python)来操作Tensors,并且实现所有深度学习的内容,包括前向传播/反向传播、图形计算等。
    • 可以轻松地共享预训练模型(如Caffe的模型及TensorFlow中的slim模块)
    • 没有编译过程。深度学习是朝着更大、更复杂的网络发展的,因此在复杂图算法中花费的时间会成倍增加。而且,进行编译的话会丢失可解释性和有效进行日志调试的能力。

机器学习相关赛事

  1. ILSVRC(ImageNet Large Scale Visual Recognition Challenge,大规模视觉识别挑战赛)
    ImageNet是目前世界上最大的图像识别数据库,拥有超过1500万张有标记的高分辨率图像的数据集,这些图像分属于大概22 000个类别。ILSVRC使用ImageNet的一个子集,分为1 000种类别,每种类别中都有大约1 000张图像。总之,大约有120万张训练图像,5万张验证图像和15万张测试图像。在ImageNet上,习惯性地报告两个错误率:Top-1和Top-5
    • Top-1错误率是指,预测输出的概率最高的类别,是否和人工标记的类别一致,如果不一致,此时的概率。
    • Top-5错误率是指,预测输出的概率最高的前5个类别当中,有没有和人工标记的类别一致,当5个都不一致时的概率。例如在图片分类任务下,对一张图片进行预测,输出这张图片分类概率最高的5个类别,只要有一个预测的类别和人工标注的类别标记一致,就是认为正确。当5个都不一致发生的概率就是Top-5错误率。
  2. Kaggle
    ILSVRC企业参加的居多,Kaggle这个平台则更多地面向个人开发者,成立于2010年,是一个进行数据发掘、数据分析和预测竞赛的在线平台。与Kaggle合作之后,一家公司可以提供一些数据,进而提出一个问题,Kaggle网站上的计算机科学家和数学家(也就是现在的数据科学家)将领取任务,提供潜在的解决方案。最终胜出的解决方案可以获得3万美元到25万美元的奖励。也就是说,Kaggle也是一个众包理念,利用全世界的人才来解决一个大问题。
  3. 天池大数据

国内的人工智能公司

虽然确实有泡沫,但是这个技术领域的井喷点确实来临了,剩下的就是加快科研成果向产品的转化速度。

相关文章: