ChatGPT等大语言模型为什么没有智能

今天我们来闲聊聊chatGPT,然后带出一些目前神经网络或者更大一些人工智能存在的问题,仅作抛砖引玉。我不管OpenAI用什么方式炒作,Q*也好,AI自我意识也好,董事会内斗也罢;首先它的成绩还是非常出色的,并且chatGPT这个产品在大规模使用深度模型上算是非常成功的,however,chatGPT只能算是 Artificial If-clauses(AI, 姑且命名为人工条件生成器),算不上人工智能(Aritificial Intelligence, AI);我们离真正的人工智能还有一定的距离。

ChatGPT没有智能

ChatGPT的效果是惊艳的,大量数据被压缩成了vector,折叠起来,存储起来,需要的时候播放出来。我们要肯定它在数据压缩技术上的突破。
我们可以先参考这两篇论文,诉说着现在的深度神经网络和数据压缩的关系。

Opening the Black Box of Deep Neural Networks via Information, 2017
White-Box Transformers via Sparse Rate Reduction, 2023

简单来说,第一篇是想探索没有BP过程如何能训练神经网络(这篇是探索人工智能很重要的一步),第二篇则是将Transformer用信息论的方式导出了一个更明确的解释(相当于sigmoid和二分类问题的关联解释);具体的话知乎和CSDN上专家们比我解释得详细得多,有兴趣可以自行搜索查阅。深度神经网络的可解释性一直备受关注,大家都希望通过解释各个层的用途,从而更好控制整个网络的性能。

discriminative(判别式,和generative生成式对应)从一开始我们就知道其实它是一个大型穷举算法。我们通过注入不同的参数,然后用tensor的形式让参数们相加相乘,然后配上激活函数,就像是程序员在写的一个个if语句,当某个数值达到某种条件的时候,会让这个层上的这个参数给与后续参数一个正向激活,最终输出结果,所以我们说现在的神经网络,其实就是Artificial If-clauses (AI)。相当于,以前程序员写图像处理,用数学公式简化步骤后,最后能用lisp写个几百个if就能进行图像分类了;然后慢慢发展为大型决策树,if更多一些;到现在的深度神经网络,if已经可以达到亿万了;但是if就是if,是离散的,所以一定会有过拟合,判断不准不一定是写得不好,人类测量精度在那里,只能概率论只能量子效应了。

不过能让神经网络模型有那么一点智能,其实是训练过程。这才是人工智能的根。这方面不发展,人工智能只能是天方夜谭。

神经网络忽略的东西

困惑的Embedding

第一个让人困惑的是Embedding;这里可以引出目前神经网络在NLP上的一个问题,就是想用一个global vector表示语言。这个搜索引擎挥之不去的印记,余弦夹角快捷方便,真香。但是目前它的表示是碎片化的,就是说比如768维的vector,可能在某个领域作预测的时候有30维是有效的,另外738维都是噪声,这样的话,网络里的一些层里的一些channel需要遍历各种可能将30维都用1乘出来其他配0…当然开源的大语言模型都是以词为单位的,到了ChatGPT其实还在前面做了character字符为单位的tranform,这样可以检测拼写错误,让理解更精准,但是负面影响是可能人为需要这个错误的时候,要花更多tokens去解释这个故意的“错误”。对于多义性,可能要用到搜索排序的beam search top k,要根据上下文才能确认哪一个是真正的表述…

……蒋劲科大校长叹道……
……蒋劲(人名) 科大(学校) 校长 叹道……
……蒋劲科(人名) 大校 长叹道……
……蒋劲科大(学校) 校长 叹道…… 

所以vector还需要更细致地动态生成,这个已经有不少研究在路上了。从感觉上,至多可以将vector压缩到3维;为什么是感觉上,这个是收到求解自然底数e极限的启发:

e = lim ( 1 + 1/n )^nn->∞

强行幻觉就是,(1 + 1/n) ^ n = ( (n + 1) / n )^n,相当于现有知识增加n微量新知识1,用现有知识n分解,再用现有知识n包装,极限是2.71....向上取整就是3维。当然,这里还是当我在一本正经胡扯比较好。

for语句在哪

我们看到神经网络有了 if-clauses,但是见不到 for,目前我所知道的尝试有一个skipNet的,但是基本上目前的循环就是靠if硬生生套了,就是本来我们写for语句是

sum = 0
for i = 1 to nsum += i

现在用if就是类似于

sum = 0
if i && 1 then sum += 1
if i && 2 then sum += 2
if i && 4 then sum += 3
if i && 8 then sum += 4
……

并且这个是有限的比如根据模型参数的数量max最大到100,不像上面用for的时候n可以是任意的。还有一个比较典型的案例就是SPP,Yolo里识别多尺度大小的物体的时候做的尝试,是有限地设计成几个bounding box尺度大小。

