热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

人工智能推理能力与假设检验

最近Google的Deepmind开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。深度学习目前可以

最近 Google 的 Deepmind 开始研究如何让AI做数学题。这个问题的提出非常有启发,逻辑推理,发现新知识的能力应该是强人工智能出现自我意识之前最需要发展的能力。

深度学习目前可以做什么

深度学习框架 Keras 的作者在《Deep Learning with python》这本书的最后,讲述了目前人工智能的能力与缺陷。总结起来,“深度学习拥有将任何东西映射到另一样东西的强大能力,只要两者之间存在连续几何变换”。原文如下,

“Layers can be plugged together to map essentially anything to anything, given that you have appropriate training data available and that the mapping is achievable via a continuous geometric transformation of reasonable complexity. The space of possibilities is infinite.

1. Mapping Vector Data to Vector Data

  • 医保:通过病人的医疗记录预测未来健康状况
  • 网站访客行为:通过网站数据布局预测用户驻留时间
  • 产品质量控制:通过产品数据预测保质期

简言之,传统的使用特征向量进行分类和回归的机器学习方法,都可用深度学习代替。

2. Mapping Image Data to Vector data

  • 医生助理:通过医疗影像,自动定位肿瘤
  • 自动驾驶:通过汽车摄像头拍摄视频流,控制方向盘转动角度
  • 棋类游戏:通过围棋或象棋棋盘图像,计算下步棋所走位置
  • 饮食助理:通过食物照片,估计卡路里含量
  • 年龄预测:通过自拍照,预测一个人的年龄

如题,所有应用都是将图像映射到向量数据。

3. Mapping timeseries data to vector data

  • 天气预报:根据一个地区本地及周边的天气时间序列数据,预测下周天气
  • 脑机接口:将脑磁图MEG微弱生物磁场分布的时间序列,映射到计算机命令
  • 用户行为:根据用户与网站交互的时间序列数据,预测用户购买某物的几率

4. Mapping text to text

  • 智能回复:将收到的邮件映射到一行简短的回复 (这不是Google邮箱的功能吗!)
  • 智能问答:将基于自然语言的问题映射到答案
  • 文章概要:将长文章压缩为简短摘要

5. Mapping images to text

  • 打标签:将图像映射到一段简短的语言描述

6. Mapping text to images

  • 条件图像生成:根据简短的语言描述,自动生成满足描述的图像
  • Logo 的生成和选择:将公司的名字和描述,映射到公司的 Logo

7. Mapping images to images

  • 超分辨率:将低分辨率图片,映射到高分辨率的同内容图片
  • 测距:根据室内环境照片,估算不同位置的距离
  • 图像分割:UNET,MaskRCNN 等将图像映射为掩码
  • 风格变换:将任意照片转化为毕加索,梵高等艺术风格
  • 智能P图:一键P掉照片中路人,杂物,同时补全背景
  • 智能绘画:根据简单的色块或涂鸦,生成高真图片
  • Deepfakes: 视频中明星人物换脸

8. Mapping images and text to text

  • 图像问答:将图像和关于此图像内容的问题映射到自然语言回答

9. Mapping video and text to text

  • 视频问答:将短视频和关于此短视频内容的问题映射到自然语言回答

深度学习目前不能做什么:自动推理

接下来这个列表给出的,都是深度学习无法完成的任务

  • 阅读详细的机器操作手册,从而学会操作一辆机器
  • 阅读详细的代码描述,从而编写出一段功能一致的新程序
  • 应用科学方法和知识
  • 长期规划,模仿算法的数据制备

Keras 的作者认为机器能做的,“仅仅“是通过一系列简单,连续的几何变换,将一个向量空间映射到另一个,将一个数据流形X映射到另一个流形Y — 假设从X到Y存在可以学习的连续变换。所以,尽管深度学习模型可以解释为一种程序,但反过来,很多程序不能表示成深度学习模型。对于很多任务,或者不存在相应的深度神经网络来完成这个任务,或者存在这样的神经网络,但是不可学习 — 比如相应的几何变换太复杂而训练数据有限。所以,通过添加更多的层,准备更多的数据,将神经网络做大的方法,只能解决一部分问题,(比如Google的BERT以及OpenAI的GPT-2),却不能解决更根本的问题。目前深度学习模型局限于他们的表示能力,即很多任务不能表示为连续几何变换。

个人思考:在强化学习中加入假设/检验来增强推理能力

回到让 AI 做数学题这件事本身,如果允许外援,我们可以训练AI将数学题的自然语言描述,映射到 Mathematica 符号处理系统,或 Sympy 符号处理系统能够理解的输入,将其输入到外接软件中,获得最终结果。这样的系统并不难做。最近一个刷屏的软件 Mathpix 就可以将屏幕截屏到的数学方程转化为 Latex 源代码,将Latex源代码输入另一个编译器,从而得到原始数学公式的图像。根据深度学习的超强映射能力,将自然语言或数学方程图像映射为符号处理系统能够理解的输入,指日可待。而符号处理系统经过多年发展,已经拥有很强的推理能力。