dropout竟然这么有效

曾经有幸和Google的data scientist一起探讨过,如何连接机器学习五大学派(SVM/kNN 类比学派,贝叶斯学派,NN 连结学派,逻辑学派,EA 进化学派),他认为dropout其实构建了random forests。而从穷举空间来看,我感觉dropout能工作,更像是因为drop到参数大动脉是一个小概率事件,换句话说,我们现在discriminative出来的大量参数,只有很少量是起到主要作用的,参数自身sparse…就比如一个团队,你把捣乱的人踢走了,团队更有效率往一个方向发展;但是从EA来说,你还必须得保留一些捣乱分子,因为他们会干扰方向,当参数收敛遇到问题的时候,可以靠他们把整个团队拉出坑;这个很神奇,也是曾经说神经网络坑爹的地方,就是在穷举搜索空间,你永远不知道这个“坑”的“爹”(比当前最优解更优的解是否存在并且)在哪个地方。所以几年前EA带着autoML火了一段时间。

其实还有不少问题,今天就到这里吧。以后再说。
休息了…打烊…

J.Y.Liu
2023/12/02

p.s 最近发现ChatGPT比如4-Turbo确实已经降“智”(性能大不如前)了。六个月前的问题:“写一个python程序,输入是2个字符串,最终要打印出这2个字符串,并且对齐这两个字符串,相同的字符尽可能多地显示在同一列上,可以用空格分割一行上的字符串”

这个问题ChatGPT3.5-Turbo在6个月前可以1@Pass一次通过写出正确的答案。现在4-Turbo则需要加一个提示请使用LCS算法;而后其他模型都答得牛头不对马嘴。失望。

国内的大模型确实还有很大提升空间,差距也很明显。但是目前的大模型,有一定比技术,但主要还是在比拼财力,颇有当年星球大战的氛围…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/191808.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

编程实战:类C语法的编译型脚本解释器(系列)

“脚本”始终是个具有独特魅力的领域,能够随时方便地解决一些问题,但脚本的随意性同时带来别的问题,所以脚本始终属于让人又爱又恨的存在。 很多大型系统都会嵌入一些小型的解释器,用来让用户亲自编写简单的逻辑规则。不幸的是&am…

springCache——jetcache缓存

文章目录 jetcache远程、本地缓存方案jetcache方法注解使用方式 jetcache远程、本地缓存方案 <dependency><groupId>com.alicp.jetcache</groupId><artifactId>jetcache-starter-redis</artifactId><version>2.6.4</version></de…

[c]比较月亮大小

本题的难点就是分情况讨论 #include<stdio.h> int main() {int n;scanf("%d",&n);int arr2[n];int p;for(int m0;m<n-1;m){scanf("%d",&arr2[m]);//输入n个数保存到数组}if(n1)//当输入一个数据时&#xff0c;输入0&#xff0c;可以判断…

如何进行Java项目的构建和部署?

Java项目的构建和部署可以使用一些常用的工具来完成&#xff0c;如Maven、Gradle和Ant等。 Maven构建和部署Java项目&#xff1a; Maven是一个Java项目管理工具&#xff0c;通过在项目的pom.xml文件中声明依赖和插件来管理项目。使用Maven进行Java项目的构建和部署可以按照以下…

Java中实现HTTPS连接的最佳实践

引言 大家好&#xff01;我是小黑。今天咱们来聊聊一个既热门又实用的话题&#xff1a;在Java中如何实现HTTPS连接。现在的网络世界&#xff0c;安全性是大家都非常关注的问题&#xff0c;特别是对于咱们这些程序员来说&#xff0c;更是如此。想想看&#xff0c;如果你的网站或…

【Java 基础】16 泛型

文章目录 什么是泛型&#xff1f;泛型的声明泛型的使用泛型方法通配符和泛型上下界1&#xff09;通配符2&#xff09;泛型上下界 泛型的好处注意事项 泛型提供了一种在编写代码时更好地 支持类型安全的机制。通过泛型&#xff0c;我们可以编写更加 通用、 灵活、 可读性高的…

docker 搭建开发环境,解决deepin依赖问题

本机环境&#xff1a; deepin v23b2 删除docker旧包 sudo apt-get remove docker docker-engine docker.io containerd runc注意卸载docker旧包的时候Images, containers, volumes, 和networks 都保存在 /var/lib/docker 卸载的时候不会自动删除这块数据&#xff0c;如果你先…

Python爬虫完整代码模版——获取网页数据的艺术

Python爬虫完整代码模版——获取网页数据的艺术 在当今数字化世界中&#xff0c;数据是价值的源泉。如何从海量数据中提取所需信息&#xff0c;是每个数据科学家和开发者必须面对的问题。Python爬虫作为一种自动化工具&#xff0c;专门用于从网站上抓取数据。本文将提供一个Py…