人类的外推能力可能是一种错觉。比如已知粉红色区域的数据分布,如何预测黄色虚线部分的分布。深度学习系统会觉得,在这个没有任何训练数据的区域,一切皆有可能。就像CTEQ和NNPDF两种部分子分布函数,一种人工的假设了函数形式,在小x区给出较小的误差棒,但NNPDF在没有数据的区域,给出巨大的误差棒。人在看到粉红色实线部分,其实做了一个简单的假设,数据分布可能满足 Sin(x) 的形式或周期规律,如果这种假设跟后期的检验符合,那么这就是新的知识和规律,人类就会强化这种假设,如果假设总是跟经验相反,那么人类就会放弃这种假设,根据以往的知识提出新的假设。

《人工智能推理能力与假设检验》
《人工智能推理能力与假设检验》 手动构造的形似 Sin(x) 的曲线

这种假设检验,不仅对长期规划和无限外推有用,也已经用在了过往的研究中。一个成功的典范是 AlphaGo 中使用的 MonteCarlo 树搜索算法。其在局部棋局的战术网络训练时,使用蒙特卡洛树搜索算法,就是一种先假设怎么走,再检验其有效性的假设检验方法。对于这个 Sin(x) 函数的例子,我们可以先训练一个深度学习系统,将各种各样的函数形式与它们的几何表示(数据表示)映射起来,使神经网络看到粉红色曲线图像或数据,首先想到 Sin(x)函数,并作为假设Proposal。而假设的过程,可以融合AlphaGo中的蒙特卡洛树搜索算法与贝叶斯推理。使用贝叶斯推理对单个假设进行参数估计,使用蒙特卡洛树搜索筛选最好的假设。检验的过程即将假设的函数形式,逻辑规律,物理方程应用到新数据,获得正面或负面反馈的过程。

1. 如何训练神经网络,得到假设

  • 根据图像建议最可能的函数形式,如 Mathpix
  • 根据数据建议最可能的函数形式
  • 根据自然语言建议内在的逻辑,方程
  • 根据视频的不同帧,建议物理规律

2. 如何检验

  • 将 Latex 编译成公式,与原图对比
  • 将函数形式应用于验证数据,与标准答案对比
  • 将逻辑推理应用于新关系的获取,并与已存在数据库对比
  • 将物理方程应用于下一帧的预测,与结果对比

使用人工神经网络将文字,图像,视频映射到符号处理系统能够理解的输入,外接符号计算系统,物理方程,逻辑推理系统,然后使用假设的函数形式,外推或制订长期规划,应该能大大增强人工智能系统的能力。外接模块的加入,可能影响梯度的向后传播,强化学习将是解决这一困难的关键。

关于第三部分的个人思索,严肃的大神请轻拍 :)


推荐阅读
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • 探讨ChatGPT在法律和版权方面的潜在风险及影响,分析其作为内容创造工具的合法性和合规性。 ... [详细]
  • 智慧城市建设现状及未来趋势
    随着新基建政策的推进及‘十四五’规划的实施,我国正步入以5G、人工智能等先进技术引领的智慧经济新时代。规划强调加速数字化转型,促进数字政府建设,新基建政策亦倡导城市基础设施的全面数字化。本文探讨了智慧城市的发展背景、全球及国内进展、市场规模、架构设计,以及百度、阿里、腾讯、华为等领军企业在该领域的布局策略。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • IT项目管理过程中的方法、工具、技术
    工欲善其事,必先利其器。而对于一个软件开发项目,最重要的器就是方法,工具和技术。而这三要素中重要的又是方法论,方法是基础&# ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 本文介绍了如何在 C# 和 XNA 框架中实现一个自定义的 3x3 矩阵类(MMatrix33),旨在深入理解矩阵运算及其应用场景。该类参考了 AS3 Starling 和其他相关资源,以确保算法的准确性和高效性。 ... [详细]
  • 本文将详细探讨 Java 中提供的不可变集合(如 `Collections.unmodifiableXXX`)和同步集合(如 `Collections.synchronizedXXX`)的实现原理及使用方法,帮助开发者更好地理解和应用这些工具。 ... [详细]
  • 理解与应用:独热编码(One-Hot Encoding)
    本文详细介绍了独热编码(One-Hot Encoding)与哑变量编码(Dummy Encoding)两种方法,用于将分类变量转换为数值形式,以便于机器学习算法处理。文章不仅解释了这两种编码方式的基本原理,还探讨了它们在实际应用中的差异及选择依据。 ... [详细]
  • 2017年人工智能领域的十大里程碑事件回顾
    随着2018年的临近,我们一同回顾过去一年中人工智能领域的重要进展。这一年,无论是政策层面的支持,还是技术上的突破,都显示了人工智能发展的迅猛势头。以下是精选的2017年人工智能领域最具影响力的事件。 ... [详细]
  • 地球坐标、火星坐标及百度坐标间的转换算法 C# 实现
    本文介绍了WGS84坐标系统及其精度改进历程,探讨了火星坐标系统的安全性和应用背景,并详细解析了火星坐标与百度坐标之间的转换算法,提供了C#语言的实现代码。 ... [详细]
author-avatar
heishi86188
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有