Django回顾【三】

目录 一、模板层 1、介绍 2、了解 3、页面静态化 4、模版语法 5、内置过滤器 6、标签 for标签 if 标签 7、模板导入和继承 模板导入 模板继承 一、模板层 1、介绍 模板在浏览器中是运行不了的 ----》因为它有模板语法 ----》浏览器解析不了模板语法 必须在后端渲…

YOLOv7+姿态估计Pose+tensort部署加速

YOLOv7-Pose 实现YOLOv7&#xff1a;可训练的免费套件为实时目标检测设置了最新技术标准 YOLOv7-Pose的姿态估计是基于YOLO-Pose的。关键点标签采用MS COCO 2017数据集。 训练 使用预训练模型yolov7-w6-person.pt进行训练。训练命令如下&#xff1a; python -m torch.distr…

Windows系列:Windows Server 2012 R2 安装VMware Tools的正确姿势(实现物理机和虚拟机文件互传)

Windows Server 2012 R2 安装VMware Tools的正确姿势(实现物理机和虚拟机文件互传) 安装环境安装步骤一. 安装补丁下面进入教程首先打开虚拟机,点击"虚拟机"选项中的"安装VMware Tools"点击确定如果出现下图中的问题,说明虚拟机中缺少更新程序,我们需…

企业真题(泛型、数据结构与集合源码)

二、企业真题 1. Java 的泛型是什么&#xff1f;有什么好处和优点&#xff1f;JDK 不同版本的泛型有什么区别&#xff1f;&#xff08;软*动力&#xff09; 泛型&#xff0c;是程序中出现的不确定的类型。 以集合来举例&#xff1a;把一个集合中的内容限制为一个特定的数据类…

Redis 安装

文章目录 第1关&#xff1a;Redis 安装第2关&#xff1a; Redis 启动 第1关&#xff1a;Redis 安装 编程要求 在右侧命令行中在线安装 Redis 服务器软件和客户端软件&#xff1a; 在线安装 Redis&#xff08;实验环境使用的是 Ubuntu 系统&#xff09;&#xff1b; 测试说明…

iptables——建立linux安全体系

目录 一. 安全技术类型 二. linux防火墙 1. 按保护范围划分&#xff1a; 2. 按实现方式划分&#xff1a; 3. 按网络协议划分&#xff1a; 4. 防火墙原理 三. 防火墙工具——iptables 1. netfilter 中五个勾子函数和报文流向 数据包传输过程&#xff1a; ① .五表四链…

OOM了?物理内存不够了?试试这个方法来提升内存容量,不花钱的

通过增加虚拟内存来提高内存使用 本文解决的实际问题&#xff1a; 当我们物理内存小的时候&#xff0c;会出现OOM&#xff0c;然后服务自动死掉的情况。因为物理内存大小是固定的&#xff0c;有没有其他好的办法来解决呢&#xff1f;这里我们可以适当调整Linux的虚拟内存来协作…

互联网产品经理常用的ChatGPT通用提示词模板

产品规划和设计&#xff1a;请帮助我规划和设计一款互联网产品&#xff0c;包括市场调研、用户需求分析、产品功能设计、产品原型设计等方面的内容&#xff0c;以便我能够更好地满足用户需求并开发出优秀的产品。 产品开发和迭代&#xff1a;请帮助我进行互联网产品的开发和迭…

如何在 vue 项目中创建 svg 组件

在Vue项目中&#xff0c;SVG是一种非常常见的图像形式。与传统的矢量图像不同&#xff0c;SVG可以设置可缩放且清晰度高的图像形式。Vue使得使用SVG组件非常容易&#xff0c;本文将介绍如何在Vue项目中创建SVG组件。 步骤1&#xff1a;创建SVG文件 要创建SVG组件&#xff0c;…

更改Jupyter Notebook 默认存储路径

import osprint(os.path.abspath(.)) 然后打开cmd,输入&#xff1a; jupyter notebook --generate-config 按照路径在本地文件夹中找到那个文件。 然后找到"c.NotebookApp.notebook_dir"这条语句&#xff1a;&#xff08;直接通过"crtlf"输入关键字找阿 …

vue 使用decimal.js 解决小数相加合计精确度丢失问题

安装依赖 decimal.js npm install --save decimal.js 封装 在utils文件夹下创建decimal.js文件 import { Decimal } from decimal.js export function add (x, y) {if (!x) {x 0}if (!y) {y 0}const xx new Decimal(x)const yy new Decimal(y)return xx.plus(yy).toNumbe…

【哈希】1.两数之和

题目&#xff1a;https://leetcode.cn/problems/two-sum/description/?envTypestudy-plan-v2&envIdtop-100-liked class Solution {public int[] twoSum(int[] nums, int target) {Map<Integer, Integer> map new HashMap<>();for (int i 0; i < nums.l…